What is this? ============= "t3m3_local.dem" and "t3m3_keygrip.dem" are edits of the original demo file "T3MATCH3.dem". "T3MATCH3.dem" was created by merging multiple demos of the final game of the LPB division of ClanRing Tournament 3. This resulted in a demo that always shows all players, and shows any entities visible to those players or observers. You can find that original demo file and readme in the "original" folder, if you're curious. "T3MATCH3.dem" has issues that these new edited versions fix. The reason there are two new demos is that they are meant to be used in two different situations, which will be described below. But each of the new edited demos has the following changes compared to that original demo: * In the original demo, observers are visible as white player models. This is pretty distracting! In the new demos the observers are no longer visible. * Also, in the new demos the different players wear distinct jersey numbers and helmet designs, to help tell players apart. This change requires the custom player model (progs/player.mdl) that is distributed along with these demos. These demos are for "NetQuake", i.e. not QuakeWorld. So you can only play them in a Quake engine that supports the original NetQuake protocol. The original demo was meant to be viewed in WinQuake or GLQuake, but many other modern Quake engines are still perfectly capable of playing NetQuake demos. To get ready to watch the match, place the "matchdemo" folder and its contents inside your Quake directory as a game/mod folder, i.e. next to the "id1" folder. The folder and file structure needs to be preserved; specifically: * The "matchdemo" folder needs to contain the "t3m3_local.dem" and "t3m3_keygrip.dem" files. * The "matchdemo" folder should also contain the various "cfg" files. * The "matchdemo" folder needs to contain the "progs" folder, and the "progs" folder needs to contain the "player.mdl" file. Now to watch the match you have two options: the easy way, and a more fiddly way if you're chasing a retro aesthetic. Each way is described below. Game info ========= The game begins at 2 minutes and 20 seconds into the demo playback. The team jerseys are: Unforgiven (yellow team) name number helmet decoration gOLluM 0 none batch 1 red strip graphik 2 2 blue strips Thorn 3 yellow strip + 2 yellow dots Death Row (red team) name number helmet decoration B2 0 none Spear 1 red strip Thresh 2 2 blue strips Unholy 3 yellow strip + 2 yellow dots How to watch, the easy way: =========================== Some modern Quake engines provide a free-fly mode while watching any demo. For example Qrack (https://quakeone.com/qrack/) can apparently do this, as can JoeQuake (https://j0zzz.github.io/JoeQuake/). I went with JoeQuake since a Linux-buildable variant is available at https://github.com/matthewearl/JoeQuake-1 . (BTW note that if you do build the JoeQuake executable for Linux, you still need the "joequake" mod folder that comes with the download of the prebuilt Windows version.) The description below was written for using JoeQuake, but some other Quake engine that supports free-fly demo viewing should work in about the same way. There are some specific settings I recommend, in the "autoexec.cfg.jq1" file in the "matchdemo" folder. You can rename that file to "autoexec.cfg" to get those settings applied on game start. This takes care of: * Hiding the HUD bar at the bottom of the screen. * Binding the TAB key to show the scores table, which involves momentarily revealing some of the HUD bar. * Binding the "Q" key to the "freefly" command (this one is specific to JoeQuake). (There's also a slightly different "autoexec.cfg.jq2" file, but go ahead and try out the settings in "autoexec.cfg.jq1" first. At the end of this section I'll describe the difference between the two.) Launch JoeQuake normally. You can use the "-game matchdemo" command-line argument if you want to make sure to launch directly into that game/mod and avoid having JoeQuake potentially mess with your id1/config.cfg file. Or, if you launch JoeQuake without any "-game" argument, use its "Mods" menu to select "matchdemo". Once the "matchdemo" game/mod is active, configure your movement controls, video options, mouse sensitivity and invert settings, etc. to be the way you want for demo-viewing. Using the "Demos" menu you can now start the "t3m3_local" demo. If you're running in a low resolution you might not see the whole name of the demo, so make sure to pick the correct one. You can also just use the console and enter the command "playdemo t3m3_local". Once the demo is started, if you're using JoeQuake along with those recommended autoexec.cfg settings above, press the "Q" key to enter free-fly mode. Or use the console to enter the "freefly" command. You'll see the JoeQuake "Demo UI" bar at the bottom of the screen, where you can use your mouse pointer do things like fast forward or jump around in the timeline. To allow looking around in freefly, hold the right mouse button. An alternative freefly setup for JoeQuake is available in the "autoexec.cfg.jq2" file. If you use this setup for your "autoexec.cfg", then after starting freefly with the "Q" key you can look around without needing to hold down the right mouse button. However, the "Demo UI" will not normally be available. To make the "Demo UI" appear in this arrangement, hold down the "E" key. How to watch, the retro way: =========================== Back in the day of course, this match demo was intended to be viewed using WinQuake or maybe GLQuake, which don't have an inherent free-fly demo viewing mode. So instead, the Keygrip program was used to set up a service that would play the demo as if it were currently happening in a Quake server. You could then connect to this Keygrip "demo server" using WinQuake and it would let your client fly around like an observer. You can still do this, with a bit of setup. Probably the main reason to go to the trouble would be if you really want the 90's match-viewing experience; no modern Quake engines with a demo free-fly mode can also be configured to really look like good old WinQuake, as far as I know. There are two parts to configure and run: Keygrip, and your Quake client. We'll take these one at a time: Keygrip ------- For Keygrip you can use the last stable release version 1.0.6, usually distributed in a "keygrip16.zip" archive e.g. at https://www.gamers.org/pub/idgames2/planetquake/keygrip/keygrip16.zip This archive has a few things in it, but for this simple demo-viewing purpose you can ignore the "move2id1" folder. You just need the "keygrip.exe" program and its "NViewLib.dll" library. This is a Windows-only program, but FWIW I've had no trouble running it on Linux using Wine. To set the initial Keygrip preferences on first startup, you may need to have a file named "Winquake.exe" in your Quake directory (the "WinQuake Path" in preferences). We're not actually going to be launching WinQuake from Keygrip, so this doesn't have to be a real program of any sort; there just needs to be a file there with that name. Other than "WinQuake Path", you don't need to mess with the rest of the Keygrip preferences. The original README.TXT for "T3MATCH3.dem" mentioned disabling "Sound Editing" to speed up the Keygrip UI, which you can certainly do, but on modern systems it's not necessary. Once Keygrip has started, use the "File->Open" menu. Browse to the "t3m3_keygrip.dem" file and open it. Now select "View->Demo Server". In the resulting dialog, UNCHECK the "Fix View" and "Fix Position" checkboxes. If you later find that the demo plays back too quickly, you may also need to change the "Playback Speed" slider here; in my own situation I have to move it two notches less than Max. (This does make the in-game flying a bit more choppy unfortunately.) Keygrip is now waiting for you to connect a Quake client and view the demo. Once you're done viewing the demo (see below) you can quit Keygrip using the "File->Exit" menu selection. Keygrip will raise a dialog asking if you want to "Save the changes" to the demo... just select "No". (There shouldn't have been any changes, but why take chances?) Quake client ------------ The gotcha here is that most modern NetQuake-compatible Quake engines cannot successfully connect to a Keygrip demo server. For whatever reason, they will print errors about bad network messages. The original WinQuake executable might be a fine option, since that's what was originally intended, but in my situation Winquake.exe running on Linux (using Wine) was not able to see and connect to the demo server. You might have better luck. I ended up using Qrusty Quake (https://github.com/cyanbun96/qrustyquake/). This Quake engine has a solid retro aesthetic and can connect to the demo server successfully. The description below was written for using Qrusty Quake, but some other Quake engine that can connect to the Keygrip demo server should work in the same way. There are some specific settings I recommend, in the "autoexec.cfg.qq" file in the "matchdemo" folder. You can rename that file to "autoexec.cfg" to get those settings applied on game start. This takes care of: * Suppressing view kick and roll movements that the original chasecam observer experienced. * Hiding the HUD bar at the bottom of the screen. * Binding the TAB key to show the scores table, which involves momentarily revealing some of the HUD bar. * Binding some other keys to Keygrip controls (see below). * Enabling mouselook. When launching Qrusty Quake, use the "-game matchdemo" command-line argument so that any options tweaks you do for demo viewing will be isolated to that game/mod folder. Configure your movement controls, video options, mouse sensitivity and invert settings, etc. Use the console command "connect localhost" to connect to the Keygrip demo server and start watching. If you have access to the Keygrip demo server dialog (in another window or screen from your Quake display), you can use the playback controls there during the game. The Keygrip keybindings mentioned above can also be used from within Quake during the game. They are: * r : restart * t : rewind * y : play backward * u : pause * i : play forward * o : fast-forward If playback is paused, the "rewind" and "fast-forward" keys will move the action by 1 frame. Otherwise they will move the number of frames configured in the Keygrip demo server dialog, in the field labelled "Fast Forward while playing is". ============ Joel Baxter October 2025 https://neogeographica.com/site/pages/attic/t3demos.html