gama-platform / gama

Main repository for developing the 2024+ versions of GAMA
https://gama-platform.org
GNU General Public License v3.0
31 stars 6 forks source link
agent-based-framework agent-based-model agent-based-modeling agent-based-simulation modelling simulation

GAMA - official repository of GAMA

Continuous project validation Language GitHub issues Github Releases Documentation

Maintainability Rating CodeScene general CodeScene Code Health

This is the official repository of the GAMA platform, an open-source modeling and simulation environment for creating spatially explicit agent-based simulations. GAMA provides an IDE for its own language along with embedded powerful vizualisation capabilities. The goal is to provide an easy to learn but yet efficient environment covering the widest possible range of use cases for agent-based modelling.

For more detailed information about it, visit our website.

diffusion

https://github.com/user-attachments/assets/8cb6f189-3bfe-42c1-a162-3c8abd5dec8b

See the changelog on the website for a detailed list of changes since version 1.9.0

Installing GAMA

Instal 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 2024-06, 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:

  1. go to the project gama.annotations
  2. run the command:
    mvn clean install
  3. go to the project gama.processor
  4. run the same mvn command
  5. go to the project gama.parent
  6. 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

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.