FerBotz (new AI, XCGE release 20)

Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 5)

Post by Old UT Veteran »

comoestas wrote:Unfortunately, Jailbreak depends on its own bot type JBBot, and so is incompatible with Botz. Making it compatible would require a rewrite of Jailbreak.
Aff, you are correct. There is no point on doing it now then. That's too much work. :|
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 5)

Post by Higor »

Well, BotZ was originally unable to respawn on it's own.
As a matter of face, spawning in any other gametype (that isn't OldUnreal) is still handled in a hacky (interpreter mode) way.

I guess Jail Break uses different switches to determine game in progress state.
Telling the BotZ to spawn on those new conditions shouldn't present problem, thing is, how does the game handle other events?
Is it's code only limited to Bot and TournamentPlayer as special waypoints are?, now that might be a problem.
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 5)

Post by Old UT Veteran »

I will try to explain the best way. I am a n00b at this stuff, so..The JBBot class expands Bot. That class is mainly used to tell the bots on how to behave in certain areas. Bot states and etc... JB is a gametype in which we have 2 teams. Each of the teams have a jail in which the captured or Fragged players go. So, this is kind of the reason why we need JBBot. When a team member is fragged he goes to jail, and the only way to free him is to enter the enemy base and trigger a switch; could be anything. The JBBot tells the captured bots how to act in jail. They can feight death, walk or do any kind of funky stuff. So, if the path is blocked with a mover,it prevents the bots from acting dumb in an area. CORRECT ME if I am wrong. Either way, you can be released from jail if someone triggers the switch, or die in it if all your team members are also captured.

The JBBot also prevents the bots from camping in one spot if they are the last ones to stay outside of jail. Telling them to release its teammates. CORRECT ME if I am wrong.
Higor wrote:Telling the BotZ to spawn on those new conditions shouldn't present problem, thing is, how does the game handle other events?
Is it's code only limited to Bot and TournamentPlayer as special waypoints are?, now that might be a problem.
Jailbreak is not like any other gametype. Its not like Kill and score frag. About the code, I am not really sure if its limited. There are some special waypoints that are crucial for the map to work correctly. If you want me too I could send you the JB.u/uc files via email. The mod itself comes with its own sounds, so... Not sure if that wont cause an error if those are missing.

I will try adding botz to JB maps and see if something happens. :| n00b attempt....

EDIT

Ok, so the same outcome. Botz don't even appear on JB maps.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 5)

Post by Higor »

A gametype plugin + some BotZ core modifications could do something about it.

Will look into stuff on friday, will be 50 miles away from my computer for the week.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 5)

Post by Higor »

These are some of the new lines in FerBotz.ini, (file extension to be changed according to game language setting).

Code: Select all

