With the Duke Hard CBP talk about randomization (thanks to Lunick), I thought I'd try to write something small quickly just to see how it could be done. Well, it took a bit longer than I planned but that's how things always go. Anyway...
This is a "gameplay" modification with a custom CON file (literally eduke.con file that calls game.con, then my custom con file) that leaves the original GAME.CON, DEFS.CON and USER.CON untouched, so you can use this with one of your own mods as well as long as you make sure the gamevar definitions are correct. Basically what the mod does is randomize the level order of any of the four episodes in Duke Nukem 3D 1.5, without telling you (unless you're a cheater). For example the most hilarious order I got when testing this was on The Birth; The game instantly sent me to The Queen and Derelict right after that... with It's Impossible being the last map.
It's literally randomized, which, I noticed, made it surprisingly fun to play through episodes since you have no clue what's coming up next. Depending on the randomization, some orders can bring some new challenges to some of the levels as well if you're used to having weapons or inventory items from previous levels.
Few things to note:
- The game creates a random level order every time you choose New Game from the main menu.
- Killing bosses now instantly ends the level, I had to do this because how their episode ending code worked.
- All nukebuttons are now regular nukebuttons, but you still can use the secret level ones (and visit the secret levels as well).
- Whatever the last level of the episode ends up being, it ends in the correct cutscene and sends you back to the main menu after completion.
- Cheating (DNSCOTTY) breaks the randomization until the next level as this doesn't change the "physical" map order. Don't be an asshole, don't cheat.
- It's pretty rough overall since I wanted to get it to this point. It's as is, but I'll likely revise it a bit further.
- EDuke32 only. Written and tested on r4309, can't promise it works in earlier revisions.
- No original gameplay of Duke3D 1.5 has been changed except for what's written above.
There are really no screenshots to show, but here's one with the progress meter I added (which you can disable by typing "setvar showprogress 0" in the console).
Here you can see I went through Pigsty, Duke Burger, Going Postal and then ended up in The Queen, with seven more levels to spare.
Have fun and let me know if you liked it (or alternatively, found any more issues etc.)!
Shout-outs to Mblackwell.
MapRandomizer-0.2.zip (3.1K)
Number of downloads: 720