Live or static inventory?

in an action survival horror puzzle game,

When an actor opens his inventory should the world pause?

Depends on how you’re designing the game.

If your game is consistently on a network (like any online game), then you don’t pause.
If you don’t want players to switch equipment in the middle of a battle, but rather only in a safe area (like Darksouls), then you don’t pause.

The idea is that you don’t want the player to exploit the inventory system. For example, in Darksouls, your equipment load is really important, having less equipped items (or lighter items) allows you to roll faster and run faster.

So there’s this kind of trade off: do you want to run faster and roll faster (light armor takes more damage when hit), or do you want to do more damage and have more defence (heavier items do more damage, and heavier armor protects more)?

If the game paused when you switched out your weapons and armor, you could wear whatever you want while attacking an enemy, and when you need to roll, pause the game, un-equip the heavy items, roll away, pause, and put on the heavy items again - thus exploiting the pausing mechanics to gain an advantage you might not want a player to have.

So you just need to think about what type of control you want to give the player - it’s up to you entirely.

@Lucrecious

I agree. I just want to mention Skyrim, which does pause the game. In Skyrim that is useful since most times you want to change the spell you’re using or use a potion in the middle of the battle. You could also to an hybrid system, so pausing the game but only letting you change armature and so one when you detect that are in battle (health != 100% or other methods).

P.S. Since this is an horror game, I would say yes. You definitively want the user paing attention when some surprise occours.

Yeah, exactly, it really depends on the game. In Zelda, the game pauses as well. This is good because you have a lot of items and you need to switch between them a lot (in boss fights and dungeons).

+1 for pause. Just make it like The Witcher or many other AAA games…none transparent interface, that way you will always pause the game whatever you do with the interface and no one will mind it. Also it will save you a lot of players hate(you can not secure the whole game and there will be always problems - enemy arriving, poisonous gas effect killing the player while searching trough inventory, technical problems…timers ,props changing …etc
Definitely always pause if you want players to be happy. Not pausing was forced in multiplayer games, because they had no other way, not because it is better.

If you are trying to survive, it should be difficult, so live.

Having secure game areas isn’t actually that hard, it’s done really well in Darksouls for example - as long as it’s obvious when you’re in trouble. “Poisonous gas” should have a clear on screen indication which would overlay the menu, making it hard to miss. I also think there would be technical problems regardless; pausing, in my experience, actually brings up more issues since you can’t access certain properties on suspended parts of the game.

That being said, I don’t think an unsuspended menu state is better, I’m just saying they each have their place. Again, exploiting the inventory is very easy when you allow pausing and that can take away from developer intention on how a game should be played.

Edit:
Another problem with pausing is you might need to make sure the game is in a valid pause state. For example, if you’re swinging a sword, you should not be able to pause in the middle of the swing, equip another weapon, and unpause the game. Either you need to queue the equip so it only equips after the attack, make it so you can only pause in valid pausing states or you leave it as is as a possible design decision.

You can find many weird situations where pausing can cause potential bugs.

So just keep these things in mind while you design your pausing system - it’s not that trivial.

Yeah, I disagree with the “just do it like X” concept - a developer should fill the needs of their game.

If they want the game to pause, pause it. If not, don’t. Don’t do things just because other games or people like the ideas - examine why certain ideas are appealing, and decide using that information.

On contrary, looking at what professionals have made and analyze why they made it that way is the right path. Most of our games are not that original you can always find a game like yours already made with much higher quality, done by people having years of experience making games, so why not just trust them but trying to discover the wheel your self. Most probably you will fail and others is doing it dozens of time already.
In Dark Souls you can be invaded by other players at any time, that is why pausing is not available, also not able to pause while in battle is irritating for me. I play it with keyboard and I want to reassign my keys so I can use them easily and I can’t do that while fighting…so I must let the enemy kill me first and then reassign which is outrageous. Some may say…“Dark Souls is meant to be played with controller”…well why then they give me the option to play it with mouse and keyboard, isn’t this also a flaw, if you are giving something to players you make sure you made it right first. There are many other flaws in this game also.

Blender has an existing pause method, pause scene, but I don’t recommend using it. There are better ways to pause a game, though they require designing in from the start.

There’s lots that can go wrong with pausing, the safest way is to handle interactions with commands (specially designed messages), not directly.
In the situation you describe with the sword swap above, you can send a message (“equip_item”, “sword_103”, “right_hand_slot”) and the character will process that message when they’ve finished their current action (attacking). When they equip the sword a message is sent back to the UI to tell it that the weapon is now equipped. If you do it this way it can be good to automatically exit the inventory when you do an action which would change the game state through performing an action (dropping an item, equipping an item, drinking a potion etc…) so the action can be completed and the inventory updated.

Alternatively you can “grey out” the item, showing that it is provisionally equipped once you exit the inventory as long as nothing happens to change that. So you can have the player send back a message to the inventory saying whether an action was successful or not.

Or you can restrict the controls so that the inventory can only be brought up on screen when the player isn’t engaged in an action.

In any case it’s good practice to learn to deal with interactions between objects using messages since it can be useful if you ever do multiplayer.

I was thinking live with a que or paused with a que,

so if you start swinging a sword, and open inventory and swap,
the actor will finish swinging his sword , then play a switch weapon animation,

so the inventory does not directly set equipment, it adds actions to the actors que.

Pausing the game while opening inventory or menus has a huge impact on the feeling of the game.

It is the question if you want that feeling in your specific game or not.

Indeed it can easily increase the games difficulty (by being caught while looking in your pocket) or allow “cheating” (by getting a pause on time critical phases of the game -> more time to think).

I personally find it a bit strange that you can change weapons while using them, or change shoes while walking. On the other hand, it provides some strategic death, regardless if paused or not.

Should the game pause while in inventory? No. Take “The LastOf Us” for example, game didn’t pause when Joel was looking through his packpack. It was very exciting for me. In real life, you couldn’t pause as you change weapons. Just my .02

I like it :3

I paused initially, but I disabled it…I just don’t think in a real battle everything is going to ‘hold on’ while I use my med pack/healing potion…it just doesn’t work for me…but in the end, to each his own.

I just realized this is an older thread… :blush: