pygame is
Simple DirectMedia Layer is
Site Swing

Ransack - 0.5

Dan Allen (deadmaker7)



Ransack - a Python based roguelike

In beta stage at the moment. Our hero can explore the levels, collect items, fight monsters, and interact with the townspeople.

Coming soon: Ransack for Android. I've gotten it to run on an Android emulator using Pygame Subset for Android, there's still a mountain of issues to work out, but I'll keep all updates posted here.

Move with arrow keys. Monsters are found in the dungeon. Approach a monster and press Enter to commence battle, the monsters can also initiate battle

Enter is the "action" button, which activates sundry items on the map, including conversing with people in the village or castle.

'c' brings up spell menu and

'i' brings up item inventory.

'a'/'w' brings up armor/weapon menu. Select a weapon/armor from here and it will be automatically equipped. If it is currently equipped, it will not be listed in the weapon or armor menu.

'm' brings up mini-map which displays current level.

's' shows character stats.

't' takes a screenshot.

The game begins in the 'village'. Currently the village has an item shop, magic shop, tavern, blacksmith, and armory. You can save your game but only at the Inn/Tavern which is the three story building.

The plot is currently very simple - visit the King in the castle, then venture into the dungeon and try to defeat the Skeleton King in his fortress.

On venturing into the dungeon, new levels are automatically generated. Each dungeon has a key which unlocks the door to the next stairs down. Try to find the 'secret' dungeon rooms (hint: look at the minimap) Stairs lead hero to the next or previous level. If next level has not been visited yet, it will be generated automatically. The game culminates in a fortress section with a boss. The fortress begins at level 10.

A basic level editor is included. Click the pencil for draw mode and the hand for select mode. In select mode, select a region and move it around the screen. In draw mode, Use 't' to select tiles or select with mouse, move with arrow keys and space bar or point and click to place tiles, and 'd' to toggle draw mode. If you place the door to a shop it will ask you for the level and then draw the entire shop at that location. 's' saves a map and 'l' loads. 'f' flood fills the map with currently selected tile beginning at the location of the cursor. 'g' generates a random map with specified number of rooms. Enter 0 rooms for a maze instead. Click the red square to place non-player characters. The types currently implemented are 'guard', 'female' and 'skeleton' You will then be prompted for a message. 'x' will delete the NPC currently in the cursor. . There are cut/copy paste buttons but I haven't implemented them yet. Note that setting rooms too high may cause the generator to hang if the map is not big enough.

I have created all the artwork for the game, at this point it's quite rudimentary but it will be expanded as the project continues.

Uses sprite sheet code from

The level editor uses EzText courtest of pywiz32 - The random map generator algorithm is based on the description written here (the actual code is my own):

The randome maze generator algorithm is taken from the following source:

The fonts used ingame are: Spinal Tap (, Devinne Swash, by Dieter Steffmann. Chancery Gothic and Courier.

As a side note, this project is turning into more of an RPG with roguelike features. Rogue purists may sneer :-P but I look forward to seeing what happens with this thing and I hope you do too.


Tue Jul 17 17:02:39 2012 -0400
Artwork updates and a few fixes to the map

Tue Jul 17 03:13:51 2012 -0400
spell and item systems now fully in place, map system more robust, still need to get village stores and armor/weapon system working

Mon Jul 16 04:03:47 2012 -0400
Maps now working for arbitrary dimensions. All items and spells working. Still a few bugs but nothing fatal.

Sun Jul 15 03:35:21 2012 -0400
Big changes, game has about ~60% of basic outline complete. Level generator implemented.

Fri Jul 13 14:00:55 2012 -0400
maps now ship with tilesheets

Fri Jul 13 03:35:14 2012 -0400
transition to open dungeon complete, flood fill working in level editor, save procedure for LE augmented

Thu Jul 12 13:26:32 2012 -0400
beginning transition to open dungeon system

Thu Jul 12 00:31:26 2012 -0400
added mini-map feature, fixed item and spell menus, spritesheet class

Mon Jul 9 17:23:08 2012 -0400
Added: animated hero movements, sound effects, battle menu system


Home Page:


click to view original size


Ransack - 1.0 - Sep 29, 2012
Ransack - 0.75 - Aug 8, 2012
Ransack - 0.5 - Jul 17, 2012
Ransack - 0.1 - Jul 6, 2012 account Comments

If you wish to leave a comment with your account, please sign in first.

August 14, 2012 12:35pm - Xandar Kablandar - nickname: (eternalcheesecake)

our projects welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
recent releases
Jan 31, 2017

Jan 24, 2017

Jan 19, 2017

Jan 18, 2017

Jan 7, 2017

Dec 30, 2016

Dec 8, 2016

Nov 28, 2016

Nov 27, 2016

... more!
for pygame related questions, comments, and suggestions, please see help (lists, irc)