aliens

Author Topic: Brutal-OXCE 9.1.4  (Read 58295 times)

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #90 on: December 26, 2023, 06:21:43 pm »
I definitely wouldn't go up against Lobstermen in basic gear. You need the tftd-equivalent of power-suits and some sort of melee-weapon, which they are weak against.

I agree and I am not trying to fight stronger species without proper gear. My point is that vanilla balance is not working with smart AI anymore. Alien stats need to be corrected.
What I did so far is reduced their strength to match my soldiers. Otherwise, with strength 70, they throw grenades over the map.

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #91 on: December 26, 2023, 06:31:14 pm »
Not in default-settings. You'd have to modify the "Intelligence-mode"-setting and put it to "1" or "2" in order for unit-intelligence to have an impact on the AI's behavior.

I don't want to. Playing defaults. Just making sure.
What is the intelligence range? 1-10?

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #92 on: December 26, 2023, 06:40:57 pm »
Have no single idea what to set as EA numerator and denominators.
Tried to read it carefully, but my end-of-the-year-final-reports-fucked-up brain cannot comprehend what these variables do.
Can you explain this on fingers?
Le me try...
The base-value for the aggression is calculated by dividing the numerator by the denominator. Since both have a range of 1-9 the possible results range from 1/9th to 9.

This value is then multiplied with a morale-factor, a unit-power-estimate-factor and, if enabled, also with the unit's aggression-value.

The AI internally determines the score of potential tiles to move to by using the reciprocal of the sum of a "discoverThreat" and a "walkToDist". So the lower the sum of walkToDist and discoverThreat, the better the value of a tile.

Now with the new way aggression works, the aforementioned aggressiveness-value gets multiplied with the walkToDist. Since this happens for all checked tile it means that the relative impact of the walkToDist on the score decreases for values lower than 1 and increases for values higher than one. Or from the opposite direction: Cover becomes less important in the formula with higher aggression-values and more important with lower aggression-values.

Does that mean setting Aggressiveness mode = 2 (to use Leeroys flags) in XCF is pointless, as it directly interferes the NO to brutal brutes? Or I am getting something wrong?
Yes, if Brutal Brutes is disabled, then aggressivness-mode 2 would be pretty pointless in the scenario you described.

What is aggression in vanilla OXCE? Isn't it some sort of modificator which shows how often unit will decide to attack, given an opportunity? Vanilla 0-10 gradation represents chances for when unit will decide to move somewhere instead of performing an attack?
Firstly: 0-10 isn't really "vanilla" afterall. I checked the vaniall-rule-files and it uses values from 0-2.
The value is used in several algorithms:
How many TUs to reserve while patroling.
Chance to move to a location from where the unit can attack.
Chance to perform an escape, fight or ambush-action.
When sniper/spotter is enabled it also impacts the fire-mode-choice while sniping to some minor degree.
When the unit has to option to either use melee- or ranged-attacks, it also increases the odds to perform a melee-attack.

Minotaur with flamethrower has ruleset aggression =5 , is not brute. Thus with abovementioned settings, it will be more pushy other then defensive, but still sometimes take cover, right?
Yes, this is correct. But as said before, it also scales with morale and perceived unit-power. So if their team is rather weak they might still be more skittish.

Cybermite is Leroy, but has aggressiveness = 2, thus supposed to be more careful, but still doesn't take cover. I can't comprehend it.
Well, no. Leeroy always overrules aggressiveness and basically forces the unit to be suicidal no matter what aggression otherwise says.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #93 on: December 26, 2023, 07:31:23 pm »
But I don't want to enable BAI for brutes either.
Up until this point what you described really sounded like a bug to me. But if BAI for brutes isn't enabled, then you are essentially just fighting the default AI, which I have no control over. After being used to playing brutal-AI the default-AI just starts looking incredibly stupid by comparison.

