Understanding roguelike dungeons
The roguelike is a sub-genre of role-playing video games, characterized by randomization for replayability, permanent death, and turn-based movement. Many early roguelikes featured ASCII graphics. Games are typically dungeon crawls, with many monsters, items, and environmental features. Computer roguelikes usually employ the majority of the keyboard to facilitate interaction with items and the environment. The name of the genre comes from the 1980 game Rogue. (source: Wikipedia)
The interesting part of a Roguelike game is the dungeon: unlike solid perfect mazes like the one explained at Perfect maze generation – tile based version, roguelike dungeons have rooms, corridors, loops… not the kind of stuff we can obtain with a perfect maze generation script.
So I selected some interesting resources to help you understanding the process of dungeon creation, and I am obviously creating a script to create my own dungeons.
Let’s see the links:
http://kuoi.com/~kamikaze/GameDesign/art07_rogue_dungeon.php
Algorithm for random dungeon generation.
http://www.gamesetwatch.com/column_at_play/
Lots of useful information about roguelike genre.
http://www.dev-spot.com/forums/index.php?topic=4.msg10
Forum thread about a roguelike dungeon creation contest with some interesting entries with source code, like this one or this one (with source code) that allows you to create a town full of enemies.
http://roguebasin.roguelikedevelopment.org/index.php?title=Grid_Based_Dungeon_Generator
Grid-based dungeon generator: an easy method to generate maps that contain rooms guaranteed to fit within the dungeon space.
http://roguebasin.roguelikedevelopment.org/index.php?title=Dungeon-Building_Algorithm
Dungeon-building algorithm.
http://sourceforge.net/projects/roguelikelib/
Portable open-source library written in C++ with a set of classes that can be used in all roguelike games. Classes are categorized to fullfill tasks of random map generation, pathfinding and counting field of view.
http://rubyquiz.com/quiz80.html
Some samples of code for a roguelike dungeon generation.
http://roguebasin.roguelikedevelopment.org/index.php?title=Basic_BSP_Dungeon_generation
A simple method to generate a basic dungeon using a bsp tree, a space partitioning method. In mathematics, space partitioning is the process of dividing a space (usually a Euclidean space) into two or more disjoint subsets (see also partition of a set). In other words, space partitioning divides a space into non-overlapping regions. Any point in the space can then be identified to lie in exactly one of the regions.
http://www.rpghost.com/dungeon_gen.shtml
This editor does not work but you can see how many options you can set for your dungeon generation.
http://www.freebasic.net/forum/viewtopic.php?t=13213
A little program that builds a dungeon based on a particle aggregation algorithm.
http://roguebasin.roguelikedevelopment.org/index.php?title=Cellular_Automata_Method_for_Generating_Random_Cave-Like_Levels
Cellular automata method for generating random cave-like levels.
http://roguelikedeveloper.blogspot.com/2007/11/unangband-dungeon-generation-part-one.html
Multipart tutorial about unangband dungeon generation.
http://dungeonmaker.sourceforge.net/manual/index.html
DungeonMaker manual – interesting read – and source code
That’s it… I already started coding my dungeon generation script, if you have one, let me know and I’ll publish it on the blog.
4 Responses to “Understanding roguelike dungeons”
Leave a Reply
- Get up to $100,000 for your next Flash game with Mochi GAME Developer Fund
- Create a dynamic content animated footer ad for your site in just 9 jQuery lines – 17 lines version
- Sell sitelocked version of your Flash games and even .fla sources to Free Online Games
- Protect your work from ActionScript code theft with SWF Protector
- Create a dynamic content animated footer ad for your site in just 9 jQuery lines
- Understanding Box2D’s one-way platforms, aka CLOUDS
- Triqui MochiAds Arcade plugin for WordPress upgraded to 1.2
- Box2D Flash game creation tutorial – part 2
- 11 Flash isometric engines you can use in your games
- Monetize your Flash games with GamesChart
- Create a Lightbox effect only with CSS - no javascript needed
- Flash game creation tutorial - part 1
- Create a Flash Racing Game Tutorial
- Flash game creation tutorial - part 2
- Make a Flash game like Flash Element Tower Defense - Part 2
- Flash game creation tutorial - part 3
- Make a Flash game like Flash Element Tower Defense - Part 1
- Create a flash draw game like Line Rider or others - part 1
- Triqui MochiAds Arcade plugin for WordPress official page
- Create a flash artillery game - step 1
- Flash game creation tutorial – part 5.2 (4.88/5)
- Create a flash artillery game – step 1 (4.79/5)
- Create a Flash Racing Game Tutorial (4.76/5)
- Create a flash artillery game – step 2 (4.74/5)
- Create a survival horror game in Flash tutorial – part 1 (4.73/5)
- Creation of a Flash arcade site using WordPress – step 2 (4.73/5)
- Flash game creation tutorial – part 2 (4.71/5)
- Flash game creation tutorial – part 1 (4.70/5)
- Create a flash draw game like Line Rider or others – part 1 (4.69/5)
- Creation of a platform game with Flash – step 2 (4.68/5)


(9 votes, average: 3.56 out of 5)





Nice list!
I came across this blog through google and like the resources you’ve linked. I would like to see how far you’ve gotten with your dungeon generation script. I’m pretty much a new to programming, but learning to code a roguelike has been my inspiration. Thanks for the info again.
Please publish your results!
I found this for those looking for a as2 example of a randomly generated map or dungeon – http://www.gamepoetry.com/blog/4k-flash-dungeon-romp/comment-page-1/#comment-13759