Author Topic: [SOURCEMOD] Brutal-OXCE 7.12.1  (Read 70083 times)

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-AI 3.5.2
« Reply #60 on: February 15, 2023, 11:30:44 am »
I've done another extended session with Trauson yesterday, where he played TFTD against Brutal AI 3.5.2 and I watched.

I must say that I was really pleased with the outcome. The way the AI previously was exploitable to his approach had ceased working and he struggled similarly to myself with about everything he tried.

He also had a save-game of the final mission in level 1 that he previously finished. There wasn't much left in level 1 but level 2 killed all of his Aquanauts. So his assumption that the game will get a lot easier once he manages to survive the beginning might not hold true.

He seems thrilled about the new challenge to overcome and said he cannot go back to the base-AI after that and how boring it would be to play against by comparison.

We also explored using Brutal-AI on lower difficulties. It made it a lot more manageable and is probably a valid way to go for people to whom the challenge of Superhuman + Brutal-AI is too much.

Anyways, it was just good to see that the AI not only works well against my own approach but also that of others.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-AI 3.5.2
« Reply #61 on: February 16, 2023, 02:16:09 pm »
Another test-session with Trauson yesterday. He did indeed find a way to exploit something. Not a really hard-exploit as before but good enough to win some missions.

It was that placing out a sacrificial unit would lure enemies out in the open quite often.
And while turning off omniscience seemed to help with that, it didn't fix the underlying issue.

My analysis is that this is caused by the AI units turning on sweepmode once a unit is seen by anyone on their team. In sweepmode units will come out and try to recklyessly hunt down anything they can. So depending on where they are, they might just end up in very exposed locations.

My idea to fix that is to differentiate between sweepmode and a mode for carefully approaching. The careful mode would still expose the alien if it can get a line of fire to the target. But if it can't get a line of fire it should only move as far ahead as it can safely do using the algorithm already existing and meant for encirclement of positions. This should lead to a better compromise between attacking and while not exposing themselves too much.

Watching a bit of play against non-omniscient also revealed a big weakness, which is the tendency to camp without peaking. It's easy to explain. The peaking of the cheating-variant works well because the AI know where the enemy units are so they also know when peaking makes sense. The non-cheating variant peaks based on the assumption of where the enemy units are. But if they assume them to be in the Triton still and they've hidden very well, they think peaking never makes sense and won't do it.

A solution for that also needs to be found. There's already a calculation like: "If the assumed enemy unit would walk as far as possible into my direction, where would it end up?" So the non-omniscient peakabooing-logic could consider this position as the one it tries to establish a line of sight to and afterwards hide again.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-AI 3.6.0
« Reply #62 on: February 17, 2023, 02:45:23 am »
Brutal-AI 3.6.0:

The order in which the AI moves their units is now more situationally adaptive. When units are stuck it will prefer moving units that block the path. When units are not impaired in their movement it will prefer moving units closer to the enemy.

Will once again go into sweep-mode in any case when enemy-morale is low enough. But the morale-discrepancy needs to be bigger now in order to not rush blindly into a still capable enemy.

Whether your units are still on start-tiles no longer is takin into consideration for the behaviour of the AI.

AI is now much more willing to employ peaking-behaviour. Especially the non-cheating-variant.

Fixed an error that caused the AI to keep way more distances than was intended.

AI no longer goes into "sweep-mode" whenver they find one of your units. This should prevent them from getting a lot of their units stranded in exposed positions.

Offline Isord

  • Squaddie
  • *
  • Posts: 2
    • View Profile
Re: [SOURCEMOD] Brutal-AI 3.6.0
« Reply #63 on: February 18, 2023, 07:32:14 pm »
I was testing in quick battle and I noticed that when controlled by AI, my units never used any healing items to save themselves or any allies nearby that were injured. I also noticed that units (player or alien) when equipped with a melee weapon will just charge towards the first unit they see, regardless if they have enough TUs to reach them which usually lead to ending their turn on open field and then dying. MY BAI options were: Omniscience off, Target B:3, Charge B:1, Seeking player: yes

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-AI 3.6.0
« Reply #64 on: February 20, 2023, 11:00:57 am »
I was testing in quick battle and I noticed that when controlled by AI, my units never used any healing items to save themselves or any allies nearby that were injured. I also noticed that units (player or alien) when equipped with a melee weapon will just charge towards the first unit they see, regardless if they have enough TUs to reach them which usually lead to ending their turn on open field and then dying. MY BAI options were: Omniscience off, Target B:3, Charge B:1, Seeking player: yes
Using of healing-items is one of the things I haven't implemented yet. So that part not working is to be expected.
When it comes to charging with melee-weapons: If seeking player is set to yes, then this behavior is forced in that way. This can be overruled by switch seeking player off.
When it comes to enemy-unit behavior in that regard, have you checked whether the unit has the Leeroy-flag set in the mod it's from? This can be overruled by setting Charge B: 0.

