RSE (Retarded Smart Enemies) is an evolution of the PeZBOT modification. RSE is designed to work completely offline. No internet is required. The RSE package includes all of the client files needed to play with A.I. bots on your vanilla copy of the game. An instructional document is also included with every package and it will give you a step-by-step tutorial on how to install. You can visit this blog to view the latest news on the development of RSE and other projects.

Pages

Wednesday, November 23, 2016

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):http://www.mediafire.com/file/k1wb7n07u8cysoi/Battlefield_2_Install_Info.txt

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 "AIDefault.ai" 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:

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".

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.

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.

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.

Sunday, August 21, 2016

[POST UPDATED 9/24/16 - Updated version of TF2 and Standalone now available]

So I wanted to do something new with this blog. Up to this point it has been entirely about a certain popular FPS series but I'd like to change that. Being this community generally likes games involving bot match and A.I. skirmish modes, I thought I'd start a series of posts highlighting the best of every genre. If it is a game and it has an offline custom match mode against computer opponents (A.I.) and it happens to be an awesome game, I will try to mention it on this blog at some point. Games on my to-do list include Advance Wars 2: Black Hole Rising (2003), Company of Heroes (2006), and Sid Meier's Civilization V (2010).

But first I'd like to start with a game that is still firmly in the PvP FPS genre, Team Fortress 2.

A brilliant team-based shooter that is balanced, polished, and fun with a unique art style. Critics loved it, receiving a 92.60% from GameRankings, a 92 from Metacritic, and a 96.36% and 96 respectively as part of The Orange Box.

Talking about a Valve FPS game its hard not to draw comparisons to other games made by the same company, particularly Counter-Strike: Global Offensive. Strictly in terms of competence of the A.I., Team Fortress 2 is much better. Both games share a similar A.I. framework that was designed specifically for Left 4 Dead (2008). This includes a very impressive navigation system that results in realistic and independent movements across map environments without the use of static waypoints.

Considering bot match was officially part of CSGO when it launched in 2012, it was surprising to see how unimpressive the A.I. bots were especially in comparison to previous efforts in Counter-Strike: Source (2004). And it was even more surprising to see how good the A.I. bots were in TF2 considering it was a feature added only to the PC version years after its original release and mostly kept under the radar. And reaching a high level of competence long before CSGO came out.

Well what makes a great bot match? There are 2 very important factors I consider:

1. The A.I.'s ability to utilize all of the mechanics in the game. This is something developers often skimp on. Lets look at CSGO as an example. When you first start up a bot match it becomes immediately clear what the biggest flaws in the A.I. are. First of all bots never buy on pistol round. Why? I'm not saying they need to always buy something, but a little touch such as occasionally buying on the first round goes a long way towards immersing the player and making it feel more like a match with real players. And this is sort of related to the next point.

2. The A.I.'s ability to be unpredictable, aka the randomness factor. As an A.I. coder, I understand the importance of making A.I. unpredictable. However it is also important to balance intelligence with randomness. A.I. that is too random is not intelligent and A.I. that is too logical is also too predictable. Finding a balance between those two aspects is how you make great A.I. bots. Going back to CSGO as an example, when the first round begins all of the bots run down the middle of the map every time. Why? Sure its probably the most logical course of action to check out the center of the map on the first round but when this happens at the beginning of every match it is incredibly predictable and ultimately boring. The bots become less predictable in subsequent rounds but it is still a big problem.

The A.I. bots in TF2 manage to avoid these glaring issues. Some of this is likely due to the inherent design of the game. There are 9 classes to choose from and each one has a distinct play style. So when A.I. is designed, it must be designed for each class. That fact coupled with random class selection leads to some of the most dynamic bot matches I have ever played. I've seen 3 pyro bots on one team roaming around like lunatics. I've seen 2 spies on one team relentlessly harass an engineer bot on the other team. The shear number of gameplay possibilities is staggering. I never get bored of playing with these bots. I just never know if my next match will be up against 2 snipers and 3 demomen or 3 engineers and 2 soldiers. Both scenarios will lead to a completely different outcome.

TF2 bots only use the default loadout. Being this is most reminiscent of the game when it came out in 2007 its perfectly fine. For people who prefer "Team Fortress 2 Classic" this is the full experience. TF2 bots use all of the weapons that originally shipped with the game and the wide variety of tactics they use result in some very interesting matches.

-bots will use rifle mounted shotguns more often (frequency of bots having it is the same but chances of using it has doubled) -reduced the maximum distance allowing a bot to track an enemy that is firing their weapon -reduced the radius bots will not see enemies from a smoke grenade

bug fixes:

-fixed a bug that caused bots to try to kill players that were already dead

miscellaneous changes:

-all maps in free-for-all are now limited to spawning 11 bots (7 bots on rust) -if a map does not have waypoints you cannot spawn bots

-fixed a bug with pathfinding that caused bots to be in limbo (walking between 2 waypoints until they died or their objective changed) -fixed a bug with bots sometimes leaving a movement animation for a brief period after they died -fixed a bug that caused bots to move while using an ac130 or chopper gunner

-"Recruit" bots will pick easier killstreaks more often and "Veteran" bots will pick harder killstreaks more often
-changed some variables regarding bot talkrate (specific situational dialogue will be said more often)
-bots will use grenades and launchers 20% more often
-bots will use equipment 10% more often

bug fixes:

