Maze Maker

Essentially, maze maker is a simple proof-of-concept for recursive scripting in Doom 3. I wanted to know if it was possible to progra...


Do not refresh or leave this page!

File Description

Essentially, maze maker is a simple proof-of-concept for recursive scripting in Doom 3. I wanted to know if it was possible to program things like mazes and tree-based pathing with recursion, and the answer is yes, but only for very simple tasks (see notes, below).

When a button on the GUI is clicked, the program randomly generates a "perfect" maze, meaning a maze where any one square has a path to any other square. You can drop down and run through the maze if you want, but the lighting might make that a little difficult.

NB: If you are only a gamer, then chances are you will find this quite useless. Modmakers - however - may find that maze making possibility interesting ;)

Read More

     Maze Maker v1.0        8/14/04
 Martin 'mwoody' Woodard, mzm AT mwoody DOT com

Map name: mazeMaker1
PK4 includes: new map w/scripts, new GUI w/graphic


To run:
 * Copy 'mapMaker1' directory included in this ZIP to your 'Doom 3' directory.
 * Run Doom 3.
 * Click 'mods' on the main menu
 * Select 'mazeMaker1'.
 * Pull down the console (press CTRL-ALT-tilde, tilde being the ~ key to the left of the 1)
 * Type 'map mazeMaker1'
 * Controls are on the panel to your left.  Enjoy!


 * THE LEVEL WILL RANDOMLY CRASH when it tries to generate a level, dropping out to the console and generating a stack overflow.  This error is not, to the best of my knowledge, due to a bug in the map or its scripting.  Doom 3 has a very intolerant limit on recursion; it looks like around 20-30 calls or so will cause it to error out (that's less than Flash!).  So recursion is an option only on VERY limited problems.  If anyone knows a way to increase this limit (not just how to work around it to make the maze - I could do that, but this is a proof of concept, not an actual map) drop me an e-mail.
 * The only difference between the 3 speeds of maze generation is the length of 'sys.wait()' commands issued at each step.  They are functionally identical.
 * I've used the ceiling tiles here as a sort of stopgap boolean array (if the square over a space is hidden, we've visited that square before).  If anyone knows how to make Doom 3 create an actual array, please let me know.
 * You can increase/decrease the size of the maze generated in the source code; look for the maxSizeX and maxSizeY declarations.  However, note that a larger map will increase the possibility of a stack overflow error.
 * The mazeMaker1.script file in the PK4 contains extensive comments on exactly how the maze is created.  Please look there for more specific info.  To open a PK4, just rename it to ZIP and use WinZIP, WinRAR, or a similar program to unpack it.


Feel free to use this code in your own levels, though the current stack limit will probably make its usefulness quite limited.  However, I do ask that any releases that include my source - whole or partial - abide by the following rules, which apply to all my work:
 * Brief mention in the README, include my e-mail address
 * Mention in the script file where the code appears, again including my e-mail address
 * I would greatly appreciate if you'd drop me an e-mail and let me know where I can get your mod.  I'd like to see examples, if they exist, of recursion in action.


Thanks for reading; please enjoy!

Read More

Comments on this File

There are no comments yet. Be the first!


50 XP

Registered 20th August 2004

2 Files Uploaded

Share This File
Embed File