Having monsters hide behind obstacles indefinitely and then rush out and unleash 500 hits when you take one wrong step is no fun either. It's especially bad when you face monsters so tough you can't deal with them at the start of the game, that they just rush you and kill you.
I think I really wanna go back to the stance of I had when I initially started, which Alpha Centauri Bear also recently mentioned:
Generally, I think you should make AI as smart as possible and do not dumbing it for easier difficulty.
Difficulty settings and balance should be done by parametrizing unit strength and other things. Similar (but opposite) to vanilla dumb AI with overpowered units.
I feel like I already invested too much time into arbitrarily limiting the AI's capabilities in order to provide options to nerf them just the right amount to make the game feel balanced. Modders can throw all sorts of scenarios at the player and I simply can't predict or know all of them, let alone do intesive testing and tweaking of AI-options just so every possible scenario can somehow "feel right" to the player.

I honestly feel like this was taking a path in the wrong direction. Using a mod that wasn't designed with BAI in mind is pretty much "at once own risk". And I'd like to remind that difficulty-levels still do exist.

One more thing to mention is the option to tweak aggressiveness. I don't like this, just have an option for setting aggressiveness mode and then just do the tweaking under the hood from testing.
I totally agree with this. It is a really good example for an "overchoice"-kind of option, that hardly anyone will want to mess with out of fear of "making it worse". So it might aswell not exist. Deciding on whether displaying aggressive or defensive behavior is something that should be done based on the game-state and I'm still looking into better algorithms to do so. Was experimenting around with an intresteing idea before christmas and now that I'm back I'll look into that some more. This might very well end with removing the option to tweak the multiplier from the outside.

The basic idea is to use the same/a similar mechanism that determines "discoverThreat" of the own units to determine the safety of the enemy units and then decide whether trying to reveal them with a spotter is the right play.

I have a test-save with a skyranger-exit facing a house full of aliens. I think 5 or so. Smoke-grenades have been thrown. Right now once the grenades go up the Aliens just hide away. Hiding isn't the worst but there clearly is a better option. One alien could step forward and reveal a bunch of X-Com through the smoke so the others can shoot. So they can determine whether and how many of them should have a line of fire to where they had seen the enemy units before and they should also be able to determine whether one of them can walk forward for revealing-purposes.

Then they would determine a dedicated spotter, which is likely sacrificed in order to potentially get a bunch of kills on their turn righ away. For best play it should be about correctly identifying the situation at hand and not about some pre-determined but unrelated aggression-value.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #94 on: December 26, 2023, 07:41:17 pm »
Livingweapon: true is same for a number of creatures, most of which are wild creatures, like megascorpions and even zombies. I'm not sure, but isn't this flag enabled makes possibility of brutal brutes on/off switch?
It was considered. And I'm not really opposed to changing it to that. But I think I looked at examples for units with that flag and must have felt for at least a few of them that it wouldn't fit. But that's always the problem with arbitrary restrictions. Either the current way and this way are arbitrary. I think a better way was to introduce a new parameter. Something like forceNoBAI or something like that, which modders then can give to certain units in order to override the global setting in the other direction.

