pygame is
Simple DirectMedia Layer is
Site Swing

Ransack - 1.0

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.


Fri Sep 28 21:37:56 2012 -0400
This is version 1.0

Fri Sep 28 20:30:35 2012 -0400
added: custom character creator

Mon Sep 24 20:17:34 2012 -0400
Small error fixes to tavern class

Mon Sep 24 20:14:11 2012 -0400
Added: director to keep track of and advance game storyline events.

Mon Sep 24 20:08:26 2012 -0400
More debugging inventory, save systems, maze generator is guaranteed to include path.

Fri Sep 21 18:13:30 2012 -0400

Fri Sep 21 18:06:58 2012 -0400
Added: maze maps, artwork

Tue Sep 18 23:13:09 2012 -0400
Added; more monsters, dialogs with NPCs, rudimentary quests.

Sun Sep 16 02:06:11 2012 -0400
Added: status attributes for hero, splash screen after death

Tue Sep 4 11:12:17 2012 -0400
Had some issues with files not being staged properly. Everything should be up to speed now.

Fri Aug 31 01:44:46 2012 -0400
Much debugging of inventory system, improved enemy AI and dungeon lighting effects.

Wed Aug 29 16:59:36 2012 -0700
Revised shops and items.

Sat Aug 25 18:25:54 2012 -0700
Added: attributes for armor and weapons, interactive mouse-driven display showing stats of current armor/weapon

Sat Aug 25 02:10:03 2012 -0700
Improvements to enemy AI, scrolling mini-map

Wed Aug 22 22:00:10 2012 -0400
Game engine is close to completion. Added: artwork, AI for non-player characters, new save file format.

Mon Aug 20 23:15:56 2012 -0400
Monsters are now discrete entities in the dungeon. Map display appears to be running smoothly.

Mon Aug 20 15:14:39 2012 -0400
Added missing BMP files

Mon Aug 20 03:56:06 2012 -0400
added more NPCs. Map is having issues. Need to redesign map display process.

Sun Aug 19 00:12:33 2012 -0400
Fixed animation of sprites

Sat Aug 18 22:26:58 2012 -0400
re-adding bldg img files.

Sat Aug 18 22:10:17 2012 -0400
Rewrote map class. Changed map format to use tile classes. Added basic NPCs.

Wed Aug 15 19:40:46 2012 -0400
Just some artwork updates (mastersheet.bmp).

Wed Aug 15 00:18:56 2012 -0400
More cleaning up and revising existing code.

Sat Aug 11 15:08:29 2012 -0400
Replaced tiles buildings in village with proper image files

Sat Aug 11 00:34:42 2012 -0400
added: status attributes, more spells.

Thu Aug 9 01:18:53 2012 -0400
accidentally overwrote map file.

Thu Aug 9 01:13:37 2012 -0400
updates to dungeon artwork.


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
Feb 21, 2017

Jan 31, 2017

Jan 24, 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)