662ed4eaf1646

662ed4eaf1e39
1 Guest is here.
 

662ed4eaf29f2sarge945

662ed4eaf2a66
°DML

Deterioration Mod (Working title)
A mod by Sarge945

From the creator of No Keypad Cheese comes another "If you think it's overpowered, why not just stop yourself using it, you idiot!?" mod. This time around, it's all about combating item piles.

I'm sure everyone at some point has clogged up the elevator shaft with hundreds of bullets, 50+ hypos, 25 batteries, 4 sets of armour, some medkits, some implants, and a grenade launcher. The Many knows what you're up to, and now they are fighting back! Guns aren't the only things that deteriorate quickly anymore!

The gist of this one is simple: Once you drop an item, you have 10 minutes to pick it up before it starts to deteriorate. Once it starts to deteriorate, parts of it will begin to become useless. That box of 20 bullets? Now only 15 are usable. Those 2 batteries? One is now dead. That gamepig? Completely broken. Expect to see items start disappearing and breaking down into their component atoms.

Gameplay wise, this basically means that any item you throw away will start losing stacks over time, and eventually disappear completely. Maybe the many spores are degrading it, or maybe Hybrids are stealing them when you're not looking. Either way, it's bad to just leave stuff lying around!

Technical
This mod contains no map DMLs and should be compatible with all mods and FMs. It should correctly affect all items inheriting from the Goodies (-49) and Items (-90) archetypes, as long as they don't use all 4 script slots.

This mod doesn't affect armour and weapons. That's intentional. Hoarding them is far less egregious balance-wise because they are inherently rare already.

Changelog:
Version 1.2:

- Plot items, weapons, armour and organs will no longer deteriorate.
- Fixed issue where items placed in containers (using mods like RSD) wouldn't deteriorate.
- Changed deterioration rate from 10 minutes to 5 minutes, as 10 seemed too long.
- Changed stack degrade formula.

Version 1.1:

- Items will no longer disappear when the player is nearby.

Version 1.0:

- Initial Release
« Last Edit: 07. May 2023, 09:32:04 by Moderator »

662ed4eaf2e66RocketMan

662ed4eaf2ec6
This is consistent with the "to a degree assumed" lore so it seems like a good idea to preserve tension.  Might make the game unplayable for me... I tend to deliberate a lot in games.  But most players would probably welcome it as a new difficulty tier.  Personally I think if you're going this route, then everything ought to degrade all the time, whether it's in your inventory or not.  Of course the degradation would have to be very slow but again, as far as the lore goes, this is fine.  You do wake up after months of bullshit already happened on the ship and can still find pistols in working condition so it's plausible that having one on you for half the game might drop a point or 2 of quality whether you used it or not.

662ed4eaf335bsarge945

662ed4eaf33b8
This is consistent with the "to a degree assumed" lore so it seems like a good idea to preserve tension.  Might make the game unplayable for me... I tend to deliberate a lot in games.  But most players would probably welcome it as a new difficulty tier.  Personally I think if you're going this route, then everything ought to degrade all the time, whether it's in your inventory or not.  Of course the degradation would have to be very slow but again, as far as the lore goes, this is fine.  You do wake up after months of bullshit already happened on the ship and can still find pistols in working condition so it's plausible that having one on you for half the game might drop a point or 2 of quality whether you used it or not.

From a lore standpoint, I completely agree with you. It makes total sense that items should degrade whether or not you're carrying them.

From a gameplay standpoint, however, I think having items degrade constantly would be counter productive. It would encourage players to essentially speedrun through the levels in order to maximise the potential for items, which I don't want. I also tend to deliberate a lot in games, and it takes me a while to do anything, so that form of degradation would be horrendous for me.

As it currently stands, though, if you don't pick up items you don't have space for, or don't currently need, you should be fine. It's there to punish hoarding, not deliberating.

I am open to suggestions for how to make it more generous for general item deliberations, as long as those changes don't allow item hoarding again.

If you need some headcanon to justify why things only disappear after you discard them, instead of blaming the Many's pheromones or spores or whatever affecting the working of the mechanisms, instead just pretend hybrids are walking around the ship scooping up any item piles they find. That actually sort of makes sense - if your enemy had made a stash somewhere, you'd probably want to clear it out.
662ed4eaf35cc
This is a clever idea, and I can see the really hardcore SS2 fans wanting to try it to give them an additional challenge when playing through a game that they know every last thing about due to playing it endlessly. But it's not a mod I'd personally be interested in. Would a mod where the NPCs, or at least a certain type of NPCs (say the spiders) can steal an object and hide it in their 'den' (their home area) be feasible? Then when find some items missing from where you stored them, then you would have to locate the spider's den on that level, and go and retrieve your stuff. I don't think I'd personally use such a mod, but maybe some people might.

