Gama Gama-platform
winget install --id=GamaPlatform.Gama -e
GAMA is an easy-to-use open source modeling and simulation environment for creating spatially explicit agent-based simulations. It has been developed to be used in any application domain: urban mobility, climate change adaptation, epidemiology, disaster evacuation strategy design, urban planning, are some of the application domains in which GAMA users are involved and for which they create models.
GAMA Software Description
GAMA is an open-source modeling and simulation environment designed for creating spatially explicit agent-based simulations. It serves as a versatile tool across multiple application domains, including urban mobility, epidemiology, disaster evacuation strategy design, and urban planning.
Key features of GAMA include its open-source nature, support for diverse applications, user-friendly interface, and the ability to be installed via winget.
Ideal for researchers, urban planners, and developers, GAMA enables the creation of complex models, supports decision-making through simulations, and fosters collaboration within the open-source community.
README
Official repository of the GAMA modeling platform
This is the official repository of the GAMA platform, an open-source modeling and simulation environment for creating spatially explicit agent-based simulations.
See the changelog on the website for a detailed list of changes since version 1.9.0
Installing GAMA
Install a release
There's a detailed tutorial that covers all cases in the documentation, but for most user you can just go straight to the releases section of this repository and download the version that corresponds to your needs, we recommend you take a version bundled with a JDK.
Run it from the source code
To run it from the source code you can either use maven
to build the program yourself, or run it from eclipse
in case you want to inspect the code and/or modify it. In both cases you will first need to clone this repository and to get the Temurin distribution of JDK21.
Using eclipse
There is a more detailled explanation on the website about how to do so, here we will only give a fast and easy approach.
The highly recommended configuration for working on this branch is Eclipse for Java and DSL 2025-03, using a different version may expose you to some bugs.
Once you have imported the code base into your workspace, simply open the gama.product
project and open either gama.headless.product
or gama.product
depending if you want to run gama with or without GUI.
In the Overview
pane of the file, click on Synchronize
and then Launch an Eclipse application
and GAMA should start.
Using maven
First install maven on your computer, then open a terminal at the root of project and follow those steps:
- go to the project
gama.annotations
- run the command:
mvn clean install
- go to the project
gama.processor
- run the same mvn command
- go to the project
gama.parent
- run the same mvn command one last time
The produced release should be stored in the project gama.product
under the target
folder.
Reporting problems, bugs and issues
If you spot a bug or want to suggest an improvement to GAMA, please do so by posting an issue here: https://github.com/gama-platform/gama/issues.
If you noticed something wrong/not up-to-date or a lack of information on something on the website and the documentation you could create an issue on the website's dedicated repository here: https://github.com/gama-platform/gama-platform.github.io/issues
For general questions about modelling/development on GAMA you can either ask them in the discussions of this repository or on the mailing list
Contributing
There are a few tutorials explaining how to create new functionalities in gama that you can find in the developing extensions section of the website, and one general explanation of the architecture of the software and important types used in the section Introduction to GAMA Java API.
To contribute to the code you just have to submit a pull-request to this repository, if you encounter any problem to do so, feel free to ask about it either on the github discussions or the mailing list.
Acknowledgments
GAMA is actively supported by YourKit LLC, with its full-featured Java Profiler.