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

Offline zee_ra

  • Colonel
  • ****
  • Posts: 200
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.7.4
« Reply #390 on: November 18, 2023, 06:14:07 pm »
Do you mean in regards to performance or for gameplay?

If the AI calculations are slow that is on me. I've done quite a bunch of things to optimize it but things like the analysis of where there is good cover or what are good locations to attack from will slow it down noticably. The option "Perfomance optmisation" reduces the amount of tiles analyzed for seeking cover. It especially has an impact on flying units, who would otherwise also consider all possible locations they could move to. Units like the bats for examle with very high TUs sometimes analyze like 6000 positions on the map otherwise.

When it comes to rendering-performance I know that stuff like light-propagation is an issue, especially with increased viewing-ranges (40 instead of 20 tiles). OXCE (and thus also Brutal-OXCE) should be quite a bit better at that than regular OXC, since the OXCE-guys put a lot of effort into optimization in this regard. But there's still potential. Modern games do these things with using all of the hardware, especially the GPU, which I believe OpenXCom makes no use of. I personally lack the expertise in that regard and imagine it would be a gargantuan task, even if I had the expertise. So I can't really improve it.


I see.  I play with longer ranges.

Are there any principal obstacles to increasing the graphics resolution in game?  Also, what is the underlying model in the tactical game?  Is it just a region of space split into relatively coarse-sized voxel cubes?

Also, it seems that the types of analysis related to motion could be performed in parallel, and the problem looks on the surface as an embarrasingly parallel.  I observe that only one (or two?) core is being used by the game so far.

Offline zee_ra

  • Colonel
  • ****
  • Posts: 200
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.7.4
« Reply #391 on: November 18, 2023, 06:17:37 pm »
Do you mean in regards to performance or for gameplay?

If the AI calculations are slow that is on me. I've done quite a bunch of things to optimize it but things like the analysis of where there is good cover or what are good locations to attack from will slow it down noticably. The option "Perfomance optmisation" reduces the amount of tiles analyzed for seeking cover. It especially has an impact on flying units, who would otherwise also consider all possible locations they could move to. Units like the bats for examle with very high TUs sometimes analyze like 6000 positions on the map otherwise.

When it comes to rendering-performance I know that stuff like light-propagation is an issue, especially with increased viewing-ranges (40 instead of 20 tiles). OXCE (and thus also Brutal-OXCE) should be quite a bit better at that than regular OXC, since the OXCE-guys put a lot of effort into optimization in this regard. But there's still potential. Modern games do these things with using all of the hardware, especially the GPU, which I believe OpenXCom makes no use of. I personally lack the expertise in that regard and imagine it would be a gargantuan task, even if I had the expertise. So I can't really improve it.

I wonder, what causes a behavior, when an enemy approaches a trooper who is stronger in melee, then goes back a couple of steps, then approaches, etc., until it runs out of TU.  This looks like a waste of points.  And, this feels like taking advantage of a retard on disability when trying to play hard-edge ninja tactics with Kill-Bill-style melee scenes inside the rooms.

I also occasionally see enemy troops going back and forth along a line.  Is it possible to eliminate such behaviors?  What could be causing them?

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 605
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.7.4
« Reply #392 on: November 18, 2023, 08:45:36 pm »
What is the default configuration specifically?  Particularly, the settings aiTargetMode, aiAggression, autoAggression, cheatOnMovement?
aiTargetMode => 3
aiAggression => 2
autoAggression => 3
cheatOnMovement => false

Note that with 7.8.0 I just introduced a new option, which overrules the aiAgression by default.
The new option is:
Aggressivenss-mode and defaults to: 1 = Dynamic aggressiveness

I still have not seen if the retaliation stops after N attempts or not.  What is the actual behavior in that respect?  Would the attempts continue to infinity?
No. If you survive a retaliation-attempt the retaliation-mission ends and you have to trigger a new one. No infinite retaliation-attempts. It's just easier to trigger them and they are better at finding your base.