662ed4eaf3712sarge945

662ed4eaf3761
It's lots of effort for not a lot of payoff

I mainly made this for myself because item piles have become so ingrained in my thinking that I can't play without them, and yet they could be argued to be a cheat or at the bare minimum, cheese.

I decided to release this since virtually every guide recommends item hoarding and I want to discourage this form of degenerate gameplay.

This mod does that in it's current form, albeit in a somewhat unrealistic way. Massively overhauling it doesn't really benefit it's intended purpose (since it already solves the problem) and is likely to make it significantly more complex and buggy.

I might consider more realistic ways of taking items in the future, and the possibility of the player having to take some sort of risk or pay some sort of price to get their items back, but it's definitely not on the radar.

662ed4eaf391cZylonBane

662ed4eaf397a
Seems like it would have been easier to just add "On end script and if not contained delete self" to every dropped item. Since SS2 is, by design, incredibly resource-constrained, any gameplay mechanic that's basically "If you do X, you'll lose resources" will only result in players NOT DOING X.

Put another way, players don't have the headspace to keep track of every single thing they've dropped, let alone how long ago they've dropped it. They don't know when they'll be back to any given item cache, if ever. So in the face of such a system, it would inevitably end up being flattened into "Anything I leave behind is fucking gone, man." Any more granularity than that would be wasted effort. Items either persist in the world, or they don't.

Also your current code will degrade items even when the player is standing right there watching them.

662ed4eaf3d89RocketMan

662ed4eaf3df2
Also your current code will degrade items even when the player is standing right there watching them.

Which should happen, as far as we've all been able to piece together.  The degradation mechanic, as discussed before, only makes sense if it's a result of the annelid presence (spores, gas, whatever).  So anything exposed to that should degrade, whether the player is standing there watching or not.

662ed4eb005b7sarge945

662ed4eb00626
Seems like it would have been easier to just add "On end script and if not contained delete self" to every dropped item. Since SS2 is, by design, incredibly resource-constrained, any gameplay mechanic that's basically "If you do X, you'll lose resources" will only result in players NOT DOING X.

Put another way, players don't have the headspace to keep track of every single thing they've dropped, let alone how long ago they've dropped it. They don't know when they'll be back to any given item cache, if ever. So in the face of such a system, it would inevitably end up being flattened into "Anything I leave behind is fucking gone, man." Any more granularity than that would be wasted effort. Items either persist in the world, or they don't.

Good point, I could possibly just make it on script end. That would absolutely simplify things.

I have considered this design, but I think there are 2 main issues with it:

I still want items to be able to elevator between maps, since I like that mechanic and it would ruin the immersion if an item disappears right next to you as you change maps. This could be resolved if I made it so that items which were elevatored were not removed, but I feel that doing so would sort of allow people to abuse the exploit via the main elevator shaft, since most items would follow you between decks.

More importantly, I like players having the ability to drop items and leave maps on occasion for short periods, which can happen surprisingly frequently. A perfect example is if a players BrawnBoost runs out, which in turn makes them drop some items due to lack of inventory space, then they quickly travel to another map, recharge their implant, then come back. I want those items to still be there and not be lost, because that would feel very unfair.

Also your current code will degrade items even when the player is standing right there watching them.

I know. I tried playing around with raycasts to try and detect line of sight to the player, but Dark raycasts are, as far as I know, completely undocumented and I couldn't get it working, so I gave up.

Which should happen, as far as we've all been able to piece together.  The degradation mechanic, as discussed before, only makes sense if it's a result of the annelid presence (spores, gas, whatever).  So anything exposed to that should degrade, whether the player is standing there watching or not.

I don't like items degrading as the player looks at them, just because it reveals what's going on "behind the curtain", so to speak. Items don't phase out or anything, they just outright disappear, and the player being able to see them really reinforces that they are just playing a videogame and can see the mechanics working right there in front of them. I much prefer the items subtly vanish while they are not looking so that it's left up to the imagination what happened to them.
« Last Edit: 14. February 2023, 16:59:07 by sarge945 »

662ed4eb00c3cZylonBane

