Welcome to HABAI - Hardware Accelerated Battlefield AI

Give your bots the CPU cycles they deserve. They have earned it !

HABAI Multic0re Drawing

Friendly in game botsBot filling MG positionAnother position filledBots are more intelligentOperation Totalize HABAI 3Extra HABAI chaos (Operation Supercharge)

Hardware Accelerated Battlefield AI (HABAI) improves AI bot performance. At the present time it is only available for the Forgotten Hope mod for Battlefield 2. Support for other mods like AIX2 may follow as as for ArmA2:OA. What does this mean ? For the player it means more intense game play, with bots using and performing better with weapons and vehicles. That means blistering game play with more bullets flying, more explosions, more aggressive AI, more fun ! Mods without servers full of human players can be given a new lease of life. The AI is more difficult to play with as it responds faster. Clans can use this mod to improve training in BF2 with bots.

The mod will also allow easy switching of maps using the in game map voting menu. There will also a be a custom quick start GUI so single player and coop players can get quickly into a multicore accelerated game with the AI.

In game single player/coop map menu
This screen shot shows the in game map chooser (map vote menu).

The mod will also fix the "autobalance.py" Python script provided by DICE as the current version does not balance bots when using more than 96 bots. At the present time the maximum 50/50 team balance can be achieved with 96 bots, with 48 on each team.

Proof of 50/50 96 bot team balance
Yes, there really can be 96 bots balanced 50/50 in Battlefield 2 (plus one, me, the human player).

More bots can be added (up to 255 but that is a theoretical maximum) but one team will always be set at 48. With a fixed "autobalance.py" script balancing should be achievable for more than 96 bots. A solution will also be provided for becoming squad leader as when the maximum number of squads is reached it is not yet possible to become the squad leader. Other fixes and innovations may be developed.

The technical details

HABAI Multic0re Drawing
HABAI sets up a multi threaded environment for Battlefield 2

As the AI has a seperate CPU core all to itself the engine does not scale down AI performance. DICE have stated that their engine does indeed do this when resources are limited ...

Tobias_Karlsson_(DICE) wrote: "Battlefield [...] is a real time system, which means that all subsystems have a very limited amount off time to perform their calculations [...] The AI system is time sliced, that means that all the major [AI] systems can abort, break, or postpone their calculations if they run out of time."


Quoted from "An Introduction to AI in Battlefield 1942" [Battlefield 2 AI is an almost identical system], Tobias Karlsson, Digital Illusions CE AB, p4, 2003-11-07.

This is done by splitting server (AI/bots) and client (graphical) operations between cores (CPU affinity) on a single machine with a multicore CPU. This is currently working but was not easy to achieve because various server options are sometimes poorly documented and sometimes don't work as expected. More so the Battlefield 2 engine architecture, especially the operation of the AI, is not widely understood (I thank Void here for his help, see his ESAI ).

My testing shows much improved frame-rates ... for example there are no slow downs when there are lots of AI in one area. Benchmarks prove that there is an improvement. The important figure in the following tables is the "Avg" (average) number for FPS - Frames Per Second. The benchmarks were all taken on the same Forgotten Hope level, Anctoville, as all 48 bots of one side spawn in a single area. This is where AI slow down often occurs as well as framerate glitches. Benchmarks taken on Quadcore Q6600 and Nvidia 9800GT machine.

Fraps benchmark for a game started using the in game server creator.

Frames, Time (ms), Min, Max, Avg
1485, 60000, 15, 42, 24.750

Server and client on single core.

Frames, Time (ms), Min, Max, Avg
1657, 60000, 17, 60, 27.617

Server and client on seperate cores effectively making BF2 "multi-threaded".

Frames, Time (ms), Min, Max, Avg
2713, 60000, 0, 61, 45.217

This improves AI performance as well as keeping the framerate in the graphical client as high as possible.

CREDITS

