Arachnoid is an Arkanoid/Breakout clone with a twist – instead of bricks, there are spiders crawling all over the place! There are several kinds of spiders with different abilities, as well as other obstacles and bonuses.

The game is written in Python/Pygame. Graphics are adopted from several sources (see this post with the links).

Click here to download the game (current version is 0.5)

Running the game: python


– Right & left arrows, or mouse movement to move the paddle (mouse is preferable because it supports acceleration)
– Space or left mouse button to release the ball
– Key ‘p’ to pause the game, and ‘o’ to continue after pause
– Del to go the next level (only in the cheat mode)

Command line options (only if argparse module is installed):

–cheat: turns on the cheat mode (Del allows to go to the next level, and the game doesn’t stop when the number of lives goes below 0)
–level N: starts on level N instead of 1


– sound
– saving scores, high-score table
– info screen with the explanation of enemies and bonuses
– list of locked/unlocked levels & level codes instead of starting from any level (maybe)
– level editor
– installer

Tested with python 2.7.3 and (to some extent) 2.6.6, and Pygame 1.9.1.

Posted in code, games, python | Tagged | 2 Comments

Thirsty Nellan in Python (Pygame)

Thirsty Nellan in Python is a Pygame adaptation of a public domain game Thirsty Nellan. I wrote it for the purpose of learning Python and Pygame. The original game by Geoffrey M. Draper can be found at All the graphics and audio were copied from the original game. The fonts are public domain Bitstream Vera fonts.

Many thanks to Geoff Draper for creating the original game and making it open source!
Also, many thanks to Coursera and profs Joe Warren, Scott Rixner, John Greiner and Stephen Wong of Rice University for their awesome online course “An Introduction to Interactive Programming in Python”! (

Click here to download the game.

How to run the game: python
Tested with Python 2.7.3 and Pygame 1.9.1.

Posted in code, games, python | Tagged | 2 Comments

Mystery House in Python (CodeSkulptor)

This is a tribute to the first graphical interactive fiction game: Mystery House by Sierra-On-Line. It’s loosely based on the Inform code from but all the logics is implemented from scratch. My version is a little more user-friendly than the original. (Actually, I had never played the original Mystery House apart from the Inform version, but I used to be a huge fan of Sierra quests :)

It works in a browser-based simplified Python IDE called CodeSkulptor, created by prof. Scott Rixner of Rice University. CodeSkulptor works in Chrome, Firefox and Safari (but not IE). Click here for the game; click “run” (the leftmost button with a triangle) to run the game.

There’s also an autoplay option, for those who are curious about the game but don’t want to struggle with playing it (especially because text input is so inconvenient – currently it’s impossible to clear the text field and let it keep the mouse focus). It can be disabled by setting use_autoplay = False at the beginning of the code. Autoplay follows the hardcoded walkthrough, it can be paused and resumed.

Posted in code, games, python | Tagged | Leave a comment