developingGAMA - gama-platform/gama GitHub Wiki
Developing GAMA
GAMA is written in Java and assembled from Eclipse/OSGi plugins: the GAML language (Xtext), a runtime API and its implementation, a desktop application, a headless runtime, and many extensions. This section explains how to set up a development environment, how the code is organized, and how to extend GAML with new plugins, skills, statements, operators, types and species.
Most of the setup is automated by the GAMA Developer Tools, an Eclipse plugin that installs the sources, checks the workspace, launches GAMA, repairs generated code and creates extension skeletons. GAMA > Get started... is the recommended guided route; the installation page also documents the manual route. This wiki is the single developer guide for setup, architecture, extension development and release builds.
Where to start
Set up your workspace with Installing the development version. Then use Architecture of GAMA as your codebase map and Introduction to the GAMA Java API to explore its main interfaces. For a first extension, follow Developing Plugins; to package a runnable application, see Creating a release of GAMA.
Requirements at a glance
| Component | Version |
|---|---|
| IDE | Eclipse IDE for Java and DSL Developers 2026-03 or newer, with JDT, PDE and Xtext/MWE2, running on Java 21 or newer |
| JDK used to compile and launch GAMA | JDK 25 (a full JDK, not a JRE) |
| Developer tools | Update site https://gama-platform.org/gama.devtools/ |
| Command-line build (optional) | Maven 3.9 with Tycho, running on JDK 25 |
Contents
- Installing the development version
- Introduction to the GAMA Java API
- Developing Extensions
- Creating a release of GAMA
- Generation of the documentation
New contributors should start with Installing the development version, choose the guided Get started... path or the manual instructions, then read the architecture overview. Plugin developers migrating code written for earlier versions should also read the GAMA 2026 migration guide. Before contributing, see the contribution guidelines.