There's still potential scenarios where it could happen. I've also changed something about the logic of how units behave when extender-accuracy is enabled. I'm currently also still trying to find an optimal way for how the aliens should behave when they can't engage in combat. It works relatively well when there's a lot of cover. But if there isn't and especially when the player uses smoke a lot, the behavior looks kinda sub-optimal. Currently they'd mostly move backwards in situations like that. But you can only do that so much until you reach the edge of the map. Blindly charging towards it is also quite exploitable. My idea was for them to break line of fire in this case but if that's not possible, there's a problem.
Having a flip between go back and charge forward depending on whether they can get far enough away, could be one idea. Actually... yeah, I'm gonna experiment with that.

Offline Isord

  • Squaddie
  • *
  • Posts: 2
    • View Profile
Re: [SOURCEMOD] Brutal-AI 3.7.0
« Reply #65 on: February 22, 2023, 12:24:24 pm »
Yeah I'm playing Xcom Files with BA and I noticed that enemies when they can't see you they either turtle up inside a room on the top floor of a building (really not fun in timed missions) or they just beeline to the nearest corner of the map instead of searching for my units. Do I need to turn omniscience back on for them not to do that?

Maybe when the aliens can't see the player units, the aliens with the leeroy-flag should always scout around without caring while all the ranged units hold their ground?
« Last Edit: February 22, 2023, 03:29:13 pm by Isord »

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-AI 3.7.2
« Reply #66 on: February 22, 2023, 09:14:56 pm »
The relevant option for that is:
"Charging behaviour for Brutal AI"
Set it to "2".

This makes them look for your units all the time instead of hiding.

Also: Incase you are on version 3.4 or 3.5 you should upgrade to the most recent one (3.7.2) because there was an oversight in them in regards to the behaviour of units with limited range, as it is for most units with UFOExtender:Accurace. They'd act as if they had unlimited range.
« Last Edit: February 22, 2023, 09:28:22 pm by Xilmi »

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 3.7.4
« Reply #67 on: March 01, 2023, 12:49:01 pm »
So far most changes I made based on Trauson streaming his play for me were supposed to counteract his exploits.
However, I now also realized that he is doing things the AI doesn't do, which would be wise for the AI to copy.

The big thing is how much he blindly tosses explosives everywhere.
Now I won't just let the AI throw grenades to random locations. However, the AI already has a blind-fire algorithm which is supposed to attack locations it was attacked from.

When I looked into it, I found quite some potential for improvement.

Currently it only tracks when it gets hit, completely ignoring shots fired at it that don't hit. Here the player has a big advantage because they will notice the shots and where they come from. Especially when the shots produce trails like they do in TFTD, it's particularly easy to memorize and blind-grenade the locations the shots came from. My idea is to populate the list of blind-shot-targets with any projectile-spawning attack, so the AI can do the same without the requirement of having been hit. This will particularly help against carpet-bombing as everyone who took part in that will get their location marked.

After implementing and testing that, I realized that there was a major-bug in the blind-grenading of the AI! It must have been broken since a long time. They simply wouldn't do it at all anymore! The reason for that was a logical contradiction: The blind-shooting code only considers blind-shooting at units that the AI doesn't know the real location of. Otherwise it would directly attack it. But the explosion-efficacy-code checked whether the units in the explosion radius were known to the AI in order to count them as hits. So logically the score for blindly lobbing a grenade was always 0 and thus didn't happen. Fixing that contradiction will greatly contribute towards the brutality of the AI! I can't really fathom how I didn't realize that this part didn't work at all!

The last thing I noticed was that the AI sometimes didn't seem to use their unit's potential. A unit of them spotted something and attacked itself despite me later learning there were 3 more aliens on the map. When I used debug-mode I noticed that sometimes some of the Aliens just did nothing after their friend spotted something. But that didn't happen all the time. The issue was one of move order and deciding that nothing needs to be done. To fix that I now will "reactivate" all units that have already passed their turn upon discovering a new enemy. So the units that had already passed their turn will see if they should do something about the newly discovered enemies. So in situations where this plays a role, the AI will put quite a bit more pressure on their foes. It's also quite relevant to auto-play, where it was a common occurrence that units in the Skyranger would skip their turn.