I think, it has never been possible to outrun a faster craft.  Certainly not when those are on hunt/pursuit.
Note this relates to dogfights, not what's happening on the geoscape. By "outrun" I mean an Interceptor with 2100 kph keeping an UFO with 3200 kph out of shooting-range. The UFO will now be able to close in even if you do a distant-attack and you can't just retreat either.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 605
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.7.4
« Reply #393 on: November 18, 2023, 08:59:12 pm »
Are there any principal obstacles to increasing the graphics resolution in game?  Also, what is the underlying model in the tactical game?  Is it just a region of space split into relatively coarse-sized voxel cubes?
Well, I guess the obstacle is that this is not a commercial product and everyone who worked on it did so without compensation in their free-time. So people lack the expertise and/or willingness to improve it beyond of what it currently is. It's open-source though. So if you have the expertise and are willing to rewrite the engine in a way that makes it run more quickly, uses multithreading and gpu-features, no one is stopping you.
The underlying model in the battlescape is a voxel-engine. Each map-tile consists of 16x16x32 voxels that are calculated internally for stuff like lines of sight and fire. Sprites losely represent the voxels of the shown objects. Sometimes better sometimes worse. The engine is also a replication of the original from 1993, which worked in the same way.

Offline zee_ra

  • Colonel
  • ****
  • Posts: 200
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.7.4
« Reply #394 on: November 18, 2023, 09:05:03 pm »
So if you have the expertise and are willing to rewrite the engine in a way that makes it run more quickly, uses multithreading and gpu-features, no one is stopping you.
The underlying model in the battlescape is a voxel-engine. Each map-tile consists of 16x16x32 voxels that are calculated internally for stuff like lines of sight and fire. Sprites losely represent the voxels of the shown objects. Sometimes better sometimes worse. The engine is also a replication of the original from 1993, which worked in the same way.

Thank you for sharing this.

I thought that since SDL is being used, the hardware acceleration should have come "for free".  Certainly for graphics rendering.  For motion calculations, I think the parallel engine would not be too much of a challenge.

However, for more advance features, I think it may be better to implement those as external plugins -- the separate processes that need not be a part of the game's code base.  How challenging would it be to setup an external AI engine, and game control?  That almost sounds like external debugging, in fact.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 605
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.7.4
« Reply #395 on: November 18, 2023, 09:07:42 pm »
I wonder, what causes a behavior, when an enemy approaches a trooper who is stronger in melee, then goes back a couple of steps, then approaches, etc., until it runs out of TU.  This looks like a waste of points.  And, this feels like taking advantage of a retard on disability when trying to play hard-edge ninja tactics with Kill-Bill-style melee scenes inside the rooms.

I also occasionally see enemy troops going back and forth along a line.  Is it possible to eliminate such behaviors?  What could be causing them?
Well, these behaviours are not intended and qualify as bugs. 7.7.7 supposedly fixed at least one reason for behavior like this. If it still occurs, please make a save, attach it here with your options.cfg and mention of the mod(s) that were in use and ideally give me some reproduction-steps. This way I can analyze and hopefully fix it.

The most common cause of this happening is when there is a discrepancy between the line-of-fire prediction of the AI for a tile it considers walking to and the actual line of fire when it reaches a tile. Stuff like forgetting to consider the height of an object you'll stand on, checking the targetability in the wrong way and different origin-voxels have been causes for issues like that in the past. There may be more potential causes and if so, I need to find and fix them too.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 605
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.7.4
« Reply #396 on: November 18, 2023, 09:15:30 pm »
However, for more advance features, I think it may be better to implement those as external plugins -- the separate processes that need not be a part of the game's code base.  How challenging would it be to setup an external AI engine, and game control?  That almost sounds like external debugging, in fact.
I may be the wrong person and this the wrong thread to ask questions like this.
I'm just the author of this particular mod and relied on the made nest provided by others who came before me. Sure, I have dabbled into the engine a little bit too. And at least to me it was indeed quite challenging.
I've been working with the OpenXCom-code for a little over a year now and still don't feel competent enough to answer questions like these.

Offline zee_ra

  • Colonel
  • ****
  • Posts: 200
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.8.0
« Reply #397 on: November 19, 2023, 10:50:10 pm »
@Xilmi,

I noticed that in XCF mod soldiers with very high accuracy could use BlackOps auto-sniper rifle to demolish enemy troops in Power Suit and Shock Armor outfits.  This must be the effect of powerBonus.

  • I wonder, if it may be possible to somehow specify the maximum effect that a damageBonus may have on the damage?
  • I also wonder, if it may be possible to spill over (configurably) any extra damage into the relevant damage multiplier?
  • I think option (1) without (2) is probably the best solution, since frankly there's no way a most optimal and efficient rifle bullet could more than scratch a walking tank outfitted with alien armor.
« Last Edit: November 19, 2023, 11:00:09 pm by zee_ra »

