Func_Msgboard: Recording Demo's And Protocols

News | Forum | People | FAQ | Links | Register | Log in

|  | Recording Demo's And Protocols

Posted by Orbs [77.249.156.206] on 2012/06/19 20:49:17

As you migth have read in the e1m5qouth thread, i fried my videocard last week. And now can onyl run softwarequake pretty crap (it crashes pretty often) glquake nto at all, but fitz seem to run fine (except it doesnt run as smooth as it should but thats np).
I still have a some sort of project goign on and i need to do a couple more runs to complete it. All other demos are recorded in the standard protocol (i used joequake-gl).
Is it possible to change the protocol in Fitzquake? Or to convert the demos? Or is there a other custom engine i might be able to run wich uses the standard protocol?

#1 posted by Spirit [80.171.83.149] on 2012/06/19 21:59:10
Use Quakespasm.
You can specify the protocol with sv_protocol.
If the demos are standard protocol 15 then any engine should play them out of the box regardless of sv_protocol though.
Yes.
#2 posted by metlslime [159.153.4.50] on 2012/06/19 22:23:15
in fitzquake, set sv_protocol before starting a game. It can be "15" or "666" -- 15 is the standard protocol compatible with all engines.
There is currently no converter that can handle 666 demos. But several engines can -- at least DirectQ and RMQ can run them, plus I think Baker has released one or more engines that support it, but I don't know which ones or what they are called.
Oh Yeah
#3 posted by metlslime [159.153.4.50] on 2012/06/19 22:24:02
and quakespasm
Thx For Tips
#4 posted by Orbs [77.249.156.206] on 2012/06/19 23:20:26
Its kind of strange, it seems trivial when quake decides to crash. i tought i figured it out and winquake seemed stable on this (onboard)card but at some point (or a certain map) that started crashing to.
Then my AV gave a warning about fitz when that crashed. Then i found out i can watch demoes in joe-gl np, just when i start playing it stutters and crashes (oh and i dont see a menu nor console, good thing over the years i learned the menu by head). But in the end if i find somethign wich is stable its stable and i can play/record/watch np...until i change map or something
quake hasnt beem so exiting in years!:)
#5 posted by necros [99.227.156.158] on 2012/06/20 04:50:11
Is there some kind of info that talks about how to load a demo file? Might be an interesting project to make a demo converter of some sort.
Demo Tools
#6 posted by mwh [120.136.5.22] on 2012/06/20 07:59:05
There is plenty of code to read dem files, for example http://speeddemosarchive.com/quake... or indeed many of the things in the "source code" section of http://speeddemosarchive.com/quake... (some even in Turbo Pascal!!).
It's a fairly grotty format though.
#7 posted by necros [99.227.156.158] on 2012/06/20 08:57:54
didn't know that remake studio source was released. i remember goofing around with that way way way back. :)
i'd probably try to do it in java if i did it at all. i have way too many things on my plate atm, but thanks for pointing me towards that.
#8 posted by ZealousQuakeFan [82.16.80.21] on 2012/06/20 13:41:39
Is Quake like Doom, ie given the same player input entirely deterministic? or does it do anything more complex than that? :E
Dem File Format
#9 posted by Mandel [80.217.95.105] on 2012/06/20 17:50:36
The dem file format is documented by Uwe Girlich (author of lmpc) at http://www.quakewiki.net/archives/... (not sure if that's the original URL).
I don't think you could call Quake deterministic, there's a lot of random events (calls to rand in progs.dat) Not sure what the random seed is though. Thus, demo files do not track player input. Rather they store entity positions, frames, angles, etc, for all entities, not only the player.
Oh And
#10 posted by Mandel [80.217.95.105] on 2012/06/20 17:53:36
what's this project of yours, Basil? Heh now I'm curious!
Its The..
#11 posted by Orbs [77.249.156.206] on 2012/06/20 18:33:21
never ending project! i think i got half of the work done now. I'm never good with planning but should be a mather of weeks till i got something
ZQF:
#12 posted by metlslime [159.153.4.50] on 2012/06/20 19:34:52
playing back demos is deterministic, but playing a fresh session with the same input is not, because quakec calls random() sometimes. Also it's framerate-dependent, so faster/slower framerate will affect physics and timing.
#13 posted by mh [109.79.191.190] on 2012/06/21 00:36:57
Some of the rand () calls in e.g. the particle system can give different results between different playbacks too. I just seed the generator with an int derived from the first 4 chars of the demo file name (and since it ends with ".dem" it will always be at least 5 chars) to work around that, then re-seed it with the current time (in microseconds) when done.
Demo File Format
#14 posted by mh [109.79.191.190] on 2012/06/21 00:39:21
Is just the same as Quake's network stream but with a handful of extra bits added. Much the same code is used for parsing both. It's slightly nasty in that it mixes text with binary file I/O, but otherwise it's quite straightforward.
#15 posted by mwh [120.136.5.22] on 2012/06/21 00:49:36
I guess the grottiness I was referring to is the lack of framing inside the blocks -- you have variable length messages and the length of each message depends not only on the message type but also which bits are set in the message-type dependent 'mask' flag (and on knowing which bits of the message are meant to be variable length things like strings). I can understand why it was done like this, but it's a pest if all you want to do is extract the position of entity 1 over time :-)
#16 posted by mwh [120.136.5.22] on 2012/06/21 00:51:23
Oh and there's also my completely crazy Python-that-genrates-C-to-be-used-... code: http://bazaar.launchpad.net/~mwhud...

Post A Reply:

Name: |
Title: |
Body: |

Website copyright © 2002-2013 John Fitzgibbons. All posts are copyright their respective authors.