Current projects:  
RSScache RSScache  
RSScache (Demo) Home  

file2xml file2xml Soon!  
qscore qscore  
qdemos qdemos  
qmaps qmaps  
qcon qcon  
qmaster qmaster  
aa2map aa2map  
cstat cstat  
Quh Quh  
discmage discmage  
flc flc  
geotool geotool  
uCON64 uCON64 Home  
RSStool RSStool  
fvwm configs  
autoconf alternative  
Game Server scripts Game Server scripts  
demo2video demo2video  
YouTube player  
Q3A (id Tech 3) shader manual Q3A (id Tech 3) shader manual  
Mouse polling rate Mouse polling rate  
Master servers  
CVAR guide CVAR guide  
simple httpd+PHP+SQL example  
OO in C  
multidimensional alloc  
Q3A (id Tech 3) brushes Q3A (id Tech 3) brushes  
XSL scripts  
rcon.php rcon.php  
jumpheightcalculator.php jumpheightcalculator.php  
airways_preview.pk3 airways_preview.pk3  
mediawiki embed mediawiki embed  
MD3 Hitbox MD3 Hitbox  
Inverted Crosshair Inverted Crosshair  
bitcalc bitcalc  
generic launcher  
geoip_reverse.php New!  
PHP's file_get_contents() in JavaScript New! New!  
id Tech 3 modifications:  
Brainstorming Brainstorming  

SDL koalafy patch  
Qstat/Qstat2 patches  
GameQ patches  

Amiga projects Amiga projects  

What is it?

aa2map (ASCII art 2 map) is a procedural map generator that parses ASCII Art and heightmaps into a Quake III: Arena (id Tech 3) map file

Everyone who can operate a keyboard will be able to create custom maps for id Tech 3 based games with this

The motivation behind aa2map is that reverse engineering 3D file formats and writing a program in C that generates all geometry was much easier (for me) than understanding the proprietary knowledge behind 3D modeling software

It (still) fails at generating maps for fast-paced shooters which need a lot of fine-tuning according to the game physics and which basically need to be designed by a human who is an artist and has a very good understanding of the gameplay

aa2map succeeds at generating maps with random structures, obstacles and defilades which work just fine for tactical shooters


Linux binary: aa2map-0.7.9-linux.tar.gz

Example Map:

Current version: 0.7.9

How does it work?

In this example 'L' is a segment of the landscape generated from a heightmap
Multiple ASCII files will be stacked like storeys


Maps, entities, objects, and spawn points can be edited using ASCII art and heightmaps

All kinds of image formats for heightmaps are supported (using SDL_Image)

Maps can be mirrored, flipped, and compiled and completely packaged with all required textures and shaders

Generates also run maps (Defrag), strafe pad maps (Defrag), mazes, landscapes

Shaders are generated automatically and make it easier to replace textures or effects

Can be completely scripted and automated - No Desktop enviroment required

Generated maps can be imported by other level design programs for further editing and merging

Future plans

Support for more game engines