Announcement

Collapse
No announcement yet.

I've always felt there was something missing from the ai between UT99 and UT2k4

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    I've always felt there was something missing from the ai between UT99 and UT2k4

    Now I realize that alot of you are multiplay online guys/girls. Thats Cool. This is aimed at those who like to play with bots no matter what the reason. So please, if you've got something against playing with bots please keep any unconstructive comments to yourself.

    I really want to make the bots behave more like they did in UT99. Specifically, I'd like to restore the hide and seek style that was possible with UT99.

    What I know is there seemed to be alot more variation in the personality of the bots in UT99, like whether they would hunt you down or stay back and pick you off at a distance. UT2k4 seems to be all about "hunt you down". I can see why this would produce a quicker more furious gameplay, but it gets old. Me personally, I prefer a balance.

    So, I started looking for what was changed.

    First off, I noticed that there is no CampingRate in UT2k4 like there was for the bots in UT99 that controlled how much a particular bot camped. So, it's not possible to have "Sniper Wolf" like bots. It doesn't look like it could be restored either without rewriting much of the ai controller code.
    Call me crazy but I miss camping bots, they added a certain amount of suspense to the game.

    I then ran across something that looked interesting. There seems to be a minor oversight in the class RosterEntry. In UT99 you used to be able to select the CombatStyle of the bots.
    IE...

    CombatStyleNames(0)="Normal"
    CombatStyleNames(1)="Aggressive"
    CombatStyleNames(2)="Berserk"
    CombatStyleNames(3)="Cautious"
    CombatStyleNames(4)="Avoidant"


    The original CombatStyle code is still in UT2k4, even if the CombatStyleNames aren't. As this is loaded from the .upl along with other settings.

    The line that defines CombatStyle in class Bot:
    var(Combat) float CombatStyle; // -1 to 1 = low means tends to stay off and snipe, high means tends to charge and melee.

    Even though the range for Combat style is -1 to 1, class RosterEntry seems to limit the value to between 0 and 1
    with the code below:

    B.CombatStyle = FClamp(CombatStyle, 0, 1);

    ( according to UnrealWiki )
    float FClamp (float V, float A, float B)
    If V is smaller than A, A is returned. If V is larger than B, B is returned. In any other case V is returned.

    Therefore to get the full range shouldn't it be:

    B.CombatStyle = FClamp(CombatStyle, -1, 1);

    And finally the big question, could someone show me how to atleast code a mutator to fix CombatStyle?

    Thanks for reading and any constructive comments

    EntityX

    #2
    Suggest you give this up. I have been trying for months do what you want. But because of the new AI implemented in UT2004, it's not really possible to have the old UT type AI back, unless you re-write the UT AI directly into the bots controller and not use the RosterEntry setup. UT2004 bots will only really snipe if the have the right weapon and you are a certain distance away, but then they will also shoot at you not matter how far away you are, so the sniping from UT to UT2004 is screwed.

    Good luck! :up:

    Comment


      #3
      Havent you guys played Jailbreak?! i have seen those in it, BUT idk if it actuall affects the bots.

      Comment


        #4
        CombatStyleNames(4)="Avoidant"

        I figured the camping code was FUBAR, but what about making a mutator for fixing the combat style behavior?

        "The original CombatStyle code is still in UT2k4, even if the CombatStyleNames aren't. As this is loaded from the .upl along with other settings."

        The game seems to only use Normal, Aggressive, Berserk.

        .................................................0 .0...............0.5..........1.0

        I would like to make it use Cautious and Avoidant
        ................................................-0.5..............-1.0

        Is there a way to make it do this for all bots configured through bot roster or not?

        IF so, how do I make a mutator to do this?

        Comment


          #5
          Isn't that what you said the first time?

          Comment

          Working...
          X