Still needs some testing but will likely be out today.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 3.7.9
« Reply #68 on: March 10, 2023, 12:25:36 pm »
So far I've only advertised this to people who want an even greater challenge than what Superhuman-difficulty provides.

I personally haven't even considered to not use it with that.

However, I got a pretty well known Streamer called "Marbozir" to stream Brutal-OXCE. And after some experimenting he ended up reducing the difficulty-level to "Beginner". Before that he was pretty frustrated and about to give up. But this combination was something he actually enjoyed.

So all in all it goes to show that playing with Brutal-AI doesn't have to be a super-hardcore-challenge but also can just be an interesting alternative.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 3.8.0
« Reply #69 on: March 11, 2023, 11:17:21 pm »
Updated OXCE-version to 7.8.12.

AI shall no longer preprime grenades, if they would explode in their hands.

Brutal-AI now can pick up all usable weapons instead of only a few ones defined in the respective weapon-pickup-sub-mods. This will help panicking soldiers in auto-play a lot.

AI will now use the path-finding-distance rather than the distance by air to determine what items to go for when they have run out of ammunition.
They will also go for items that they can't reach within one turn.

Fixed an issue that made the AI think it cannot attack from it's current tile when it didn't look into the right direction and thus was forced to walk to another tile and risk reaction-fire instead of just turning.

Fixed an error in auto-play that sometimes prevented units from stopping in their tracks when they spotted an enemy.

AI now takes into account how much cover a tile provides when looking for a location to hide.

Fixed a path-finding issue that allowed orthogonal movement onto tiles that should have been blocking movement.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 3.9.0
« Reply #70 on: March 17, 2023, 01:28:21 am »
Get ready for an intense and fair fight against the alien invasion with Brutal-OXCE 3.9.0! Our latest update brings major improvements to the non-cheating variant of the AI, allowing for faster and more strategic gameplay without resorting to unfair advantages. With smarter decision-making, better hiding tactics, and more aggressive stances, you'll face a challenging and rewarding battle every step of the way. Plus, enjoy bug fixes and optimizations for a smoother and more enjoyable gaming experience. Don't wait any longer, upgrade to Brutal-OXCE 3.9.0 now and experience the true challenge of defeating the alien menace!

Changelog (3.8.1 - 3.9.0):

When an AI unit determined that it should wait, it now passes what unit it wants to wait for to the overarching process. That process then jumps directly to that unit instead of cycling through all the other units. This saves a lot of time. In a test run with Alien Colony Level one, it brought down the wait-time between turns from 48 to 21 seconds.

Reenabled centering the camera on the next selected unit when waiting in debug-mode as the epilepsy-inducing jumping-around from cycling through all units no longer happens.

Whenever a unit controlled by brutal-AI opens a slide-door, it will stop to reconsider their actions after it sees what opening the door reveals.

When stuck on the outside and without any cover in range, a unit of the AI will go into a more aggressive stance.

AI shall be more willing to hide in a good hiding-spot instead of standing around and doing nothing if it can.

AI will no longer be convinced it shall be able to attack an enemy-unit who's position it has only taken a guess for.

The edge of the map is no longer counted as cover from the respective side as noone will try to attack from outside of the map anyways.

The AI's willingness to peak will now depend on whether it previously was in a good position it can return to after peaking and whether the enemy was recently spotted somewhere in an exposed position.

In combination these changes lead to more of a "lure the player into a trap"-playstyle.

Fixed an issue where units controlled by brutal-AI while using Extender-Accuracy would think their maximum weapon-range is the range they have at the current amount of TUs rather than what it would be if they had full-TUs.

Fixed an issue where non-omniscient AI would not take the possibility of reaction-fire into account when making decisions where to walk.

Fixed an issue where AI would not try to hide at all, if it couldn't hide from all enemies.

When deciding where to go for peaking the AI no longer adds score-modifiers for cover to the tiles being considered as this often could result them to not peak at all when their current location already was the one with the best cover in range.

AI now better at deciding in what direction to look.

Reverted oxceModValidationLevel-default back to be 2.

Units controlled by brutal-AI will no longer automatically end their turn if they have 5 or less time-units.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 3.9.0
« Reply #71 on: March 20, 2023, 01:54:32 am »
The AI-options-menu now provides a new option instead of the Strafers-option:
Performance optimisation for huge maps

