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

Offline Yankes

  • Global Moderator
  • Commander
  • *****
  • Posts: 3350
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.4.0
« Reply #195 on: June 27, 2023, 12:25:20 pm »
Keep in mind, that I'm not a modder in the traditional sense but someone who codes AI. The AI is meant to work with a multitude of mods. So me changing the properties of items is not really a feasable solution for such problems.

And about the zombies: I think that units with the "isLeeroyJenkins"-flag set should probably ignore proxies and mines alltogether. Let me check if that's already the case because I already use that flag in my AI for units to behave in a dumb way. Nope, but I just changed it. In the next version units with that flag set should no longer avoid proxies/mines.

And also the solution to make it possible to flag the items for whether they should be ignored, like it is possible for units, seems like something I could attempt.
My point is different, is not your job to balance mods and items, if mod have cheesy weapon then it will easy kill even AI that do 101% optimal decisions.
You should not work around broken weapons, your work is more tho make AI behave reasonable in that case.

isLeeroyJenkins is probably not only stat that affect this behavior, simply Ethereal should NEVER step on any proxy or mine but some random group of thug should happy get cheesed by couple of strategically placed proxies.

Offline Abyss

  • Colonel
  • ****
  • Posts: 355
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.4.0
« Reply #196 on: June 27, 2023, 01:09:08 pm »
'You can pick a a whole bunch of options to make it that way! See, I'm going to cite someone who's having fun trying to figure out how the AI works when given every opportunity to mess you up.'
That was written about exaggeration of the negative gameplay experience, not direct citing.

I'm not working on the AI because of any request.
That wasn't request to you. It was request from community to some entity, raised many times way before you approached with BAI. 

Xilmi, again, no one here attacks you for making the AI fork.
Instead, me in particular, thinking of how it would be perfect to play with it enabled in current payload of mods. In more particular, I don't have the stats, but somehow do believe that 96-98% of OpenXCOM users download it because of mods.

And AFAIC read the previous forks of discussion, there was the giant fuckup during the presentation of your work in terms of cooperation.

I remember someone reasoned for a step-by-step modification, so modders can actually adjust their projects, but, instead, you wrote something like "Ok. I'm done. My AI destroys human players with KDA 1 alien to 4 humans. Let's move to the next project". And everyone, who actually understands the whole gameplay plot thought "WTF, there's something wrong. This should be different game, not tamagochi-alike XCOM"

See, when you put real-time efforts to raise stats of your soldiers, you don't want them be dead out of reason. One veteran is 10 times more efficient than newbie soldier. In mods, you buy newbies and feed them from your titty for like 24-30 realtime hours, at least.
Whereas generated enemies most often exceed your soldiers over any imaginable stat and weapon.
This particular point makes it impossible to win the game vs super-competitive AI.

But. Base AI is also kind of ridiculous in decision-making. Oh. It actually doesn't decide, it just routes and engages, if gets engaged. 

The thing, that may work in current mods is special attributes:
Few scales that makes characters, that can be attached to units by modders
1: aggressiveness (0-5)
2: cover-prefer (0-5)
3: some imitating randomization, like unit can make damage, but he wouldn't, instead he would flee or regroup or hold the position, or just suppress with little estimated chance of hit, or keeps patrolling, not getting orders.   
4: psy-prefer (0-5)
5: controllable chances of firing with no direct sight
6: controllable chances of grenading and rocketing with no direct sight
X: some other amount of control over enemy behavior, could worth poll.

If modders will have all these things available, that will be new era of gameplay experience.
If you will think of your fork as a platform for modders, not as product on it's own.

EDIT
Actually it would be cool to set the diapason of attributes to the soldier unit generation:
Like, Thugs have aggressiveness of 3-5, cover-prefer 1-3 and chance of firing with no LoS 15-45%, and randomization 30% (instead of best option).
Then, it may feel a new experience every time you fight thugs.
And, there're two thug bosses, who have aggressiveness 1-3, cover prefer 3-4 and randomization 5%. Like, more psychologically stable guys.
And, there a bunch of dogs, who have aggressiveness 3-4, cover prefer 0-1, and randomization 15%.
And so on, and so on.
If you let modders play with these things, you will find real advances. 
« Last Edit: June 27, 2023, 01:22:44 pm by Abyss »

Offline eagles980

  • Squaddie
  • *
  • Posts: 9
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.4.0
« Reply #197 on: June 28, 2023, 09:40:19 am »
Greatly appreciate the update Xilmi. I'm sure everyone will be satisfied now...probably. lol

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.4.0
« Reply #198 on: June 28, 2023, 12:16:41 pm »
Greatly appreciate the update Xilmi. I'm sure everyone will be satisfied now...probably. lol
I think there are some psychological phenomena at work that make it all a bit more complicated.

