Gravit is a free, visually stunning gravity simulator, where you can spend endless time experimenting with various configurations of simulated universes.

Building From Source


If you wish to modify the source code of Gravit, this is the place to be. This document refers to the develop branch of Gravit on github, so older revisions of Gravit might not apply.

Quick Start

Project files exist for Xcode and Visual Studio C++ 2010 Express. There are Debian/Ubuntu specific instructions and also a Makefile for MinGW.



  • SDL
  • SDL_image
  • SDL_ttf


  • Lua 5.1+ for Spawn scripting
  • Agar SVN revision 9102 for GUI Widgets. The current trunk is incompatible with Gravit. You can disable this by using the WITHOUT_AGAR define.
  • libpng (Screenshots)

Specific Platforms

Git Branches

The way development works in Gravit is with the git-flow method:


All production releases are merged into master. There is only one commit per production version, which is merged from a release branch.


Develop is the bleeding edge branch where all features are merged into and bugfixes committed.


Each new feature being developed is branched from develop into a branch prefixed by "feature/". This is later merged back into develop when ready.

For example, the skybox feature branch is called "feature/skybox".


When a new version is ready to go, a branch prefixed with "release/" is made. This branch is only allowed to have important bugfixes. It is finally merged into master and tagged when complete. The develop branch can pull from release at any stage to continue development.

For example, the 0.5.0 release branch is called release/0.5.0