About Demos

Demos were the original reason I started looking at PK, but in fixing demos a lot of other things need to be in place first. But before I explain that let me give an overview of demos as they are now.

Firstly when existing demos are played, they are simply rendering the few entities that you can see and nothing else. There is no game running, the player objects arent real, items/models are only there when you can see them, local player has no model. Also names are left out, comments, there is NO health or armour information. When you do not see the opponent, there is no way of telling where he is (I believe – need to check that).

This is slightly annoying, since I had planned to at least write a converter into any new/improved format. The fact a lot of the information I want is not there stored, or cannot be determined from the gameplay, is frustrating.

However, in order to create a new demo format – one where, say, you can run it at any speed, switch POVS, go spec, make movies from it. Effectively what I need is to write the netcode to file, and replay it. Obviously I would not want to store it at rendering fps, or even at netcode fps. To play it back, everything needs to be smooth, being played from any framerate. Of course this is where interpolation comes into play, and why it is so very important. With smooth interpolation I can replay demos and fill in the missing information.

The only thin I have yet to do is to tie up some loose ends of an initial snapshot of the level (item respawn times, etc), although in truth, this can just be captured from the netcode.

0 thoughts on “About Demos

  1. [q]Effectively what I need is to write the netcode to file, and replay it. Obviously I would not want to store it at rendering fps, or even at netcode fps.[/q]

    fyi btw, I believe existing pk netcode stores every frame, which is why the demos are so big.

  2. I haven’t messed with demos lately but I’ve had autorecord on lately. I can’t play any of the demos. Crashes PK with script lua or whatever problems.

    Does PK++ not work with demos? Or is it just PK++ 1.41?

  3. Yes its a 1.41 ++ bug. So demorecording cant be disabled by PK ++ GUI imo indeed.

    About the console and custom clientFPS: try open the config.ini and set:

    Cfg.MaxFpsMP = 0

    This will unlock the clientFPS like /setmaxfps 0

  4. Demo recording can be clicked on/off to disable auto. Actually seem like it doesn’t work all the time (only works on pk++ servers?) Have not tested.

    Will try that config. setting Thanks. Need to try to get new PK disk like DC suggested but want to wait until new code testing done. Not sure how long I’ll be without PK when I send in disk for replacement.

  5. I tried about 5 different locales (countries?) and PK disables the set of keys the ` and ~ are on. Weird stuff.

    Do you think when the demos are fixed that files recorded with current code will play? They crash PK++BF 1.41 now.

Leave a Reply