Additions 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. <3 SDJason and all the guys at NSArmslab
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!