March 29, 2014

Select your favourite Master Levels with doosh

Since my childhood, I'm a DOOM fan (it includes I & II and also works with Quake I, II & III). Indeed, when I was 13 or 14, I bought Doom in the local video game store. I remember the feeling when my eyes were irritated and tired, because I was killing demons with the SSG for hours (with heavy metal in the background). Quite orgasmic!

I'm still playing Doom I (Ultimate Doom) and Doom II, plus the numerous / famous WADs like Plutonia, TNT: Evilution, usually called Final Doom or even Scythe (Brutal Doom isn't a WAD I like, it's too much different compared to the Vanilla Doom. We don't need walls full of blood, to enjoy the game). On my computers, I use prboom-plus, a source port very close to the original Doom experience.

Many months ago, Steam did a nice offer (as they do it several times, every year) and I noticed a special bundle "Doom Classic Complete". The temptation was too strong for this cheap price, I succumbed. It includes: Ultimate Doom, Doom II, Final Doom & Master levels for Doom II.

"Master levels for Doom II" contains 20 different WADs created by various people, from the community. I didn't finish them all, but I saw the videos and it seems to be an interesting challenge. prboom{,-plus} don't have a menu with which you can select a level. Choosing the map you want to play can be really tricky/boring (levels need specific parameters, like warps), but it could be easily avoided. This is when the fabulous SHELL (I should say mksh(1)) helps us.

I created a new directory with the WADs:

ATTACK.WAD       CATWALK.WAD       GERYON.WAD       NESSUS.WAD       TEETH.WAD
BLACKTWR.WAD     COMBINE.WAD       MANOR.WAD        PARADOX.WAD      TTRAP.WAD
BLOODSEA.WAD     FISTULA.WAD       MEPHISTO.WAD     SUBSPACE.WAD     VESPERAS.WAD
CANYON.WAD       GARRISON.WAD      MINOS.WAD        SUBTERRA.WAD     VIRGIL.WAD

Creating a shell menu isn't very hard. I only used select + case. When you run it, a robot hidden behind your computer, asks you a question. You have 20 answers, it could be harder, right?

 1) ATTACK           6) COMBINE         11) MEPHISTO        16) SUBTERRA
 2) BLACKTWR         7) FISTULA         12) MINOS           17) TEETH
 3) BLOODSEA         8) GARRISON        13) NESSUS          18) TTRAP
 4) CANYON           9) GERYON          14) PARADOX         19) VESPERAS
 5) CATWALK         10) MANOR           15) SUBSPACE        20) VIRGIL
Choose your Master Levels WAD: _

As you can see, the levels are sorted by name. This is how "id Software" provides them, so I do not change the order. If you type a wrong number (= 0 or > 20), the program stops, with an error message.

Some options are possible: different directory with -d (or DOO_MLDIR variable) and another skill level with -s (between 1 & 5). By default, it uses "Ultra-Violence" which is 4. Before launching the chosen WAD, the script tests if the file exists. Make sure you specify the valid location. You don't want to see the special error message.

I successfully tested this script with prboom even if I used prboom-plus more often, several years ago. It works flawlessly. The only drawback is when you finish a level. Instead of choosing the next "Master Levels", prboom places you in the next map, from the original Doom II. This is not related to doosh. Anyway, if you play in "Nightmare", you should not reach the end very often.

The script is extensible. I plan to manage all my WADs with it. I hope you will discover "Master Levels" with doosh. Grab it on the git.