The AI-performance-optimization for huge maps now dynamically adjusts based on map-size and opponent count. It is normalized for maps with a size of 60x60x4 and 30 opponents. For more than that the adjustments kick in and limit the pathfinding-and tile-visibility of the AI.
Note that with hundreds of enemies it will still take a long time but the time and that the path-finding-distance will never drop below what a unit could reach in a single turn. But the time the AI spends on each enemy will be roughly constant leading to a more linear increase in turn-time based on the amount of enemies rather than an exponential one.

Melee-units are now also afraid of proximity-grenades.

Brutal-AI is now treating the isLeeroyJenkins-flag in a way that is much more similar to the originally intended behaviour.
The unit will always try to get into melee-range and not use their ranged weapons offensively even if it can.

In order to get the previous behavior back, there now is a new flag for units that can be used in mods called "isAggressive". This is now what forced units to always move forwards and attack but without restricting what weapons can be used.

Consequentially the option "Charging behaviour for Brutal AI" was changed to "Force aggressive enemy-behaviour" and is a Yes or No-option rather than a range of values.

Brutal-AI units are now no longer afraid of proximity-grenades when they would explode them from the other side of a wall or door before stepping into them.

Fixed an issue causing the omniscient AI not always positioning for an attack when it could.

Removed special handling for doors in positioning-code as that should no longer be necessary and can cause unwanted issues.

Fixed an issue that could cause not turning towards the right target after moving.

Fixed an issue with non-omniscient-AI using the omniscient-algorithm to determine an encircle-tile.

When using the unlimited-waypoints for blaster-like weapons mod, Brutal-AI now will put a waypoint on every tile along the path to increase the accuarcy with attacks of these weapons.

When considering cover the AI now also takes into account what direction it wants the cover from. Not much value in standing next to a wall, when all enemies are on the same side of it.

Cover has more important in the decision-making.

Various tweaks and fixes about peaking-behaviour.

Offline Juku121

  • Commander
  • *****
  • Posts: 1569
  • We're all mad here.
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 3.9.0
« Reply #72 on: March 20, 2023, 07:57:23 am »
...instead of the Strafers-option:
Does that mean strafing and running are no longer bart of BAI? Because removing that option is a good way to cut down on your player base, especially those using melee-heavy mods.

Melee-units are now also afraid of proximity-grenades.
Are proximity grenades actually useful for anything but blocking single-tile doors now?

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 589
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 3.9.0
« Reply #73 on: March 20, 2023, 07:37:19 pm »
Does that mean strafing and running are no longer bart of BAI? Because removing that option is a good way to cut down on your player base, especially those using melee-heavy mods.
No, I was referring to the AI-option called "Strafers" which forced flying enemies to not consider heights more than one tile above the ground and was intended to improve turn-performance on bigger maps but actually failed to do so in any measurable way. It has absolutely nothing to do with the "Alternate movement methods"-option.

Are proximity grenades actually useful for anything but blocking single-tile doors now?
My main tester, Trauson, still uses them a lot for exactly that purpose. Restricting enemy-movement to gain map-control and prevent getting flanked. I'm having a bit of an arms-race with him. He shows me how he can exploit the AI, I fix the exploits and he then comes up with new tricks.
For people who are unaware of the exploits and advanced tactical approaches it might indeed look a bit hellish. I've made great progress on the non-cheating-variant too. Before it often kept standing at bad locations after peaking. They now have learned to identify good cover and will usually make a dash for it after checking whether X-Com approaches or not. Proxies can severely impact their ability to peak and thus allows you to get in a good positioin.

Offline Juku121

  • Commander
  • *****
  • Posts: 1569
  • We're all mad here.
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 3.10.0
« Reply #74 on: March 20, 2023, 07:54:04 pm »
OK, my bad then. Sorry for jumping the gun. :-[


I don't really recall maps with notable amounts of single-tile doors that can be used for that purpose. In open maps, the common and relevant ones are UFO exits/entrances. And I've been playing mods where UFOs are more the exception than the rule. Bases have lots of alternative routes and often need several mines to block even one passage. And many urban maps have small houses where it doesn't matter (windows allow them to still shoot you, or the enemies never go there) or big ones with multiple exits.

I mean, if Trauson uses them successfully, there obviously must be a way to use them well, but I have a hard time coming up with one. Are there any publicly available videos of this?