# Master Of Pain (Eating) - Snake

mop(e)snake (pronounced mowpy-snake, or possibly moppy-snake) is a classic snake game in which you attempt to eat all the pain in the world, bravely accepting the inevitable consequences for your waistline.

mop(e)snake features an innovative single-finger control method, as well as the normal four-directional control system familiar to fans of snake.

The game doesn't feature any of the extra features, bonuses, wrap-around levels and other featuritis that ruins most versions of snake.

## Getting mop(e)snake

### Python and PyGame

To run mop(e)snake, you will need to install Python and the PyGame library. On Linux this should be a simple case of `apt-get install python-pygame` or `yum install pygame` or similar.

On Windows, you will need to download the relevant installers and install them.

### Windows PC

If you want to run mop(e)snake on a Windows PC (i.e. a normal computer), download the file mopesnake-pc-XXX.zip from the Sourceforge download area, and unzip it.

Double-click on mopesnake.py and hopefully the game will run. If you have problems, open a DOS or Cmd window, cd into the directory where you unzipped mopesnake, and type `python mopesnake.py`

### Linux PC

Download the file mopesnake-pc-XXX.zip from the Sourceforge download area, and unzip it.

cd to the directory where you unzipped the file, and type `./mopesnake.py`. Alternatively, try `python mopesnake.py`

### GP2X

If you have the excellent GP2X handheld games console, first you need to make sure you have Python and the PyGame library installed. The easiest way to get these is to download both of them as a single zip file. There is a known-working version on the mopesnake download page: pygame_gp2x but there may be more recent versions linked from here: http://wiki.gp2x.org/wiki/Pygame. You should unzip the file and copy the "python" directory over to the root directory of your GP2X's sd card.

Now download the file mopesnake-gp2x-XXX.zip from the Sourceforge download area and unzip it on your PC, before copying the unzipped directory across to your GP2X. You should now be able to choose "Games" in the GP2X menu, navigate to the directory you copied over, and start the game by choosing the "mopesnake".

## Playing mop(e)snake

### PC

Press any key to start, and use the arrow keys to control your snake. Eat the pain.

Alternatively, you can use the good old fashioned O, P, Q, A key layout you remember from your ZX Spectrum days. You can also redefine the keys by modifying the config file in ~/.mopesnake/config. Figuring out the format of that file is left as an exercise for the reader.

Press ESCAPE on the title screen to enter the menu, which allows you to change the skill level (Easy, Medium or Hard) and the game mode (Normal or One-button). Press ESCAPE during the game to pause or quit.

In one-button mode, press any key to start, and any key to turn in the direction in which the arrow is pointing. It's tricky at first, but try to get into the rhythm. It's quite fun.

### GP2X

Press any button to start, and use the joystick and/or the A, B, X and Y buttons to control your snake. Eat the pain.

Press START on the title screen to enter the menu, which allows you to change the skill level (Easy, Medium or Hard) and the game mode (Normal or One-button). Press START during the game to pause or quit.

In one-button mode, press any button to start, and any button to turn in the direction in which the arrow is pointing. It's tricky at first, but try to get into the rhythm. It's quite fun.

## Development

mop(e)snake is written in Python, using the PyGame library, which is a convenient wrapper on the SDL libraries.

mop(e)snake's source code is stored in an SVN repository. Make sure you have the SVN command-line client (should be already installed on most Linux distros, but will need to be installed on Windows), and type:

`svn co https://svn.sourceforge.net/svnroot/mopesnake/trunk mopesnake`

(Note that this also downloads the mopelib library from the duckmaze project.)

To run, type:

`./mopesnake.py`

On Windows, the last line should be:

`python mopesnake.py`

Patches, suggestions and comments welcome! Send them to our developers' mailing list.

## Trivia

The name comes from my nickname at work: "Master of Pain (Receiving)", which is often shortened to "mop(r)", and refers to my unerring ability to become embroiled in painful coding situations, such as having a very large patch ready to check in just as 5 other people are modifying the same source files, and anther person is moving the entire project to another location. I decided it was time to strike back at the world of pain, and eat some of it. I'd like your help. Please play the game.

This game was 100% written when I should have been asleep, and 90% written in a single sitting from 11pm to 7am. I didn't even stop to go to the toilet. I went to bed at 7.15am and my 8-month-old son awoke at 7.20am wanting his breakfast. I did not sleep in the intervening 5 minutes. Thus the name of the game becomes even more relevant. Please play the game to make it at least seem worth it.

My homepage can be found at www.artificialworlds.net. My name, by the way, is Andy Balaam.

## Contact

You can contact the developers of mop(e)snake by emailing mopesnake-devel at lists dot sourceforge dot net. The list archives may also be useful.

## Licence

mop(e)snake is Copyright (C) 2006 by Andy Balaam.

mop(e)snake is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This licence is contained in the file COPYING.txt.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US

The music loop "the_final_rewind_loop.ogg" which is used in mop(e)snake is Copyright (C) 2005 by members of tryad. It is a sample of the track The Final Rewind, which is released under the Creative Commons Attribution-ShareAlike licence.