Author Topic: Brutal-OXCE 8.3.4  (Read 20194 times)

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 605
    • View Profile
Brutal-OXCE 8.3.4
« on: December 17, 2023, 01:08:15 pm »
I think my AI-mod is now complete enough for me to consider it releaseable.

The current version can always be found here: https://github.com/Xilmi/OpenXcom/releases

This mod is forked from OXCE and provides a few new options both for modders as well as for players themselves.
All the while being compatible with every mod that is also compatible with OXCE.

Installation-guide:
https://www.youtube.com/watch?v=fV4VGWHe5zg

As the name suggests, the new options are primarily centered around AI and in particular about making the AI more difficult to beat.

There's one non-optional-change to how manufacturing works:

An item in the workshop-queue will only use workshop-space when either at least one engineer is assigned to it or production has already been started. This allows you to queue a lot of items to produce one after the other without granting any advantage to parallel production.

Here's a list of all the new options and what they do:

Geoscape:

"Aggressive retaliation" => This option existed before but was slightly modified. In addition to it's previous functionality of allowing all UFOs to potentially discover a base, it changes the behaviour of UFOs on a retaliation mission in a way that instead of searching the base near pre-programmed areas in a big area around the actual position of the base. This fixes an issue that allowed for better or worse to almost completely avoid base-defense-missions when putting bases in certain locations that weren't anywhere near the search-areas of the corresponding region. The radius of the area being searched is approximately 2670 km.

"Enhanced dogfight behaviour" => When enabled, as soon as you start shooting the UFO, you can only use max-distance or retreat when your craft is actually faster than the UFO. Otherwise the UFO will try to keep you within it weapon-range. The main impact this has, is that you can no longer kill every UFO as soon as you unlock the plasma-craft-gun or other weapons that outrange-the UFO with standard interceptors. You either need to bring several to deal enough damage until it gets in range of their own weapons or need faster craft.

"Hidden alien activity notification" => Shows sectors with 5+ hours of continuous undetected UFO activity.

Battlescape:

"Realistic accuracy and cover system" => Feature developed by Joy Narical and merged into Brutal-OXCE. Find the full documentation here: https://github.com/narical/openxcom-accuracy

"One-click grenade priming" => When enabled has the following effect: "You can no longer select the amount of turns after which grenades shall explode. The timer will just be set to 0 without having to pick a value."

AI:

"Brutal-AI" => This is the name-giving core-feature of this Mod. It includes an almost complete rework of how the AI determines what to do. All enemies can see and attack what anyone on their team sees. Not only that, they can even change the order in which they operate, so that for example a spotter will wait for other aliens to act first before it decides to continue looking for enemies or to hide again. It will generally try to maximize damage-output when attacking and is very capable with using grenades. A lot of bugs in the basic AI are fixed with enabled brutal-AI. (For example arcing-shot-prediction-bug) Those bugs were deliberately not fixed in the base-AI to keep it behaving exactly as it is. An exception are bugs in the "pick up items"-code, as that's also optional for base-AI.

"Brutal AI for neutral forces" => If a map features a third faction, you can let them be controlled by Brutal-AI too. If it's civilians all that'll do is make them hide a little better. If it's Space-Marines they now may actually prove worthy allies.

"Allow AI to use explosives on turn one" => Ignores all turn-delays for items that may be set in mods. By default only blaster-launcher and grenades are concerned. But it would also overrule other turn-limits.

"Bug hunt mode for Brutal AI" => Since the basic-AI also is cheating, Brutal-AI does so as well by default. This option allows to disable AI-cheating and makes a massive difference in perceived difficulty. When enabled the AI knows where all of your units are all of the time. But it only uses this knowledge for movement-purposes. It will not shoot at your units without first revealing them. It will, however, take this information into account when deciding where to move. Disabling this means the AI has no clue where your units are and will start randomly scouting the map until it sees one. When it sees one temporarily that then moves out of vision, unlike the base-AI it will not know where it went, only where it was. It will then either check or fire at this position and then consider the unit it saw there gone. It will also update that knowledge once it sees the unit somewhere else.

"Allow Brutal-AI to pre-prime grenades" => Isolated AI-units that have nothing to attack will prime their grenades to then be able to use it later for a much lower TU-cost compared to only priming it when it has a target for it.

"Brutal AI avoids proximity-grenades" => If enabled units controlled by Brutal AI will recognize when there is a proximity-grenade on their path and avoid stepping on it. Not working for units with maximum aggressiveness.

"Spread out" => Units controlled by AI will deliberately avoid standing too close to each other in order to reduce the impact of explosives.

"Performance optimisation for huge maps" => Normally the AI will pathfind for the entire map and also remember line-of-fire and vision for all it's units in the entire map's range. Now this will be toned down when the amount of tiles on the map times the amount of enemies exceeds that of a 60x60x4 with 30 enemies. With this option massive maps like 120x120x10 with 115 enemies become kinda playable again.

