Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
GridControl is a Free-to-play In-browser Social Massive-Multiplayer-Online Game, where you control your bot using a specialized stack-based language (called gridlang) and your github account. Your bot can roam the grid, gather resources, and attack/avoid other bots. The best code wins!
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
conf
gridcontrol
gridlang
gridstream
run/logs
.gitignore
BOTCONTROL.rst
README.rst
manage.py
requirements.txt
runserver.sh

README.rst

OVERVIEW

Awesome GridControl Logo

GridControl is a Free-to-play In-browser Social Massive-Multiplayer-Online Game, where you control your bot using a specialized stack-based language (called gridlang) and your github account. Your bot can roam the grid, gather resources, and attack/avoid other bots. The best code wins!

GridControl Game! GridControl is a originally a project started during GitHub's Game Off 2012. It was not even in an alpha state by the end of the gameoff, but the vision has continues.

HOW TO PLAY

Log in with your github account at the test server.

Learn how to gridlang

Learn how to control your bot

Add a gist on github with the file extension .gridlang

WIN

LATEST NEWS

Lasers were implemented. They're pretty awesome.

Players with a passion for c-syntax can use .gridc from gridc, a c-like language that compiles to gridlang.

SETTING UP GRIDCONTROL SERVER

Source Code

To download source and set up environment:

Grab source from git:
$ git clone git@github.com:GridControl-Team/GridControl.git

Make a virtualenv or else
$ mkvirtualenv gridcontrol

Install other requirements:
$ pip install -r requirements.txt

Create local settings:
$ cp gridcontrol/settings.py.sample gridcontrol/settings.py

Edit that settings file and add the secrets you need:
$ vim gridcontrol/settings.py

Do djangoy setup
$ python manage.py syncdb
$ python manage.py migrate

Other Dependencies

The test server can live with python's built-in sqlite for the Django ORM, but the game itself requires redis. So grab redis however you need and run it on the default port.

GridControl Parts

GridControl: Public facing Django site that users see

GridLang: gridlang language vm and parser code

GridStream: tornado server using socket.io to stream realtime bot status

Run Dev Environment

supervisord method:
$ ./runserver.sh

Supervisord is configured to automatically start the celery and tornado servers. The django site can be started with either start gridcontrol_gunicorn for production machines, or start gridcontrol_runserver for local development.

Or look inside of the supervisor conf to see the commands to run the separate services.

Something went wrong with that request. Please try again.