662ed4eb00ca7
I know. I tried playing around with raycasts to try and detect line of sight to the player, but Dark raycasts are, as far as I know, completely undocumented and I couldn't get it working, so I gave up.
You could just check the distance squared from the object to the player.

662ed4eb00d8aRocketMan

662ed4eb00ddb
Sorry, I wasn't making my point in the context of your mod, as I should have.  I was just saying degradation should happen continuously, not things disappearing.

662ed4eb010dfsarge945

662ed4eb01147
You could just check the distance squared from the object to the player.

I considered this, but I don't think it would work all that well. I might give it a shot.

662ed4eb01256ZylonBane

662ed4eb012b2
How could it NOT work well? Just pick a minimum bound that would guarantee the player is a few rooms away.

662ed4eb015c2sarge945

662ed4eb01628
How could it NOT work well? Just pick a minimum bound that would guarantee the player is a few rooms away.

I was concerned that there would be edge cases where items would either disappear too early, or stick around for too long. But I have just implemented it and it seems to work fine.

@voodoo47 I have updated the first post. Could you please transfer the downloads across and get rid of the expiry?
Acknowledged by: voodoo47

662ed4eb016f2sarge945

662ed4eb01742
I screwed up, and it was not checking item archetypes at all. Meaning things like charged powercells could get removed!

Anyone who downloaded 1.1, please download 1.2, it's a critical update
662ed4eb01cca
Put another way, players don't have the headspace to keep track of every single thing they've dropped, let alone how long ago they've dropped it.

Speak for yourself, Mr. No Headspace. Sure not all dropped items, but we wouldn't want all of course, only certain ones. Isn't there also placeable nav markers that appear on your map?

Personally I would just fix this arguable issue by legitimizing it further: small storage cache built into in the elevator, say originally for medical/fire purposes, but making overall difficulty even more tougher on impossible so then those resources may end up actually needed. Perhaps stricter stack carrying caps: no more carying 40 hypos and 15 medkits in one stack. Then it's part of the gameplay Resident Evil style instead of hoarding a small arsenal of excess crap you don't need.
« Last Edit: 28. February 2023, 23:37:23 by Join2 »

662ed4eb01d94sarge945

662ed4eb01df4
Yeah I think ss2 would be superior with proper item caps but iirc it's not actually possible in the engine
662ed4eb02271
sarge945
Consider the stalker anomaly npc looting addon approach - with the rationale that the Many sometimes come across your stuff and 'loots' it.

I'd make it into a simple risk/reward mechanic – the more the player leaves stuff around, the higher the chances of it disappearing overtime, based on a certain ratio of the number of items left around / vicinity to heavily travelled paths /  time passed.

Basically: the more / for longer you leave things about, the higher the chances they'll start going missing.

662ed4eb027c2sarge945

662ed4eb0282c
sarge945
Consider the stalker anomaly npc looting addon approach - with the rationale that the Many sometimes come across your stuff and 'loots' it.

I'd make it into a simple risk/reward mechanic – the more the player leaves stuff around, the higher the chances of it disappearing overtime, based on a certain ratio of the number of items left around / vicinity to heavily travelled paths /  time passed.

Basically: the more / for longer you leave things about, the higher the chances they'll start going missing.
This seems like a complicated change, although I guess I could pretty easily change the formula from a constant loss over time to a loss chance based on time and stack size.

I might consider doing this at some point.

BUT I'm automatically wary of any idea that comes from Stalker: Anomaly.
662ed4eb02acd
Haha. Yes, Anomaly was ultimately too painful for me, but the mechanic described here doesn't come from Anomaly per se, but from an addon that brought it forth from another version of stalker.

It took me some VERY long modding effort to bring anomaly, treated as a base, to the state where it was a pretty amazing game instead of a pain in the ass misery simulator. Anyhow, through a combination of addons that added roguelite respawns with stashes surviving between playthroughs but slowly deteriorating the condition of items left in them and being fully lootable by simulated npc who find them, it became a pretty great freeroam survival sim requiring that you leave little emergency parcels for yourself throughout the zone, rationing some cash, goods and weapons for future playthroughs and always aware that your food rations will go bad and risk getting you poisoned.
Risk / reward.

662ed4eb02eb5sarge945

662ed4eb02f1f
That actually sounds really interesting.

Most of the time, metagaming utterly undermines/destroys a games stategy. For instance, a lot of the time people go into games knowing that a certain weapon will appear early, so they spec into it before hand, and then wipe the floor with the difficulty.