Thanks to the Forgotten Hope team for their high quality mod and for supporting AI. Thanks to Forgotten Hope single player fans in the FHSP forum section and to Project Reality for bringing clarity to Battlefield 2 modding. Thanks to djinn for moral support. Thanks to Void for AI enlightenment.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Hi. After some thought I've decided to stop working on this mod for the foreseeable future. If anyone wants to take over the concept then they are welcome to contact me. After updating my PC I can now get acceptable performance with AI games from starting the game from within the BF2 menu interface. This means I've lost my original reason for working on this; to "scratch that itch" of wanting better bot performance. However I've had fun testing some of the concepts. I also think I've clearly shown that running the AI on a dedicated server leads to improved bot performance and behavior, at least on lower spec machines. It remains to be seen if there's still a need for this. I won't shut down the mod just yet. There's a chance that I may come back to it for ArmA 3 as I'm currently setting up a ArmA 3 server on Google Compute. ArmA 3 suffers from the same problem BF2 does. AI performance is bad when run from within the client. This is getting less noticeable with BF2 as people's CPU speeds increase, but ArmA 3 is still a pig when it comes to hardware requirements, so you never know HABAI may be reborn as an ArmA 3 mod of some kind. So thanks for the all the encouragement and interest ! Sorry that I couldn't deliver a final "product" but these things don't always work out. At least I gave it a shot !

Returning to work on the mod !

Returning to work on the mod !

News 6 comments

Hello. It's been a few months but I've been happy to get some time to work on the mod. So there's a few problems to fix now. Running an identical copy...

Status of HABAI project

Status of HABAI project

News 1 comment

Just thought I should be clear about the status of this project for anyone interested. Due to circumstances out of my control I cannot work on the mod...

Progress update: Focus on AIX2 and some discoveries about patch 1.5

Progress update: Focus on AIX2 and some discoveries about patch 1.5

News

I've been furiously testing HABAI. CPU's have been left glowing white hot ! I've discovered that a few problems that I've had have been due to using Battlefield...

HABAI for ArmA2:OA Warfare Benny Edition

HABAI for ArmA2:OA Warfare Benny Edition

News 2 comments

Interesting news. I've been applying the same concepts that I developed for Battlefield 2 to ArmA2. In ArmA2:OA the AI is even more sensitive to CPU slow...

Add file RSS Files
HABAI Testing Release

HABAI Testing Release

Script 5 comments

This download provides the ServerSettings.con file and a description of how to go about setting everything up to allow acceleration of bots in Battlefield...

HABAI testing release for ArmA:OA

HABAI testing release for ArmA:OA

Singleplayer Map 8 comments

The idea here is to encourage testing of the ArmA2:OA set up and development of creative ideas for making the ArmA2:OA AI game as fun as possible. This...

Post comment Comments  (0 - 10 of 51)
SgtNickStoltz
SgtNickStoltz - - 391 comments

I'm confused. What does it do exactly, I'm getting mixed messages.
From my understanding, it allows for more bots, and possibly better performance. All while giving the AI more cycles, technically better optimization for new processors.

Reply Good karma Bad karma+1 vote
sacalebloo
sacalebloo - - 12 comments

can you help me please i dont know how to use the habai mod in aix 2 please help me :(

Reply Good karma Bad karma+1 vote
sacalebloo
sacalebloo - - 12 comments

I have an error....Im playing and im only one in my team, the other group has 24 bots...why?? :/

Reply Good karma Bad karma+1 vote
Guest
Guest - - 689,455 comments

This comment is currently awaiting admin approval, join now to view.

jesbro123
jesbro123 - - 23 comments

Will this work with the new Forgotten Hope 2.46 update?

Reply Good karma Bad karma+3 votes
bleeh1223
bleeh1223 - - 41 comments

how can i install this on AIX2 ?

Reply Good karma Bad karma+1 vote
DukeOfJudea
DukeOfJudea - - 1,957 comments

How to install it?
(btw i want to play singleplayer not multiplayer)

Reply Good karma Bad karma+3 votes
1982gonzo
1982gonzo - - 4 comments

Awesome work :) Thank you guys so much

Reply Good karma Bad karma+1 vote
Thaiawe
Thaiawe - - 10 comments

Can this work in other mods besides Forgotten Hope 2?

Reply Good karma Bad karma+2 votes
Michael_Z_Freeman Creator
Michael_Z_Freeman - - 127 comments

Development for this mod is on hold. I really want to continue with it but have to take into account some other concerns at the moment. Hopefully I'll be able to go back to developing this, otherwise I'll consider passing my work onto someone else who can continue with this mod.

Reply Good karma+2 votes
Guest
Guest - - 689,455 comments

Back again. See latest news.

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

X