Wednesday, November 23, 2016

The Best Bot Match Games: Battlefield 2

Released in 2005 exclusively for the PC platform and developed by DICE, Battlefield 2 is a FPS that takes place in a modern military setting. With average critic scores of 90.07% from GameRankings and 91 from Metacritic, it is still the highest rated Battlefield game to date. Battlefield 2 perfected the multiplayer FPS formula and it hasn't changed much since then. With each new iteration of Battlefield comes improved graphics and sound design but the only notable changes to the mechanics since Battlefield 2 have been weapon customization and destructible environments. Things sure haven't changed much if you take away those two aspects. Battlefield 2 is the framework DICE has been using for every new Battlefield game. So the bottom line is if you have never played Battlefield 2 but played any Battlefield game since Battlefield 2, you would feel right at home here.

So why are we talking about Battlefield 2 if there are so many newer Battlefield games out there? Unfortunately DICE/EA decided to remove singleplayer matches with bots from all of their future games (the last game to have bot support was Battlefield 2142 which was released in 2006). Why they bothered wasting their time and money making shitty campaigns instead is beyond me. But this was likely due to 3 factors:

1. Changing Conditions: Since the internet has become a staple in everyone's home, the need for offline substitutes has faded.

2. Replay Value: Multiplayer games with offline bot match options have infinite replay value. Long after the servers have been shut down you can still play these games just as they were in their hay day. Shutting down servers, low player counts, and/or the online environment being filled with hackers often pushes people to buy the next game in the series. The less options people have, the more likely they are to keep up with the latest installment and pay more money. In other words, corporate greed. A campaign component and a multiplayer component sounds like way more content on paper than just an online and offline multiplayer component. Even though the campaign is pile of shit that no one plays and a theoretical offline multiplayer component is actually in the long run the much better value proposition because, as stated earlier, it is infinite replay value.

3. Effort/Cost: I don't think effort and cost are the best reasons why offline bot matches have disappeared. Yes coding good A.I. is hard (and anything that is hard costs money) but once the framework has been created it should not be a huge undertaking to create A.I. for a sequel. You learn from what you have done in the past and you can create something better with less time in the future. If a sequel uses a derivative of the predecessor's graphics engine, it would be as simple as porting the code and making small adjustments. Being that Battlefield: Bad Company (2008) had the most radical change in the graphics engine (shifting from Refractor 2 to Frostbite) it makes sense that this was the cut off point. It is a shame that bot support never made it to Frostbite because it is still being used today so there would be little reason to not include it in every Frostbite Battlefield game if it already existed in one Frostbite Battlefield game.

So Battlefield 2 and Battlefield 2142 were the last Battlefield games to have bot support. I'm ignoring Battlefield 2142 for the remainder of this post since Battlefield 2 was often considered the better of the 2 games and there are more options and features as you will see.

So how are the bots in Battlefield 2?

 - ability to use all of the player functions in the game -> GOOD

Bots use all of the stock weapons and equipment (except for land mines and claymores) and they will use every vehicle in the game competently (their jet and attack helicopter skills are very impressive, though it is worth mentioning they sometimes behave derpy with land vehicles and boats). They will place C4 at flags and even on enemy vehicles! The A.I. commander does not call in UAVs or supply drops but will give orders to attack/defend and call in artillery strikes (with v1.41 and earlier).

 - how unpredictable they are -> GOOD

Bots do sometimes suffer from "hive mind" behavior and they often attack in the same way on certain maps but matches overall feel very dynamic and I have been very surprised by the turn out of some rounds.

 - difficulty scaling -> GOOD

You can scale the accuracy of bots from legally blind to 360 no scope. But I haven't seen any major differences in their overall behaviors changing from the easiest to the hardest difficulty. Regardless, you will slaughter noobs on the easiest setting and you will cry for mommy on the hardest setting.

Bot match in vanilla Battlefield 2 is underwhelming in terms of features. By default you can only play on 16 player sized maps and there is no stat tracking, rank progression, or unlocks. Thankfully with the power of modding, you can easily turn Battlefield 2 into the ultimate bot paradise with support for all 16, 32, and 64 player sized maps with up to 96 bots and full stat tracking, rank progression, and unlocks for offline/LAN. Even the bots will rank up with you over time!

PLEASE NOTE: Since Battlefield 2 is an old game, there are some compatibility issues that need to be addressed if you are looking to run the game on a modern system (particularly in regards to multi-core and multi-threaded CPUs). The following document contains all of the information needed to install and run Battlefield 2 on a modern computer and enjoy the game in all of its glory (64 player battles with stat tracking and rank progression):

