Super 3D Noah's Ark 2013-05-13 19:46:30
So I wanted to write about this a little while ago, but due to a pending server migration I've been putting it off. With that complete, time to write.
As the title of the post suggests, I would like to take a moment to thank Wisdom Tree for sending over a copy of the game and some loose source files. After ECWolf 1.2 is released (hopefully in the next few weeks) I plan to start adding support for the game. I've already mapped out the entire executable in a disassembler so it should be a fairly straightforward process, but we'll see how long it takes before it becomes a proper port.
Before discussing some of the technical details of the game, let me first review the game as I have taken some time to play through it entirely. To my surprise the game is actually quite fun. In fact, I would even say the game is more fun than Chex Quest since Wisdom Tree didn't tone down the difficulty because the game was for kids. The level design isn't anything spectacular, but a majority of the secrets are marked in some way so it's obvious that some thought was put into the game. The graphic design is questionable in a few places, but overall it's what you would expect from a kid's game. Once you get over any preconceptions over what it is, it really is fun for all ages. At least the DOS version any way. If you're interested, the DOS version of the game is available for purchase from their website.
Now for the part that people come here for: What's new in the Noah's Ark engine (over vanilla Wolf3D)?
- Texture mapped floor/ceiling - Like most of the games based on the engine. Noah's Ark has textured mapped floors and ceilings, but only allow one texture for the entire map (similar to Blake Stone and ROTT). ECWolf already supports this via the defaultfloor/defaultceiling properties. If I recall correctly any way, the texture used is defined in code.
- Automap - Uses an automap similar to that found in the SNES version of Wolf3D (make sense) or ROTT. I know a lot of you are waiting for this.
- MIDI music - This one surprised me. From the loose files it looks like the SNES version of Wolf3D used MIDIs converted to a custom format, so they added native MIDI code to the DOS version. This may be the single feature that holds the full port back from 1.3, but we'll see. Obviously at some point the sound code will be addressed as the Mac version of Wolf3D and ROTT use MIDI as well.
- Projectile weapons - Based loosely on the flame thrower and rocket launcher in the SNES version of Wolf3D. ECWolf supports player missiles, although I may need to check for game play differences.
- Cast call - Uses a zoom-in effect of sorts. Also used for the Game Over screen if I recall correctly.
- SNES like status bar - Basically it includes an item (fruit) counter. Probably would be wise to have status bar scripting ready.
Overall the engine is quite similar to the DOS Wolf3D code. Even the actor states are only slightly modified from the Wolf3D counterparts as they generally only touch the death animation (sleeping) although there are a few exceptions. There may be a few other changes, but those are the ones that are notable. One last comment on the game is that the DOS version is obviously a conversion of the SNES game as monster placement sometimes has monsters facing in odd directions (the graphics are directional in the DOS version unlike the SNES).
Two quick hits to wrap up this post: Doomseeker 0.10b was released a few days ago. I would link to the site, but it's being transitioned to a new server as well at the moment. Secondly, Woolie Wool/Executor has released a port of Gary Ragland's Assassinate Hitler for ECWolf.
Rise of the Triad 2013-02-17 16:08:16
This post probably won't be new to the 5 people who hang out on the IRC channel, but I guess I should probably be posting my ramblings here a bit more often.
First off, I would like to give shout out to Sherbalex for his donation. With it I finally got to play Rise of the Triad. I have played a few level from the shareware before, but having the retail game gave me an excuse to actually sit down and play through the game. In some ways the engine is both more impressive and less impressive than I thought it would be. For example, I never noticed that the game had a primitive dynamic lighting system in it. On the other hand, collisions with push walls is often lacking and it's quite easy to get stuck inside a wall.
Linking this story to ECWolf, I've taken the opportunity to do a little more research on how things work in ROTT. I was a bit surprised to see that ROTT only allows one floor/ceiling texture for the whole map, but I was more interested in how the switches and semi-scripted actions work. Turns out that they're using the 3rd map plane to assign tags. In all, it appears that the system works somewhat in reverse to how Doom does things. In Doom a switch is given an action to perform on a tagged object, where as in ROTT the object is assigned the action and then linked to the activating switch. There's still more for me to examine here, but given that I plan to support ROTT in the future, I hope to enable a 4th map plane in ECWolf which behaves identically to ROTT's 3rd plane. Unless something gets in the way, this should appear in version 1.2.
I've said that the next game I plan to support in ECWolf is the Mac version of Wolfenstein. I've found all the information I needed to read Mac binary files (for those who may be looking for how read these files, my resources were: Macbin spec, Resource file format). While it was probably determined to be the wrong way to do things since Apple is effectively deprecating the resource fork, it is kind of interesting how this meant that Mac Wolf could get mod loading for free. It simply loaded the scenario's resource fork over the main binary's fork and that allowed graphics, maps, etc to be replaced at the OS level.
With that research done, I believe it is safe announce that ECWolf will be fully compatible with all Mac scenarios. All the user needs to provide is a macbin of the game executable (technically only the resource fork is needed) and a macbin of the scenario files. There's a lot of work to do here, so while I've already written the code to load the macbin files ECWolf is still a far ways off from being able to play the Mac stuff.
I may have lied a bit about Mac Wolf being the next game to be supported. That may actually end up being Super 3D Noah's Ark. I've been in contact with Wisdom Tree Games and they have the source. Currently waiting for them to send it, but some external issues have been dragging the process out. I'll be sure to post an update when I receive the game and source to announce the plan going forwards.
ECWolf 1.1 Released 2012-12-17 22:43:59
While a little overdue (after all the ending to Spear of Destiny was embarrassingly broken), ECWolf 1.1 has been released! This is first and foremost a bug fix release, but there are some major features in there. For one, I've lifted the weapon and movebob code straight from ZDoom. While working on that I managed to also accidentally implement y-shearing, so mouse look is also implemented. It is locked behind a cheat code since there is no Z-axis at this time. (Use Tab+M to enable it while in debug mode.)
Executor/Woolie Wool has also updated the techdemo for the release (it is worth mentioning here that there are a few steps required to run any existing mods on 1.1). The new release utilizes a few of the new features including enabling the weapon bob.
Update December 23rd, 2012: ECWolf 1.1.1 has been released. This release fixes a few game breaking issues especially with Spear of Destiny. Thanks to BaronOfStuff for finding most of the bugs.
ECWolf is Released 2012-09-20 09:19:35
So it has been about one month since my last post here already. I sure have been keeping myself busy (which is why it took 2 days for me to write this). Anyways, on Tuesday I released ECWolf 1.0 (although I forgot to bump the version number so it says 0.9999 in the executable, guess I'll pretend it's a homage to Doom's 0.99). Besides a few minor issues the release seems to be going about as smoothly as a 1.0 release can go. If you would like to give it a try, click the ECWolf tab on this site. If you don't have Wolf3D, the shareware version is provided on the downloads page.
There are a few things I would have liked to have up by this release, but didn't have time for. The patching utility isn't working on Windows at the moment. I have an issue with the bzip2 library symbol resolution that I can't quite figure out. Fortunately most people seem to have the correct release of Wolf3D (the one shipped on Steam, included with Return to Castle Wolfenstein, among other sources). The other issue being I didn't have time to document the mod APIs available. An observant person could likely work out most of it by studying the scripts in ecwolf.pk3, but obviously I can't expect people to be willing to do that. This is partially what happens when you schedule website maintenance within the launch window of another project!
In the mean time it should work well for playing the game. On the downloads page is a tech demo which Woolie Wool/Executor produced for the release. I think it does a good job of showing off many of the features available in the current version (it is by no means exhaustive), and it is quite fun to play as well. I believe it requires the registered version of Wolfenstein 3D to play (so the shareware data won't work).
Speaking of the website maintenance. Zandronum actually has a real website now. The only comment I have to make about the design is that it seems to look a lot better on IPS monitors. It is horribly purple on my Dad's cheap monitor, but there's not much I can do about that. (No I didn't do the artwork for the website, I just did the coding.)