Probably we should ask Sol how exacly chryssalids should be represented with BAI in particular.
I'm wondering what that should eventually lead to. I mean it would surely be interesting to hear something about that. But Chrysalids aren't the only unit in the game so what's next? I certainly won't be coding a separate kind of behavior for every single unit modders can come up with and have an optionion of how those should act. Especially not of these kinds of behavior are an obvious deviation from optimal play.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #95 on: December 26, 2023, 07:49:04 pm »
Xilmi, I overviewed the units RUL file and found few inconsistencies regarding intelligence numbers.
A sub-conclusion is: intelligence in RUL file may not correlate with 0-10 scale, but rather represents some abstract behavioral model. I mean, that int =1 doesn't mean that creature is stupidier than one with int = 6, it might be just some other decision-making framework.
Have to ask someone more knowledgeable about the topic.
Also, same little trouble may be with unit aggrassiveness in the Rul file, too. 
Well, you're not the first to come to the realization, that these numbers are all over the place and thus not really a good bases to base behaviors on. That is because intelligence is not really used for decision-making in the standard-AI. It's basically just "how many turns does this unit have access to player-unit's whereabouts after spotting them?". The way base-AI works makes this almost exclusively relevant for using PSI-attacks against the player-units.
And since giving this same ability to BAI-units would be rather cruel, intelligence was completely ignored for a long time by BAI.
But that also means that modders never really had to think about what intelligence they'd give to units as it didn't really have a whole lot of impact anyways.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #96 on: December 26, 2023, 07:54:48 pm »
What is the intelligence range? 1-10?
Right now it's 0-5. At least as far as leading to a differentiation in the outcome. Everything above 5 will just have the same result as 5.
But as I indicated in some of my earlier posts, I'm not really wanting to focus a lot of my efforts into doing much with the aggression- and intelligence-stats. They aren't "real stats", so anything I do with that will be arbitrary anyways and just moves me further away from:

I think you should make AI as smart as possible

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #97 on: December 26, 2023, 08:05:51 pm »
Right now it's 0-5. At least as far as leading to a differentiation in the outcome. Everything above 5 will just have the same result as 5.

Does it mean intelligence of the unit in ruleset is capped to 0-5 too? I have an impression vanilla unit intelligence has a scale of 1-10. Therefore, it would have a bad compatibility to use their default intelligence values with BAI.

And, yes. I am not also fan of arbitrary customization of AI behavior. People think they are almighty gods of configurations but they don't actually know what they are doing. AI is too complex to reduce it to just few dials.

Offline Abyss

  • Colonel
  • ****
  • Posts: 355
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #98 on: December 26, 2023, 11:03:48 pm »
Well, I can, at least, go through unit ruleset and customize the intel and aggro levels to match average player expactations (or just mine, if everybody else doesn't care of behavioral inconsistency) of the units. Like, minotaurs should be quite stupid and aggressive, good soldiers should be balanced, and beings like stargods, sectoids and faction leaders should be quite smart.
This solution now seems the only option.
For chrysalids, well, no idea, what comes next. Probably addition of some BAI-only related flag can solve the question. And then - voting between the players and devs can show which exactly units deserve logics.
A couple more questions arose:
Zombies behave as Sol intended, what exactly have you done to them?
Werevolves are controlled by BAI, while being living weapons - why so? Do they have inventory? I don't argue for changing that, just curious. Perhaps my solution will be boosting their aggro to max, as their intended intel expected to be low.

Offline donk

  • Sergeant
  • **
  • Posts: 37
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #99 on: December 27, 2023, 12:53:29 am »
Up until this point what you described really sounded like a bug to me. But if BAI for brutes isn't enabled, then you are essentially just fighting the default AI, which I have no control over. After being used to playing brutal-AI the default-AI just starts looking incredibly stupid by comparison.
It really is stupid. Melee only units just don't move in to attack if you keep some distance. BAI should definitely control them, but they should probably value getting closer to you over taking cover. That would make it fair I think.
Quote
Modders can throw all sorts of scenarios at the player and I simply can't predict or know all of them, let alone do intesive testing and tweaking of AI-options just so every possible scenario can somehow "feel right" to the player.

I honestly feel like this was taking a path in the wrong direction. Using a mod that wasn't designed with BAI in mind is pretty much "at once own risk". And I'd like to remind that difficulty-levels still do exist.
I know, that's why I play XCF on level 3.  ;D

I don't think you should try to cover all possible things that can happen. The biggest problem with XCF is the absolut insane monster count on some missions combined with very bad spawn point designs. It makes some missions awful while the more vanilla ones are fine and fun.

So I have some ideas that might help without fiddling with the AI behavior.
  • Maybe on turn 1 the enemy does not try to actively scout or move towards the players spawn point. Many times enemies spawn right next to spawn and there's no way to move out, so I just smoke and hope for the best leading to them moving into the craft/room and start blasting. This is a huge problem when your armor is bad at the start of the game. (My best solution for this was to just make a mad run and try to hide in an other spot, especially against Chasers, but I feel that's bad play that only really works with save scumming.)
  • Maybe also make motion scanners work on turn 1? That way I can move away from the worst blob.
  • Maybe add an option to reduce enemy spawn count? You can have some system that calculates enemy strength together with their amount and reduce the spawns if it gets too high.