I know people who do runs through difficult areas in Dark Souls right at the start of the game to find certain good items that they know will make the run much easier overall.

This is usually really cringe, but I like how in this case the metagaming has essentially been built into the system, like you're supposed to metagame and supposed to play around future runs. I don't know if that necessarily makes for GOOD gameplay, but it's definitely INTERESTING gameplay, none the less.

The problem with the "deteriorate faster the longer you're gone" aspect of this is that I don't necessarily think it would fit into SS2's gameplay.

In a game like stalker, it makes sense that something would deteriorate faster and faster, because you could leave the area for anywhere from 10 minutes to 10 hours, the world is huge and you can easily go and get lost doing a dungeon or whatever. It makes sense that an item being left for 3 hours is far more likely to be gone than an item left for 1 hour, because it inherently limits how far you can travel if you want to realistically keep a stashed item.

But System Shock 2 is, realistically, a very small game. Especially when backtracking. Because of the size of the maps, a dedicated player is usually never more than 3-5 minutes away from an elevator, and from there, 0-5 minutes from an item stash. Because of the very small time limits, exponential item loss would end up feeling very weird and coming across as overly punishing. Imagine leaving an area for 5 minutes, coming back, and a clip on the floor has lost 2 bullets. But then you leave and come back after 7 minutes, and it's gone.

By limiting it to 10 minutes, I'm already ensuring that you can't leave an item too long without losing it, but at the same time, I'm not overly punishing players who leave for, say, 15 minutes, as their items will lose stacks but should still be mostly usable. By using an exponential system, players may feel cheated if they lose an item by just being 1-2 minutes too late. In the current implementation, they still get punished for leaving the item lying around, but not excessively compared to if they had arrived a minute or two earlier.

That said, I may reduce stacks quicker the higher they are. Currently, I can leave a stack of 100 shotgun shells in a corner and it will stick around practically forever, slowly losing stacks. I was considering halving the stack size each loss (rather than reducing it by a preset amount), and reducing it linearly once it gets below a certain point. That might feel too gamey, though.

I may look at rolling for item loss, rather than just removing them entirely, but I'm not the biggest fan of chance when it comes to these kinds of things.
662ed4eb031c7
Agree with all your points, and realize there are no clean solutions here.

The paradigm shift with stalker was basically KNOWING that all of it happens as part of a simulation (500-1000 real-time simulated npc AI roaming the zone and doing their things) and not a shitty dice roll, with chances of your stash being looted dependant on how well you'd hidden it, how far from common paths, and most importantly the size and experience of a squad that moved past it.

This won't happen in ss2 of course and chance can indeed feel here like a cruel mistress.

Even with your current system there will remain an unpleasant nudge at the back of one's mind as to how to maximise/exploit it i.e. 'I've got 6 minutes left to run back to my stash to extend my timer before shit dissapears.

Lots of ideas of how to approach it creatively, but I'd imagine all easier said than done.
Come to think of it, simplest methods may work best here - what you have seems to be in that bracket already.

Then again, running on Impossible and considering that there is an infinite enemy spawn in the game, stashing things does not feel like much of a cheat or a problem. Personally, for the first time ever in SS2 I'm counting bullets and med hypos and the elevator is very empty, if not for the sad little shotgun and some maintenance tools I won't ever use as an OSA. Best solution may be to just play on impossible - it's horrible and I love it ;-)

« Last Edit: 07. May 2023, 23:45:29 by AT »

662ed4eb036c7sarge945

662ed4eb03729
Then again, running on Impossible and considering that there is an infinite enemy spawn in the game, stashing things does not feel like much of a cheat or a problem. Personally, for the first time ever in SS2 I'm counting bullets and med hypos and the elevator is very empty, if not for the sad little shotgun and some maintenance tools I won't ever use as an OSA. Best solution may be to just play on impossible - it's horrible and I love it ;-)

The resource management aspect is definitely way better with the RSD loot hose, but as the game progresses, hoarding becomes easier and easier.
662ed4eb0384b
Fair. Will make sure to look out for it when accessing the balance of RSD / randomiser.

662ed4eb039a7sarge945

662ed4eb039fd
I normally play RSD on hard because I find it hard, since I find Impossible a bit too impossible

It might not be as much of an issue on Impossible

Your name:
This box must be left blank:

In which year was System Shock released:
1 Guest is here.
Fucking doughnut! Mock me? You fried cyclops!
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
662ed4eb0755a