view README.txt @ 536:7fd6ecb72fd7

Add some stuff about the level editor
author Neil Muller <drnlmuller@gmail.com>
date Sun, 18 Sep 2011 01:18:48 +0200
parents 2bc856561333
children e12a4ebeccfc
line wrap: on
line source

Mutable Mamba
=============

Entry in PyWeek #13  <http://www.pyweek.org/13/>
URL: http://pyweek.org/e/mamba
Team: mamba
Members:
  Adrianna Pinska
  Desilu Crossman
  Gideon Visser
  Jeremy Thurgood
  Neil Muller
  Simon Cross
  Stefano Rivera
License: see LICENSE.txt

For licensing info about the various resources used in the game, see:
 * data/sounds/sources.txt
 * data/tiles/sources.txt
 * data/music/sources.txt


Running the Game
----------------

On Windows or Mac OS X, locate the "run_game.pyw" file and double-click it.

Othewise open a terminal / console and "cd" to the game directory and run:

  python run_game.py


How to Play the Game
--------------------

Move the snake around the screen with the arrow keys. Get to the exit without
crashing into anything. Collect interesting and exciting mutations along the
way. Make your own levels and share them with the world.


Level Editor
------------

The level editor is available from the main menu. Levels are saved as
user levels, and stored in $XDG_DATA_HOME/.mamba/user_levels
or $APPDATA/.mamba/user_levels.

A new level can be created from one of the existing templates using new.
Level properties, such as the name, filename and background music track
can be changed using the "Edit Level Metaddata" button.

The level editor has 3 modes: placing tiles, placing things and editing
sprites.

Tiles are level geography, such as floors, walls and so forth.
Things are items that the snake can eat, such as rats.
Sprites are special elements with more complex items which require
extra confiugration information, such as tunnels.

To place tiles and things, select the desired element and click on the map to
place the tile or thing.  Deleting anything replaces the space with a floor
tile. The selection of tiles can be scrolled using the arrow buttons.

Sprites can be placed as well. Sprites require parameters. Each sprite
needs a unique id tag, which can be any string without spaces, and
then additional parameters that depend on the type of sprite, usually
the id of another sprite. Sprites can be added, edited and deleted.
Look at existing maps to see how the parameters can be used.

Levels can be saved, and uploaded to be shared with other people. Shared
levels only become available after the levels have been curated.

Development notes
-----------------

Creating a source distribution with::

   ./scripts/build_unix.sh

You may also generate Windows executables and OS X applications::

   Windows:
      ./scripts/wine-py2exe
      ./scripts/makensis

   OS X:
      ./scripts/darwin-py2app.sh