Jump to content

Modding new Enemies for Duke Nukem: A look at what I was doing back in the late 90s.



Well Ion Maiden was released this week. Enjoying it well enough. I was also delighted to hear it is created from the Build engine as well as being built directly from EDuke, thus should be fully moddable.

EDIT: And then 3dRealms turned out to be woke douchebags who bent over backwards for the vermin at ResetEra as well as censoring any dissenting opinions on any forums under their control. So scratch modding this game. But I'll leave this blog up showcasing my 90s modding of Duke anyways.


Thing is while I'm not familiar with the newer builds of EDuke I actually did a great deal of modding of Duke Nukem. Especially in the context of porting enemies from other games, programming them in with the limited scripting system Duke provided for modders to use. Sadly I never uploaded my work, due to having a dial-up modem potato internet at the time (Uploading a 50 meg+ mod on a 56K would take nearly a day, as well as time up the phone line the entire time).


Once I finish playing through Ion I'd love to create an enemy asset pack from DOOM and/or Wolfenstein for the modding community to use as they wish. For the time being I decided to dust off some of my ancient Duke mods just to have a look at them. They'd make a great starting point afterall, being I already programmed the rosters of both those games. Haven't really touched them since the turn of the century too, so was a nice chance to take a scroll down memory lane and get a glimpse of my early programming days.


(From this point on when I refer to "Vanilla" I'm referring to Duke Nukem 3D with the Atomic Expansion, which was far more limited in what could be mod coded in than EDuke32).


And well, there was some good news and some bad news. The good news is I was able to get both my Wolfenstein and DOOM conversion packs working with the modern version of EDuke32. Bad news is they are much rougher than I remember, lol. Among other things Vanilla had a lot of hardcoded features that could barely be edited, if at all. Weapons and projectiles in specific were limited to only being able to alter their damage, ammo qualities, and the way enemies/players reacted when struck by them. Another problem was it was only possible to spawn new objects in the direct center of the object spawning them, causing all manner of ugly alignment issues. Scaling was a little clunky too, causing monsters to often start out huge and only becoming their proper scale after they began to pursue the player.


Duke's palette isn't exactly well matched to DOOM or Wolfenstein either: part the joys of being limited to only 256 colors in a game. Though I've actually gotten good at manually converting palettes so anything I bring over to Ion should at least get a quality color conversion.


But anyways I created some videos showcasing both my Wolfenstein and DOOM asset pack for Duke Nukem. Keep in mind they are really just demonstration videos of the enemies in action, rather than fleshed out stages.


Here's a glimpse of my Wolfenstein port. And yes I'm playing with God Mode on, only making a minimum effort to hide it. Just wanted to show the enemies in action:


One thing that was impressive about this asset pack is the amount of optimization I put into the enemies. Vanilla have a very small hard cap on the amount of custom code your allowed to add, only allowing room for about 20 enemy scripts. I managed to create a roster of over 40 enemies by making them clone a couple of basic scripts, using exceptions scripts for their unique behaviors. I actually ended up running out of art space, another of Vanilla's limitations.


An actual demo stage I create. Well by created I mean its a ported DOOM2 stage I heavily modified. WARNING: Lots of explosions and enemies yelling. Apparently 90s me just wanted to create an insane showdown stage:



And here's a demo of my DOOM mod. This one is much more of a mess. Partially because I adapted it to a very early build of EDuke. One that is stuck in that Windows 98 era limbo in that it won't run on a Windows 7/8/10 PC yet also cannot be emulated in DosBox. So I had to port it to modern version of EDuke32, which runs it but with in a rather buggy matter. It also shows just how little you could do with weapons/projectiles in Vanilla, with all the DOOM weapons and enemy projectiles being clunky sprite swaps (The Manacubus fireballs are particularly cringe worthy). The early build of EDuke I built it with hadn't covered that yet. One interesting thing of note is I created a custom palette for this set that is much closer to DOOM's palette:




Honestly I cringed a bit when I was playing through this. It shows a lot of my lack of programming experience back then, so many rough edges, such as the monster animations being too slow/fast. Guess I'm being self conscious about it. Part of it could just be the newer version of EDuke I ported it too (I'm pretty such the RNG system was changed). But it will at least make a good point of reference for porting the DOOM cast to Ion, will just need a lot of cleaning up. And I won't be bothering to port the player weapons, which will save some headache (As much as I like the DOOM shotgun Shelly wouldn't look right with DOOMGuys big, hairy arms, lol).


Just for fun I uploaded a video of a tech demo stage that shows some of the more surreal stage effects you can make with the Build Engine. Build has no issues with multiple rooms occupying the same physical space, which can create some trippy situations:




For now I'm going to enjoy playing through Ion. Poked around in its files a bit already, it is open scripted which is good news (Blood and Shadow Warrior were not, making modding in new AIs impossible for those games in their vanilla form). I've also started on making a some conversion palettes for converting DOOM assets to Ion's palette. Its mostly a clean conversion, but shades of blues and flesh tone red/pink had to go through some adjustments:




Here some early tests. In the case of the Caco and SS (just to showcase shades of blue) the left image is the DOOM original, the middle is what happens if you try to auto convert them to Ion's palette with an art tool and the right is my test manual conversion. Still experimenting around to get the best effect, but as you can see the loss of shading is much less in my version.


In the case of the Pinky demon it becomes more of an issue. The top is the original version, the bottom are three different conversion tests I've done. The one on the left looks probably the closest, but may not hold up well to Ion's light mapping. Welcome to the joys of the days before 32 bit palettes :P....


I also created a Star Wars themed asset pack (You play as vanilla Duke, not a Jedi through) as well as a "Hey that enemy is cool. Let's port them!" pack too. I can upload demo videos of them as well on request.


Recommended Comments

There are no comments to display.

  • Create New...