-fixed a bug that caused "Regular" bots to earn pro versions of some perks
-fixed a bug that caused bots that perform a melee kamikaze to not run directly toward their target
-fixed a bug that caused bots to not get close enough to a dropped bomb to pick it up
-fixed a bug in sabotage that caused the bomb to which hands if a bot completes the bomb defusal process after the bomb was already defused
-fixed a bug with bots continuing to fire their rocket/grenade launcher after their target is dead or left their sight
-fixed a bug that caused bots to use their rocket launcher against killstreaks multiple times
-bots will no longer shoot their weapon at the beginning of a round
-bots will no longer leave animations when they are kicked or when they rage quit

miscellaneous changes:

-added 20 more bot dialogue options
-bots will say "gg" more often
-bots will not talk as often at the end of a round
-bots are now assigned deathstreaks rather than distributed randomly
-bots will no longer call in an airdrop if the space above them is not clear
-bots will no longer call in killstreaks onto enemies that are under cover
-bots will no longer call in killstreaks onto enemies that are near them
-bots will use melee kamikaze more often
-bots will now scan their environment when they are camping
-higher skilled bots will now reload their weapon when there are no enemies in their sight
-added PS3 tools to the package so that anyone can create their own PS3 version
-the PS3 version now supports filling the match up to 12 players (because of improved performance)

-changed the probability of skill groups spawning for "Mixed" difficulty:
-Recruit: from 22% to 25%
-Regular: from 33% to 25%
-Hardened: from 33% to 25%
-Veteran: from 11% to 25%

-bot talkrate is now governed by a new set of variables (bots talk less often)

bug fixes:

-improved consistency of bots calling in chopper gunners and ac130s after earning them

miscellaneous changes:

-added 4 more bot dialogue options
-bots that use the marathan perk will no longer run forever
-changed the distance bots have to be to a bombsite to plant or defuse from 80 to 100
-bots that have an airdrop killstreak picked will now always have the trait for taking carepackages
-the menu option "Bots Talk" is now disabled by default on the PS3 version

RSE v29 Changelog:

rse bots v29 changes:

highlights:

-improved performance (various code clean up/optimization and added/increased time delays for certain processes)
-bots will now have death animations when they die while moving

balance changes:

-higher skilled bots will use more assault rifles and mounted grenade launchers
-lower skilled bots will use more automatic weapons
-reduced time to stop shooting to 0.1 seconds and made it universal for all bots
-bots will wait an extra 0.3 seconds after firing a stinger
-bots will wait an extra 0.25 seconds after placing equipment

-changed the amount of time for bots to take carepackages (to be in line with real players):
-from 1.5 to 1 second for bots taking their own carepackage
-from 3.5 to 4 seconds for bots stealing a carepackage

-bots will now spend more time taking out and putting away the laptop for a predator missile (from 0.5 to 1 second)
-tweaked the amount of time bots will equip launchers for
-reduced the talkrate of bots by 20%
-removed the short randomized delay (between 0 and 0.1 seconds) for bots to start shooting

bug fixes:

-fixed a bug that caused bots to switch to targets that they cannot see
-fixed a bug that caused bots to shoot their gun at the beginning of a round
-fixed a bug that caused bots to not use their mounted launcher
-fixed a bug that caused bots to rage quit at the start of a new round in Search and Destroy

miscellaneous changes:

-added 2 more bot dialogue options
-bots will no longer talk when they rage quit if the menu option "Bots Talk" is turned off
-decreased the distance that bots travel when they perform a melee attack
-bots will no longer try to perform a melee kamikaze when they are camping or waiting
-bots will not jitter as much when they stop to shoot
-revamped camping and waiting logic
-bots that camp in Search and Destroy will start moving when there is less than a minute left
-bots will now move at a normal pace when they are travelling through complex geometry
-removed the menu option "Bots Ignore Host" because it was a stupid option to have
-limited the match size for deathmatch to 8 players on Rust, 12 players on other maps (Derail and Fuel are still 18)
-the PS3 version is now limited to filling the match to 10 players (to maintain performance)

-fixed a bug with bots spending too much time trying to destroy enemy killstreaks
-fixed a bug with bots shooting their gun after trying to destroy enemy killstreaks
-fixed a bug with bots moving while waiting at objectives
-fixed a bug with bots using more than one launcher against players
-fixed a bug with bots not switching to targets that are closer to them

waypoint fixes:

-storm: fixed an issue at the start of a match in team deathmatch
-trailer park: fixed an issue that caused bots to clip a corner after spawning
-underpass: fixed an issue that caused bots to travel to the wrong waypoint to capture a flag in domination
-underpass: fixed an issue that caused bots to clip a doorway
-underpass: fixed an issue that caused bots to travel through a vehicle

miscellaneous changes:

-higher skilled bots will sprint more often and lower skilled bots will sprint less often
-bots will no longer crouch unless they need to (because it was sometimes buggy)
-bots will spend more time placing equipment
-bots will use stingers more often
-removed follow process since it did not work correctly (bots will still follow for objectives)
-removed process for shooting while walking because it caused too many clipping issues
-bots will now guard the objective they captured until a new objective needs to be captured
-removed the menu option "Bots Talkrate" and added the option "Bots Talk" allowing users to disable bots talking
-added files required for ranked private match to the main mod file
-removed "Patch_v3.iwd"
-removed the waypoint editor from the main mod file and made it a separate mod

Sunday, February 14, 2016

Hey everybody. I will be releasing a new version of RSE soon. I made a lot of small improvements and bug fixes as well as a few big changes such as improved performance and smoother aiming. I still need another week or two to finish it and do some play testing to make sure everything works as intended.