I’ve made plans for an extended stealth system, but doing it well relies on a lot of fundamental changes to systems already in place. And it was primarily in another thread, so I’ll describe the details again here:
I’d prefer to assume that characters are always trying to avoid detection unless dashing (which I’d also like to add) or shouting or otherwise explicitly trying to get attention. And some sort of stealth skill would primarily govern how conscientiously and effectively the character does so in the course of everyday moving around. (And thus would only really modify your chance of benefiting fully from any environmental conditions, without giving you any sort of real direct bonus - ultimately, the player would still need to make tactical choices).
A sneak “mode” like dashing would probably make some sense as well, but I feel like the actual mechanics of this in this sort of game wouldn’t work terribly well. I’d prefer it to be a hide option, where you can attempt to conceal yourself on your current square (hiding behind that pile of corpses), but it goes away when you attempt to move and reverts to your normal stealth skill.
This actually works well with the “attention and identifying” mechanics I wanted to add as well, since hiding behind something and then darting to another concealed place and waiting for a bit would be a valid strategy, since the checks would be every turn and every turn an enemy could see you their interest would increase until you were recognized as a valid target to pursue, while waiting in a place out of sight, smell, or sound detection would cause the interest level to drop.
(Lower levels of interest might still cause it to wander over to investigate, but it might decide not to bother before getting there or other critters or stimulation could accrue interest of their own and distract it)
I think a proper stealth system is first and foremost dependent on reworking vision, and working on object size and partial obstructions, though, both for players and monsters.
What I’m talking about isn’t really a stealth system as much as it is applying finer granulrity to LOS calculations, for a more built out stealth system, this LOS info would feed into said stealth system which would then decide whether an entity detects another entity and how. In particular the LOS would be either “fully obscured”, “fully visible”, or some degree of obscured.
I think this will drop out of the current LOS data pretty easily, currently player <-> monster LOS is calculated for every monster, and is a boolean, all that needs to happen is turn this into a range of values between fully visible and fully obscured. All the system I’m proposing cares about is a single intermediate value, but a stealth system would care about a range of values, for example the player standing upright with a counter between them and a monster. With the current system and my proposed system, the player would count as fully exposed, but a stealth system may count that as some degree of partially visible, which would then be factored into recent movement, distance, etc to determine if the player and the monster spot each other. I’m glossing over opacity here, which is a different type of obscured, but also needs to be factored in somehow.
Re: movement modes If you leave it at their default the gameplay will be substantially similar to what you have now, but if you want finer control over the visibility or speed of your character, you’ll want to manage your movement modes, however that’ll be pretty simple, just toggling between different modes, and there’d be no reason to do it frequently unless your activity is sneaking around or running from something, in which case carefully managing it makes total sense.
Yes, the heights of objects and their effect on LOS would certainly be required for the system I proposed, among many other elements.
I think to get an interesting system and properly effective system, we might have to go a step beyond what you just mentioned and calculate distance to object as well - the closer an object is, the less obscuring it should be. (For example, take the basics of things I’d like to include - a slatted fence. A character would be able to see through it quite easily if right next to it, but not if further away, and the same principle applies even for rather simple objects like a bench or a counter)
I think managing movement modes would be hard to implement well. We’d need significant feedback as well as the toggling in order for it to be meaningful, and I’m not sure that feedback would be all that easy to provide.
Honestly, I just want to be able to walk without making a ton of noise.
I’ve suggested things similar to this multiple times, but I don’t necessarily even want the complications of tampering with monster viewpoints or their sightlines, I just want to be able to spend more movement points, or general speed, to be able to walk very quietly.
[quote=“GlyphGryph, post:23, topic:1633”]Yes, the heights of objects and their effect on LOS would certainly be required for the system I proposed, among many other elements.
I think to get an interesting system and properly effective system, we might have to go a step beyond what you just mentioned and calculate distance to object as well - the closer an object is, the less obscuring it should be. (For example, take the basics of things I’d like to include - a slatted fence. A character would be able to see through it quite easily if right next to it, but not if further away, and the same principle applies even for rather simple objects like a bench or a counter)
I think managing movement modes would be hard to implement well. We’d need significant feedback as well as the toggling in order for it to be meaningful, and I’m not sure that feedback would be all that easy to provide.[/quote]Feedback wise, i’d think dwarf fortress seems to have displayed that just displaying your current movement mode seems sufficient. That said, it is only my opinion, and there is also the issue of actually finding space to fit the extra piece of information, as unlike dwarf fortress, cataclysm shows a lot.