Unvanquished / gameplay

Issue tracker for Unvanquished gameplay related feedback, ideas and suggestions
0 stars 1 forks source link

Moving buildables leads to temporary momentum loss, possibly locking upgrades. #55

Open ghost opened 1 year ago

ghost commented 1 year ago

When one moves an egg on ceiling, it results in momentum loss, punishing aliens who play smarter. Not only this removes momentum, this also is a very slow, but necessary, process, because of fire on ground.

Disclaimer

Ideas without a related problem issue and lacking explanation or depth are closed after a certain time.

DolceTriade commented 1 year ago

+1

Viech commented 1 year ago

To be fair, this is not intended this way; it is like this because this makes the code simple and impossible to abuse. If you do have an idea how to smooth out momentum changes for buildable replacement without allowing any weird interactions or exploits and with a reasonable/maintainable code complexity, feel free to state that in detail!

(Your issue is really just describing the problem at this point; if you don't have an idea how to fix it then you should flag it as such. It should be easily agreed upon as this loss/gain clearly serves no in-game purpose.)

ghost commented 1 year ago

(Your issue is really just describing the problem at this point; if you don't have an idea how to fix it then you should flag it as such. It should be easily agreed upon as this loss/gain clearly serves no in-game purpose.)

Then let's reclassify it as problem.

Viech commented 1 year ago

There are (at least) two ways to look at this issue:

  1. The fact that losing then regaining momentum is non-smooth, which is not impossible but difficult to fix as there is no one-to-one correspondence between deconstructed and newly built structures and as their momentum rewards can differ. This would require some nasty statefulness in the code and make future modifications harder.

  2. The fact that this temporary loss can lead to stuff being locked. Maybe this is the key problem people have? If so, then I'm not sure that locking is an important feature to have. In particular, momentum mechanics would still serve their key purpose if unlocks were permanent (i.e., enforce linear growth of unlock progression in the average game but give players agency and rewards in the individual game).

ghost commented 1 year ago

Maybe this is the key problem people have?

I do think so.

then I'm not sure that locking is an important feature to have. In particular, momentum mechanics would still serve their key purpose if unlocks were permanent

This would simplify the system, without any serious fun loss. Far from it, since it would remove the annoying lock/unlock/lock/unlock experience alien builders have.

Or maybe if we want to keep this, we can have 2 triggers: one to unlock, one to lock. i.e. one would unlock adv granger at 150, but would only lock it under 100. This would keep the punishment if a team is really loosing for real (but then, does it have resources to spend anyway?) while not hindering the normal course of the game (adv granger being the most notable problem when I think about it, because wallwalking and firefight are required to conter humans at this stage)

Viech commented 1 year ago

Or maybe if we want to keep this, we can have 2 triggers: one to unlock, one to lock. i.e. one would unlock adv granger at 150, but would only lock it under 100.

I think that this is already the case, though possibly for different values. Otherwise, you'd have the lock/unlock scenario more often due to normal momentum decay. But, this only "shifts" the problem because while it reduces the likelihood for a stage loss on deconstruction, it also implies that when you lose a stage for deconstructing, then you will not necessarily regain it for reconstructing even if both actions happen almost immediately after one another…

ghost commented 1 year ago

I think that this is already the case, though possibly for different values.

No, there is a single momentum value here (and it's the same for other unlocks).

Now, maybe the code does some double trigger magic based on this value, I've been told it does something like that, but I have not seen it in code (nor searched for it, I'll admit) nor felt in game.

Viech commented 1 year ago

g_unlockableMinTime (current default 30) is the minimum number of seconds before you would lose an unlocked stage again due to momentum decay.