Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
JPL

Tech Idea: Cross-Port Intermediate Demo Format

Recommended Posts

18 minutes ago, chungy said:

Is there a term I'm missing? Can someone explain "scrub"? It seems to have no entry on the Doom Wiki...

It's a video editing term.

Share this post


Link to post
57 minutes ago, chungy said:

Is there a term I'm missing? Can someone explain "scrub"? It seems to have no entry on the Doom Wiki...


To elaborate on Quasar's answer, this is the act of dragging a slider slowly over a video timeline to find an exact period; often slowly to study in a practically frame-by-frame manner.

Share this post


Link to post

Ah alright, thanks. That's actually exactly the process I've used to get screenshots for the Freedoom website :P

Share this post


Link to post

(deleted, missed the second page's reply to a question)

Share this post


Link to post

That is the one reason a new demo format will not result from this, everybody has different goals.

From the title of this thread, my proposal is very much viable and on target.

 

Some people have gotten excited about being able to scroll through a demo like it was a video.

That is not really the main function of a Doom demo, which is to record the play for later playback.

It is possible to scroll any demo playback, if the demo player being used transforms the demo to some reversible format, such as proposed.

If it saves the playback details in that scrollable format as it plays a demo, it can scroll back the demo and replay.

Not every port needs to use that scrollable format for Demos, just the one that wants to scroll the demo playback.

That scrollable format then can be tailored to that port, and does not need to have insane levels of compatibility with the other ports

(insanity is what happens to the port developers trying to maintain that compatibility in such a monster format).

 

Because it records so much detail, that scrollable demo format is going to be incompatible with every other port.

It does not address the problem of why demos are not compatible between ports, so it is not likely be common to all ports.

 

I already consider demo formats to be broken, so they are a low priority item on DoomLegacy in the first place.

A scrollable demo is not on my list of needs for a demo format.

A new scrollable demo format, designed for some other port, is just going to be a pain to maintain.

Why would such a thing be desirable for any (all, most, whatever portion of) the port developers reading this.

 

To get a common format that most port developers could implement, it will have to have loose requirements,

like in my proposal.  Everything added to the current demo format will have to be optional and extremely flexible

in recording, subject to local interpretation in playback, and each optional part must incrementally improve the playback accuracy

individually, as any part may be re-interpreted or ignored by some of the ports.

 

Share this post


Link to post
10 minutes ago, wesleyjohnson said:

That is the one reason a new demo format will not result from this, everybody has different goals.

From the title of this thread, my proposal is very much viable and on target.

It's litteraly listed in the OP. It may not be your goal, but it's the goal of this thread. Please stop trying to hijack this, you aren't helping anything with this behaviour.

Share this post


Link to post

Yea, there's definitely a lot of potential value for something like the one being proposed than this weird alternative of a demo that is designed to not synchronize but instead constantly recovering from minor desyncs. Something like that doesn't add any new value compared to the OP, it's just a lot of code with no real benefit to the format.

 

I don't think this should have the goal of supporting every feature in every engine. There is plenty of value to be gained by having something that encompasses the vanilla/Boom level features that most engines support. I think it's at least worth prototyping as proposed at this point, and if there's excitement for it then it'll make its way through ports and forks to add support.

Share this post


Link to post

Is the benefit in this a format all ports can replay vs. a format that allows recreation of gameplay in an unambiguous way? I think the latter is perhaps more attainable.

 

In other words, a format that exports all changes to map geometry and objects (and player state of course) but otherwise leaves map rendering to the engine may suffice for the benefits of this format over a static video.

 

A "universal replayer" program could be created that may interpret the demo format within the context of various engines, but without requiring every engine to be able to render every demo (which I don't see adding much value).

Share this post


Link to post

It occurs to me that such a demo format should be an extension to the existing demo formats, i.e. include both a raw ticcmd stream and a map-delta stream.  The ticcmd stream will be tiny compared to the map-delta stream, so size is no reason to not have both.  People who want the "genuine" playback can use the ticcmd stream (on same port with same CL etc), and people who just want to watch the demo can use the map-delta stream on any port supporting it.

Share this post


Link to post

Having both could also be helpful for regression tests -- a demo compatible port could run the demo from ticcmd and compare with the map delta. Desyncs could be detected in the tic where they happen.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×