sabot_alpha6_fixed.zip —


More stupid, more angry, the Stupid Angry Bot makes it's triumphant return in release alpha 6. It won't eat, it won't sleep, it absolutely will not stop, until it does something stupid.


- Bot pretty much rewritten, bot AI and game code. So everything. - Multiplayer integration: Scoring, teamplay. Should be playable over internet and lan (largely untested).

If you have downloaded SABot prior to 06/02/2k5 and gotten a "couldn't download dynamic library" error, please download it again.



SABot - Stupid Angry Bot - A Deathmatch Bot for Doom III
It won't eat, it won't sleep, it absolutely will not stop, until it does something stupid.
Version: Alpha 6 - 'The bride of Frankenstein'
Date: 2005-06-31
Author: Jarad 'TinMan' Hansen

NOTE: This is a largely untested Alpha version.
While theoretically the worst that will happen is the game crashes, I hold no responsibility if your computer explodes in a ball of incandescent fury.

= Using the Mod =
IMPORTANT: Make sure your Doom 3 installation has been updated to version 1.3.

1. Installation: Create a folder inside the Doom 3 folder called sabot and unzip the files into it. 

2. Loading the mod: Run Doom 3 and choose SABot from the Mods menu.
Note: If the mod has loaded right you will see a [TinMan:SABot] title on the main background.

3. Compiling AAS Files: The AI in Doom 3 relies on it's own map of the level you are playing on. The doom 3 multiplayer maps weren't created with this in mind but you can force the engine to compile them. They'll be rough, but will work for the most part. 
You'll only have to do this once for each map that doesn't have them.
At the console type 'exec aas.cfg' it will take a few minutes. This will create aas files for all the d3 multiplayer maps.

If you want to try a custom map use the command
runaas -playerFlood mapname
Where mapname is the name of the custom map.

Alternately you can grab them from the lovely jONEz site here: http://www.iblog-doyou.com/d3bot/

4. Adding a bot
Start a new multiplayer deathmatch server
To add a bot bring down the console and type
	addbot bot_sabot
	Note: addbot command works like the spawn command.
	Another spawn key of interest is attack_accuracy, 2 is default, 1 is more accurate with 3 and higher moving into the can't hit a barn category. eg:
If gametype is team dm you can specify the bots team with the team key/value:
team 0 for red or team 1 for blue, eg.
	addbot bot_sabot team 1
Otherwise bots colour can be set with key/value: mp_skin n, n being number 0-5 - Puke, Red, Blue, Green, Yellow eg.
	addbot bot_sabot mp_skin 2
Bot name can be set with the key/value: npc_name nameofbot, eg.
addbot bot_sabot npc_name 'Fluffy Bunny'

= Customising =
Some of the above setting are in their own character def files, the can be added with:
addbot bot_sabot_tinman
addbot bot_sabot_blackstar
addbot bot_sabot_fluffy
Have a look at the file sabot/def/bot_sabot_characters.def for the examples.

= Limitations =
Multiplayer integration is still early days:
bots use a bit more bandwidth than normal users.
Bots userinfo isn't sent to clients so skin (and hence team) colours aren't correct and names are blank. It's fine when you use create server though (listen server).
attack_accuracy is extremely ad hoc, I like to call it the drunkenness factor, basically just a sine/time variation added to aim. Crank it up for hilarious hijinks.
Everything else.

= Feedback =
You can mail tinman_squad at hotmail dot com
Or hunt down the thread in the www.doom3world.org modifications section. 

= Distribution =
Distribute as you will, just keep the zip unmodified. Sweet.

= Modifying, use of code =
Full source will be included in the doom3bots framework, keep an eye out on www.doom3world.org for it in the near future.

= Thanks and credits to =
Extreme thanks to id Software for making the Doom 3 easily modifiable for a retard like me.
Oh and thanks id for making the script plain text and thus hooking me into making this, and for the nice sdk code.
And for the brilliant AAS navigation system.
Brian from iddevnet for pointing out the runaas command and starting a solution for the usrcmds transmission.
UberExtreme thanks to Ryan 'FrikaC' Smith for the Quake bot FrikBotX which I used to guide me for parts of this bot.
Mega thanks to Steven 'Cobalt' Gray for pointing out the (now obvious) fake client approach, and creating the not so obvious network wrapper.
Thanks to Steven 'cusTom3' Baker for charging along with the other Stevens approach, giving me someone to chat with.
doom3world.org for providing an excellent community. It is excellent.
DankeUk for compiling the linux version.
jONEz for hosting AAS files: http://www.iblog-doyou.com/d3bot/
The guys at doom3Files for hosting.

= Final Thoughts = 
We'll it's been a roller coaster of a ride for me, I released the previous version at the start of March. Had pretty much rewritten the AI logic by the end of March and was ready for a release when the Doom 3 expansion hit with the 1.2 patch breaking mods (that's a short if somewhat uncharitable explanation). The delay couldn't have been more fortunate because in mid April, Steven 'Cobalt' Grey apparently took the SABots lack of multiplayer integration as a challenge and posted his start at the fakeclient approach. Steven 'cusTom3' Baker jumped into the fray and carried on the torch when Cobalt had to bow out due to 'real life' workload.
For me the fake client approach was a very nice gift, having started SABot from TinMan Squad and a single player monster approach, I hadn't considered the tried and true fakeclient route at all, and here was a working example for me to plunder. It meant a complete overhaul of the sabot game code (only one function surviving) but for the better. A couple of weeks and I had SABot up and running and was basically cooling my heels and back to waiting for the next doom 3 patch/sdk and thinking about moving back to my previous project. I also let cusTom3 have look see at the code. He liked it, and somehow convinced me it was good enough to be used as the base for the continuation of the community bot project. 'Real life' intruding I accomplished very little for most of May.
Anyway, at end of May d3 1.3 and attending sdk was released and while updating the code it got a spring clean with the community project in mind making it a bit cleaner and more independent.
So here I am, kicking out SABot while I still can. It's still laughable compared to bots for other games, but it's metric truckloads better than the previous version. I've learnt a lot, the change from working on AI, to framework, kept things fresh for me but I'll be happy to move back to my other project. Interestingly enough the last line from the previous SABots 'Final Thoughts' still holds true so I'll end on that.

While I did intend to take it further than it currently stands I am shifting focus back to the main project. Of course advancements to it that are mutually beneficial may prompt another release. 
I'm not guaranteeing it, not even if you send over menacing burly men.

There are no comments yet. Be the first!