Basic Recording & Playback
To record a game, type in console record "name", while the file name shouldn't have any special characters or spaces. The demo file (.dem extension) is saved in your current game directory, e.g. \hl2\name.dem. You can start recording anytime within a running game and stop recording with the stop command.
If a changelevel occurs while recording, the current demo file will be closed and a new demo file name_2 (name_3, name_4, etc.) is created. To playback a previously recorded game, type playdemo "name".
If you want to use demo playback for system benchmarking use timedemo "name". Timedemo plays a demo as fast as possible and shows performance stats after the playback is finished (total drawn frames, seconds needed for playback, average frames per second and variability).
Anytime while playing back a demo file, the Demo Playback window can be brought up by pressing Shift+F2 or the demoui command. The Demo Playback window allows to pause and resume, change playback speed or move your camera viewpoint.
To load a new demo file hit the "Load…" button and choose a file from disc. The current loaded demo file name will be shown right beside the "Load..." button. The current and total playtime is shown right below. Using the slider on the right, you can adjust the playback speed between slow-motion and fast-forward (0% to 600%).
To change the camera's viewpoint, switch to "Camera drive mode" by pressing the "Drive..." toggle button. The button will stay in the pressed-down state as long as the "Drive Mode" is active. To navigate the camera, move the mouse out to the viewport, keep the LMB pressed and move around using the W, A, S, and D keys. You can move up and down with Z and X, and slow down with the Shift key.
There is also Demo Editor & Demo Smoother option available in the Demo Playback window. The Demo Editor allows you to add and execute a set of commands during demo playback. These demo commands can display text, fade in/out, change the FOV or run any other console command. The Demo Smoother can be used to smooth out the recorded view or create completely new camera paths.
Demo console commands
|SkipAhead||Skips demo playback ahead to a specified tick and resumes playback.|
|StopPlayback||Stops demo playback immediately.|
|PlayCommands||Executes a console command.|
|ScreenFadeStart||Fade screen in/out.|
|TextMessageStart||Shows a simple text message.|
|PlayCDTrackStart||Starts playing a CD track.|
|PlaySoundStart||Plays a .WAV or .MP3 sound file.|
|Pause||Pauses playback for given seconds.|
|ChangePlaybackRate||Changes the playback speed.|
|demo_debug <0/1>||Shows additional demo debug info|
|demo_fastforwardstartspeed <factor>||Go this fast when starting to hold FF button.|
|demo_fastforwardramptime <seconds>||How many seconds it takes to get to full FF speed.|
|demo_fastforwardfinalspeed <factor>||Final playback speed when holding the FF button.|
|demo_interpolateview <0/1>||Enables/disabled view interpolation between demo ticks|
|demo_quitafterplayback <0/1>||Quits game after demo playback|
|demo_recordcommands <0/1>||Record commands typed at console into .dem files|
|demo_pause [seconds]||Pauses demo playback, seconds optional|
|demo_resume||Resumes demo playback|
|demo_togglepause||Toggles demo pause/playback|
|demo_gototick <tick> [relative] [pause]||Skips to a tick in demo. If the relative parameter is 1 the tick is an offset to the current tick. If the pause parameter is 1, playback while be paused when tick is reached|
|demo_timescale <scale>||Set the demo playback speed as a factor, 1.0 is normal playback|
Here is a list of console commands which are required to hide HUD in demos for recording movies.
- sv_cheats 1;
- cl_drawhud 0;
- hidepanel all;
- cl_draw_only_deathnotices 1
If you want your awesome plays to get featured in our official “Ultimate Plays” videos then submit your recorded demos (.dem file) and we will definitely provide you the opportunity to get recognized among the gaming community. Help us to help you. Thank You.