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

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #60 on: December 23, 2023, 02:50:16 am »
I checked your code and it seems that you attach "last spotted" property to the unit. This does not seem right since spotting action outside of visibility does not reveal the unit itself, only action.
Meaning, you have a location where shot originated from. Which unit did it remains unknown. Moreover, game does not indicate whether multiple actions were conducted by same unit or multiple. Of course, one can infer that actions from opposite corners cannot be done by same unit but this is up to human/AI to decide. The point is game engine should provide the information, not conclusion. In this regard, action locations are self informational data not related to any unit. If unit is invisible it is not even possible to tell whether it is still at location or moved away.

This is, actually, another strong reason not to mix it with scanner indicators because it spots actual units, not action locations.
Technically all of this is correct. One thing to take into consideration is effort vs. benefit. Tracking all the action-locations independently in a new data-structure, which also would have to be added to the save-game-structure just to then also write an algorithm that tries to deduce unit-locations from this data is something that just doesn't seem worth it. I'd say the end-result of that effort would be practically indistinguishable from the current behavior. And that is not something I consider worth spending several days of coding and testing for.

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #61 on: December 23, 2023, 04:24:53 am »
Agree. More or less the same.

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #62 on: December 23, 2023, 05:45:00 am »
Played with yellow arrows a little. Much more satisfying. They blind shoot me but I do the same sometimes with better efficiency.

Game seems fair but playability is seriously skewed. Combat is very fast and very intense. They rush toward my troops and whole battle continues and ends is in transport vicinity. Blind shooting is the 90% of all damage dealt to both sides. It is spiraling retaliation on retaliation.

Offline Abyss

  • Colonel
  • ****
  • Posts: 355
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #63 on: December 23, 2023, 11:13:07 am »
Hi! What a nice weekend) Let's talk a bit, if you don't mind:

1) Is what being discussed above means that BAI knows whether you drop something on ground and marks this as enemy position?
If yes, then would it be within line of sight or everywhere on the map?

2) I read the statement about snipers. This is one of particular winning strategies for players. There is bunch of them, and I can't believe BAI can adapt to every single one.
Like, your initial intention so AI avoids proximity grenades = minus one strategy for player.
Human's brain is a thing that tries to crack and abuse any (pseudo)winning mechanic both in game and IRL.

3) How would AI understand that it's push time? It has to peek, otherwise the active battle map transforms into trap/puzzle, which is worst experience from the player's perspective. Personally, I would agree to play if they will not exceed 20-30% times overall.

4) Look at the scenario: 15 units came in craft, 2 are out, others are standing inside behind the doors (let it be Triton). What 20 enemies will do? Will BAI estimate overall enemy amount as 2? Will it push? Or AI knows that 15 units came and will run for cover from turn 1?

5) This particular question is quite important, because what else will make player feel that it plays vs sentient AI otherwise than chess-AI. The chess-AI leaves worst and most disgusting taste after each battle, steals fun.   

6) I would still leave nerfed option for near-casual players, only because it's already there.
Thus you will allow play SH (what most prefer because it is better for overall gameplay progress. More enemies = more experience to soldiers, better scores, more loot).
Quote
The change to how intelligence works is basically a shift from low intelligence causing occasional massive blunders to low intelligence causing inaccuracies
Well, that's fair. But let me represent literally everyone here on forum: All-hiding is boring! We want random strategies!

7) What do you think, can you split enemies on the single map into BAI units and vanilla units? This will make more sense in terms of overall efficiency. Vanilla units do what the do in vanilla game (doubtful effectiveness, yet still makes heat), BAI units do what they do as intended.
They share vision, may it even sometimes be sniper-spotter vision. 
This approach may work a little bit better than BAI makes blunders itself.
The amount of VAI/BAI may be random.
The VAI/BAI control may be static or random too.
Each mission makes unique experience. Some are easier, some are tougher.
Players never guesses what comes next.
Surplus here that initial enemy units layouts can be whatever from "all covered inside somewhere" to all standing around your Humvee, facing you with RPG's in their hands.

8) Have you had time/curiosity to see the Osiron Hacienda save?
It is wonderful map for AI to take multiple strategies, all winning. Both covering inside and sturming player's positions with massive attack.

9) Do you think it worth effort to teach BAI to estimate storming possibility/efficiency by measuring amount of bullets and DPS player caused within first 2-4 turns?

UPD.
I want to propose you a thing, that will draw additional attention: silenced/loud weapons mechanic. This is purely AI mechanic. Right now there's no such presented.
Loud reveals the area of possible player unit location, while silenced makes AI understand they under siege, still not knowing where exactly enemy is. Could be good thing to brainstorm the logics.
« Last Edit: December 23, 2023, 11:35:59 am by Abyss »

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #64 on: December 23, 2023, 03:17:10 pm »
Played with yellow arrows a little. Much more satisfying. They blind shoot me but I do the same sometimes with better efficiency.

