I haven’t posted in a while, mainly for the simple reason that my life has recently been entirely occupied by work and sleep, and I’ll leave it to you to guess how balanced those two factors are.
In the brief period I give myself between getting home and going to bed, I’ve been playing around with my old Duke Nukem levels, almost completely inspired by the negative review I gave Duke in an earlier post regarding women in games, heh, but still, I liked my old levels. They were based on The Hitchhikers Guide to the Galaxy, with a sort of weird attempt at a flowing story throughout the series of levels. It was my attempt at making an episode for the game, but it was hardly a Total Conversion. I created some levels, added some custom art, made a couple sounds, and altered the CON files to bind it all together.
The story was basically that you, Duke, were a friend of Ford Prefect (one of the few aliens he didn’t wish to kill apparently). And that you escaped the destruction of the earth with him and Arthur, and of course, you wish to bring your curses home to the Vogons. You start the first level in an airlock waiting to be blasted into deep space along with Ford and Arthur who were ejected from the adjoining airlock moments before. Of course, the regular enemies in the game have taken on the role of the vogons (and anyone else I wanted, since the only non-combat characters are strippers and prostitutes, *sigh*)
The levels span most of the books, the first one was actually the first level I ever made, and it shows. The textures used and the architecture looks dissociative, the keycards are in impossible and completely hidden locations, it’s a mess. But still, I think, better than some of the other maps I had played at the time.
The level spawned a sequel, and then others, spanning the first three books. That was it for a very long time, as I created those levels back when I was in highschool. I can’t remember exactly when, I think grade 11 or something, which is many years ago now.
Sometime later, I got back into Duke Nukem for a bit, and resolved to make a new level in the series. It would be based on So Long and Thanks for All the Fish. It was a tricky level to conceive since most of the book takes place on a mysteriously re-appearing earth, and there wasn’t much for Duke to have done there. So I followed some of Ford’s story instead, and had Duke teleport from place to place, using elements from the books and other books (even have a bit from Young Zaphod Plays it Safe). But it was never finished, and never released. Why? Well, I had many many problems with getting that level working with Duke Nukem’s engine. I wasn’t doing anything particularly silly I think, the engine just couldn’t handle it for some reason. There were points that always seemed to crash the game out with the dreaded Page Granular Limit or whatever it was. It became impossible to play. The other levels suffered from this as well, but less often. I never did figure out what the problem was, just didn’t like me I guess.
Anyway, having become interested in Duke Nukem again, I did some vague searched on the interweb to see if anything was going on with it recently. Turns out that the source code had been released, and people had made ports. That was years ago, and I had sort of missed the boat, however, there were a couple highly regarded ports still online, so I downloaded one. It ran well, and it ran my levels, and it runs on XP without difficulty, so I decided to fix up my levels and re-release them, since it’s now possible to play them on windows (well, the old released game still runs under XP, but not well).
So that’s what I’ve been doing, working on the levels, fixing them up, and working on the last one, finishing it, so I can release them again. I actually had to do some significant fixing to the original levels. See, the port I’m using, JFDuke3d has a couple of problems with stuff I had been doing in my original maps, that the old engine had no problems with, so I’ve had to go fix them.
Here’s a list off the top of my head:
Activators – Activators are special sprites used in the game (among others) that, er, activate certain game effects, like you put one in a door and wire it to a switch and the switch toggles the activator, and the activator opens the door. Also, all sprites have HiTags and LoTags, which are just numbers that, depending on the sprite, mean something to it (so you’d best keep an eye on the documentation). Anyway, in my levels, since it’s following a story, I often need things that happen once. So like you do something that shouldn’t be undone, like lower a door that causes the lower half of a sign to sink into a building (heh, it’s in the books, though I used what the game engine allowed me to mimic the effect). So you wire up a touchplate sprite to an activator, so when you step in the sector, the effect happens. You give the touchplate a HiTag of 1 to indicate it should only happen once. I gave the activators a HiTag of 1 as well, erroneously. Did no harm in the official engine, but in this port, it just doesn’t work. Many things needed fixing.
Time tunnel – I had, admitted, stolen this effect from a different map. It was a neat effect sort of reminiscent of the original Star Gate movie travel effect. It involved a really long tunnel with appropriate textures, where you made the floor of the tunnel a conveyor belt (in effect) moving really fast, and you also lower the ceiling to nearly the floor, and give the sector a water-top designation (so you sort of sink in it, but you can’t actually go underwater). Anyway, this use to work marginally well in the released engine. In the new engine you instantly die, since it seems that you’re being crushed (which is true, but the old engine handled it since you teleported into it and didn’t seem to care, oh well. Raise the ceiling a bit.
Inescapable water – You denote an underwater sector by giving it a specific LoTag. If you happen to be in a sector adjoining it without that lotag, and walk into the water one, you instantly become “under water†but the screen doesn’t tint blue, but everything else appears to work. I had used that effect, not really on purpose, but just because I needed to have you teleport underwater. (Not as part of the going-under-water effect, which is in fact just a teleportation, but actually teleporting to a location underwater). Anyway, on the old engine it worked fine, but in the port it seems to dislike the effect of being underwater without having actually submerged through the usual method, so when you try to surface a little while later, the water-ceiling won’t let you pass. I’ve fixed it by having the teleportation occur above a small area of water so you submerge properly.
Parallax sky – This one was really irritating. Many of my parallaxed skies were messed up. I had used, in many areas (especially in the Krikkit wars level) the lava texture with a different palette to make it look like a storm (or in this case, a dustcloud). It worked reasonably well, and it worked in the original engine. In the port, it just gets screwed up, hard to describe. It seems just not to like the resolution, 64*64, while it handles the 64*400 res textures well enough. So I made a duplicate of one of the other textures and fiddled with it. It’s not animated, but at least it works again.
Anyway, I’m also taking advantage of some of the things allowed me in the game because the port is for the Atomic Edition (which I never had, only the original, so my levels were based off that engine as well). Since a lot of my levels are story based, and involves the need to go one way (like you’re in a ship, you escape before it crashes, use the teleporter to get to a planet, and you shouldn’t be able to teleport back to your supposedly destroyed ship). I had to do all sorts of funky things to mimic one-way teleporters. Now, with this engine, compatible with the Atomic Edition (which included the one-way wonders), I’ve been able to fix up my game to take advantage of them.
Most of the fixup work is done, just needing to finish off the last level. I’ve been thinking of starting a new one, based around elements of the last book. Then that would be all of them.
I plan to give a rundown of amusing stuff in each level here eventually, if only to post more.