Party of Four Now Being Served
Alas! Amulets & Armor v1.02 has been released for DOS and Windows. And you were wondering, did network play get updated and is it working properly? The answer is a resounding YES! And it is stable enough that I could play it with my kids in a 3 player game for several hours without a hitch (excluding the death of my youngest child’s character, pouring of tears, and convincing her to keep playing in god mode). But in this last round I was able to pull out a few stoppers and surprise myself. First, this release has the Windows release of A&A Classic. I wasn’t happy with the way players would have to setup weird network configurations in .bat files, so I quickly pulled together a launcher somewhat similar to the Minecraft launcher. When you run it, you’ll see the launcher has a web page and three buttons to configure the A&A server, A&A network play, and just run it single player. What was amazing to me was how I was able to throw it together in a day using the Microsoft Visual Studio 2012 (free) Express Tools. Until then, I thought you could not build user interfaces in Express, but just so happened to click on the right option and get a dialog box editor to appear. ‘Course, as a firmware software engineering, I knew close to nothing about C++ .NET so spent a majority of the time looking up the API on the internet. But, lo and behold, a launcher formed and now lets you know about the latest news for the game. Cool, very cool. I almost put in an auto updater in there too, but decided that is for the next release. Got to get something out. And, yes, DOS Box users can network into the A&A server and play with their Windows friends.
WiX is Evil
Second, I put together a Windows installer using some free tools. Looking around, I choose to use a tool called WiX. It is a fairly powerful Windows Installer, but its documentation is clear as mud. Downloading WiXEdit helped some, but some basic ideas still were needed. Overall, I got an installer made, but there are few features missing that I would like to figure out to do (how add a dialog asking about icons and such). Its out there, but, again, figured it was better to get something out there quickly.
Community Edition – Three Pronged Plan
So where are we going to take A&A next? I have to admit there were not enough bug fixes made to A&A Classic v1.02 and a hotfix was put out immediately afterward to fix issues with character saving. There are still many bugs reported in our tracker. So more work is planned to be done here in the short term.
Additionally, we’re about to release an editor for A&A that will allow players to do new maps. Some wiki pages need to be added to explain how use Doom Builder to make maps, but all the basics are there.
But I’ve been thinking about the Community Edition and I think we’re ready to really start pushing hard on this. Here is the general outline:
Prong One – Engine Improvements
- Higher Resolution Graphics – The old 320×200 graphics mode is definitely the lowest out there. I want to allow users to have higher resolution modes up to the highest their card handles. The graphics underneath may not be the greatest, but there is no reason we cannot improve the view. The user interface will have to be cut into pieces and placed around the screen.
- Better Color Graphics – The current game runs in 256 color mode. I want us to go into 24-bit mode. And not just the rendering machine, but also the graphics in the world.
- PNG for Graphics – PNG is an excellent format for making images of higher resolution 24-bit images. Additionally, it has very good compression. The old A&A method required converting graphics into an intermediate format called “CPC” files (compressed .PIC files). The new engine will load the .PNG files into memory and do whatever transformations necessary at load time.
- ZIP files for Resources – I’ve always liked the way Java uses .zip/.jar files for resources. I want to get rid of the .RES files the current engine uses for .ZIP files that anyone can put together and modify.
Prong Two – Editing of Maps and Data
- XML for configuration files – This one is a bit open ended, but data tables and character files will be stored in human readable XML files. Want your character to have a 50 strength instead of 20, just go in and edit it with a text editor. Each class will also have a new XML file and, maybe, just maybe, new classes can be added to the game. In the end, I want people to be able to experiment with balancing out the different classes.
- Items – New items can be added using the existing art and features of the game.
- Map Editor – Cannot have new adventures without new maps. Might be a few tricks here and we’ll probably have to customize Doom Builder for our needs, but I think we can continue to use this editor. We might even make the map levels saved as XML files that can be hand edited!
- Campaign Editor – Maps can then be strung along into campaigns or groups of adventures with your own special fun intro text. Each adventure will have a MacGuffin item and off you go. Probably a text file at first, we’ll try to put something together to make this easier.
Prong Three – Modder’s Delight
- LUA scripts – I’ve already determined that I can add LUA scripting to the A&A game system and put in hooks to allow all types of new features. I already see ways to add new creature AI and effects without breaking the existing system! I’m even debating if scripts instead of XML files makes more sense for new items (I’m very hopeful).
- Mod System – Using the above mentioned .ZIP file system, mods are merely a collection of scripts and graphics. installing a mod will be as simple as dropping it into the ‘mod’ directory. Based on comments from Xusilak in the last post, I’m going to see if we can make it so characters and items can exist through multiple campaigns. I too would love it that if an item is found in one campaign/mod that it can be carried into another campaign/mod. I’m guessing that that, however, may be more than we can do. Let me see how well we can encapsulate an item from the rest of the world. At the very least, each item will just require a certain mod be in the mod directory in order to work or is replaced with a ‘not available’ icon.
- Fancy level scripts – Using LUA, the scripts on the maps can be made much more complex (if needed) than before allowing for mini-games. I don’t know if we’ll be playing chess anytime soon against an opponent, but the complexity of the puzzles can be brought up a notch or two more than “Pull my switch”.
And there you have it. Although I’ve spoken about many of these items in the past, these goals feel more real than ever before. I have LUA compiling, an Editor is working, higher resolution graphics has a known solution, XML is only a few steps away, etc. As usual, it comes down to WORK. To keep this work from bringing down the game and bug fixes, I’ll be making a fork in the A&A Source Code for the Community Edition version. The Community Edition will be where all these new ideas will be worked on. I’ll keep fixing bugs in the Classic Edition, but at some point, I expect the differences to be too numerous and the Classic Edition will be frozen and no longer worked on.
The above outlines a huge amount of work. Let me know what you think about it and what you like the most. It’ll help me put items in the right priority.
Watching with anticipation, great work! Can’t wait to contribute maps and mods.