Botfiles

Bots are now supported by Reaction Quake 3. They are not perfect, but they are capable of firing, changing weapons, reloading, changing weapon modes, bandaging, and opening doors.

We recommend you take the time to create an .aas file to accompany your map. The only exception is terrain maps; bots have a very difficult time navigating them.

Creating botfiles can be a difficult process. Read the Radiant manual, tutorials, and mapping forums to learn how to do it. Basically, you want to simplify the collision map of your level (the solid parts) so that the bots aren't confused by complex geometry. You also want to break your map into equally sized clusters, each of which have fewer than 600 reachability areas.

There are two things those tutorials and forums won't tell you about because they are specific to Reaction.


1) Ladders
Bots can not use ladders. The movement code for bots is not available to mod programmers, so there is nothing we can do about it. To simulate ladders, you can use a series of narrow botclip brushes which the bots will see as a staircase. Each tread only needs to be 1 unit thick. Each riser can be up to 16 units high. Botclips do not affect players in any way.


2) Trick Jumps
Bots are not very good jumpers. Since jumping is such a key part of Reaction gameplay, we implemented a way to have them pretend to do trick jumps. In some cases, jumps are required to access certain area or weapons. If the bots couldn't do the jumps, they would be a great disadvantage.
To get them to do jumps, use a trigger_push entity (jump pad) with the bot_only spawnflag checked. Normal players will not be able to use the jump pad, but bots will. You can string several together to get tehm to do combo-jumps. We found that the bots don't always go to the jump points. Try using item_botroam entities to lure bots to the jumps. Botroams seem to work better if they are suspended. Read more about trigger_push and item_botroam on the Reaction entities.def File page.




Return to Mapping Guide




Last updated: June 22, 2002
Valid for RQ3 Beta 2.1