wildweasel Posted July 9, 2014 I've been thinking about playing through some classic megawads using prboom-plus, and the demo recording and playback functions in that port are amazing, especially the ability to fast-forward and rewind, change camera angles, etc. What I have to wonder, though, is could this be used for gameplay purposes? If I make a mistake in a play session (while a demo is recording), could I then go back through the demo and arbitrarily decide to "take over" halfway through? 0 Share this post Link to post
Ribbiks Posted July 9, 2014 by rewind to you mean you can actually view a demo backwards??? or do you mean reseting and using -skipsec to revisit a specific moment? If prb+ has the ability to legit rewind demos that's damn awesome. If that's not what you mean then I don't see how what you're going for isn't pretty much doable already with frequent saving. also yes you can record a demo, fuck up, then try again: -record demo *die horribly at 500 secs in* -recordfromto demo demo_letsTryThatAgain -skipsec 490 *press the button to take over from demo (idk what it is by default)* 0 Share this post Link to post
Xaser Posted July 9, 2014 I presume he's asking if there's a way to actually do that in-game (i.e. from a hotkey) during recording. Seems the base features exist in command-line-land, meaning it might be doable if it hasn't been implemented yet. Either way, that's a fantastic-sounding idea. :P 0 Share this post Link to post
40oz Posted July 9, 2014 -recordfromto in prboom_plus is what you're looking for. It's an argument that plays back a demo and at any point in the demo, you can press the 'Join' key (I think by default, its J) and the demo lets you take over the wheel, so to speak. As in the player's (in the demo) control stops and you (the actual person watching) can continue playing from where the demo left off at the time you press J, and a new demo starts recording, stitching both old and new parts together. As Ribbiks said, you can use -skipsec to skip to a specified time in the demo in case you get bored of watching the whole thing. Its really arduous without it, as it's pretty common (for me, anyway) to join the game at a point where I'm perfectly set up for a deadly revenant missile in the face, so look for calm parts in the demo to join if you can help it. You should be able to take over other people's demos too, in case you want to play a specific part in a map, or if you want to play a slaughtermap after someone's UV-Max completes the hard part. I haven't tried it yet though. It really is as cool as it sounds :) 0 Share this post Link to post
Ribbiks Posted July 9, 2014 that gives me an amusing "challenge" idea. Someone records a demo up until a specific point, putting the player in a certain position, then it's given to others as a puzzle. like "hey, try to get out of this crazy situation with only 10hp and 3 shells". I suppose that exact thing could be probably be done by just making a puzzley map then dehacking in the starting values. but oh'well, just a random idea... 1 Share this post Link to post
vdgg Posted July 9, 2014 Ribbiks said:that gives me an amusing "challenge" idea. Someone records a demo up until a specific point, putting the player in a certain position, then it's given to others as a puzzle. like "hey, try to get out of this crazy situation with only 10hp and 3 shells". I suppose that exact thing could be probably be done by just making a puzzley map then dehacking in the starting values. but oh'well, just a random idea... Building a close-to-perfection TAS is just a chain of routine situations and "getting out of crazy situations", some of which were planned and some were not. 0 Share this post Link to post
wildweasel Posted July 9, 2014 Cool, so that's actually a thing. But there's no way to "rewind" in the game, while I'm still recording? I would have to quit the game, reload the demo, fast-forward to where I want to take over, etc? 0 Share this post Link to post
40oz Posted July 9, 2014 yes, I believe so. But with some batch scripting you can simplify the process to just F10 + Ying whenever you die and then clicking on the generated batch script to get right back in. I can help you're interested, just shoot me a PM 0 Share this post Link to post
Memfis Posted July 9, 2014 an ingame rewind would be great just like the ability to restart the demo without quitting the game and a command line parameter that gives you a glass of orange juice 0 Share this post Link to post
Doomkid Posted July 9, 2014 Memfis said:and a command line parameter that gives you a glass of orange juice Been waiting to see this implemented into a source port for over 10 years now, an obvious feature I always thought, but it's gone overlooked 0 Share this post Link to post
Never_Again Posted July 10, 2014 A glass of orange juice! What's next, scripting and DECORATE support? Since this is a classic port, e6y would never implement that particular feature. Well, a glass of beer - maybe. If you got him interested enough (hint: think those "sponsored HUDs"). But I reckon even that would be not available for recording, playback or with demo_compatibility. 0 Share this post Link to post
owl Posted May 9, 2018 Did any source port ever make this a proper feature? Being able to press a button rewind 5 seconds would be awesome. You can do this in SNES emulators. 0 Share this post Link to post
Edward850 Posted May 9, 2018 (edited) No. Doom demos don't work like that and cannot shift the game backwards. The closest you can get is rewinding in network ports like odamex, however that isn't a gameplay feature and is built into its network demos, as in network exclusively. Your SNES emulator can rewind because it keeps a number of delta states of its complete memory and execution stack. This isn't something you can simply do with a Doom source port, it's a much different problem with native code. Edited May 10, 2018 by Edward850 1 Share this post Link to post
Linguica Posted May 9, 2018 42 minutes ago, owl said: Did any source port ever make this a proper feature? Being able to press a button rewind 5 seconds would be awesome. You can do this in SNES emulators. Someone once tried something like this: But because it was based on the existing savegame code, it had some serious problems with desyncing. There is no technical reason why someone couldn't implement a "proper" rewind feature, but no one has ever gone to the trouble to make it work properly. 3 Share this post Link to post
Looper Posted May 10, 2018 On 7/10/2014 at 12:29 AM, Memfis said: just like the ability to restart the demo without quitting the game This is the best feature speedrunners don't have yet. Or just start a new demo without quitting the game. 3 Share this post Link to post
Keyboard_Doomer Posted May 10, 2018 (edited) ^ Agree with the above. I also don't see a reason why it would be hard to implement. You can already bind a key to restart a map while not recording and PrBoom+ can also already overwrite an existing demo. Not sure if there are some intentional safeguards to prevent starting a new demo while you're recording that might be hard to bypass. Barring that seems like all that's needed to be done is put the aforementioned 2 features aptly together. Edited May 10, 2018 by Keyboard_Doomer 1 Share this post Link to post