In that particular case, what would be your favorite fix. I tend to say that the second step of climbing a ladder should probably not count as a new interaction.
In that particular case, what would be your favorite fix. I tend to say that the second step of climbing a ladder should probably not count as a new interaction.
They generally move at a pretty fast pace and change often(due to the iterative nature of what's "fun"). I don't think I saw a single unit test until I was well out of the game industry.
Their blog regularly goes into details about how it all works. It's very much worth reading.
It's been a few years but if I recall correctly we did have a "smoke test" running on a jenkins box under someone's desk that booted a few levels with most of the game entities(they were called danger_room_1/2/3/etc) and verified that the game didn't crash. Aside from that though there wasn't much else which lead to some spectacular build breaks.
Ah the joys of "AAA" development.
They should probably also consider adding fall damage as part of the considerations in invulnerable mode.
Edit (additionally):
If they can't be made atomic, make the transitions timed, with expiration, never allow deadlocks to occur and always branch to a fail-safe state. Players will tolerate things like the uncontrollable NPC getting pinched off screen and respawning, even with a comical animation if it's that kind of game; they hate a blind referee ruining things for no perceivable reason.
In the case of another game where someone's actually making progress up a very large structure, I can't think of any game offhand where saving in such a state has actually been allowed. However allowing a save there by necessity triggers the edited version of my statement which includes a timed state transition and safe aborts for failures in state change. Such a save would also include the current state of progression as well as the remaining limit for the timer.
Probably the most ludicrous is that when sneaking, only the player is taken into consideration by enemies. I've seen patrolling enemies kick my companions out of the way without actually noticing them.
Reading the player's intent would probably still be a very difficult problem, so even with the perfect knowledge of how to interact in the world they'd probably not act and react to changes in the player's intent anywhere near as well.
Skyrim was/is awful about that. I'd be sneaking along through a tomb, and then Lydia screams "I am sworn to carry your burdens!" and charges in, waking up a dozen draughir.
When large amounts of programming time is spent on game ai it does end up "self driving" at an adequate level, see Google's sc2 bot, Google's older arcade game bot's, and openai's dota bot. It's just not worth it investing that amount of time into most games.
That might make sense when you view it through this specific lens, but that design decision allowed them to save character positions on ladders and make 'getting on' and 'getting off' be separate 'things' - just off the top of my head.
The '2 interactions' method actually makes the most sense in the context of their game engine - it's the same way getting 'on' or 'off' a chair works.
Their fix of just allowing interactions is probably the most correct option. That is essentially toggling a setting, as opposed to re-engineering how ladder mechanics work.
Games are complicated.
Altogether an elegant solution for managing what is otherwise a special case.
For example, if you're standing in a doorway talking to someone and an NPC wants to close the door, it could close in between you and the NPC you're talking to.
It would be hard to make believable interactions when unexpected environmental side effects can happen at any time
If companions should be unkillable, then don't count on eliminating all sources of potential damage. Really make them unkillable. A ladder shouldn't ever take someone higher than the ladder goes so if some guy attempts to climb higher than the ladder goes, then freeze them in place or make them climb in place. Since these shouldn't trigger, crash the game if in dev mode, and if in prod mode check whether player allows telemetrics and if so phone home.
Those are the failsafe fixes.
Finally fix the root cause here by special casing that getting off a ladder during interaction is allowed.
Not letting companions fall to their death, ever... Bethesda hasn't fixed these bugs in 5 years.
What would you do instead?
These problems arise when a game engine starts as a generic physics simulation and various restrictions/rules mandated by gameplay design are added as an afterthought.