Battlefield 2 Install Info:

Battlefield 2 (2005)

System Requirements:

OS: Windows XP SP3 32-bit or newer
CPU: Intel Core 2 Duo E6600 2.4 GHz, AMD Athlon 64 X2 5600+ 2.8 GHz, or better
- must be SSE3 capable
GPU: NVIDIA GeForce 7800 GTX, ATI Radeon X1900 XT, Intel HD Graphics 4000 (1 GHz), or better
- must be DirectX 9.0c capable
Video RAM: 512 MB or more
System RAM: 2 GB or more
- integrated graphics require dual-channel (2 x 1 GB) or better
Storage Device: 5400-RPM HDD or better
Storage Space: 6 GB (3 GB + 3 GB) of free space is required for installation, 3 GB after installation

General Info:

Developer: Digital Illusions CE AB
Publisher: Electronic Arts
Genre: FPS
Engine: Refractor 2
Release: Scene Release by RELOADED
Crack: RELOADED (v1.0), DNS (v1.41)
Quality: Lossless
Archive Size: 2.70 GB
Installed Size: 2.19 GB
Language: English
Version: 1.41
Offline SP: Yes
Offline Skirmish: Yes
Offline Level Editor: N/A
LAN MP/Co-op: Yes
Time Investment: 45h 18m (HowLongToBeat 29 polled)
Review Scores: 90.07% (GameRankings 65 reviews), 91 (Metacritic 55 reviews)

Important Info:

During installation, use one of the following serial keys:


The serial keys can also be found in the "reloaded.nfo" file.

During installation you need to install the dedicated server as well.

After installation is complete, install the v1.41 patch located in the "Patch" folder.

After installing the v1.41 patch, extract the v1.41 crack provided in the "v1.41 Crack" folder located in the "Patch" folder.

If you would like to change the number of bots in a singleplayer match, open "" in the following directory:

/Battlefield 2/mods/bf2/AI/

If you are playing with the BF2SP64 mod:

/Battlefield 2/mods/bf2sp64/ai/

Change the following code and replace "0" with "1":

aiSettings.overrideMenuSettings 0

Change the following code for your desired amount of bots:

aiSettings.setMaxNBots 48

Save the file and exit when you are finished.

Install "BF2Statistics.BF2SP64.v1.7z" from the "BF2Statistics BF2SP64 v1" folder by extracting the archive, copying the "mods" folder, and pasting it into your root directory for "Battlefield 2". Merge folders when needed.

"zblankmap" is a filler so that the last map (64 player version of Zatar Wetlands) is displayed correctly in the singleplayer menu.

During the setup of BF2Statistics Control Center, make sure the online profile you create has a valid PID (Player ID). If you allow the system to create a PID it may assign a wrong value such as "1". This will cause bugs and prevent rank progression. A PID with 8 digits (such as "29000000") is valid.

The "Force Custom Resolution" option in BF2Statistics Control Center is not displayed correctly. The width is actually the value for the height and the height is actually the value for the width.

Change the "Selected Mod" to "BF2SP64" if you wish to play with the "BF2SP64" mod.

Create a maplist based on the "Co-op" gamemode for offline/LAN play with bots.

In the server settings, make sure to set the minimum number of players to 1 or 0 so that the match will start when you join the server. You may need to set the maximum number of players to a low number such as 1, 2, 3, or 4 so that more than 32 bots spawn in the match. You can force up to 96 bots to spawn in a match but it is recommended to spawn the amount of bots that coincide with the size of the map (64 bots for a 64 player version of a map, etc.) for the most balanced experience.

After setting up the server and starting the game, you can join the server by clicking on the "Join Local" tab of the multiplayer menu.

To play the game in widescreen mode, you must create a shortcut for "BF2.exe" and then right-click on the shortcut and then click on "Properties". Then add the following code to the "Target:" field:

+szy 750 +szx 1200

Change 750 to your desired vertical resolution and change 1200 to your desired horizontal resolution. Click "OK" when you are finished.

You can also force a custom resolution through BF2Statistics Control Center.

If you would like to turn on vsync (to eliminate screen tearing), navigate to the following directory:

/Battlefield 2/mods/bf2/

If you are playing with the BF2SP64 mod:

/Battlefield 2/mods/bf2sp64/

Open the file "GameLogicInit.con" and add "renderer.vsync 1" near the top of the page below "gameLogic.supplyDropNumSecsToLive 300".