"Targeting behaviour for Brutal AI" => There's 4 different behaviours which kinda act as a difficulty-level the default is 3.
1 => As for the base-AI, the AI-units can only attack what they can see themselves.
2 => AI units can also attack whatever any of their friends see.
3 => AI units will remember locations of player-units they've become aware of and use blaster-launcher-weapons against them.
4 => The AI goes into hard-core-maphack-mode and can now attack everything it has a line-of-fire to without the need for vision. It is completely ridiculous and I don't really recommend using this.

"Aggressiveness-mode" => This replaces the old "Inherit aggression"-toggle and has a total of three options for now:
0> Baseline Aggressivness.
1> Multiplied with unit-aggression.
2> Multiplied with unit-aggression and take Leeroy-flag into account.

"Intelligence-mode"
0> Static intelligence.
1> Inherit intelligence from unit-intelligence
2> Inherit intelligence from difficulty-level.

"Automated combat" => Hands the control of even your own units to the AI. Warning: That's a bit experimental and might not produce the results you desire. Can be toggled on and off during your turn in Battlescape by pressing ctrl+a.

"Sneaky AI" => This was not changed in how it works. It prefers going longer paths over paths that are visible to the enemy. It was just move to this new category because it fits here.

Extended:

"Fog of war" => When enabled any tile that was previously visible to the player but currently isn't will now be drawn in the selected fog of war color.

"Select fog of war colour" => Values from 1 to 15, each representing a different shade colour. Hint: 1 and 6 look good.

"Smart ctrl-click and auto-equip" => Ctrl-clicking items in the loadout-phase will prefer slots that are faster to reach. The off-hand will be deprioritized if the main-hand holds a two-handed item. Auto-equip uses the same logic.

Features for Modders:

All the features for brutal-AI can also be enabled separately while the player themselves has disabled them. This way modders can customize the experience as they with for their players.

The files to edit for that is "units.rul"
You can add the following:
"isBrutal" (true/false)
"isCheatOnMovement" (true/false) (equivalent to omniscience for brutal-AI)
"aiTargetMode" (equivalent to Targeting behaviour for Brutal AI)

Note: If "Inherit unit-aggression" is enabled, the Aggression-stat of the unit will be used. However, if the aggression-stat is 3 and above, it will map to Aggressiveness 3. The maximum aggression via inheritance can only be achieved with the LeeroyFlag. This is because in some mods a lot of units use aggression-values of up to 8, which otherwise would all map to a pretty bad and non-competitive behaviour.

If both the mod and the player use brutal-AI-options but they differ, the higher one will be used. For example: You set "Brutal AI" enabled with "Omniscience" and target-Mode 2 and the Mod has it enabled but no omniscience but target mode 3, the unit will use target-mode 3 and omniscience.

If asked to describe how using this mod with default-settings (ignore-grenade-timer/brutal/omni/preprime/3) increases difficulty, I'd say when we quantify difficulty with the kill:death-ratio for soldiers, I'd say it's about 5 times more difficult. Especially early-on with basic gear and especially when the enemies have access to explosives.

If you want to combine this with other mods that increase difficulty, I recommend to tone it down and maybe use the non-cheating-variant and fire-mode 2. Unless, of course, you are ready to suffer or really, really good at this game.

Major Milestones:

2.0.0: Movement-logic completely rewritten to be much more efficient and comprehensible.
3.0.0: Inclusion of auto-play, allowing the possibility for player-controlled-units to be controlled by the AI.
4.0.0: Consideration of all possible attack-options of all equipped weapons. Including walking closer to increase accuracy or use melee-weapons.
5.0.0: Prediction of enemy-movement and taking it into account for decision-making.
6.0.0: Using a heat-map to quantify danger and being aware of potential support from allies when deciding how brave to be.
7.0.0: The AI is now capable of weighing self-preservation against attacking making it less likely for them to end their turn exposed when decent cover is nearby.
8.0.0: 64 bit executable, the AI can now determine to use a dedicated spotter.
« Last Edit: April 10, 2024, 08:36:08 pm by Xilmi »

Offline Abyss

  • Colonel
  • ****
  • Posts: 327
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #1 on: December 17, 2023, 07:30:17 pm »
Congratulations!
This is a step which was required to keep things clear.
One place is for AI, other for UI, etc.
Please consider making the following sections:
- FAQ
- changelog
- suggestions
- bugreports
- realistic accuracy
- user interface and options menu
- misc
- donates (optional, I don't know if you have Patreon/etc or you don't need any)
« Last Edit: December 17, 2023, 07:40:16 pm by Abyss »

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #2 on: December 17, 2023, 08:14:53 pm »
Excellent job! I am playing it now and am very pleased. AI keeps fighting until last soldier trying to kill as many of mine. No casualties missions are now rare.

