Sorry for the delay getting back to this thread but have been busy testing the process and making sure what I got works. The original reason for this feature was so that I could create a bot file for
Pyramid of the Magician but 2 years I could not get the process to work. At the time lots of things kept breaking and Pom was not a good example map to be testing with.
I found a slightly different approach to a13n and used 2 batch files to automate the process. These batch files could be merged into 1 batch file but I wanted to see the results of the bspc.exe process half way through.
Batch File 1:
@echo off
@set Q3_PATH="C:/Program Files/Quake iii arena"
@set COMP_PATH="C:/Program Files/Quake iii arena/q3map2/q3map2.exe"
@set BOT_PATH="C:/Program Files/Quake iii arena/q3map2/bspc.exe"
@set MAP_PATH="C:/Program Files/Quake iii arena/baseq3/maps/%1.map"
@set GEN_OPTIONS=-fs_basepath %Q3_PATH%
%COMP_PATH% -meta %GEN_OPTIONS% %MAP_PATH%
%COMP_PATH% -vis %GEN_OPTIONS% %MAP_PATH%
%BOT_PATH% -forcesidesvisible -bsp2aas %MAP_PATH%
This batch file is run on the bot only version of the map. It does a basic q3map2 compile (In theory could skip the -vis stage but it was so quick it did not really matter) and then does a normal BSPC compile. I had to use the -forcesidesvisible because all of the floor in my original map was terrain. I experimented with flat bot clip floors but the bots just spent most of their time floating above the terrain.
This first batch file should produce a working bot file but it is attached to the wrong map file. I manually renamed the AAS file to match the original map file but this process could be automated. I paused at this point because I wanted to see what cluster portal area's had been created and decide if I need to do anymore tweaks to geometry.
If the cluster portal arrangement was bad I would go back to the bot map file and tweak things a bit more. I removed all lights, terrain blending textures, non solid patches and models from the bot map file. I even removed all wall and floor detail and turned most rooms / corridors into huge flat caulk faces. Textures in a bot map file don't really mean much so most of my work was done with caulk.
One thing I did find with testing was the final AAS file was merged with original map geometry in game so you can force the bots to do certain things. When I removed all the wall brushes I thought the bots would just fall out of the map or fall into original map space but they did not. They would often beat themselves senseless against corners because they did not believe they existed but they did in game.
One problem I had with the bots was they would pull back while in the air after hitting a jump pads. In the original map file the brushwork in front of the jump pads was gradually sloped but the brushwork in the bot file was flat and the edge was a lot further back. This had an interesting effect because the bots then used the air control of the jump pad to move forward instead of back and then landed correctly. If they missed for some reason, the original map geometry was still there so they did not fall into the gap, but fell down and tried again.
Batch File 2:
@echo off
@set Q3_PATH="C:/Program Files/Quake iii arena"
@set COMP_PATH="C:/Program Files/Quake iii arena/q3map2/q3map2.exe"
@set BOT_PATH="C:/Program Files/Quake iii arena/q3map2/bspc.exe"
@set MAP_PATH="C:/Program Files/Quake iii arena/baseq3/maps/%1.map"
@set GEN_OPTIONS=-fs_basepath %Q3_PATH%
%COMP_PATH% -fixaas %GEN_OPTIONS% %MAP_PATH%
%COMP_PATH% -meta %GEN_OPTIONS% %MAP_PATH%
%COMP_PATH% -vis %GEN_OPTIONS% %MAP_PATH%
%COMP_PATH% -light -fast -samples 2 -pointscale 1.4 -patchshadows %GEN_OPTIONS% %MAP_PATH%
%BOT_PATH% -optimize -reach %MAP_PATH%
There are 3 problems with the -fixaas parameter as follows:
1. The compiler says the parameter is invalid, but yet still seems to work!
2. The -fixaas parameter trashes the light map (most of the time) in the original bsp file so you have to re-compile the original map again.
3. The bot AAS file has to have a newer date than the original bsp file so you have to end the process by optimizing the bot file so that it is regenerated and work correctly with the original bsp.
This is the part of the process which really is wierd, and was the main reason I gave up 2 years ago trying to get it working.
After a week of creating a new brushwork and pulling my hair out at stupid feckin-bot feckin-cluster feckin-portals, I do have a bot file for my original map
Pyramid of the Magician. Once I hear back from some friends who are testing it, I will release the source files so people can see what I did.
Hope that helps
Sims