Changelog
Major changes from 1.9.2 to 1.9.3​
This is a maintenance release, aiming at fixing bugs observed in 1.9.2 and improving stability and performances. The most important changes brought by this version are a dramatic improvement in compilation time and memory usage, especially useful for large models, and a rework of gama-server which is now also available in GUI mode and with added features for both GUI and headless use.
Detailed changes​
This release of GAMA contains new features and fixes, including:
- The use of java 17 is now forced for every part of gama (some modules were still requiring older versions)
- Switch the 3d rendering library from Jzy3d 2.4-rc to JOGL 2.5.0
- Improvement of the script gama-headless that previously wouldn't set gama correctly to handle recorded experiment
- Restore the
schedule
facet that was wrongly removed - The headless script now loads the parameters from GAMA.ini if it's available
- Some icons rendering have been improved
- A new parameter to the
darker
operator has been added to set the percentage of darkness instead of the default 10% darker - The "insert template" menu options that were incomplete and not always working have been fixed
- It is now possible to call variables defined in the experiment in the interactive console
- The handling of error messages in the interactive console have been improved
- In the editor information messages and warnings can now be displayed directly above the line instead of having to hover the icon. It can be turned on/off with a parameter in the settings
- A new warning has been introduced when two displays have the same name in one experiment (can cause a lot of problems)
- The use of gis files in a comodeling context used to raise exceptions and has been fixed
- Some operators working with geometries now do a better job at converting their input arguments
- Some fixes have been brought to the use of variables of type
type
and thetype_of
operator - A new built-in variable has been introduce:
#user_location_in_display
it represents the location of the mouse in the coordinates of the display, contrary to#user_location
that is expressed in the world's coordinate system. - It is now possible to get the latest alpha version of GAMA through winget with the name
GamaPlatform.GamaAlpha
- GAMA is now based on eclipse 2023-09
- A small gap has been added between layers in 3d to fight some rendering problems
- The rendering of opengl displays has been improved and is now faster
- The library Bullet, used for the physics skills has been updated to version 18.6.0
- The use of the
ask
statement over the listsimulations
used to produce weird behaviours but has now been fixed - We can now use textures in 2D displays
- The text output of the sobol analysis can now be exported to easy to handle csv
- It is now possible to use box2D as a physics engine to efficiently emulate 2d worlds' physics
- Operators
antialiased
,blurred
andsharpened
have a new parameter to define how many times they are going to be applied to the image and have been optimized - The displays are now automatically updated when toggling the antialiasing option
- All agents have a new property
index
that represents their index in the the species - Some format issues in the
save
statement have been fixed - The display of wireframe circles in 3d has been fixed
- Arc of circles were rendered with only half of the asked radius and it has been fixed
- The depth parameter of the
line
operator is now taken into account and creates rectangles - Gama server now also runs in GUI mode and can be used to control the interface
- The loading of models in gama-server has been optimized
- The settings of gama-server (port, enabled/disabled, ping_interval) have been added to the settings window of gama
- No more error raising when closing a physical simulation
- Chart displays have been optimized and can now run forever without slowing down or increasing memory consumption
- When using the
accumulate_value
facet for the data of a chart the x value is now updated instead of always using the first x value - The serialization engine XStream has completely been removed and replaced by FST, support for xml has been dropped in favor of json and binary
- The operator
to_json
that transforms a map into a json formatted string has been introduced to replaceas_json_string
which is now deprecated - Gama-server sends a new kind of data: the simulation status when it's updated (loaded, paused etc.), mostly useful for interacting with GUI currently
- The compilation of gaml models has been drastically improved and is now sped up and takes way less memory
- An issue in the
neighbors_at
operator where it would not always pick the right geometry as a source in certain conditions has been fixed - The output of the stochastic analysis for the batch has been reworked
- Some display problems in heatmap have been fixed
- The operators to test types (
is_shape
,is_csv
etc.) that were missing are back - It is now possible to have conditions in the displays
- MQTT requests can now also benefit from the
raw
statement like other network protocols - Some bug have been fixed gama-server making it more resilient to client disconnection
- Drawing speed has been improved
- The position of scaled mesh layer was wrong and has been fixed
- When deserializing a json containing an integer too big, it is now transformed into a float instead of raising an exception
- The highlight functionality is back into the inspect panel
- The use of keystone in displays with mesh was broken and is now fixed
- The responsiveness of the code editor has been improved
- The code coloration has been improved for some cases
- The JGraphT library has been bumped to 1.5.2
- A new command for gama-server is available:
validate
which can be used to check that a gaml expression is valid, either just syntactically or also semantically - Faster runtime access to species
- Can now send step and stepBack commands with empty number of steps it will be considered as one step
- Fixes the getStopCondition exception that would arise in headless legacy mode sometimes
- Many runtime exception that were related to gama scope have been fixed, like the ones that could happen when inspecting an agent
- Compilation errors that were sometimes shown on perfectly fine code have been fixed
- The neighborhood of cells in hexagonal grids was sometimes wrong and has been fixed
- Serialization of agents in list was broken and is now fixed
- Deserialized agents are now added to the population of simulation
- Some exceptions were raised in certain cases when clicking on buttons in the parameter view, this is now fixed
- Using arithmetic operators on fields was causing side effects and has been fixed