I touched on this in this thread: https://openxcom.org/forum/index.php/topic,11161.15.html
a while ago.

My conclusion is: The more options there are in total, the less willing people become to deviate from the default. They want their understanding of what it should be like to be the default for everyone. I think this comes from a desire of comparability. People want to share their experiences with other. But if they think they are the only one who uses a specific configuration, there's no one who they can share their experience with.

This would be exacerbated if there are no defaults and you have to pick from a ton of options as part of the startup-process. This can be so paralyzing that people rather don't pick anything.

Thing is that I'm myself affected by this too. A great example is the game "Old World". I don't really like the defaults and there's tons of options to customize the experience. But I would have to have a ton of experience in order to know how the options impact the game and to know what I would like better as a player. I have tried to get back into the game on several occasions. I've sat before the game-play-options-screen and felt overwhelmed. And once I had chosen something I was second-guessing whether it's the right idea.

I'm much more fine with a lot of options in games that I've played a lot already and where I have a good idea of how the option will impact the gameplay.

So developers and people that are very familiar with a game usually are a bit blind to the effects of overchoice in the context of their game.

I think that being aware of it means there should be at least some caution when adding new options and also some understanding when people want something not just as a new option but as the default.

Offline Solarius Scorch

  • Global Moderator
  • Commander
  • *****
  • Posts: 11722
  • WE MUST DISSENT
    • View Profile
    • Nocturmal Productions modding studio website
Re: [SOURCEMOD] Brutal-OXCE 6.4.1
« Reply #199 on: June 28, 2023, 12:43:44 pm »
I don't have much to add, just wanted to say that I find this reasoning quite compelling.

In fact, it applies to the very idea of modding. For OXC, not so much, since the scene is dominated by large mods (packs and conversions). But in games like, say, Rimworld, every player who uses mods plays a somewhat different game, and the sheer amount of mods makes it virtually impossible to find a peer who plays the same brand of Rimworld.
« Last Edit: June 28, 2023, 05:45:16 pm by Solarius Scorch »

Offline psavola

  • Commander
  • *****
  • Posts: 827
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.4.1
« Reply #200 on: June 28, 2023, 01:34:50 pm »
I agree but in the sense that it would in principle be a good idea to allow the modder some tools to influence how he wants the AI to work when playing his mod. Of course this is at the moment and in the foreseeable future probably a moot point, as no mods depend on Brutal-AI and B-AI is is not expected to be mainstream. I guess an interesting data point would be when some mod would require or be specifically balanced (in addition to OXCE) also for B-AI. But I doubt any modder would want to balance the game for both, because doing so would affect so many choices (except possibly by stating "choose a different difficulty level for B-AI").

As such given that B-AI practically requires special player action (installing a custom engine, not just a mod or playing vanilla) it doesn't hurt to allow the player to have at least some of those options that in an ideal world would be provided to the modder. There are likely not too many other people to run B-AI with that particular mod in any case. But if B-AI were to start merging and approach the mainstream, at the latest then a lot of extra options should likely be removed.

Offline Abyss

  • Colonel
  • ****
  • Posts: 355
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.4.1
« Reply #201 on: June 28, 2023, 03:37:51 pm »
IMHO, Unleast there is new powerful mod designed specially for BAI, all amount of AI-related config checks should be up to current modders for perfect storyline immersion. Because only modder knows desired enemies behavior, e.g. these are cowards, and these are real warriors.
So player is always given a chance to retreat, but not to lose overall, just in case it becomes too complicated. 
And player should have to choose overall difficulty, which raises or decreases funds, number of enemies and gives special difficulty-driven events, plots and storyline sequences, which are written separately by a modder. Just about a couple of checkboxes more: whether player wants enemy to know about primed proxy grenades and whether player wants more randomization of behaviors, or not.

