Shouldn't Panda have a 'pause' feature built in?

Isn’t a pause function where the whole game can be paused to considered a basic feature of most game engines?

Wouldn’t it make sense to have a pause function- a simple call that freezes the whole game until an event is called?

JB SKaggs

Not sure I understand what you want?

Can’t you just set the global clock to operate in single-step mode? I’ve used this to do step-by-step debugging before.

If you’re talking about pausing some parts of the engine, but not others, then that is more complicated. However, if you run everything via tasks, you can easily pause the game logic and keep everything else running.

It seems to me that a universal pause feature- that would need no configuration. You simply call it and it freezes the whole engine- every thing stops until it recieves a key press or a mouse click. Say to pause the game when you have to leave your desk etc. A complete game freeze during play- not a debugging method.

Is it just me, but wouldn’t this be something most new users would assume exists in an engine? Not something every new user would have to setup for themselves. It seems like a universally useful feature to me.

JB Skaggs

It might seem so, but it’s not that simple. You see, what you actually want to pause depends on the game design.

Pausing is, for example, frequently used when you go into a configuration menu of some kind. But then, the engine doesn’t know what actually is your menu, and you might find it impossible to have the menu animated or something like that. You might say “Just don’t pause the GUI then”. Sure, but you have different parts of the GUI, for example the HUD, that you might or might not want to be paused when changing screens (to inventory for example).

It goes further than that, when you consider that some games might require, for example, mesh animation (like a body of your character, or the inventory objects) in Inventory screen, health screen or the like.

Moreover, if you take the, so called, “active pause” into consideration (present in many RPGs) you’ll find that some games actually have two (or more) “pause modes”. One for the inventory, configuration menu and the like, when everything except for the active screen is paused, and one for tactics and casting spells, when some animations, particle effects etc. might be active.

And so on, and so on…

The pausing mechanics is in general rather game specific, so you can’t expect the engine to do it for you, because it would simply pause too much or too little. You can, obviously, expect the engine to make coding this easy, but with Panda it should be fairly simple to write.

Have you ever tried my module ?

Yes I am looking at your module- but this post was not really to solve a specific problem of mine but rather would this feature be a good one.

JB Skaggs