Object=(Name=Thunder_Crash,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="FACTION")
Object=(Name=Botpack.TMale2,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="CLASS")
Object=(Name=Botpack.TFemale2,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="CLASS")
Object=(Name=SoldierSkins.blkt,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="SKIN")
Object=(Name=SGirlSkins.fbth,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="SKIN")
Object=(Name=BotPack.VoiceMaleTwo,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="VOICE")
Object=(Name=BotPack.VoiceFemaleTwo,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="VOICE")
Object=(Name=65,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="BASESKILL")
Object=(Name=55,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="BASEACCURACY")
Object=(Name=Malcom,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="class=1,skin=1,face=Malcom,voice=1,skill=95,accuracy=80")
Object=(Name=Azure,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="class=2,skin=2,face=Azure,voice=2,skill=85,accuracy=65")
Object=(Name=Othello,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="class=1,skin=1,face=Othello,voice=1,accuracy=70")
Object=(Name=Riker,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Riker,skill=100,camp=30")
Object=(Name=Aryss,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="class=2,skin=2,face=Aryss,voice=2,skill=75")
Object=(Name=Annaka,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Annaka,weapon=Botpack.Ripper,skill=70,accuracy=60")
Object=(Name=Tamika,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Olga,skill=70")
Object=(Name=Ryanna,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Ryanna")
Object=(Name=Jayce,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Olga")
Object=(Name=Arys,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Aryss,weapon=Botpack.Ripper,skill=75,accuracy=65")
Object=(Name=Dovienya,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Ryanna,weapon=Botpack.UT_Eightball,skill=80,accuracy=70")
Object=(Name=Ghenghis,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="class=1,skin=1,face=Othello,voice=1,weapon=Botpack.UT_Eightball")
Object=(Name=Deslok,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Malcom,weapon=Botpack.PulseGun")
Object=(Name=Skirge,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Malcom")

Object=(Name=The_Corrupt,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="FACTION")
Object=(Name=Botpack.TMale2,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="CLASS")
Object=(Name=Botpack.TFemale2,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="CLASS")
Object=(Name=Botpack.TBoss,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="CLASS")
Object=(Name=SoldierSkins.hkil,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="SKIN")
Object=(Name=SGirlSkins.fwar,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="SKIN")
Object=(Name=BossSkins.Boss,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="SKIN")
Object=(Name=BotPack.VoiceMaleTwo,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="VOICE")
Object=(Name=BotPack.VoiceFemaleTwo,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="VOICE")
Object=(Name=BotPack.VoiceBoss,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="VOICE")
Object=(Name=68,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="BASESKILL")
Object=(Name=Xan,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="class=3,skin=3,face=Xan,voice=3,skill=95,accuracy=80")
Object=(Name=Matrix,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="class=1,skin=1,face=Matrix,voice=1,skill=85,accuracy=65,weapon=Botpack.Minigun2")
Object=(Name=Vector,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Vector,accuracy=65")
Object=(Name=Tensor,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Tensor,accuracy=65")
Object=(Name=Cathode,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="class=2,skin=2,face=Cathode,voice=2,skill=75,accuracy=80,weapon=Botpack.ShockRifle")
Object=(Name=Silicon,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Lilith")
Object=(Name=Divisor,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Fury")
Object=(Name=Enigma,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Fury")
Object=(Name=Function,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Lilith")
Object=(Name=Fury,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Fury")
Object=(Name=Lilith,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Lilith")
What do you think it is?
PS: It already works...

EDIT:
Testing 5v5v5v5 (15 botz, 5 bots) on Deck16][ team deathmatch, 26-45 ms per frame spent on actor processing (0.5 - 3 spent on rendering) on my 2.00 ghz E2180.
That's a quite high CPU consumption there, I might do some more optimizing later, starting with traces, BotZ does a lot of them nearly every frame.

Some of the previously applied optimizations consisted on controlling CPU expensive operations by not executing them in every Tick, some do every 2 ticks, others every 8 or so.

EDIT 2:
Posting some screenshots...
I was literally destroyed on the Blood Reavers deathmatch :(
Shot0001.JPG
Shot0002.JPG
EDIT 3:
CPU expensive function usage is called dynamically in a distributed way among all BotZ, they will cease to call some functions if FPS fall below a certain value (depends if server or standalone).
Good thing is, actor processing time went from 20-40 ms (15 botz) to 8-12 ms (31 BotZ) without losing geometry detection and advanced routines.
Next update will be a must for less powerfull machines or dedicated servers.

On servers, BotZ won't hog CPU if FPS below 20.
On listen servers or standalone games, FPS will be kept above 60.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 6)

Post by Higor »

UPDATED FIRST POST

- Changes on version 6:

Faction system (read Factions.txt)
Spamming fire improved
Some code optimization and bugfixes (more usage of native functions).
Load reduction based on framerate, allows weaker machines to run more BotZ
Improved lift handling
Jailbreak hack fix to enable BotZ spawning (please test and submit).
Corrected aim error at crouching enemies.
Corrected aim error that gave unfair advantage to late joiners (either players or BotZ).


Taking the week off, if there's anything I'll be making soon is weapon profiles.
These should reduce CPU cycles and provide better support for custom weapons.

If you want to make .int definitions more powerful for any of your own projects, feel free to use the code on Botz_FactionInfo as base.

I only added Thunder_Crash, The_Corrupt, Iron_Guard, Blood_Reavers and Dark_Phalanx so far.
And BTW, you'll find most of those names familiar, beware of those you once faced on DM-Peak...
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 6)

Post by Old UT Veteran »

Ok, testing.....

EDIT:
Respond to Higor's Jailbreak Hack fix.
Botz are able to succesfully spawn and no more funky scoreboard bug. Botz seem to be well oriented with the gametype; how to play and that stuff......STILL TESTING though. So far I was able to find two bugs, which happen to occur with the Jailbreak counter and botz going to jail. When a botz is killed they don't spawn in jail, and this is causing some problems. The counter does not function correctly because it works in a way that it counts the players in the jail area. So, if botz can't spawn in the jail then...
I don't think that those bugs may have anything to do with the botz script. It may be one of those special actors that only work on bots and player pawn's.

This may take up some time. When you are back from your break we can discuss on further action. :tu:

EDIT 2:
The JBBot AI given with the Jail Break gametype does not support botz. I comited suicide so that I was able to spawn in jail. Spawned a few botz and told them to free me. Unfortunately, they just ended up gathering inventory around the map. This is a difficult concept, it may be hard or impossible to implant that to Botz without modifying their script.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 6)

Post by Higor »

Putting a halt to releases for now, fixed enough bugs to make it decent for now.

There will be some various major specific 'projects' inside BotZ itself i'll be working on, most likely in this order:

- Weapon profiles:
These will decide how should a BotZ use it, with at least 25 modifiers/parameters to define behaviour firing modes based on BotZ skill settings.
These exist as Object pointers and are loaded into a shared array, everytime BotZ brings a weapon up, the specific weapon profile pointer should be given to BotZ for fast access and parameter reading.
These should be either setup as: PRESET (hardcoded for default weapons), INT 3rd PARTY (profile subclass, loaded by INT reference), INT FULL DEFINITION (loads generic class, sets all paramerers by INT definitions, just like the faction manager).
Preset behaviour states, preset sets of conditions, to be coded onto weapon profiles and BotZ and combined in a generic way that will define the BotZ's course of action during this specific weapon's usage.
As corolary of this, BotZ will be able to actively charge, strafe, pop and hide, time shots, bounce projectiles, spam, stop moving while firing (camp specific rifles), flee, flee and ambush at closer range, combo fire, shot-specific decicions, etc.
Profiles will have auto detection methods for basic parameters (projectile speeds, rapid fire info, etc) as optional features.
For modded weapons, generic superclass profile can be loaded and parameters can be autodetected to update things like damage, speed and other stuff.
Switch to allow weapon itself to control the BotZ's actions like UT Bots do (SuggestAttackStyle(), RateWeapon(), etc) instead of the profile.

- An actual aiming system.
Already have the projectile angle calculator, and a already built turning system.
Weapon profile should dictate the aiming method for the weapon/fire mode to be used.
This would take extra skill variables, should be automatically calculated based on Skill-Accuracy and weapon preference if not set.
These are:
Acquisition Ability (what instagib players master)
Tracking Ability (what minigun, pulse gun, and high ping players excel to survive)


- Extra abilites also calculated based on Skill-Accuracy and weapon preference if not set:
Tactic Superiority (cleverness at handling enemies, good for defenders and 1 on 1) (may turn a BotZ into lame tactics if enemy is too powerful)
Aggresiveness (self-explanatory)


Things that can be put in different release/s:

- Dodging during navigation

- Impact jumping

- Bouncing

- Lift handling:
Start moving out of a lift before this one arrives to destination by calculating the exact time it will take the BotZ to leave the platform and for the lift to arrive.
Don't sit at the center of the lift, useful for multiple BotZ on it.
Jump at a lift instead of walking in, good to allow teammates to arrive if coming right behind.

- Gametype related plugins.
Already have a candidate: JailBreak.
(Meditated siege with ChanClan, this is clearly to be treated as a major, separate proyect)


Things that can be done (imaginative stuff, not as likely):

- Generating 3D-2D matrixes on play zones.
Using these to decide good hiding locations or evasive jumps without using traces. (2D)
Using these to move out of unpathed areas. (3D)
Would be made during the first seconds/minutes of play time, in a tree fashion:
A master matrix for spaces of 2048^3 units.
Submatrixes of 256^3 units.
Submatrixes of 32^3 units.

- Team fighting strategies.
I use these ALL THE TIME to eliminate players that perform better than me either by skill or ping (i play with over 230ms on servers), on any game.
Takes the Tactical superiority ability into account and the main goal of these will consist on diverting, switching targets, surrounding.
Can be coded to interact with other players and UT Bots too.
BotZ with higher tactical ability can use others as bait for one-shot kills.


Any other ideas?
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 6)

Post by Old UT Veteran »

Higor wrote:I use these ALL THE TIME to eliminate players that perform better than me either by skill or ping (i play with over 230ms on servers), on any game.
Takes the Tactical superiority ability into account and the main goal of these will consist on diverting, switching targets, surrounding.
Can be coded to interact with other players and UT Bots too.
BotZ with higher tactical ability can use others as bait for one-shot kills.
Nice :tu:

BTW, are you planning on adding a Botz tab near to the Bots tab?
:highfive:
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 6)

Post by Higor »

UWindow is my weak point, if I can't make a BotZ tab, I'll have it configured as a ModMenu.

I still like the UT3 Mapmixer approach over anything else.
I'll most likely end up making an alternate Game Launch menu (possibly under ModMenu?) with 2 or 3 tabs.
One tab for game settings + mutators + mapcycle (most likely copied from default practise session menu), another one for BotZ related settings, and a third one for loading/saving presets.

I did make a mutator that relies on partly UWindow (client support as well) and mutate commands, screenshot attached.
It consists on adding inventory on each spawn (works like a weapon replacer, but for certain players), ammo and health reward per kill.
Very cool for playing 5 attackers vs 20 defenders assault maps, if you want the mutator, I can separate it from the master package (that contains lots of unreleased stuff), localize it in english and post it here.
Shot0007.jpg
EDIT: This is how i design my windows, for the Gunloc mutator, the original design attached as well.
GUNLOC.png
GUNLOC.png (10.43 KiB) Viewed 7827 times
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 6)

Post by Old UT Veteran »

Higor wrote:Any other ideas?
Yeah got some:
Thought that you may be interested in them.

Combat AI:
-Botz ability to shot down a flyin redeemer missile, if a possible threat to a bot.
-Threat modifier; botz ability to judge based on enemy inventory to tell the bot to either attack or look for better inventory. So that botz don't go attacking a warlord with a enforcer. Search for shield, and planing future attacks. Avoid or attack an enemy, also good for picking weaker players based on hp and inventory.
-Botz ability to predict the area of impact. Ex. If an enemy bot is following me, and I am loaded with rocket launchers. I could get an easy frag because the bot would't see it comin. So, a some sort of predicting mechanism in botz is what I mean specifically. To tell the bots where the damn projectile will land. Or to be more aware if enemy has rocket or flak.
-Snipers keep distance.
-Prefire, if you know what I mean (dumb idea though)
-Move within the mover area that you are standing on. (Non moving bots on lifts make easy targets) :wink:
-Strafing could always be improved.... Based on botz desire calculate the distance to dodge left little or alot.
-Use of jump boots not only on lift exits. Jump to get some air and shoot that arsenal of rockets. :D

Team AI:
-A bot in critical condition should search for backup if close rather medical which can be useless against skilled players.
-Bait to lour enemy players to location or a situation that will favor your team.
-Some type of squad's or something... For example, squads of 3; sniper hanging in the back, and 2 fighters in front when charging.

That's all I got for now.
I apologize if those sound crazy. :wink:

BTW, you should ask some1 if they could help you with UWindow stuff. If you are planning on it that is....
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 6)

Post by Higor »

Old UT Veteran wrote: -Botz ability to shot down a flyin redeemer missile, if a possible threat to a bot.
I've been meaning to implement this, as well as redeemer guiding.
Will look into it after the weapon profile stuff.
Old UT Veteran wrote:-Threat modifier; botz ability to judge based on enemy inventory to tell the bot to either attack or look for better inventory. So that botz don't go attacking a warlord with a enforcer. Search for shield, and planing future attacks. Avoid or attack an enemy, also good for picking weaker players based on hp and inventory.
BotZ already runs a simple routine that checks (based on how prepared he wants to be) the amount of powerful weapons and health + armor.
Attacking states on CTF and on Assault (low preparation so that BotZ will attack if no weapon found) use these the most, so you'll rarely notice someone charging towards enemy base with an enforcer.
The combat AI doesn't take it into account since the combat AI is nearly non-existant, intend to implement it after the weapon profiles system is made.
On the other hand the BotZ already chooses to fire at less armed opponents at closer ranges preferably, so if you go into combat in a 20 player deathmatch in Deck without a decent weapon, expect being shot from all over.
Old UT Veteran wrote:-Botz ability to predict the area of impact. Ex. If an enemy bot is following me, and I am loaded with rocket launchers. I could get an easy frag because the bot would't see it comin. So, a some sort of predicting mechanism in botz is what I mean specifically. To tell the bots where the damn projectile will land. Or to be more aware if enemy has rocket or flak.
There is a routine that prevents the BotZ from getting hit by projectiles, but area of effect checks are still primitive, sometimes it works, sometimes it doesn't.
Doing periodic area of effect checks might hog extra resources, gonna have a look into it sometime.
Old UT Veteran wrote:-Snipers keep distance.
The weapon profile will tell BotZ to keep distance or charge.
Old UT Veteran wrote:-Prefire, if you know what I mean (dumb idea though)
You mean spamming at hallways an enemy might appear?
In order to increase the BotZ's perception, when freelancing they'll always look around at important inventory others might try to grab instead of looking forward, but yous is a good idea as well.
Maybe that can be done by looking for a random visible path every second, see if it's connected to a path the BotZ doesn't see.
If it does, that means that is a possible enemy-appearing place, a pro of this is that teleporters are paths and the other end is always out of sight so they become eligible for firing at.
Old UT Veteran wrote:-Move within the mover area that you are standing on. (Non moving bots on lifts make easy targets) :wink:
BotZ moving into air spots is handled directly on static vectors (x,y,z), a lift is always moving so that makes it a difficult task because those static vectors aren't updated as actors attached to the lift (LiftCenter and BotZ standing on it).
I have a couple of methods of dealing with that in mind...
Old UT Veteran wrote:-Strafing could always be improved.... Based on botz desire calculate the distance to dodge left little or alot.
It can, the combat system to be made after the weapon profiles + the current projectile dodging system would make an excellent combination.
I might as well add into the strafing code to avoid the enemy's crosshair if skill is over 95% (like those assholes using h****s hook do).
Old UT Veteran wrote:-Use of jump boots not only on lift exits. Jump to get some air and shoot that arsenal of rockets. :D
Seen it on UT3, and they use it horribly IMHO.
Of course, I'd prefer to tell the BotZ to wait til the enemy fires before starting to jump.
Old UT Veteran wrote:-A bot in critical condition should search for backup if close rather medical which can be useless against skilled players.
This is a feature that has been partly implemented in TeamGamePlus via the game type plugin, and I'm a believer of self-sacrifice when it comes to diverting attention in Assault, or protecting the flag carrier.
On CTF-Face online when a teammate FC is being chased by a very skilled enemy I can't kill, I start blocking his aim and way with a charged piston in order to delay him, I also use that tactic while on defense and no heavy weapon, you've got no idea how effective it is at keeping enemies outside of your base (fear factor, mindgames).
Old UT Veteran wrote:-Bait to lour enemy players to location or a situation that will favor your team.
Advantage points, good in paper but kinda difficult to put in practice.
They are best placed at control points in domination, and that's why AmbushPoints are placed near them, in DM those could be applied to a powerup you don't intend to grab so you simply wait til somebody else shows up.
Throwing a BioRifle (for example) and camping it out of sight in player-populated games could be implemented...
Old UT Veteran wrote: -Some type of squad's or something... For example, squads of 3; sniper hanging in the back, and 2 fighters in front when charging.
The CTF tasking isn't really finished, that was an intended feature.
On any other gametype, I'd rely on the still not coded team fighting system.


It's always good to see realistic ideas.
Now if there's a thing that bugs me is the slowness of UnrealScript, I really don't want the game to be slower, or the BotZ to become less aware in crowded games...
I hope everything turns out right, because moving functions to native code might break compatibility and make client-server interaction far uglier.
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 6)

Post by Old UT Veteran »

Kinda forgot about this question....
You are making either a Uwindow tab or a Mod tab? Correct?
Will you give players the ability to select the difficulty of the botz? You know like Novice ranging to Inhuman and so on..
OR they will just be set up at a certain level?
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 6)

Post by Higor »

Difficulty scaling is something I'll do after implementing all the other stuff.
And once done, create the UWindow stuff, which would clearly mark the end of the project betas.
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 6)

Post by Old UT Veteran »

@Higor

Do you have a scheduled date of release for FerBotz v7. :???:
Post Reply