AGS editor and engine source code
C++ C C# TeX HTML Shell Other
Latest commit 152bb1f Feb 20, 2017 @ivan-mogilko ivan-mogilko committed on GitHub Merge pull request #386 from gurok/341_switch_fixes
Scripting: Fix the switch statement's handling of strings
Failed to load latest commit information.
Android Android: added midi.c patch to the sources Feb 18, 2017
Common Windows: explicitly set working directory using short (DOS) path Feb 18, 2017
Compiler Scripting: Compare strings properly in switch statements Feb 19, 2017
Editor Engine, Editor: get optional audio path from the debugging IDE Feb 16, 2017
Engine Makefile: added midi.c patch to the sources Feb 18, 2017
Manual Updated build version ( Feb 7, 2017
OSX osx: add/remove files Oct 2, 2016
PSP Updated instructions on installing MIDI patches Jun 2, 2016
Plugins Plugins: moved standard library header includes out of plugin namespace May 23, 2016
Script Merge pull request #342 from sonneveld/zip-changelog Jul 29, 2016
Solutions Engine: implemented load_midi_pf - something that Allegro 4 should have Feb 18, 2017
Windows Updated build version ( Feb 5, 2017
debian Merge branch 'master' into develop-3.4.0 Jun 16, 2016
iOS ios: add/remove files Oct 2, 2016
libsrc osx: add +x for new scripts Jul 3, 2016
.gitignore linux: add Engine/ags binary to .gitignore Jul 4, 2016
.gitmodules Revert "Added game templates as submodule" Aug 20, 2016
Changes.txt Changes.txt: update for 3.4.0 patch 2 Feb 5, 2017
Copyright.txt Updated build version ( Feb 5, 2017
License.txt Move License.txt to the top level and create Copyright.txt listing th… Oct 6, 2012 added information on config file locations Jan 12, 2017 Merge branch 'develop-3.3.5' Mar 25, 2016
version.json Updated build version ( Feb 7, 2017

Adventure Game Studio

Adventure Game Studio (AGS) - is the IDE and the engine meant for creating and running videogames of adventure (aka "quest") genre. It has potential, although limited, support for other genres as well.

Originally created by Chris Jones back in 1999, AGS was opensourced in 2011 and since continued to be developed by contributors.

An official homepage of AGS is:

Both Editor and Engine are licensed under the Artistic License 2.0; for more details see License.txt.

Engine instructions

To get started building the AGS engine, see the platform specific instructions or forum threads:

When running the engine on you may configure it by modifying acsetup.cfg or using several command line arguments. On Windows you may also invoke a setup dialog by running executable with "--setup" argument, or executing winsetup.exe, if it is present. For the list of available config options and command line arguments, please refer to

Issue tracker

Please report bugs and feature requests at the AGS Issue Tracker!


We welcome any contributor who wishes to help the project.

The usual workflow is this: you fork our repository (unless you already did that), create a feauture/fix branch, commit your changes to that branch, and then create a pull request. We will review your commits, and sometimes may ask to change something before merging into ours.

For bug fixing and general code improvements that may be enough, however, for significant changes, especially completely new features, it is advised to first open an issue in the tracker and discuss it with development team, to make sure it does not break anything, nor contradict to existing program behavior or concepts.

The master branch should be kept in a working state and always compilable on all targeted platforms. Larger changes that potentially break things temporarily should first be made in other branches or in personal forks.

We have a coding convention, please check it before writing the code:

AGS game compatibility:

This runtime engine port is not compatible with all AGS games. There are the following restrictions:

  • Supported AGS versions right now are all starting from 2.50; games between 2.5 and 3.2 are supported in theory, but may have yet unknown compatibility issues. You can check the version of AGS a game was made with by examining the properties of the game executable. If you try to run a game made with a newer or older version of AGS, you will receive an error when trying to launch the game.
  • Savegames are compatible between the different platforms if they are created with the same engine version.
  • Games that depend on plugins for which there is no platform-independent replacement will not load.

Changes from Chris Jones' version of AGS

This version of AGS contains changes from the version published by Chris Jones. The run-time engine was ported to Android, iOS, Linux, Mac OS X and PSP and a refactoring effort is under way. A detailed documentation of the changes is provided in the form of the git log of this git repository (