Jump to content

  • Log in with Facebook Log in with Twitter Log In with Steam Log In with Google Sign In
  • Create Account

Tutorial info Visit support topic

  • Added on: May 01 2011 09:11 AM
  • Date Updated: May 18 2011 06:26 PM
  • Views: 3198
 


Omnibot 0.81 Tweaks

A few server-side tricks for the newest version of Omni-bot.

Posted by PHANTASM on May 01 2011 09:11 AM
Omni-bot 0.81 Tweaks
May 1, 2011

Since the newest releases of Jaymod (2.1.10, 2.2.0) supports the newest release of Omni-bot (0.81), the new features of omni-bot can be taken advantage of to create a more realistic bot setting.

Most player hate bots, not because they are not real live players, but because they play in annoying ways. They run right past the enemy and often get stuck running in place. Omni-bots are used on new servers to add players, so new players have someone to shoot at. When enough new players are on a server hunting bots, better players show up to hunt the new players. Eventually a player ecosystem develops, and the bots are unnecessary.

The newest version of omni-bot has a different difficulty setting system. The old one (0.66 for Jaymod-2.1.7 compatibility) had levels 0-6, with each being slightly harder than the next one. The new system has a difficulty setting and a movement setting.

When omni-bot 0.81 is activated on a server, it creates a file called omni-bot.cfg in the omni-bot/et/user folder. This new file allows an easy place for many settings to be adjusted. I have copied it below:




[Debug]
DumpFileEnable = true
DumpFileDialog = true

[Script]
LiveUpdate = true
Debug = true
EnableRemoteDebugger = true

[Debug Render]
EnableInterProcess = true

[Downloader]
Server =
Script =
DownloadMissingNav = true

[Log]
LogInfo = true
LogWarnings = true
LogErrors = true
LogCriticalErrors = true

[ServerManager]
MinBots = 0
MaxBots = 25
BalanceTeams = 1
SaveConfigChanges = 1
CountSpectators = 0
SleepBots = 1

[Versus]
BotTeam = -1
HumanTeam = -1
BotsPerHuman = 3

[CombatMovement]
moveskill = 1

[Difficulty]
CurrentDifficulty = 2
AdjustAim = 1

[FireTeam]
enabled = 0

[XP]
Reset = 1
Max = 3000

[HeavyWeapons]
MinPlayersForMortar = -1
MinPlayersForMobileMG = -1

/endcopy

The moveskill setting can be increased to make the players act more human. 1 is good for a beginner server. At 3 they will crouch, go prone, strafe, and generally mimic highly skilled players.

The CurrentDifficulty setting controls the reaction time and features that were in the older difficulty settings. 1 or 2 is good for a beginner server. Put it on 3 or 4, with moveskill at 3, if you want a challenge.

Another feature is that you can easily set up a BotTeam to play against a human team, and you can set up a bot-to-human proportion so that more bots are added as more people join a server (if you want that).

The bot's XP can be reset at any value you want in the config. The bots will execute the command "!resetmyxp" in jaymod. This prevents them from having many tens of thousands of XP and pushing the new players down the XP list.

Omni-bot 0.81 has mortar capability now, which was not available in 0.66. I don't know what benefit this adds to gameplay, but it is more realistic.

-----------------------------------------------------------------------------------------

Another feature is that the nav folder is much larger, with 899 waypoint files (43MB), giving you far more omnibot-ready maps to choose from. That way you don't have to hunt online for custom waypoints. Custom waypoints are often incomplete and the bots get stuck more often. This new official set is very nice.

-------------------------------------------------------------------------------------------

There is a new add-on script that, when added to the et_autoexec.gm file, prevents the omnibots from standing around camping (and being easy targets). If you've seen the way bots stand around on Battery or Goldrush you will appreciate this feature. The MinCampTime and MaxCampTime can be adjusted to make them run around, instead of standing in one place looking like a bot. The camptime values in the script below have been lowered a bit from what was on the Omni-bot forum, but you can set them to whatever you want. Thanks to the guys at Omni-bot forum for releasing this.

Open omni-bot/et/scripts/et_autoexec.gm and add in the code below:


global PostMapLoad = function()
{
// more code here, don't change
// ...

// override camp time settings so the game is more dynamic
SetMapGoalProperties( "ATTACK_.*", {MinCampTime=1, MaxCampTime=5} );
SetMapGoalProperties( "DEFEND_.*", {MinCampTime=1, MaxCampTime=5} );
SetMapGoalProperties( "SNIPE_.*", {MinCampTime=1, MaxCampTime=5} );
SetMapGoalProperties( "MOUNTMG42_.*", {MinCampTime=1, MaxCampTime=5} );
SetMapGoalProperties( "MOBILEMG42_.*", {MinCampTime=1, MaxCampTime=5} );
};

print("ET Script Executed");

-------------------------------------------------------------------------------------------

If you want to keep field ops omni-bots from throwing airstrikes and arty spamming, there is now an easy way to fix that. Go to omni-bot/et/scripts/mapgoals and look for these files:

mapgoal_airstrike.gm
mapgoal_artillery.gm
mapgoal_artillery_d.gm
mapgoal_artillery_s.gm

Within each of these files there is a priority setting, called "this.DefaultPriority = 0.8;". Set this number to 0.0 instead, and the bots will not engage in that behavior. Now you have fops running around throwing out ammo and being useful instead of chucking airstrikes (this gives more airstrikes for the human fops lol).


You can use this tip to turn off any other unwanted behaviors in the mapgoals list.

------------------------------------------------------------------------------------------

Another great tweak to improve the realism of the bots is to slow down the turn speed of the bots. The regular speed is 720 degrees per second. This means they can do a 180 degree turn in one fourth of a second and headshot you. When combined with a 2 second reaction time, this results in a bot that does not notice the human player for two seconds, then instantly snaps at them and kills them. Not fun.

Lowering the Turnspeed from 720 down to 360 or 480 creates a much more realistic-looking player.

Go into omni-bot/et/scripts and open def_bot.gm. Look for this setting:

this.MaxTurnSpeed = 720.0;

and change it to 360, or 480 for more realistic-looking playing.

This tweak can be done on 0.66 too, but in the difficulty.gm file instead.

-------------------------------------------------------------------------------------------