This simple program compiles a random Quake singleplayer map every time you run it. It does this based on some parameters found in a file called qmapgen.ini. You can alter this file at will, after that you just launch the exe and it will build the map for you, compile it, then place the resulting map file in the specified directory and launch Quake for you.
Ultimately, I would like this program to generate rooms using a complicated constraints system,
but I haven't had the time nor resources to complete this. This preliminary version basically
just generates a large room (you can specifiy the size) filled with walls, monsters, weapons
and items. Since it's entirely random, you should never get the same map twice. I understand the
current randomization is far from perfect, as you'll sometimes get dark areas because no lights
spawned there, and you'll also frequently encounter monsters placed in walls. This is, after all,
an alpha version.
First, obtain the RAR file here.
To install the program, extract the contents of the RAR file to a directory of your choice. Whatever you do, make SURE that you keep the subdirectories intact. The program looks in the compiler directory for its compiler tools, as well as the texture pack. So if this is missing, things WILL go wrong. You were warned. After extraction, all you need to do is edit the ini file and run the program. Read on.
Now then, a little information about the ini file. It's comprised of 10 lines. You should edit the first six lines only once, as they define the paths to the Quake program, as well as any command line parameters you may wish to use. The others are settings used by the randomization process.
Here's a sample qmapgen.ini file:
d:\qw\qw\maps\ d:\qw\ d:\qw\fuhquake-gl.exe -window +deathmatch 0 +map test test TestMap 1800 20 7 20
The first line indicates the path where the program should place the compiled bsp file. This is generally
the maps subdirectory in your Quake dir. The second line is your root Quake directory (where the exe is ),
and the third is the path to the Quake EXE itself. Line #4 contains any command line parameters you may wish
to add to your game. Line 5 and 6 determine the map's filename (ie test.map, test.bsp) and the map's title
respectively. The title can be anything you want, but try to keep the filename simple and in one word.
There's no real reason to change it from 'test' at this time.
The next parameter determines the size of your map. A value between 1000 and 4000 is suggested. Anything over or under that and it'll be too small or too large. The default size is 1800, which provides you with a generous playing arena. Finally, the last three parameters indicate the amount of monsters, weapons and items to be placed in the map.
The type of monster generated is typically random, though weaker enemies will be more numerous than hard ones. Same goes for the weapons and items. Items can include super powerups like the Quad, Ring, etc. For a complete listing of all the entities and their spawn chance, check the tables below.
| Monster | Chance to Spawn |
|---|---|
| Tar Baby | 3 % |
| Shambler | 4 % |
| Vore | 5 % |
| Hell Knight | 7 % |
| Zombie | 7 % |
| Dog | 7 % |
| Fiend | 8 % |
| Slag | 9 % |
| Knight | 12 % |
| Enforcer | 12 % |
| Ogre | 13 % |
| Soldier | 13 % |
| Weapon | Chance to Spawn |
|---|---|
| Super Shotgun | 30 % |
| Nailgun | 25 % |
| Super Nailgun | 20 % |
| Grenade Launcher | 13 % |
| Rocket Launcher | 6 % |
| Lightning Gun | 6 % |
| Item | Chance to Spawn |
|---|---|
| Super Item | 7 % |
| Health Kit | 23 % |
| Armor | 20 % |
| Ammo | 50 % |
| Super Item | Chance to Spawn |
|---|---|
| Quad Damage | 40 % |
| Pentagram | 20 % |
| Ring of Invisibility | 40 % |
| Health Kit | Chance to Spawn |
|---|---|
| Megahealth | 10 % |
| 25 HP Pack | 40 % |
| 15 HP Pack | 50 % |
| Armor | Chance to Spawn |
|---|---|
| Green Armor | 50 % |
| Yellow Armor | 35 % |
| Red Armor | 15 % |
| Ammo | Chance to Spawn |
|---|---|
| Shells | 35 % |
| Nails | 35 % |
| Rockets | 15 % |
| Cells | 15 % |
Well, that's about it. Go ahead and try the program. I may or may not update this program in the future. Any feedback and suggestions are greatly appreciated, and can be sent to webmaster@jennana.com with a suitable subject title.
Thanks for reading this.