gameLogic.enableVoHelp 1
gameLogic.supplyDropHeight 50
gameLogic.supplyDropNumSecsToLive 300

renderer.vsync 1

gameLogic.AddInvalidDropVehicleObject ars_d30 0

Save the file when you are done and exit.

Please Note: Changing "GameLogicInit.con" in /Battlefield 2/mods/bf2/ will cause a file verification error when trying to join a vanilla server while running the vanilla version of Battlefield 2. Renaming "std_archive.md5" and "std_archive_mod.md5" in /Battlefield 2/mods/bf2/ will bypass file verification. Changing "GameLogicInit.con" in the folder for a mod (such as BF2SP64) and then running the mod does not cause a file verification error since the game already knows it is a modded directory (bypassing file verification is not necessary when enabling vsync for a mod).

Hardware audio renderer is considered to be higher quality than Software audio renderer. Hardware audio renderer is slightly more demanding on your system than Software audio renderer.

Battlefield 2 is designed to run on a single core of your CPU. If you are also running the dedicated server on the same system you may have crashing issues. To fix the crashing issues, you need to force Battlefield 2 (BF2.exe) to run on one core of your CPU and the dedicated server (BF2_w32ded.exe) to run on a different core of your CPU.

Create a shortcut for "BF2.exe" and right-click on the shortcut and click on "Properties".

Example code for the "Target:" field:

C:\Windows\System32\cmd.exe /c start "Process Monitor" /affinity 64 "C:\Games\Battlefield 2\BF2.exe" +szy 750 +szx 1200 +restart 1 +modPath mods/bf2sp64

"/affinity 64" forces "BF2.exe" to run on the core configuration 0100 in decimal format (converted to 64 in hexadecimal format). 0100 is the core configuration for CORE2 in affinity settings.

Click "OK" when you are finished editing the "Target:" field.

Create a shortcut for "BF2.exe" and right-click on the shortcut and click on "Properties".

Example code for the "Target:" field:

C:\Windows\System32\cmd.exe /c start "Process Monitor" /affinity 1 "C:\Games\Battlefield 2\bf2_w32ded.exe" +modPath mods/bf2sp64

"/affinity 1" forces "BF2.exe" to run on the core configuration 0001 in decimal format (converted to 1 in hexadecimal format). 0001 is the core configuration for CORE0 in affinity settings.

Click "OK" when you are finished editing the "Target:" field.

Hexadecimal conversions for different core configurations:

1 (decimal) - 1 (hexadecimal) - CORE0 (affinity)
10 (decimal) - A (hexadecimal) - CORE1 (affinity)
100 (decimal) - 64 (hexadecimal) - CORE2 (affinity)
1000 (decimal) - 3E8 (hexadecimal) - CORE3 (affinity)

Zeroes in front of "1" do not change the hexadecimal conversion (01 = 001 = 0001). Therefore, the hexadeciaml conversion for the first core of a Dual-Core processor is the same value as the first core of a Triple-Core or Quad-Core processor. The same is true for comparing subsequent cores (10 = 010 = 0010, etc.).

Since these changes will only be applied if you launch the server and client from the shortcuts you created, you can no longer launch the server or client from BF2Statistics Control Center.

DOWNLOAD Battlefield 2 (1.92 GB):

DOWNLOAD Battlefield 2 v1.41 Patch (536 MB):

DOWNLOAD Battlefield 2 v1.41 No-DVD/Fixed EXE by DNS (6.6 MB):[ENGLISH]%20No-DVD/Fixed%20EXE

v1.41 is recommended because v1.5 breaks the A.I. commander's ability to call in artillery strikes.

DOWNLOAD BF2Statistics Control Center v1.10.0 (20.3 MB):

BF2Statistics Control Center allows stat tracking and rank progression in Battlefield 2 by emulating the original GameSpy servers. v1.10.0 is recommended since it has compatibility with older operating systems such as Windows XP and also works well with newer operating systems.

DOWNLOAD BF2Statistics.BF2SP64.v1.7z (116 MB):

VIRUSTOTAL BF2Statistics.BF2SP64.v1.7z:

This is a modified version of the BF2SP64 mod designed to be compatible with BF2Statistics Control Center. BF2SP64 expands Battlefield 2 allowing people to play with bots on all 16, 32, and 64 player sized maps.

Here is a link to the original BF2SP64 v2.5 for which the modified version is based on (keep in mind the original BF2SP64 v2.5 is not compatible with BF2Statistics Control Center):