My idea with these suggestions is also that the modder does not have to consider if you play with BAI or not which is good i think.

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #100 on: December 27, 2023, 01:45:22 am »
It is not clear to me why people would even want part of aliens to be controlled by BAI and other part by vanilla.

Offline Juku121

  • Commander
  • *****
  • Posts: 1799
  • We're all mad here.
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #101 on: December 27, 2023, 02:14:08 pm »
Because (lorewise) some aliens are dumb meat pupperts and/or feral critters, while the others are psychic masterminds or ET stormtroopers?
« Last Edit: December 27, 2023, 05:57:00 pm by Juku121 »

Offline Abyss

  • Colonel
  • ****
  • Posts: 355
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #102 on: December 27, 2023, 04:07:11 pm »
So, the answer was, that:
Unit intel = amount of turns, when unit remembers of particular targets and is not switching to patrol if/else behavior
And, for unit aggro:
0 = mostly passive
1 = balanced
2+ = mostly aggressive ,meaningful values are between 2 and 8.

The interesting point here is that passive aggression (lol) means that units tend to set up ambushes, rather than attack. More specifically, to retain TU's for reaction fire a lot more than attacking units do. These units include: most alien, human and X-COM turrets, some alien leaders, etc.
Even more interesting, that there's just 1 tone in the 0-1 palette for passiveness, while aggressiveness has 7+ tones.
While high aggressiveness means kinship towards frontal and melee attacks. That may be a key to evaluate satisfactory melee behavior in cases, where unit cannot reach enemy within one turn.
I do feel by instinct, that BAI may use one more particular axis in decision mechanism, but not yet can formulate what exactly it is.

So, what I suppose is:
1) retain TU's for enemy leaders and moving robots, mean if they don't see, they better ambush, than move towards, using whole TU's, even if morale is high.
2) passive units tend face towards supposed player units incoming direction (I have seen several UFO's, which turrets where looking somewhere else during midbattle, if my units were covered. I may be not knowing recent changes, tho)
3) split aggressiveness-based behavioral model into two forks, where high morale doesn't force 0-1 aggressiveness units to rush, but rather ambush.
4) Consider splitting 0-1 aggressiveness into, at least, 4-5 steps, like pure 0 (for static turrets), 0.1-0.2 for leaders, 0.3-0.6 for turrets, 0.4-0.8 for little amount of specific aliens, etc. I'm kind of upset seeing alien leaders run towards death if overall morale is high.
5) to consider how this should correlate with mind attacks from psion enemies.   
« Last Edit: December 27, 2023, 04:12:12 pm by Abyss »

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #103 on: December 27, 2023, 05:36:23 pm »
Because (lorewise) some aliens are dumb meat puppers and/or feral critters, while the others are psychic masterminds or ET stormtroopers?

That is right. This is why intelligence parameter is introduced. I mean BAI could easily emulate stupid behavior with low enough intelligence.
My point: it it much easier to tweak one engine and vary intelligence rather then trying to stich two completely different ones.

Offline Juku121

  • Commander
  • *****
  • Posts: 1799
  • We're all mad here.
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #104 on: December 27, 2023, 05:58:33 pm »
Sure, but then someone also has to tweak the mod(s) to include data for both AIs. Reusing existing intelligence variables is a compromise and, like many compromises, it does its job but not well.