Wait a second. How to playback files saved via command-line method? Easy, ensure no BLOOD000.dem - BLOOD999.dem files exist in game folder (if you must, just move them elsewhere). Then playback using command-line "-playback FILENAME.dem". Easy. Wait. It doesn't work! Do you get "src\db.cpp(1144): Error opening map file" error message? No problem. Use my "Blood Recordings Fixer" program.Official Single Player Maps
e1m1 - e1m8
e2m1 - e2m9
e3m1 - e3m8
e4m1 - e4m9
e6m1 - e6m9 (Post Mortem)
cp01 - cp09 (Cryptic Passage)
Oh, please don't try this on custom/multiplayer maps. This is intended for official Blood maps (with exception to Cryptic Passage) which have episode & mission numbers.
1. Why would I want to record a demo, even fix my demos? I can use DOSBox recording facility and generate video files and easily upload to youtube...
A. Recording demos is fun and generate small recording files which you can share & others can download very fast. Getting to the point, I have been trying to get Blood speedruns (fastest level completion) entered into http://www.speeddemosarchive.com/ website to help promote Blood. The problem is, we are not allowed to use DOSBox since emulation is not allowed (due to possible hacking, emulation speed up, etc). The only possible way to get around this is to get user demo recordings working. If you cannot use SPIELBERG cheat then you can use command-line method. However command-line method was intended for custom-user maps demo recording and not original single-player levels. For example, it seems to be storing e1m9 as the level numbers in user recorded demo files. Level e1m9 doesn't exist since the last mission in episode 1 is 8. My program fixes this by inserting the correct episode & mission numbers.
2. What are demo recording files? Why are they small & convenient to upload/download?
Demo recording files do not store monster movements or triggers. What do they store then? They only store user's keystrokes & timings. So a demo recording file is a long list of keyboard inputs or mouse movements & button presses at specific timing intervals. This is very similar to Doom, Duke Nukem 3D, Quake demo recording files too. When you playback a demo recording file, it just loads the level and plays the game as if you were playing it, but using pre-recorded keystrokes & mouse movements. The games logic & monster AI is deterministic and always stays the same.
3. What/who inspired to the creation of this program?
I got the idea from the Doom & Duke Nukem 3D speedruns that were submitted successfully on SpeedDemosArchive website. Doom & Duke Nukem 3D are older games than Blood, and hence require DOSBox or a source port (Boom, Duke_w32, etc) to run on today's Windows XP/Vista/7 PCs. It seemed it was allowed to record the demos in original MS-DOS Doom (or Duke Nukem 3D), possibly being played on original MS-DOS hardware aswell... and then played back on the source ports that can run on Windows XP/Vista/7 and use FRAPs (screen recorder) to record to youtube video. Just as long as the recorded demo files will play back on original MS-DOS Doom (or Duke Nukem 3D) fine then that is valid for submission.
Pordontae inspired me after I saw his amazing speedruns. Check them out when you have time:
http://www.youtube.com/watch?v=jqR2BZuN ... playnext=1
4. Blood's sourcecode has never been released and therefore no sourceport for Blood exist. Blood can run natively under Windows XP (maybe with VDMSound for the sound, optional though), however, it runs in a MS-DOS prompt under Windows XP. It is known you cannot video capture MS-DOS prompt windows. How do you propose to video record the playbacks then?
A. The only best solution is to have 2 PCs, one PC playback Blood has a Sound Blaster compatible card and is running Windows 98 or XP. The second PC has TV Capture card. Blood playback fine under XP.
5. Okay, I want to record speedruns now! Tell me how it will go?
A. I am hoping that we can record the demos under DOSBox so we can play comfortably with sound. We worry about the playback in native Windows XP/Visa/7 later. Even if SpeedDemosArchive doesn't accept VDMSound (coz that's emulated sound), then I've got a real SB16 that works in Windows XP.
To record a specific level, just type:
Code: Select all
blood.exe -record bloodX0Y.dem -map eXmY
Demo recording automatically stops when you quit out or complete the level. Even though you go onto the next level, it won't continue recording. So you must stop and use the above command again for the next level. SpeedDemosArchive prefer all levels starting with default health (100%) & default weapons (pitch fork) anyway.
To playback, use my demo fixer program, then just run blood normally. It will play any files that is named in the following convention "bloodXXX.dem" (starts with 'blood' word, ends with *.dem file extension, and any number for the XXX). Obviously it plays in numerical ascending order, and will play continuously in a loop (playing all bloodXXX.dem files).
To play a specific demo file, type:
Code: Select all
blood.exe -playback somefile.dem
Recommended Blood version to use is at least 1.11 or 1.21 (One Whole Unit).
If you use spielberg cheat then you don't need to use my fixer program. I didn't like this at first because it showed "YOU CHEATED" at the end. But on playback it doesn't show this message.