One question about your mod philosophy. Meridian accept only strictly "vanilla compatible" changes. Do you inherit this or you allow yourself to wander in somewhat different directions? Just asking this to make sure whether I should propose some non vanilla compatible changes or make my own fork. Thank you.

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #3 on: December 17, 2023, 11:08:48 pm »
I pulled and built your main branch. It compiles fine for Win32. I guess the code is OK, this is just your environment. I suggest you delete the project and then just open the SLN fine and configure it for Win32 and it should work again.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 605
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #4 on: December 18, 2023, 03:13:48 pm »
I created this post right when the sub-forum was created. At this point in time I didn't know the admin was going to move the old-thread and all the other threads in here as well.

I personally see little reason to add sub-forums to this sub-forum of a sub-forum.

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #5 on: December 18, 2023, 07:28:37 pm »
Played it a little more.
Added many distance penalties for shooting (including aimed) and nonLOS penalty. That including all throwable explosives. So they should be much less precise at higher distances too. Made it somewhat more bearable to the level that very very careful combat can lead to success. Still AI is so effective that any sloppy decision ruins the mission.

From the player perspective it is very interesting to try to predict AI, catch it on counter attack, block it with proximity grenades, etc. However, it requires so much mental efforts that passing mission after mission just exhausts me. I save and quit and then return to the same combat after a day or so refreshed. Yet, it may take few iterations to go through a mission. I cannot imagine how frustrating this will be on ironman.

This is NOT to criticize the BAI. It is really great. The problem is in vanilla preset that made aliens deadlier to compensate their stupidity. Now I am thinking out loud how this can be balanced back with AI getting smarter.

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #6 on: December 18, 2023, 07:33:05 pm »
Actually, it vividly reminds me "Aliens" when they expected it to be a bug hunt but got 3/4 of their platoon wiped out in first attack. They were also terrified to realize how intelligent their enemies are.
🤣

Offline Abyss

  • Colonel
  • ****
  • Posts: 327
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #7 on: December 19, 2023, 12:09:29 am »
Now I am thinking out loud how this can be balanced back with AI getting smarter.
You have 3 options:
- just like in any megamod introduced out there. By increasing the challenge curve according to player's progress;
- by starting equal;
- by developing completely new gameplay design

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #8 on: December 19, 2023, 01:01:03 am »
You have 3 options:
- just like in any megamod introduced out there. By increasing the challenge curve according to player's progress;
- by starting equal;
- by developing completely new gameplay design

Leaning toward starting equal now but dialing down alien stats, etc.

By challenge curve you mean scaling to player level? I would try to avoid it. Vanilla already doing pretty well on this increasing challenge with script events. Appearing deadlier species, tougher encounters, etc. Player just need to catch up with it. The ability to catch up is one of the strategical challenges those I like.

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #9 on: December 19, 2023, 01:10:54 am »
Actually, quite curious if anyone is playing BAI in vanilla ruleset for FUN?
😃

Or is it just a base for other people to build their mods on top as I do?

Offline Alpha Centauri Bear

  • Colonel
  • ****
  • Posts: 466
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #10 on: December 19, 2023, 04:24:59 am »
Do AI sees where my soldiers are shooting or throwing from? Even if they do it from the middle of the smoke cloud? If so, that would explain why they keep throwing grenades at my soldiers into the middle of the smoke cloud without some notable spotting.

Offline Kozinsky

  • Captain
  • ***
  • Posts: 93
  • Sorry for my bEd English
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #11 on: December 19, 2023, 11:07:41 am »
Congrats with the release!
And I suggest to change the picture of the executable file icon so that it will not be confused with the original OXCE. Something like this. I'm not sure if one ico file is enough to do this, or if all the other 11 files found when unzipping the exe file need to be processed as well.

Offline Yankes

  • Commander
  • *****
  • Posts: 3210
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #12 on: December 19, 2023, 12:04:40 pm »
Congrats with the release!
And I suggest to change the picture of the executable file icon so that it will not be confused with the original OXCE. Something like this. I'm not sure if one ico file is enough to do this, or if all the other 11 files found when unzipping the exe file need to be processed as well.
"not confused" and when I see attachments, its show red OXCE logo :>
You probably do not update all icons embedded in file.
« Last Edit: December 19, 2023, 02:48:35 pm by Yankes »

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 605
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #13 on: December 19, 2023, 02:35:12 pm »
Do AI sees where my soldiers are shooting or throwing from? Even if they do it from the middle of the smoke cloud? If so, that would explain why they keep throwing grenades at my soldiers into the middle of the smoke cloud without some notable spotting.
Yes, they track where they were attacked from. This is tied to the "Targeting behavior for Brutal AI"-option. If you don't want them to do it, put it down to "2".

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 605
    • View Profile
Re: Brutal-OXCE 7.12.2
« Reply #14 on: December 19, 2023, 02:44:45 pm »
Actually, quite curious if anyone is playing BAI in vanilla ruleset for FUN?
😃
Well, I do. :o