Game seems fair but playability is seriously skewed. Combat is very fast and very intense. They rush toward my troops and whole battle continues and ends is in transport vicinity. Blind shooting is the 90% of all damage dealt to both sides. It is spiraling retaliation on retaliation.
What aggression-settings do you use? On a balanced aggression, like the default 2/2, they should only rush toward your troops if they think they can overwhelm you. Also it seems to be a bit contradictory. Both sides doing a lot of blind-shooting doesn't sound like rushing.

I'd actually like to see some footage where you point out what issues you have.

It seems like you'd prefer the AI not to do blind-shooting rather than having a feature helping the player do be better at doing the same. Oh wait, there seems to be another contradiction. You say it's much more satisfying but then you say playability is seriously skewed.

I can't really deduce what your preferences are.

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #65 on: December 23, 2023, 03:37:14 pm »
What aggression-settings do you use? On a balanced aggression, like the default 2/2, they should only rush toward your troops if they think they can overwhelm you.

All defaults. That is right. They think they can overwhelm me and then, boom, they not. Sure, sometimes I have to hunt one two remained but usually the battle is done by then.

Also it seems to be a bit contradictory. Both sides doing a lot of blind-shooting doesn't sound like rushing.

Do you mean rushing battle or AI rushing toward me? I don't see how it is contradictory. Some blind shoot me and other gather at my location.

I'd actually like to see some footage where you point out what issues you have.

These are no issues. Interesting play. I just recite what I see.

It seems like you'd prefer the AI not to do blind-shooting rather than having a feature helping the player do be better at doing the same. Oh wait, there seems to be another contradiction. You say it's much more satisfying but then you say playability is seriously skewed.

I can't really deduce what your preferences are.

No preferences at this point. Still testing. I didn't say I like or not like them blind shooting. That seems fair and I can adapt. Already did, actually.

Skewed in term of battle duration and progression compared to vanilla. Very intense first few moves and then game over for one or other side.
Again, I am not saying I like or dislike it. This is just how it is. Obviously, because AI tries to use opportunities fast.

No need to modify anything at this point. These are just "front line reports".
😄

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #66 on: December 23, 2023, 03:41:04 pm »
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.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #67 on: December 23, 2023, 04:12:37 pm »
1) Is what being discussed above means that BAI knows whether you drop something on ground and marks this as enemy position?
If yes, then would it be within line of sight or everywhere on the map?
It used to be the case that the AI notices that. But I'll remove that in today's patch.

2) I read the statement about snipers. This is one of particular winning strategies for players. There is bunch of them, and I can't believe BAI can adapt to every single one.
Like, your initial intention so AI avoids proximity grenades = minus one strategy for player.
Human's brain is a thing that tries to crack and abuse any (pseudo)winning mechanic both in game and IRL.
Well, my mindset as AI-programmer is to either copy or counter the strategies of the player. If you are aware of winning strategies of the player that BAI seems to be particularly unprepared for, please let me know so I can look into it.

3) How would AI understand that it's push time? It has to peek, otherwise the active battle map transforms into trap/puzzle, which is worst experience from the player's perspective. Personally, I would agree to play if they will not exceed 20-30% times overall.
The algorithm that determines the internal aggressivness considers morale, unit-stats and unit amount. This is the "flowing"-part of it and it gets multiplied with whatever base-value for aggression is set.
Stats are important. Speedislife sent me a save from a mission in XCF, where he was reasonably outnumbered. But because the individual units were comparatively weak, they still only went with an aggressiveness of like 0.37. So not very confident that they could overwhelm the player with a push and thus resorting to more of an ambush-playstyle.

4) Look at the scenario: 15 units came in craft, 2 are out, others are standing inside behind the doors (let it be Triton). What 20 enemies will do? Will BAI estimate overall enemy amount as 2? Will it push? Or AI knows that 15 units came and will run for cover from turn 1?
Right now they know how many units you brought. It would be possible to make them not know about the amount until they've actually encountered the units. Could be done by checking the "turnssincespotted"-variable and skip everyone for these evaluations where that is at the inital value.

But I would argue that they kinda see how big your craft is with which you arrive so knowing the ball-park of how many units you have kinda makes sense.