Offline zee_ra

  • Colonel
  • ****
  • Posts: 200
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.7.4
« Reply #398 on: November 19, 2023, 10:54:14 pm »
I may be the wrong person and this the wrong thread to ask questions like this.
I'm just the author of this particular mod and relied on the made nest provided by others who came before me. Sure, I have dabbled into the engine a little bit too. And at least to me it was indeed quite challenging.
I've been working with the OpenXCom-code for a little over a year now and still don't feel competent enough to answer questions like these.

The question is more about allowing the interface with external controllers.  Basically, the current code should still implement game rules, etc..  This way, the hard pieces of puzzle could be solved without affecting the current code base.

Actually, a good start may be to put the default logic into a separate component.  So, we might have pluggable vanilla AI, Brutal AI.  At some later a point, a much better solver may be devised, and it would become a third available option.

Offline Ronios

  • Sergeant
  • **
  • Posts: 25
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.8.0
« Reply #399 on: November 20, 2023, 06:53:12 am »
@Xilmi,

I noticed that in XCF mod soldiers with very high accuracy could use BlackOps auto-sniper rifle to demolish enemy troops in Power Suit and Shock Armor outfits.  This must be the effect of powerBonus.

  • I wonder, if it may be possible to somehow specify the maximum effect that a damageBonus may have on the damage?
  • I also wonder, if it may be possible to spill over (configurably) any extra damage into the relevant damage multiplier?
  • I think option (1) without (2) is probably the best solution, since frankly there's no way a most optimal and efficient rifle bullet could more than scratch a walking tank outfitted with alien armor.

The main problem is not that the bonus damage is large and solving this with some kind of limiting crutches is simply stupid.
The problem is the spread of damage itself. 0-200 is too inadequate a spread, at which it is possible to penetrate medium armor with a simple pistol.
I tried playing XCF with 0-200 and with 50-150 and I can say that in the second case the armor actually feels like armor, and not cardboard, which helps exactly until the first big damage roll. Take a pistol with 25 damage, the maximum throw will give 50 damage and when you shoot at a armor vest, which has 28 armor in the forehead and 30% absorption, we will get 35 damage, which will wound for 7 hp. I won’t even mention getting hit in the side.

Offline Xilmi

  • Moderator
  • Commander
  • ***
  • Posts: 605
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.8.0
« Reply #400 on: November 20, 2023, 04:26:04 pm »
@Xilmi,

I noticed that in XCF mod soldiers with very high accuracy could use BlackOps auto-sniper rifle to demolish enemy troops in Power Suit and Shock Armor outfits.  This must be the effect of powerBonus.

  • I wonder, if it may be possible to somehow specify the maximum effect that a damageBonus may have on the damage?
  • I also wonder, if it may be possible to spill over (configurably) any extra damage into the relevant damage multiplier?
  • I think option (1) without (2) is probably the best solution, since frankly there's no way a most optimal and efficient rifle bullet could more than scratch a walking tank outfitted with alien armor.
Isn't this something you should talk about in the XCF-forums? This really doesn't sound like something related to AI.

Offline zee_ra

  • Colonel
  • ****
  • Posts: 200
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.8.0
« Reply #401 on: November 20, 2023, 08:57:14 pm »
Isn't this something you should talk about in the XCF-forums? This really doesn't sound like something related to AI.

I mentioned the pieces that may be done by editing the mod definitions.  However, one of the approaches to solving these weapon definitions problems is to limit the weapon power through a parameter.  Basically, I'm asking if you think that a new parameter maxPower or similar could be added to that end.

Offline zee_ra

  • Colonel
  • ****
  • Posts: 200
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.8.0
« Reply #402 on: November 20, 2023, 08:59:53 pm »
The main problem is not that the bonus damage is large and solving this with some kind of limiting crutches is simply stupid.
The problem is the spread of damage itself. 0-200 is too inadequate a spread, at which it is possible to penetrate medium armor with a simple pistol.
I tried playing XCF with 0-200 and with 50-150 and I can say that in the second case the armor actually feels like armor, and not cardboard, which helps exactly until the first big damage roll. Take a pistol with 25 damage, the maximum throw will give 50 damage and when you shoot at a armor vest, which has 28 armor in the forehead and 30% absorption, we will get 35 damage, which will wound for 7 hp. I won’t even mention getting hit in the side.

Could you consider a case of a pistol with the same spread, but lower armor penetration set by increasing armoreEffectiveness?  Pistols could cause pretty powerful damage to unarmored targets in general, and are much less efficient against armored targets.  This applies especially to higher grades of armor.

