673f4d48531ba

673f4d485436d
3 Guests are here.
 

Topic: SS2 Scary Monsters AI Enhancement Read 26670 times  

673f4d48552b8RoSoDude

673f4d4855335
°motion°DML

System Shock 2 - Scary Monsters AI Enhancement v1.03
by RoSoDude https://rosodudemods.wordpress.com/

This is a standalone AI enhancement mod, intended to redress some of the cheese tactics that allow the player to declaw enemies and make them less scary than they should be. The core identities of each enemy type are unchanged, but responses are tweaked to allow them to better challenge the player. Melee enemies will no longer wait for the player to come to a stop before attempting to attack, the Pipe Hybrid's laughably slow vertical swings are brought in line with their lightning fast horizontal swings, the lackadaisical Grenade Hybrids will now actually attempt to hit the player, Midwives back away from the player more quickly and ward them off with swift melee swipes, Shotgun Hybrids and Monkeys are harder to lock down with melee stagger, Cyborg Assassins will slip away and begin attacking from range more reliably, Spiders now use their leap as a lunging attack, and Rumblers use a greater variety of attacks with fixed hitboxes.

There is a separate module that equips the Cyborg Assassin with a Laser Rapier to use in melee range. Load this module above Scary Monsters; not compatible with Rebirth.

Compatible with vanilla or SCP Beta 4, but overwrites the motiondb.bin file and conflicts with any other mod that replaces it. I've included the edited motions (\motions\*.mi) and motion schemas (\mschema\*.moc) for other modders to use; however only the compiled motiondb.bin is functional. Not compatible with Secmod, which includes its own AI expansions. Requires SS2 v2.48 patch or above.

Credits:
ThiefsieFool for pointers on editing the motion database, Secmod's Assassin Rapier model and attachment setup
sarge945 for fixed Assassin Rapier model
sarge945, Voyager, and Jobesky for beta testing

#### Changelist ####
-Fixed Pipe Hybrids, Spiders, Monkeys, Midwives, and Rumblers refusing to attack backpedaling players in melee
   -Enemies now always attempt to attack once in melee range regardless of player speed
   -Accompanying changes to desired attack range for some enemies
-Fixed Big Droids, Shotgun Hybrids, Grenade Hybrids, Midwives, and Cyborg Assassins firing through objects (e.g. Cargo Bay crates, Metacreative Barrier)
-Fixed Turrets failing to hit the player at point blank range
-Laser Turret projectiles are 25% slower
-Rick Turret projectiles are 33% slower
-Pipe Hybrid uppercut is 67% faster
-Pipe Hybrid overhand swings are 33% faster
-Pipe Hybrid left and right side swipes are 17% slower
-Shotgun Hybrid firing attacks are 7% faster
-Shotgun Hybrid pain stagger is 25% faster
-Shotgun Hybrid backstep is 25% faster
-Grenade Hybrid throws are 100% faster
-Monkey running flail now counts as an attack
-Monkey melee swipes are 43% faster
-Monkey backstep is 100% faster and goes 100% further
-Monkey run is 23% faster
-Fixed Midwife melee swipes being unable to hit crouching players
-Midwife melee swipes are 33% faster
-Midwife slap attack is slightly less likely than other attacks
-Midwife pain stagger is 25% faster
-Midwife backstep is 43% faster and goes 20% further
-Midwife sidestep is 11% faster and goes 20% further
-Midwife combat walk is 25% faster
-Cyborg Assassin immediately turns to attack after fleeing instead of fidgeting
-Cyborg Assassin pain stagger is 82% faster
-Cyborg Assasssin run is 14% faster
-Cyborg Assassin backstep is 25% faster and goes 60% further
-Cyborg Assassin walk/sidestep (rare) is 25% faster
-Spider leap now counts as an attack on the descent
-Spider leap attack is more likely to occur
-Spider no longer freezes in place instead of attacking
-Spider melee swipes are 33% faster
-Spider run is 33% faster
-Baby Spider leap now counts as an attack on the descent
-Baby Spider leap attack is more likely to occur
-Baby Spider melee swipes are 33% faster
-Baby Spider run is 100% faster
-Rumbler combo attacks active hitbox duration lowered to better match animations
-Rumbler combo attacks are almost as likely as the overhand swipes
-Rumbler melee swipes are 11% faster
-Rumbler backstep/frontstep are 54% faster and go 100% further
-Rumbler has a chance to sidestep or fronstep instead of backstepping
-Rumbler pain stagger is 54% faster
-Rumbler has a chance of dodging in any direction instead of staggering on hit
-Rumbler search actions are 11% faster