5) This particular question is quite important, because what else will make player feel that it plays vs sentient AI otherwise than chess-AI. The chess-AI leaves worst and most disgusting taste after each battle, steals fun.
Well, the AI is not sentient. And replicating signs of sentience via heuristics isn't really something I feel capable of. It's all a bunch of algorithms that calculate scores to pick between the available options. What kind of information is accessible to these algorithms has impact on the outcome. The tech to make it feel sentient is probably there. Would require someone to train a NN on some array of super-computers for a while and there we go. But I'm a hobbyist who just does what he can in his free-time.

6) I would still leave nerfed option for near-casual players, only because it's already there.
I'd like to look into accomplishing something similar to what I've done with aggressivness with the intelligence. Going back and forth between really good and really bad moves depending on a die-roll feels wrong to me. I'd rather have something gradually scaling.

All-hiding is boring! We want random strategies!
I guess we need to define what a "strategy" is supposed to be in this context. The tactical combat is usually called tactical combat because it's more about tactics and not so much about strategy. A strategy is a long term plan you are slowly working towards. Something that in the context of X-Com applies more to the geoscape. Tactics is much more in the moment. Deciding what you do at any given turn. There is no long-term-planning of my AI in tactical combat. The aggressiveness maybe is the closest to resembling some sort of strategy as it decides between trying to bring the fight to the enemy or trying to lure the enemy into an ambush.

7) What do you think, can you split enemies on the single map into BAI units and vanilla units? This will make more sense in terms of overall efficiency. Vanilla units do what the do in vanilla game (doubtful effectiveness, yet still makes heat), BAI units do what they do as intended.
They share vision, may it even sometimes be sniper-spotter vision. 
This approach may work a little bit better than BAI makes blunders itself.
The amount of VAI/BAI may be random.
The VAI/BAI control may be static or random too.
Each mission makes unique experience. Some are easier, some are tougher.
Players never guesses what comes next.
Surplus here that initial enemy units layouts can be whatever from "all covered inside somewhere" to all standing around your Humvee, facing you with RPG's in their hands.
It's probably better to fixate units on one behavior rather than randomly switching between them. This should help against just spamming end-turn until all units randomly wandered into reaction-fire.

8) Have you had time/curiosity to see the Osiron Hacienda save?
It is wonderful map for AI to take multiple strategies, all winning. Both covering inside and sturming player's positions with massive attack.
I had forgotten about it. I'll try to find it in this threat and see what the AI itself thinks is the best approach based on the aggression-scaling. I can try and see what happens when I set aggression to 1/9 and to 9. Which should represent both of your suggested strategies and see how well each one does.

9) Do you think it worth effort to teach BAI to estimate storming possibility/efficiency by measuring amount of bullets and DPS player caused within first 2-4 turns?
No. And for the same reason as I told Alpha Centauri Bear: Using complex data-gathering-algorithms and heuristics just to determine an readily available value like "enemy unit count" generally seems like a bad effort:usefulness-ratio. I did that for the enemy positions because knowing exactly where each enemy is without scouting is a massive tactical advantage.

I just add up stats of each side and compare that ratio to determine the aggession-ratio. That actually needs a bit improvement because the euqipment isn't taken into account.

I want to propose you a thing, that will draw additional attention: silenced/loud weapons mechanic. This is purely AI mechanic. Right now there's no such presented.
Loud reveals the area of possible player unit location, while silenced makes AI understand they under siege, still not knowing where exactly enemy is. Could be good thing to brainstorm the logics.
That's actually a neat idea. These silent weapons wouldn't let you see where they were fired from, only when they hit and they wouldn't tell you and the AI the location of the attacker. But it would be some work for the AI to make them avoid something they have no clue about where it is. I think a way to make it work would to put the assumed enemy-position on themselves and then run the algorithm that guesses where it could have gone out of visibility.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #68 on: December 23, 2023, 04:17:52 pm »
Difficulty settings and balance should be done by parametrizing unit strength and other things. Similar (but opposite) to vanilla dumb AI with overpowered units.
Your word in Abyss' ear! :D

That used to kinda be my opinion too but I feel I was talked into putting quite a bit of effort into creating options for no other purpose than making the AI easier to play against.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #69 on: December 23, 2023, 04:21:33 pm »
All defaults. That is right. They think they can overwhelm me and then, boom, they not. Sure, sometimes I have to hunt one two remained but usually the battle is done by then.
If this is the case, then it sounds like it's not really working as it should as of yet. I'd like to have a save from such scenario so I can investigate what could be done about it. I'd like to know what aggressiveness they internally calculate.

No need to modify anything at this point. These are just "front line reports".
😄
Okay, thanks.

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #70 on: December 23, 2023, 05:12:21 pm »
If this is the case, then it sounds like it's not really working as it should as of yet. I'd like to have a save from such scenario so I can investigate what could be done about it. I'd like to know what aggressiveness they internally calculate.

