SDA logo
Marathon demos

A marathon demo is a demo which spans across several levels, recorded in one take. By the naming convention used in the Other Games section here on SDA, a marathon demo could also be called "Single Segment".

For a list of all current marathon records, please visit the marathon demo section.

How to record a marathon

Recording a marathon is in no way different from recording any other demo in Quake. Make sure you use the appropriate version of QdQstats for the episode you are running. You may still use your typical bind, for example bind e "record marathon e1m1". But, once you finish with e1m1 (or whatever your first map in the marathon is), you just continue your running on the next level, and on the next, and the next, and next etc. Do NOT type stop in the console until you've finished the last level you wanted to run in your marathon.

The general rule says that for run marathons, you only have to finish the game properly. For 100% marathons you also have to complete the missions of the game, for example by picking up runes etc.

What to do with the marathon you just recorded

This is where your problems begin; once you are pleased with your marathon demo and want to check it out, you try playdemo marathon in the console. It starts out OK by playing the first level, but when the second level begins, things screw up bad. This is because of a bug in Quake. But NO WORRIES, your recording is (probably) in order.

Before you can watch your marathon you have to "compile" it. The compile program comes included with the QdQstats download. It will take as input a single Quake marathon demo file, and create as output a pak file with the marathon demo split into parts.

Marathon compilation is a little convoluted but here's how it's done:

  1. Create a compilation directory somewhere.
  2. Extract the contents of compile.zip (found in the QdQstats download) into it.
  3. Copy demtool into the directory, unless you have demtool in your path.
  4. Put a copy of your marathon demo into the directory.
  5. Open up a command window and cd your way to the directory you created.
  6. Give the command compile marathon.dem pak1.pak Note that you must supply a pak name, otherwise the compilation process may crash in an uninteresting way.
  7. Compilation is done. The next time you want to compile a marathon you will only need to perform steps 4-6.
The standard content of compile.bat does not seem to be too intelligent. Here is a variant which is a little safer and also manages to remove grenade counters from the marathon, should any be present:
@echo off

rem !! Compile.bat
rem Usage is: compile demoname.dem pakname.pak

if "%1" == "" goto help
if "%2" == "" goto help

mkdir tmp
copy %1 tmp\foo.dem
copy /y demtool.exe tmp
cd tmp
demtool -g foo.dem
..\mldem foo.dem x mvdemos.bat demos.lst
del foo.dem
call mvdemos.bat

cd ..
.\mlpak %2 tmp demos.lst
del /q tmp
rmdir tmp

goto end

:help
echo Compile.bat
echo Usage is: compile demoname.dem pakname.pak

:end

How to watch a marathon

To watch a marathon .pak file that you created following the instructions above, or downloaded from somewhere on this site, you have to perform a few steps.

How do you compile a coop marathon?

Most likely, get the .dem files to SDA staffer mwh, who has a complicated script that knows what to do.