Back in school already?! 2014-10-06 06:07:41
Well I definitely fell behind on updating this website didn't I? I ended up in a vicious cycle of having news coming up in just a few days that I held off for and by the time that was ready to be announced, another thing came up. In the end, the original news was old so I didn't really feel like reporting on it, but I suppose I should anyway. A good problem to have I suppose?
First, I should give a status update on the Super 3D Noah's Ark greenlight. (For those of you who have missed that news, it's on greenlight now!) What I have to announce about that is: I was wrong. The game currently has just over 2,400 yes votes and is sitting at a 37% approval rating. From what I've heard, and comparing to the other game Piko Interactive has up, these are pretty good numbers for a green light campaign. I honestly expected much worse, although a lot of the comments there are precisely what I was expected. In any case, if you haven't voted for the game please do so!
Now as for ECWolf, the 1.3.1 release is still cooking. It's taking a bit longer since Havoc submitted support for sampled music. The original plan was to get it in and let the limitations be (including not supporting AdLib sounds and sampled music at the same time) as it would be better than what 1.3.0 has. However, I quickly got fed up with some SDL_mixer silliness and decided to go about fixing things up. So, I've started working on a special version of SDL_mixer which includes Opus support and loop tags for Vorbis, FLAC, and Opus. The primary reason I'm going through all this effort is to get the SC-55 music pack for S3DNA working. I do intend to include that with an update for the 20th Anniversary Edition. ECWolf also now has MIDI playback, although do to issues with SDL_mixer it will not really be supported. I intend to replace that with ZDoom's MIDI code at some point in the future, as I'm sure I've announced before.
Also new in the upcoming 1.3.1 is that Beloko's Android port is now officially merged in and can be built with CMake. Yes, it is indeed possible to build an Android APK with CMake including both C++ and Java code. Surprisingly easy to do, although the developer experience is a little sub par. It gets the job done though, and most importantly I don't need to put up with Eclipse or Android Studio. So with that, if you're a customer for the game on itch.io, you may be wondering about the Android port. I do intend to get it up with the 1.3.1 release, but do know that the build will be labelled as unofficial, I don't know if I'm at liberty to discuss why exactly.
The last thing to talk about here is that I did finally get around to hacking together a demo of "true 3D" in ECWolf. It's similar to demonstrations I've done before in concept, only this time I hacked up a few test levels. Makes the screen shots look way more impressive. The screen shots I have released are indeed staged, but I do assure you that the engine is actually rendering 3D, it just currently has the exact same limitations as stacked sectors in ZDoom. The good news is, the issues should be completely fixable. There is one problem I don't know how to fix at the moment, we need a 3D capable editor. For the demo I did some hard coding to show that it is indeed possible, but I don't want to add a series of hacks to the engine in order to do something that can be done more efficiently with the textual map format UWMF. The problem is there are no UWMF capable map editors in active development, and I'm not even sure there is a Wolf3D editor in active development. To make matters worse, they're all closed source.
Moving away from Wolfenstein 3D, my involvement with Google Summer of Code has more or less ended, but the project continues! I didn't end up working on the exact feature that I proposed, but rather worked on getting the concepts branch of GCC in a state capable of supporting that feature. This turned out to require an implementation of variable templates, which will be coming in GCC 5.0! I just received word from my school that the project was approved for my honors research, so expect to see more from me in the realm of Concepts Lite and separate checking. On that note, I should be attending the upcoming C++ standards committee meeting, which should be interesting. Even when I started the ACC++ project, I never thought I would be looking at a career in compiler development, but that is the path I'm going down at the moment.
In other news that you probably already heard about: The Commander Keen in Keen Dreams source code was released. Probably stole a bit of id Software's thunder there as some news outlets were forgetting to mention that the source was only for the one game in the series. Nevertheless it's cool to see the repository being more popular than some of id Software's own repositories and that some source ports have already started popping up. I've made some contributions to sulix's port since he seemed to be working in a similar manner to how I would have done things. Not that I plan on maintaining a port of Keen Dreams, but I did make some promises that I intend to keep.
Finally I will close this by mentioning that a new version of Zandronum is out. It includes the database system, so I shall now stand by and wait for the "I told you so" moment when it turns out to be a disaster (I could be waiting a long time, but when that time comes!), but at least it defaults to being non-persistent so it shouldn't do too much damage. Maybe I'm the crazy one, but I don't really see the point in giving everyone that level of control. There's a certain line that I feel goes in the category of "just modify the server" and the typical use case for the database (stat tracking) is indeed over that line in my opinion. Obviously the rest of the team disagrees with me, and so be it. There's also an account system now, but details are still being ironed out there. Eventually we'll have an auth server up on zandronum.com and that "awful avatar system" will get somewhere!
Porting from DOS: Catacomb 2 2014-07-11 03:57:41
As some/most of you already know, I played a part in getting the source code to the early id Software games Catacomb and Hovertank released by Flat Rock Software. Part of the deal was that I promised that I would do source ports of the games, but that there would be no time pressure to do them. Well yesterday I, with some help from Havoc, released the first port for Catacomb 2, also known as The Catacomb, CatacombSDL.
I didn't really expect to get this out so soon, but due to a series of events, I needed some code base to prove that porting from DOS to Linux, Windows, and OS X could be relatively easy to do in one step. The end result is I had the game mostly functional in just a few days worth of work. The whole port probably consists of a weeks worth of work, although the actual process was spread out longer than that due to our work schedules. The end result though is that we have a port that is more or less a drop in replacement for the DOS executable with only a few minor fixes (most notable being the help screen working properly in CGA mode). The release notes have more to say on that.
For me, the project is basically where I wanted it to be, so don't expect very active development. However, there are a few points listed in the release notes I'm considering doing. The most likely is merging the original Catacomb code. The two games use the same engine, with the programming language really being the only difference between the two. I also have some interest in switching the code over to C++, as there are some ways to make things more maintainable if it was. So we might be looking at about 2 more releases before I leave the code alone for someone else to take over if they so desire.
As for the other games. I don't have any specific plans at the moment. Obviously if enough time goes by and no one else has taken care of them, there's a good chance Havoc and I will team up again to tackle the 3D games. I know he has more personal interest in those games. My interest in the 3D games is mostly limited to providing a reference platform for a future implementation within ECWolf.
For anyone curious about the process of porting DOS games to modern platform, I wrote up a new article on the topic.
ECWolf 1.3 Finally Released + More 2014-05-26 07:07:56
ECWolf 1.3 is finally released! Once you go through the highlights you'll find that this is a fairly major release for the project for more than one reason. Surprisingly, I was able to keep more or less full backwards compatibility with mods this time around. There are a few corner cases where things still break, but for the most part this is mod and save compatible with the 1.2 series. I do know that this won't be the case for all future releases, but it's cool to see this happening already.
First I would like to announce that Wisdom Tree has endorsed a new release of Super 3D Noah's Ark. The new version using a rebranded version of ECWolf, and I highly encourage anyone with slight interest in the game to purchase a copy (if you don't have one already that is). It is a very under rated game. Most of the purchase price goes to ECWolf and the licensing fee Wisdom Tree offered is a fixed amount (so if you choose to pay more than the suggested price it will all go to ECWolf). If that isn't enough to encourage you, to celebrate the release, the minimum price for the game will be $3.49 for
one week two weeks! For the purists, the release does come with the original DOS binary.
Because of the above, ECWolf now defaults to the GPL license option. Highlights for this release:
- Mostly complete support for Super 3D Noah's Ark. (Needs additional wad for music.)
- The highly requested automap! Similar to the one Super 3D Noah's Ark, Rise of the Triad, and Mac Wolfenstein.
- Spear of Destiny shows map names from hint book.
- Performance increase on many systems.
- 64-bit Windows builds are now officially available since I noticed a performance increase with them while testing S3DNA.
- Improvements to Steam auto detection including virtual fixing of Spear of Destiny data (so that it actually works).
- Changes to file locations. See the table here for transitioning. Also fixed issues with foreign characters in file paths.
- Gamma correction with F11.
- Support for backpacks, map revealers, secondary fire, zooming, reloading, ripping projectiles, among other decorate features.
- Support for sound sequences.
- Function points in the first state of an actor is no longer ignored.
- Map lighting can be finely tuned in MAPINFO instead of requiring the ROTT mapping features.
- Demo loop sequence can be modified.
- Fixed that annoying cosmetic issue where status bar graphics were scaled off by one.
- Fixed health for Otto and Fatface on Death Incarnate
- Mostly fixed the issue where wide screen resolutions increased the size of enemy hit boxes (still need change it to real geometry, but for now it's only off due to precision issues).
- Improvements to 3D sound positioning.
- Experimental support for Rise of the Triad elevators.
The Android version will be updated very soon.
Now to give an update on the future of ECWolf. Some of you may already know that I've been accepted into Google Summer of Code. My free time this summer will be limited because of that so I do need to change some of my projections, but since it just started I can't announce those changes just yet. One thing for sure is that a 6-month release schedule is too much to keep up with, so expect 1.4 to come out about a year from now.
Almost there! 2014-05-04 19:13:09
While subject to final approval, I have worked out a deal with Wisdom Tree to publish Super 3D Noah's Ark. At the moment we will probably be using itch.io to publish the game for $4.99. Wisdom Tree offered the game for a very low licensing fee so most of the proceeds will actually be going to ECWolf!
Now the question is when will I actually release 1.3. Since I'll be going on vacation next week, it's probably not a good idea to rush it out now. The current plan is to release the new stable version the week of the 19th. (Coincidentally the same week as the new Wolfenstein game.) If the Humble Bundle people get back by then saying they would like to publish the game, we'll probably go with them since they're more visible. I did consider publishing through Desura, but I'm not sure I like forcing people to download a client to get the game.
Finally, for those who missed it. For school I had to implement some basic peer-to-peer networking into ECWolf. I have a video of it working below using Woolie Wool/Executor's work in progress mod. (I think this is the first time in years I've posted media on my weblog!) The only modification I made to the mod is make the player non-solid so that I could move out of the starting position.
The plan is to merge this code into 1.4. There are a variety of issues left to solve in the net code, so it will be an unsupported experimental feature for awhile. The point, however, is to ensure that the code doesn't rot and that the engine continues to move in the right direction for multiplayer support.