Save from which point? Beginning of the battle? Last turn?

Offline donk

  • Sergeant
  • **
  • Posts: 37
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #71 on: December 23, 2023, 05:20:53 pm »
I don't really understand what these 2 new options do. How does their values change the AI?

As I have it set now the AI has become real dumb. They like to setup traps, which is cool, but they have a tendency just to send out one by one now. Especially through doors. I think 8 or 9 just walked in here and just died to the dog.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #72 on: December 23, 2023, 05:40:56 pm »
8) Have you had time/curiosity to see the Osiron Hacienda save?
It is wonderful map for AI to take multiple strategies, all winning. Both covering inside and sturming player's positions with massive attack.
The Osirions get an initial adaptive aggressiveness of 8 up from the base which is set to 1.
So I'm expecting them to swarm out and push towards you.

In turn 1 all of them moved forwards but noone actually left the Hacienda yet.

Hmm... but they don't. It seems like they physically can't leave the house. Okay... This map is bugged. The door just won't open. They try to get out but they can't. So they are fight around the wall. So this save is not a good one to test the new adaptive aggressiveness.

I restarted the mission and teleported a soldier in debug-mode to the door to shoot a hole in it to allow them to leave. Let's see what happens now.

Okay by turn 2 4 dudes have left the hacienda. I put my soldiers in sniping position and have thrown a few lamps. I got hit a by a kind of grenade launcher after one of my guys reaction-fired. So had to heal up 3 of them. I think reaction-fire-tactic won't work as they answer that with return-fire. Can try luring them closer first by skipping my turn.

They arrive in peacemeal. I killed 5 of them. Aggression dropped to 6. The door only being one tile wide now made it so that one stopped there blocking everyone else. But they are also still trying to avoid AoE and so they come out quite slowly through that choke-point. Overall it looks pretty uncoordinated. Not like they are acting as a collective but pretty much like individuals, who think the others got their back, while many of the others are still in their rooms.

Okay, here's a few ideas to deal with that: Higher aggression should suppress the need for cuddle-avoidance. I could basically divide the cuddle-avoid-modifier by the aggression. So that the aggressive units are more willing to share spots and not always wait for the location to be vacant before moving further.

The other idea is to make the units aware how far away or close they are compared to the average of their team and use that to modify their personal aggressiveness.

For example if a unit is 10 tiles away but on average the team is 40 tiles away, then I could do something like multiplying their individual aggression with 1/4th. This should naturally lead to some sort of "waiting for the others"-behavior.

Both of these measures combined should lead to a more coordinated push.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #73 on: December 23, 2023, 05:49:56 pm »
I don't really understand what these 2 new options do. How does their values change the AI?
They belong together and work similarly to how it used to work before but with fraction-arithmetics and normalized around the value of 1.
So with 1 over 2 to or 0.5, they are more on the careful side.

As I have it set now the AI has become real dumb. They like to setup traps, which is cool, but they have a tendency just to send out one by one now. Especially through doors. I think 8 or 9 just walked in here and just died to the dog.
Over the course of how many turns? What do your other settings look like?
I think it could be a very similar issue to the one I just noticed myself in the hacienda-mission.

The AI wasn't really tested for scenarios like that where there's a lot of individually weak enemies that have to make use of their numbers to accomplish something.

Do they get in attacks on the dog? Do they strand without TUs near it? Can I have a savegame of that scenario?

Offline donk

  • Sergeant
  • **
  • Posts: 37
    • View Profile
Re: Brutal-OXCE 7.13.1
« Reply #74 on: December 23, 2023, 06:25:03 pm »
They belong together and work similarly to how it used to work before but with fraction-arithmetics and normalized around the value of 1.
So with 1 over 2 to or 0.5, they are more on the careful side.
Oh, so it is the first divided by the second, so if the first is bigger they become more aggressive?
Quote
Over the course of how many turns? What do your other settings look like?
I think it could be a very similar issue to the one I just noticed myself in the hacienda-mission.

The AI wasn't really tested for scenarios like that where there's a lot of individually weak enemies that have to make use of their numbers to accomplish something.

Do they get in attacks on the dog? Do they strand without TUs near it? Can I have a savegame of that scenario?
It was just 2. They have a tendency to spread out and just attack one by one, or if they are in a group, form a conga line and just walk into an ambush. They get like 1 or 2 attacks then they just move away 1 or 2 tiles to be killed next turn, if they survived.

Here is an example that just happened a few turns later. My unity was on the cursor facing away, and the enemies just walked up to it and start shooting or punching. They did no damage and you can see the result.

Sorry, no save since this is ironman, but here are my settings. I have lowered aggressivness mode to 1 since it said that that would match 2 from previous version.