My question is would you rather edit the individual parameters and tweak the armors in the mods, or solve the issue with an extra parameter?  Why?

Offline Ronios

  • Sergeant
  • **
  • Posts: 25
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.8.0
« Reply #403 on: November 21, 2023, 07:08:16 am »
Could you consider a case of a pistol with the same spread, but lower armor penetration set by increasing armoreEffectiveness?  Pistols could cause pretty powerful damage to unarmored targets in general, and are much less efficient against armored targets.  This applies especially to higher grades of armor.

My question is would you rather edit the individual parameters and tweak the armors in the mods, or solve the issue with an extra parameter?  Why?

Firstly, I’m a simple player and I want to play with comfort and interest, and not remake other people’s mods.
Early pistols do not have armor penetration, and some also increase the armorEffectiveness of the target, making them apparently useless against later armor. So here, personally, I have no objections. At the same time, rifles have this same penetration and therefore remain useful a little longer.

For myself personally, I made a reduced spread of damage, which very well solved the issue of ridiculous penetrations, while the characteristics of different armor fit almost perfectly into their niche. In my opinion, this was the simplest and most easily implemented option. In addition, this also solved the issue of zero damage from 5-10 shots in a row at completely unprotected targets.

To Xilmi:


If you don’t have any ideas about identifying monsters that need to disable brutality by default (such as werecats), as a last resort, we can manually register them all and attach them as a base mod. I will still add it for XCF. But, of course, with new monsters we will need to constantly update the list and this is not very convenient.

Offline Abyss

  • Colonel
  • ****
  • Posts: 327
    • View Profile
Re: [SOURCEMOD] Brutal-OXCE 7.8.0
« Reply #404 on: November 21, 2023, 10:13:19 am »
If you don’t have any ideas about identifying monsters that need to disable brutality by default (such as werecats), as a last resort, we can manually register them all and attach them as a base mod. I will still add it for XCF. But, of course, with new monsters we will need to constantly update the list and this is not very convenient.

I don't think there will be much more monsters, because them (monsters) are just the arc of the early-mid game storyline.
Most of them definitely should be marked as non-BAI because of low intelligence (same to most zombies, but not all, ofc).
But what would you do with reduced amounts of them on map?
Say, you play with difficulty 2 => BAI gives you fair resistance => you enter map with VAI creeps and don't see any challenge.

Literally, all the magic of these missions was to defy 50-100 creeps with 4-6 agents.
Especially, early powerup of zombie hordes (100 rushing zombies vs 8 agents in Dragonfly)
With difficulty 2 it will be cut to 15-20 opposing units.
That's why I, IMHO, believe that VAI-controlled missions should be increasing the quantity of enemies.

To Xilmi:
Quote
1.Randomly mixing up BAI- and VAI-missions most likely has the following effect: The player determines the most effective way to scout out whether they got BAI or VAI and then retreats from the BAI-missions.
2. Mixing BAI and VAI-troops in a single mission would be a lot more reasonable to achieve this kind of effect. Currently it's only possible to assign this on a unit-type to unit-type basis but not randomly.
1. Not that it would happen, really. Mods have aspect of:
- time: a lot of missions happen once in a month, skipping (retreating) from such mission will sometimes ruin your succession. XCF, in particular, has super-tight timeframe before actual alien invasion (tier 3 and 4) begins. Through 2 years you have to deal with all tier 1 and tier 2 cults.
- wealth/items/monthly score - not succeeding missions, you will lose it all. Some missions also have avoidance penalties. Losing score = cease funding = game ends. Last playthrough, I restarted campaign 3 times to understand how to deal with BAI while not ruining progress of the campaign (spoiler had to hire and train 100 agents simultaneously instead of 30 as in VAI).   
Summ, player has to be prepared well and do as many as possible.
2. unit type = unit rank?
I think of additional RUL-parsed file that can set several characteristics and probabilities to each in-game enemy, including:
- chance of BAI/VAI control;
- chance of set aggressiveness in case of BAI control (like: aggro1 - 0,5, aggro2 - 0,30, aggro3 - 0,2);
- chance of unit amount multiplication in case of VAI control ("statist" crowding for low-mid tier units), etc
With all that input, experienced players could share insights of what these parameters should be.
I can.

2.1. If mixed behavior will happen, how would BAI adapt to such changes? Will it have to be re-learnt to work with VAI semiautistic brothers?
« Last Edit: November 21, 2023, 10:53:02 am by Abyss »