Sunday, December 19, 2010

Changes in Chaos 1.4

I've uploaded another version of Chaos to the Market. This adds the oft-requested "Quit" feature. Now you can leave a game at any time by selecting the option from the game menu. Once on the splash screen, if you press "back" the game will exit and you'll be returned to the home screen, or wherever you were when you started the game.

The second change reduces the size of the frame width around the board. In the GBA version I had increased this to 16 pixels (2 GBA hardware tiles) so that scrolling was less pointless. When the whole game fits on a single screen with space to spare, having such a large border doesn't make sense. This decrease in the total game board size means the graphics are slightly bigger than before once they've been scaled up. Here is a screen shot showing the before and after versions of the game screen so you can compare:

You can just about see the extra pixels used on the left and right of the screen. Now the game reaches to the ! on the "USB attached" icon and to the 2 of the 22:00 on the clock. We're only talking a few pixels here, but it's better than nothing.

I fixed a minor bug that caused the game to show the meditate spell incorrectly on the "examine spell" screen. No biggie there.

The last change I've made is to reduce the size of the APK file. What can I say? I was using uncompressed sound files, and now they are MP3-compressed. The APK size went from 512K to 160K, and the installed size went from around 800K to 380K. This was such a simple change that it reminded me of the Daily WTF article about the software company that added a pointless loop in the code that they reduced by an order of magnitude every now and again for an "amazing speedup".

Finally, I've released the GBA and Nintendo DS versions based on this same code base. I had a C++ semi-rewrite that ran on the DS, the old C code for the GBA, and then this version of the GBA C code tidied up for Android. The Android version also incorporated the bug fixes and improvements from the DS version, including the new spells. Now that I've finally figured out how to write cross platform code without too many hacks, all of these are based off of the same common C core.

I've created a new site with the Nintendo DS and Game Boy Advance downloads as well as some instructions on how to play on Android.

The hardest part about testing the GBA version was dusting off my old Windows 98 laptop, finding the "Flash Advance" adapter (the drivers came on floppy disk!) and copying the GBA file onto the aging flash cartridge. My current laptop doesn't have a printer port, so there was no other way to get the GBA files onto the flash cartridge. Here's a photo of my workshop set up on the dining room table.
My own computer museum

The photo was taken using a DSi of course :-) Suffice to say my dear wife was not impressed. I was accused of being like Jean Michel Jarre, surrounded by gadgets.


  1. Can't thank you enough for this game, takes me back to my Speccy128 days. One thing I'd like to request, could you map the sound of the attacks to the sound setting? When I set sound to off, when attacking the sound effect still plays. Considering I usually have a quick 1v1 game whilst 'dropping the kids off at the pool' when I'm at work, quite embarressing! ;o)

  2. Rob, I've got fix for that. Keep your eyes peeled for an update in the next few days.

  3. I think I'd feel honoured if my wife compared me to JMJ... Nice to see an old GBA homebrew setup, btw.


Note: only a member of this blog may post a comment.