I'm hoping this is a really minor topic, but since I've not seen any comments on this I figured I may as well raise it.
Will it be possible to pause LT with a single keypress (e.g. hit Esc or similar)?
The only reason why I would even ask this is because when I'm playing Elite Dangerous, and my wife calls me to attend to some emergency, there's nothing more annoying than when this happens while I'm in combat, and I can't simply hit escape and pause the game. (Instead, the game says I have endure a 15 second timeout before I can be removed from the game area, allowing NPCs* to pummel me while I'm helpless - understandable if I'm playing Open, but as I play Solo, I fail to see why an instant pause can't be implemented - especially since they have already implemented this in the training scenarios).
Like I said, this is a minor 'feature' but I feel one so obvious that it could be overlooked.
Cheers.
Post
Fri Jun 30, 2017 11:45 pm
#2
Re: Pausing the game
Thankfully, Limit Theory is not Elite: Dangerous.
We previously had quite a few things to say on the subject of pausing, but it's still a good question.
On November 23, 2012, Josh spake, saying thusly:
One variation on this would be whether players may be able to give high-level orders while the game is paused. Gazz feels this is very important:
We previously had quite a few things to say on the subject of pausing, but it's still a good question.
On November 23, 2012, Josh spake, saying thusly:
So, assuming Josh hasn't changed his mind on this, the basic "pause everything to go deal with Life Stuff" feature will be there for you.JoshParnell wrote: ↑Fri Nov 23, 2012 10:51 pmSureDeej wrote:Thankyou.JoshParnell wrote: ..since this is single-player, you can save at any time and reload later..so you'll never be forced into ridiculously long missions!
Josh, will there also be a 'pause' button? (For life's little interruptions...)
One variation on this would be whether players may be able to give high-level orders while the game is paused. Gazz feels this is very important:
However, Josh was less open to this idea, saying:Gazz wrote: ↑Tue Dec 04, 2012 4:26 pmOrders While Paused
Maybe I should write this in 15 different colours, underlined, and blinking.
This is super-important to me.
Once you're dealing with fleets, multiple ship types, and 3D positioning, you will be hard pressed to do the admiral thing because in the game, you don't have a staff to deal with all the minutiae of a complex battle.
Alternative: A slider where you can adjust the passage of time while "paused" from 0 - 100 %.
This way the OCD micromanagers can have their way but those who'd rather like a more "realtime" or "bullet time" feel, can have their perfect game.
Hope this helps!JoshParnell wrote: ↑Fri Mar 01, 2013 6:37 pmCurrently the game does not pause in menus, and I think I will keep it this way. I like to feel the world continuing on around me when I'm in menus, and, as you said, it also introduces nice opportunities to interact with the menus while you're waiting for something like autopilot.
Post
Tue Jul 04, 2017 5:45 am
#3
Re: Pausing the game
There is nothing more trivial than including a pause function in a singleplayer offline game. (eg: stopping the game loop from doing updates..)
So it can be assumed to be included.
Another thing would be to interact with the game while the simulation is paused (giving commands, handling menus)
That would require more work to implement right.
So it can be assumed to be included.
Another thing would be to interact with the game while the simulation is paused (giving commands, handling menus)
That would require more work to implement right.
Post
Tue Jul 04, 2017 2:51 pm
#4
I have had code before, bad code I'll admit, that does the render updates as part of the game loop.
Re: Pausing the game
It's not always trivial. :VDamocles wrote: ↑Tue Jul 04, 2017 5:45 amThere is nothing more trivial than including a pause function in a singleplayer offline game. (eg: stopping the game loop from doing updates..)
So it can be assumed to be included.
Another thing would be to interact with the game while the simulation is paused (giving commands, handling menus)
That would require more work to implement right.
I have had code before, bad code I'll admit, that does the render updates as part of the game loop.
<Cuisinart8> apparently without the demon driving him around Silver has the intelligence of a botched lobotomy patient ~ Mar 04 2020
console.log(`What's all ${this} ${Date.now()}`);
console.log(`What's all ${this} ${Date.now()}`);
Post
Tue Jul 04, 2017 3:00 pm
#5
Re: Pausing the game
Yes that sloppy design then, when mixing world-logic and rendering.
(or never refactoring the original prototype code, until its too complex to take apart and reassemble cleanly)
But even then. The game could at least remember its timestamps at pause, skip any updates and rendering in the gameloop, and just render a "paused" notification instead.
(or never refactoring the original prototype code, until its too complex to take apart and reassemble cleanly)
But even then. The game could at least remember its timestamps at pause, skip any updates and rendering in the gameloop, and just render a "paused" notification instead.
Post
Tue Jul 04, 2017 3:23 pm
#6
Re: Pausing the game
Well, Silver, that's just because you programmed very badly
Warning: do not ask about physics unless you really want to know about physics.
The LT IRC / Alternate link || The REKT Wiki || PUDDING
The LT IRC / Alternate link || The REKT Wiki || PUDDING
Post
Tue Jul 04, 2017 3:27 pm
#7
Just wanted to make sure people were aware that its not always trivial. xD
Re: Pausing the game
I know.
Just wanted to make sure people were aware that its not always trivial. xD
<Cuisinart8> apparently without the demon driving him around Silver has the intelligence of a botched lobotomy patient ~ Mar 04 2020
console.log(`What's all ${this} ${Date.now()}`);
console.log(`What's all ${this} ${Date.now()}`);
Post
Tue Jul 04, 2017 3:32 pm
#8
Re: Pausing the game
But it is trivial, as long as you're smarter than Silver
There, done
Code: Select all
while running:
if not paused:
updateGame()
render()
readUserInput()
Warning: do not ask about physics unless you really want to know about physics.
The LT IRC / Alternate link || The REKT Wiki || PUDDING
The LT IRC / Alternate link || The REKT Wiki || PUDDING
Post
Wed Jul 05, 2017 12:13 am
#9
Re: Pausing the game
All problems are simple as long as they're someone else's.
"OK, Flatfingers, what's YOUR solution look like?"
"OK, Flatfingers, what's YOUR solution look like?"
Code: Select all
Design the game to be turn-based to start with.
Post
Wed Jul 05, 2017 3:37 am
#10
Re: Pausing the game
Just to be fair, all games *are* turn based. Even if turns are so short the player doesn't notice that they happen. :VFlatfingers wrote: ↑Wed Jul 05, 2017 12:13 amAll problems are simple as long as they're someone else's.
"OK, Flatfingers, what's YOUR solution look like?"
Code: Select all
Design the game to be turn-based to start with.
<Cuisinart8> apparently without the demon driving him around Silver has the intelligence of a botched lobotomy patient ~ Mar 04 2020
console.log(`What's all ${this} ${Date.now()}`);
console.log(`What's all ${this} ${Date.now()}`);
Post
Wed Jul 05, 2017 12:38 pm
#11
Which is is to say, not so much.
If clock-based low-level processing meant every game is turn-based at the mechanics design level, then all the people still complaining that BethSoft's Fallout 3 & 4 aren't "real" Fallout because they aren't turn-based like Fallout 1 & 2 would have to find a different reason to criticize the newer games. (Yes, I know, they already do.)
I'm just saying, you want pausing, you get it for free by designing a game to be turn-based. For the subset of games that work as turn-based fun, that's a nice benefit.
Sheesh.
Re: Pausing the game
This is true in the same sense that human cognition is turn-based -- and thus that a person's entire consciousness can be paused perfectly and indefinitely -- because neurons have a clock speed.Silverware wrote: ↑Wed Jul 05, 2017 3:37 amJust to be fair, all games *are* turn based. Even if turns are so short the player doesn't notice that they happen. :V
Which is is to say, not so much.
If clock-based low-level processing meant every game is turn-based at the mechanics design level, then all the people still complaining that BethSoft's Fallout 3 & 4 aren't "real" Fallout because they aren't turn-based like Fallout 1 & 2 would have to find a different reason to criticize the newer games. (Yes, I know, they already do.)
I'm just saying, you want pausing, you get it for free by designing a game to be turn-based. For the subset of games that work as turn-based fun, that's a nice benefit.
Sheesh.
Post
Wed Jul 05, 2017 12:46 pm
#12
except your brain doesnt have a globally synchronised clock or sim ticks
which every game running on current computing hardware does have, even the most highly paralellised ones
Re: Pausing the game
that individual neurons have limited processing speed doesnt give your brain a global tickFlatfingers wrote: ↑Wed Jul 05, 2017 12:38 pmThis is true in the same sense that human cognition is turn-based -- and thus that a person's entire consciousness can be paused perfectly and indefinitely -- because neurons have a clock speed.Silverware wrote: ↑Wed Jul 05, 2017 3:37 amJust to be fair, all games *are* turn based. Even if turns are so short the player doesn't notice that they happen. :V
Which is is to say, not so much.
If clock-based low-level processing meant every game is turn-based at the mechanics design level, then all the people still complaining that BethSoft's Fallout 3 & 4 aren't "real" Fallout because they aren't turn-based like Fallout 1 & 2 would have to find a different reason to criticize the newer games. (Yes, I know, they already do.)
I'm just saying, you want pausing, you get it for free by designing a game to be turn-based. For the subset of games that work as turn-based fun, that's a nice benefit.
Sheesh.
except your brain doesnt have a globally synchronised clock or sim ticks
which every game running on current computing hardware does have, even the most highly paralellised ones
Post
Wed Jul 05, 2017 9:32 pm
#13
Yes, I'm familiar with computer clocks. My first computer used a 6809E processor -- the "E" stood for "external clock," which meant that although the normal tick rate from the crystal was set to 0.89 MHz [sic], if you POKEd the right number into the multiplier memory address, you could double the clock rate to a blistering 1.8 MHz.
Which is interesting, but also not relevant to games because games (and other apps) don't talk to the clock directly; they go through an API to use a function like setTimer() or setInterval() (such as in Talvieno's simulation) that fires an interrupt after X milliseconds. And a game can have lots of those, all with different values. Which means there's no synchronization to a single global clock, and maybe not even to a single timer interrupt, that makes a game "turn-based" at that very low level, any more than a human brain whose neurons are all firing at different times is turn-based... which was my earlier point.
If you want a real pause capability, you have to build it in at a high level; Silverware was making a funny. My comment was nothing more than that designing a game to be turn-based gives you pausing for free; the end of every turn is equivalent to "suspend all gameplay processing until listenForHumanInput() is fired," i.e., pause. Otherwise you have to make special arrangements for how you organize your core loop, as Dinosawer suggested.
...I swear, 500 years ago you'd have been arguing that angels couldn't dance on the head of a pin.
Re: Pausing the game
I wondered if you'd go there. You went there.Cornflakes_91 wrote: ↑Wed Jul 05, 2017 12:46 pmthat individual neurons have limited processing speed doesnt give your brain a global tickFlatfingers wrote: ↑Wed Jul 05, 2017 12:38 pmThis is true in the same sense that human cognition is turn-based -- and thus that a person's entire consciousness can be paused perfectly and indefinitely -- because neurons have a clock speed.Silverware wrote: ↑Wed Jul 05, 2017 3:37 amJust to be fair, all games *are* turn based. Even if turns are so short the player doesn't notice that they happen. :V
Which is is to say, not so much.
If clock-based low-level processing meant every game is turn-based at the mechanics design level, then all the people still complaining that BethSoft's Fallout 3 & 4 aren't "real" Fallout because they aren't turn-based like Fallout 1 & 2 would have to find a different reason to criticize the newer games. (Yes, I know, they already do.)
I'm just saying, you want pausing, you get it for free by designing a game to be turn-based. For the subset of games that work as turn-based fun, that's a nice benefit.
Sheesh.
except your brain doesnt have a globally synchronised clock or sim ticks
which every game running on current computing hardware does have, even the most highly paralellised ones
Yes, I'm familiar with computer clocks. My first computer used a 6809E processor -- the "E" stood for "external clock," which meant that although the normal tick rate from the crystal was set to 0.89 MHz [sic], if you POKEd the right number into the multiplier memory address, you could double the clock rate to a blistering 1.8 MHz.
Which is interesting, but also not relevant to games because games (and other apps) don't talk to the clock directly; they go through an API to use a function like setTimer() or setInterval() (such as in Talvieno's simulation) that fires an interrupt after X milliseconds. And a game can have lots of those, all with different values. Which means there's no synchronization to a single global clock, and maybe not even to a single timer interrupt, that makes a game "turn-based" at that very low level, any more than a human brain whose neurons are all firing at different times is turn-based... which was my earlier point.
If you want a real pause capability, you have to build it in at a high level; Silverware was making a funny. My comment was nothing more than that designing a game to be turn-based gives you pausing for free; the end of every turn is equivalent to "suspend all gameplay processing until listenForHumanInput() is fired," i.e., pause. Otherwise you have to make special arrangements for how you organize your core loop, as Dinosawer suggested.
...I swear, 500 years ago you'd have been arguing that angels couldn't dance on the head of a pin.
Post
Thu Jul 06, 2017 5:22 am
#14
The only time you'd use a different structure is when you're dealing with online interactions - and typically you don't have a pause at all then, with even turn-based games applying a time limit for online interactions.
Re: Pausing the game
Except that Dinosawer's "special arrangements" are not special at all - in fact, it's how all basically all (competently-coded) games are structured. Even turn-based games. You have synchronisation to a single global clock because it's much easier to structure things that way - usually this global clock is the screen's refresh rate, or some divisor of it.Flatfingers wrote: ↑Wed Jul 05, 2017 9:32 pmWhich is interesting, but also not relevant to games because games (and other apps) don't talk to the clock directly; they go through an API to use a function like setTimer() or setInterval() (such as in Talvieno's simulation) that fires an interrupt after X milliseconds. And a game can have lots of those, all with different values. Which means there's no synchronization to a single global clock, and maybe not even to a single timer interrupt, that makes a game "turn-based" at that very low level, any more than a human brain whose neurons are all firing at different times is turn-based... which was my earlier point.
If you want a real pause capability, you have to build it in at a high level; Silverware was making a funny. My comment was nothing more than that designing a game to be turn-based gives you pausing for free; the end of every turn is equivalent to "suspend all gameplay processing until listenForHumanInput() is fired," i.e., pause. Otherwise you have to make special arrangements for how you organize your core loop, as Dinosawer suggested.
The only time you'd use a different structure is when you're dealing with online interactions - and typically you don't have a pause at all then, with even turn-based games applying a time limit for online interactions.
Games I like, in order of how much I like them. (Now permanent and updated regularly!)
Post
Thu Jul 06, 2017 9:22 am
#15
Early Spring - 1055: Well, I made it to Boatmurdered, and my initial impressions can be set forth in three words: What. The. F*ck.
Re: Pausing the game
...unless you're like me and when I was starting out programming, I found it easier to do everything multithreaded (POSIX threads, btw), so I didn't have a global clock. I had queues and different pipelines and different 'engines' handling the different data flows. Of course, then you can argue which one was the 'real' engine and go from there.DigitalDuck wrote: ↑Thu Jul 06, 2017 5:22 amExcept that Dinosawer's "special arrangements" are not special at all - in fact, it's how all basically all (competently-coded) games are structured. Even turn-based games. You have synchronisation to a single global clock because it's much easier to structure things that way - usually this global clock is the screen's refresh rate, or some divisor of it.Flatfingers wrote: ↑Wed Jul 05, 2017 9:32 pmWhich is interesting, but also not relevant to games because games (and other apps) don't talk to the clock directly; they go through an API to use a function like setTimer() or setInterval() (such as in Talvieno's simulation) that fires an interrupt after X milliseconds. And a game can have lots of those, all with different values. Which means there's no synchronization to a single global clock, and maybe not even to a single timer interrupt, that makes a game "turn-based" at that very low level, any more than a human brain whose neurons are all firing at different times is turn-based... which was my earlier point.
If you want a real pause capability, you have to build it in at a high level; Silverware was making a funny. My comment was nothing more than that designing a game to be turn-based gives you pausing for free; the end of every turn is equivalent to "suspend all gameplay processing until listenForHumanInput() is fired," i.e., pause. Otherwise you have to make special arrangements for how you organize your core loop, as Dinosawer suggested.
Early Spring - 1055: Well, I made it to Boatmurdered, and my initial impressions can be set forth in three words: What. The. F*ck.