Demo Faq
BlueNovember
hax Join Date: 2003-02-28 Member: 14137Members, Constellation Posts: 1,669 Advanced user

Your questions answered
Edit: I am still active. Feel free to pm; I'd love to edit this with new content. --Jan 2012Additions and queries welcomed! Would like information on the use of Fraps from a more experienced user.
Guide Aims
- Obtain information on the editing of demos
- Obtain information on suitable applications for the above
- Link to all the demos posted here/ other demo download sites
The basics
=======================
Recording a demo
Execute the command "record filename.dem", where "filename" is the file name of the demo to be recorded. (Note that the although ".dem" extension is optional, omitting it is not recommended. Avoid filenames with more than one period. Ie, "my.demo.recording.dem".)
This can be done via the console or a bind (see More advanced demo recording)
The demo is then written on the fly to your NS directory, ie:
[your steam dir]\SteamApps\[your account]\half-life\ns\filename.dem
("C:\Program Files\Steam\" is the default location for steam installation)
Alternatively, you can use the command appenddemo <demoname> to record a demo and appends it to the existing demo specified in "demoname".
Playback
There are 2 commands that can be used to do this:
- playdemo filename.dem will not give you access to VCR controls
- viewdemo filename.dem gives you the VCR controls (See In-demo controls below)
Advanced Playback
Playing demos from outside HL: SKPlayer (Enter settings, find demo, then runs HL)
See also this thread.
In-demo controls
For basic playback manipulation you can hit escape to use the self-explanatory VCR controls.
For more precise control, you can use the following comamnds: [**Thanks Wey! Need to test these though**]
- dem_speed <1;2;0.5;...>: Sets the playback speed. (1 is normal speed, 2 double speed, 0.5 half speed, etc.) Do NOT set this one to 0; it freezes HL. See below for pausing.
- dem_pause <0|1>: Pauses the demo. (1: pause, 0: play as normal)
- dem_jump <time>: Jumps forward/back in the demo. You need to enter the time in seconds; negative values for time causes a backwards jump
More advanced demo recording
=======================
Speaking as an admin on a server, I find that there are many occaisions where I'd like to record demos at the touch of a button. This can be accomplished easily using the basic script:
CODE
bind x "record suspected_cheater.dem"
bind y stop
...where x and y are keys of your chosing. (Filename is set as such as this is what the demo is typically for. Set it to what you wish.)bind y stop
However, there are occaisions where you have already recorded (and completed) "suspected_cheater.dem", and wish to record another demo. Pressing your "y" key again will over-write the first demo, which is obviously undesireable. To fix this problem I've come up with a simple application of a cycle script:
CODE
bind x "makedemos"
alias "makedemos" "demo1"
alias "demo1" "record suspected_cheater1.dem; speak one; alias makedemos demo2"
alias "demo2" "record suspected_cheater2.dem; speak two; alias makedemos demo3"
alias "demo3" "record suspected_cheater3.dem; speak three; alias makedemos demo4"
//you could add more lines here if you feel you are likely to record more than four demos at a time
alias "demo4" "record suspected_cheater3.dem; speak last; w; w; speak one"
bind y stop
Replace x and y with your desired keys for recording and ending recording respectively. alias "makedemos" "demo1"
alias "demo1" "record suspected_cheater1.dem; speak one; alias makedemos demo2"
alias "demo2" "record suspected_cheater2.dem; speak two; alias makedemos demo3"
alias "demo3" "record suspected_cheater3.dem; speak three; alias makedemos demo4"
//you could add more lines here if you feel you are likely to record more than four demos at a time
alias "demo4" "record suspected_cheater3.dem; speak last; w; w; speak one"
bind y stop
This allows you to record 4+ (expand to suit your needs) separate demos without risking overwriting. When you exit half-life, you can then move them to a different folder and rename them to something more informative. If you'd prefer to give them names before you record, then use the below script.
CODE
alias demo "demo_prompt"
alias demo_prompt "messagemode record; alias demo demo_stop"
alias demo_stop "stop; speak exit; alias demo demo_prompt"
bind x "demo"
alias demo_prompt "messagemode record; alias demo demo_stop"
alias demo_stop "stop; speak exit; alias demo demo_prompt"
bind x "demo"
Replace x with demo record key.
This will bring up a messagemode "record:" input box, into which you can enter your desired demo filename.
See scripting forum for more help with scripting.
Demo Downloads
=======================
Console Gaming
Cal Finals: Exi Vs Terror. A *MUST* see.
Gorge Rushing in all its glory.

Additionally, if you require Demo hosting, Kali has offered unlimited hosting here. (Only for Demos!)
Frag videos (made from Demos)
=======================
Related threads
Ns Demos & Videos, Some questions about recording demo/vids
Summary
- Record the demo using the methods described above
- Convert the demo to a series of BMP files
- Convert the BMP files to an AVI file
- Edit as appropriate
- [Hosting details here?]
Execute the command "startmovie <filename> <fps>", where "filename" is the file name of the demo to be converted to BMP files, and FPS is the number of frames to be captured from the demo file in a second. The recommended setting is 25.
Ie;
startmovie my_frag_video.dem 25
Converting BMP to AVI
[**looking for a more detailed tutorial from someone who uses one of these programs**]
QUOTE (Wey)
You can convert to avis via Virtualdub, Videomach or bmp2avi (VirtualDub is open source, I can recommend it)
Useful applications
=======================
[**I need more information on these; I've never done any of this myself. The wey quotes are all the information I have. They will be replaced by prose in the final version.**]
Frapps
QUOTE (Wey)
Some people also like Fraps ... I don't. Just because it takes a very good HDD to record without framedrops and on a high resolution. And it compresses the movie a bit (not lossless), so you will never get the same image quality as you would get with startmovie. As long as you can (hl, hl2, all quake engines), you should stick to the game internal commands.
Discussion on the use of Fraps here
huffyuv
QUOTE (Wey)
I use huffyuv which compresses between 40% and 60% and is very fast (40fps on a 400mhz machine as far as I remember)
VirtualDub
High end app
bmp2avi - Unofficial site, main one appears to be down.
Videomach
SKPlayer - Download without the need to register here
Useful utility to play demos outside of HL
Demofreak
Provides a heap of information from a HL demo file
<span style='font-size:14pt;line-height:100%'>Credits</span>
=======================Additions, criticisms and queries welcomed!
Post edited by Unknown User on

WTS my two spare NS2 black-armour steam keys
Comments
i think u should note there is no need to type .dem extension manually
record my_demo
viewdemo my_demo
will rec/play my_demo.dem
*but* if you choose demo name with one or more fullstops, 'my.demo' for example, hl won't add .dem extension automatically. it will playback correctly, but different extensions can be quite confusing, if you're not using it on purpose
oh, and fyi this is videomach homepage: http://www.gromada.com/videomach.html
Then there's "playdemo" which doesn't give you the VCR thing however voice_chat is correctly played.
I'll update accordingly.
W00t stickied.
WTS my two spare NS2 black-armour steam keys
modNS Forums - NS1 and NS2: We Wrote The Book On NS Modding
www.fraps.com can rip avi with voice straight from game or demo.
there's also massive set of tools like total recorder that can dump all u can hear to a soundfile. check this:
http://vivisimo.com/search?query=%22total+...=Mozilla-search
Then there's "playdemo" which doesn't give you the VCR thing however voice_chat is correctly played.
I investigated this (after a tip off) and it's not actually correct. Sound plays fine in both modes. Perhaps a fault/bug on your system?
--
Thanks Depot, added.
WTS my two spare NS2 black-armour steam keys
WTS my two spare NS2 black-armour steam keys
Correct
:S
WTS my two spare NS2 black-armour steam keys
if you were a pub player then you dont know who i am.
I am [Pandas]Snakpak. A member of one of the first teams to form during/after first day beta release.
anyway,
I have almost all of my old demos from NS competitive days. I also have the first international competition demos that we played against new zealand and korea.
as well i have demos from other players during those same matches. I also have Charlie's demo from the New Zealand match. I have PUG demos. I have Pub demos.
Pandas Versus:
Co
cX
DG
F&L
nG
xp
psy
EPX
GoM
sYn
Let me know if you would be interested in them. I am more than happy to upload them to a central server for people to download and watch to see how it was done in the first days of competitive NS.
Cheers.
Snak