Scary Monsters video demonstration:
https://www.youtube.com/watch?v=gu_UGpkUZwQ
Assassin Rapier video demonstration:
https://www.youtube.com/watch?v=yZ0I4HKP0HU
« Last Edit: 30. July 2023, 20:18:35 by Moderator »
673f4d48555a1
This reads and looks absolutely fantastic! I will definitely run this on my next play-through (whenever it's going to be). Thank you!
Acknowledged by: RoSoDude

673f4d48556d7Nameless Voice

673f4d485572d
Looks good, I like how just fixes bugs/issues and adds minor tweaks, without departing from the original vision too much.
Acknowledged by 2 members: Kolya, RoSoDude

673f4d4855831Sir_Figs

673f4d4855889
Sounds awesome, is this intended to be compatible with your rebalanced mod?

673f4d48559f5ZylonBane

673f4d4855a4d
Perhaps beyond the scope of this mod, but there was a discussion a few years back about making psi reavers more scary to fight. They're certainly lethal enough, but their presentation is pretty bland.

https://www.systemshock.org/index.php?topic=9454.msg112130#msg112130

673f4d4855f75RoSoDude

673f4d4856000
Sounds awesome, is this intended to be compatible with your rebalanced mod?
Yep. It's compatible with vanilla, SCP, SS2-RSD, pretty much any other mod except Secmod, which has its own heavy alterations to AI behaviors. Load above gamesys mods of course.

Perhaps beyond the scope of this mod, but there was a discussion a few years back about making psi reavers more scary to fight. They're certainly lethal enough, but their presentation is pretty bland.

https://www.systemshock.org/index.php?topic=9454.msg112130#msg112130

Interesting read. My primary goal was to fix melee cheese and make enemies more threatening within their archetypsl designs, but I'm open to ideas to amp up horror via aesthetic presentation. Some kind of visual distortion could add another layer of mechanical engagement as well. I'll think about if this is something I want to include for future versions.

673f4d4856147voodoo47

673f4d48561a2
we should maybe grab a few bits for SCP. not beta5 though, as I don't think we want any more delays there.
Acknowledged by: Nameless Voice

673f4d485626aZylonBane

673f4d48562be
RoSo, have you tried playing around with the weapon setting that makes AIs lead their target? It works surprisingly well. I don't know why Irrational didn't use it.

673f4d4856401RoSoDude

673f4d4856457
I had not; "Leads Target" on the "AIProjectile" link, huh? I didn't prioritize making ranged enemies harder since I think they're already plenty dangerous, but there may be a few enemies this is worth experimenting on.

The other major thing I'd like to somehow address is melee enemies standing around like doofuses if you climb on tables, or get any height over them. I'd like to make them attempt to flee if you get the high ground, so you can't just shoot them while they're standing still. But I wasn't able to understand much about the fleeing system, or how I might manipulate the AI to use it.

673f4d4856e62sarge945

673f4d4856ec2
Interesting read. My primary goal was to fix melee cheese and make enemies more threatening within their archetypsl designs, but I'm open to ideas to amp up horror via aesthetic presentation. Some kind of visual distortion could add another layer of mechanical engagement as well. I'll think about if this is something I want to include for future versions.

If you decided you wanted to make psi reavers more difficult to fight, this sounds like the right road to go down, but it would probably need to be more gameplay focused rather than being horror focused.

A good example might be for them to be able to create "hallucinations" of themselves, which look and attack normally, but with reduced damage. They disappear the moment the original reaver projection dies. This would be designed to confuse the player, rather than causing more damage, so their damage would be next to nothing.

Simply making them more scary doesn't really make them more threatening or interesting to fight against.

Also, I think some more differentiation between Psi Reavers and Greater Psi Reavers could be done through this system too (although it's probably out of scope.) I bet most people on their first playthrough didn't even know the Greater Psi Reaver was a different enemy. Maybe if it had more powerful support powers, it could be more unique to fight. Imagine a greater psi reaver dropping psi mines (the same ones you get) around itself for protection every so often.

I guess the biggest issue I have with psi reavers in general is that they are the ultimate enemy, encountered last and considered the most threatening by the game's story. Yet they are significantly easier than rumblers (especially your modified rumblers). Although this largely comes down to them being slow to do anything, and their supporting entities being so easy to find and kill that they usually die before doing anything. This is especially true in the brain of the many fight where quick players can take out all of the psi reaver brains without any of them really doing much of value. Then the rest of the fight is easy.

I had not; "Leads Target" on the "AIProjectile" link, huh? I didn't prioritize making ranged enemies harder since I think they're already plenty dangerous, but there may be a few enemies this is worth experimenting on.

I do think focusing on melee cheese was a good idea. Ranged enemies can be cheesed in some ways too, like stutterstepping, but it's a lot more difficult to do, is less directly and obviously abusable, and if you fail it you're in trouble. It's never as simple as just moving backwards endlessly and winning every fight.

That said, having some targets lead their shots could be quite interesting. Especially for robots. I tend to find Military bots a lot less threatening than the Security bots because their projectiles are so slow and so easy to dodge. Leading targets may or may not address this, and could even give them a bit more of an identity as mechanoids with onboard targeting computers. Of course, some aspect of dodging is designed into the game so it's not something I (or I assume anyone else) would want to actually limit or get rid of. I guess it could be argued that, by leading the player, the player needs to be more engaged with their dodges and not just mash the directional buttons, increasing depth. At the same time, it can also make dodges less useful or effective.

Where the melee enemies were broken, I would think that at most maybe some ranged enemies need a handful of tweaks. But even then, this mod is so much of an improvement overall it has still fixed the vast majority of AI cheese without even touching ranged enemy behaviour much (except grenade hybrids and midwives).

Grenade hybrids would probably benefit the most from shot tracking. You've already made them not completely useless, having them actually hit their target occasionally could help even with their higher throw speed.
« Last Edit: 23. January 2021, 14:16:40 by sarge945 »

673f4d485746bZylonBane

673f4d48574c2
Simply making them more scary doesn't really make them more threatening or interesting to fight against.
Spotted the android.
673f4d4857a43
Interesting read. My primary goal was to fix melee cheese and make enemies more threatening within their archetypsl designs, but I'm open to ideas to amp up horror via aesthetic presentation. Some kind of visual distortion could add another layer of mechanical engagement as well. I'll think about if this is something I want to include for future versions.
It's tough to pull off imo. Even games like Amnesia The Dark Descent or Eternal Darkness which pull this feat off rather admirably tend to get annoying in the later stages of the game. Reavers ARE very rare though, so if the effects are unique enough, maybe it could work.

673f4d4857b9fRoSoDude

673f4d4857bf7
We're talking both about Psi Reavers being unthreatening and also enemies not leading shots -- it would make a lot of sense to me if Psi Reavers were the one enemy (or one of few enemies) that led their projectile shots. After all, they're supposed to be advanced intelligences, and it also suits their gameplay design. They're all encountered in locations where you want to be on the move, and making it require better timing to dodge their projectiles would definitely amp up the threat (meanwhile, making a Monkey or Assault Droid lead shots could make them easier to dodge, as you could bait it out in a direction and then swap movement keys, which is easy to do against such slow projectiles).
Acknowledged by: JML

673f4d4857da6ZylonBane

673f4d4857f04
Psi Reavers are already plenty lethal in terms of raw combat ability. Their shots are fast and do a ton of damage.

Something like Midwife shots, OTOH, could really benefit from leading, since they're so slow they basically never hit you unless you're standing still.
Acknowledged by: RoSoDude

673f4d4858169voodoo47

673f4d48581c1
quick note - iirc, no need to repack edited motions back into motiondb.bin, if you place the edited *.mi and *.mc files into a \MOTIONS folder, they should load and override whatever motiondb.bin the game is currently loading.

this (not including a full motiondb.bin with the mod) should lessen the chances of conflicts happening.
Acknowledged by: sarge945

673f4d48582c5RoSoDude

673f4d4858320
What about the motion schemas? That's where I edit the timescale of various motions, and from my brief testing placing my edited files in the \mschema\ folder doesn't do anything. So I think I still need to include a motiondb.bin file.

EDIT: no dice on putting the edited *.mi files in \MOTIONS\ either. Tested Arachnightmare and leap move is no longer counting as a jump attack.
« Last Edit: 27. January 2021, 19:36:45 by RoSoDude »

673f4d48583d2voodoo47

673f4d4858425
I think I may have mixed up things here, so ignore unless someone else pitches in.

673f4d4858753RoSoDude

673f4d48587b0
Updated to v1.01. Decided to extend the chase fix to other enemies with melee attacks (Spiders, Monkeys, Midwives) since the backpedal exploit can still present problems with them. Also made Spiders more aggressive and Cyborg Assassins a bit more slippery. New from v1.00:

-Fixed Spiders, Monkeys, and Midwives refusing to attack backpedaling players in melee
   -Enemies now always attempt to attack once in melee range regardless of player speed
   -Accompanying changes to desired attack range
-Monkey run is 23% faster
-Midwife pain stagger is 11% faster
-Cyborg Assassin immediately turns to attack after fleeing instead of fidgeting
-Cyborg Assassin no longer occasionally attacks in melee range
-Cyborg Assassin walk/sidestep (rare) is 25% faster
-Spider leap attack is more likely to occur
-Spider no longer freezes in place instead of attacking
-Spider melee swipes are 33% faster
-Spider run is 33% faster

Couple other points:
  • I thought to check if ZylonBane's Enemy Health Randomizer is compatible since I figured it also overrides monster script slots. Not to worry -- they override different areas, so they can be used together in any order
  • I've decided to include the edited motions (\motions\*.mi) and motion schemas (\mschema\*.moc) for other modders to use; however only the compiled motiondb.bin is functional
  • I looked into the "Leads Target" field for ranged enemies. Turns out Cyborg Assassins and Psi Reavers already use it. I'm still debating whether I like it on the Cyborg Midwife, particularly since its introduction is a very long range encounter where leading would cause its shots to be very off. She's still quite dangerous already at close range, but maybe I'll script some variance for it depending on range
  • I experimented with some crude fixes for melee enemies stupidly standing in place when the player gains any height on them, but it was very unstable and led to crashing, so shelved for now. May return to it later

EDIT: video demo
https://www.youtube.com/watch?v=5HboW7PDs1w
« Last Edit: 06. February 2021, 21:52:30 by RoSoDude »

673f4d48588f1RoSoDude

673f4d4858944
Updated to v1.02. Made an error with the Cyborg Assassin in the last version. While it can sometimes feel cheap, disabling their ability to attack up close breaks them in some areas and makes them overall too easy to deal with. So I reverted that and also made them just a tad faster overall. New from v1.01:

-Reverted Cyborg Assassins never attacking the player in melee range (back to very low chances)
-Cyborg Assasssin run is 14% faster
-Cyborg Assassin backstep is 11->16% faster

673f4d4858a42Sir_Figs

673f4d4858a92
When I had SCP, Rebalanced Skills and Disciplines, and this mod (V1.00), the cyborg assassins glitched/clipped through the tram, possibly due to the melee behaviour (did not happen with just SCP/vanilla recently but that was just one run each). Unfortunately I don't have any save/screenshot, and I don't know if it was actually the melee behaviour.

In any case, one clipped halfway through the tram at the first end and I was able to defeat its upper torso, but another one clipped through entirely at the other end (bridge end), and was forever stuck outside of the tram.

673f4d4858b70RoSoDude

673f4d4858bbd
I don't think it should be related to anything I did -- speeding up motions doesn't make the AI go any farther (each run cycle covers a set distance), it just makes them do it faster. All of my changes to the Cyborg Assassin fall in the regime of speed increases.

I tried spawning some Cyborg Assassins in and around the tram and one or two got stuck on the tracks, which should be able to happen regardless of the mod. Just buggy collision behavior in Dark, whatcha gonna do.

673f4d4858c7eZylonBane

673f4d4858cc9
It would be easy to throw pathfinding blockers across the tram boarding platforms for SCP, but that would prevent AIs from chasing you onto the tram.

Just killing AIs that fall on the tracks would be the best solution, but as far as I can tell, AIs don't receive contact stims from terrain textures. There might be another way to do it.

673f4d4858d7bsarge945

673f4d4858dc8
Rule #1 of software development:

If you touch thing X, which is tangentially related to thing y, and then thing y breaks, you're responsible even if you did nothing.

It's a stupid rule, but that's how people see things.
Acknowledged by: RoSoDude

Your name:
This box must be left blank:

A familiar door code with 3 digits:
3 Guests are here.
INITIATION: SHODAN was boiling with rage. But most of all she hated her own weakness.
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
673f4d48595fd