Offline panzer

  • Sergeant
  • **
  • Posts: 28
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.4.1
« Reply #202 on: June 28, 2023, 05:44:42 pm »
Hello Xilmi  :) Small feedback on aggression "3":
1) The performance in handling moves on my laptop has increased significantly, especially with a large number of enemies.
2) Now when enemies move close to my cover, they no longer try to approach closely to attack on the next turn, but instead reserve TUs for a counter shot (although this is worse, I have lost many agents due to counter fire).
3) In X-Com Files, battles with melee units have become faster.The enemies often liked to hide behind rocks, prolonging the battle and usually still perishing ingloriously.
4) Since the AI has started to ignore cover more often, aliens are more frequently left without TUs in the field as a result. (You tried to fix it in version 6.3.4. But in aggression "3" it results in a much higher number of enemy casualties compared to "2").
Overall, on the 3rd aggression fights go faster, playing has become easier, but still fun 8)

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.4.1
« Reply #203 on: June 29, 2023, 10:51:37 am »
Overall, on the 3rd aggression fights go faster, playing has become easier, but still fun 8)
This is very much according to expectation.
Last night I thought about an alternative way to speeding up the process without standing out in the cover too much and I remembered what Hellrazor was so adamant about:
The predefined path-nodes in the map.
High-TU-air-units sometimes have 6000 possible moves each turn. And on Aggression-levels 1 and 2 every single one of them will do an "expensive" analaysis for the visibility of each of those for the possible locations the enemy is assumed to be able to reach.
I was thinking of a way of whether I could reduce the amount of possibilities being considered and thus save on the line-of-sight-calculations between tiles.
The most straightforward idea was to simply go back to using the path-nodes for that. Basically ignoring all tiles that are not a path-node during the search for a suitable hiding-spot.
Now I don't know how high the density of the path-nodes is. I think it would be an improvement for the faster option. I can then even test Hellrazor's hypothesis in benchmarks.

Another idea would be to filter out all tiles that have no adjacent cover. I still have the algorithms for that.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.4.1
« Reply #204 on: June 29, 2023, 11:41:31 am »
I agree but in the sense that it would in principle be a good idea to allow the modder some tools to influence how he wants the AI to work when playing his mod.
Thing is that it already does.
BAI can be activated on a per-unit-type-level. Same for the targeting-mode, aggressiveness (indirectly via the inherit-option), and whether it is allowed to use bug-hunt-mode.

That's why I'm a bit displeased when requests for more modding-options come up.

Unless someone actually makes use of what is already there and then can clearly showcase that the existing options are inadequate, it feels a bit pointless to add more.

Also the requirement of the users to first install this particular client is not really an exclusion criteria. XPZ comes bundled with a particular version of OXCE and you have to conduct manual steps to play it with another client. If someone were to make a mod that depends on B-OXCE, they could do the same thing and bundle it with this client.

The vast majority of feedback I get is from players, not modders. Hence I'm much more likely to do things that players want to satisfy their wishes directly. Adding stuff for a hypothetical and currently non-existent modder to use does not seem like a good investment of my time.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.4.1
« Reply #205 on: June 29, 2023, 09:18:44 pm »
Overall, on the 3rd aggression fights go faster, playing has become easier, but still fun 8)
In hindsight it wasn't that great of an idea tieing the performance improvement to an aggression-level.
I now have changed it so that it takes tiles that have cover according to the old cover-detection-algorithm and tiles that are part of the pathing-nodes and only analyzes these but with the same algorithm as it uses in balanced and low-aggression. The result is that it behaves very closely to balanced now and certainly isn't really much more aggressive. But it's still tied to the aggression-option. So it doesn't really fit there anymore.

Offline Juku121

  • Commander
  • *****
  • Posts: 1798
  • We're all mad here.
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.6.4
« Reply #206 on: July 05, 2023, 11:50:53 am »
Hmm, Brutal AI has more than AI now.

Still fucks up my shader use, though. Probably some sort of collaboration with my graphics drivers, or something.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.6.4
« Reply #207 on: July 05, 2023, 12:40:21 pm »
Hmm, Brutal AI has more than AI now.
Do you think it should be renamed to reflect that it has more than AI now? There's btw. also a change that items in the production-queue don't waste-workshop-space unless you actually start working on them.

Still fucks up my shader use, though. Probably some sort of collaboration with my graphics drivers, or something.
In a way that works in regular OXCE? Since there aren't any code-changes related to that, I can only imagine it being caused by me compiling in a different way or me using outdated external libraries (dll's).

Offline Juku121

  • Commander
  • *****
  • Posts: 1798
  • We're all mad here.
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.6.4
« Reply #208 on: July 05, 2023, 01:29:55 pm »
I don't have any strong opinions one way or the other regarding mod/fork nomenclature. Maybe call it Brutal AI Extended? :P


I'm pretty much resigned on the shader issue. Yes, it kinda works with OXCE (although last I tried changing shader settings in-game, OXCE also hanged up on me; editing the config directly works; OXCE developers didn't seem to be particularly well-versed on that aspect of the code, either). And BAI messes it up for all installations of OXCE until system restart, and then I have a grace period where BAI also cooperates. Might have something to do with my habit of letting my machine run for weeks at a time.
« Last Edit: July 05, 2023, 01:32:02 pm by Juku121 »

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 642
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 6.6.4
« Reply #209 on: July 05, 2023, 05:28:19 pm »
And BAI messes it up for all installations of OXCE until system restart, and then I have a grace period where BAI also cooperates.
This sounds super-weird.  :o