A Touch of War - A Real Time Strategy Game for the DS

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/atouchof/public_html/poll.php on line 5
Poll: Are you able to run homebrew on your ds?
I don't have a DS
Active Servers
Recent Servers (Last 24h)
Explosive Gas 0.8b
Oct 21st, 2016
It's been 8 years since the last update, but there were some old OpenGL bugs that were showing up again, so time for a fix!

I also put in better key bindings for up to 4 local players, there's a png in the package showing the keys. They're set up so two of the players use the keyboard from above. Not great for laptops, but then again the game is so good it's worth packing a usb keyboard in your bag.

Have Fun!

Explosive Gas
May 3rd, 2011
Explosive Gas is now available on your Xbox 360!

Head over to FlatheadGames.com for more info.

Explosive Gas
April 24th, 2011
Well, it's been over two years since my last post but I'm finally done with a version of Explosive Gas for Xbox Indie Games. It's currently in the peer review process, which I've heard can take some time. If any XNA devs are out there reading this, you can take a look.

I'm going to put up a bunch of info about the game on FlatheadGames.com as soon as I'm back from a short Easter vacation. For now, you can click the image on the right to get three "screenshots".

The Reality Game v0.6
February 18th, 2009
It's been almost 2 years since the last update of this game. Time flies.

I'm just filling another request from the forums, Zach asked for Checkers and Spoons, but I'm only giving him Checkers for now since it's taken much longer than I thought to resurrect the game.

I also added left handed support for opening and closing the "hand" box(Press L or R) and fixed a few other bugs, but the game still crashes if you hit start to exit back to the main menu.

There's also been a bug on the matchmaking side for the last little while that I didn't notice, so it was impossible to play online, but local games still worked, sorry about that(not that anyone noticed :)). So, remember kids $_SERVER['REMOTE_ADDR'] not $REMOTE_ADDR.

And finally, I hope to get back to updating some of these games, but I've been using my free time to make a version of Explosive Gas for Xbox Community Games and it's been quite a bit more work than I expected, but it's almost ready.
New chat room
September 13th, 2008
Something changed on the web server which broke the old chat room, so instead of fixing it, I replaced it with a new one!
Check it out, it seems quite a bit better than what I had before.
Dedicated Server & IRC Channel
July 17th, 2008
I have to give a big thank you to Specs, not only has he started up a dedicated server for Explosive Gas, he's also just set up an irc channel to help organize games.

So, if you've been wanting to play and have been having trouble getting people together or are been having trouble running your own servers, head on over to irc and get in on the action!

server: irc.esper.net
channel: #atouchofwar
Explosive Gas v0.8
July 13th, 2008
Well, it's been over a year since the last Explosive Gas update, so here you go. The only thing noticeably different in this version is a second map layout. This new map has some holes on the upper level that are useful for surprise dive bombs on people below. Just watch that you don't fall into a dead end.

A Touch of War 0.11c
April 21st, 2008
Another bug fix, this time with the group tabs. Groups weren't getting reset between games, so if you played two games in a row and selected a group created in the first game, the game would crash. Thanks to Pilot_51 for the info.

I also finally got around to writing the high score page for the survival mode, the page is fairly ugly(similar to the Explosive Gas stats page) but seems to be working properly.

A Touch of War 0.11b
April 19th, 2008
Turns out there was a fairly obvious bug that prevented workers from being trained in the latest version. There's a new version that fixes this on the download page now. Thanks to albertwhite, Irokmar and slippy12 reporting it in the forums.
A Touch of War 0.11a
April 13th, 2008
Here's a new version of the game with some of the new stuff I've been working on. It's not quite done and not as user friendly as I'd like, but it's been so long since the last release, I figured it's time to update.
I updated the game to use the latest devkitpro. This should fix network connection problems for new ds's.
There's also a new single player menu with the following options:
  • "Home base" which doesn't do anything yet.
  • "Debug map" for testing, one of the face buttons switches which team you're currently controlling, and the buildings produce guys instantly.
  • "Survival", I haven't played it more than twice, so I'm not sure how balanced/fun it is. The goal is to defend the house for as long as possible while increasingly large waves of enemies come out every 20 seconds. If you have wifi enabled, it will upload your high score. I'll add a high score page soon. Sadly, if you don't have wifi enabled before you play, the high score will get thrown out.
The old game(multiplayer and single player) is hidden away in the skirmish menu.
'ramming Santa 0.3
January 26th, 2008
'ramming Santa is a game some friends and I created for the Drunken Coders Third Annual Christmas Game Coding Competition.

Your goal in this game is to program your player to pick up the gift and deliver it to any of the sleighs. You'll be competing against up to three other players, so watch that they don't push you into the water to slam into you to steal the gift you might be carrying.

Up to four players can play over Wifi, and a single player game with three AI's is included for practice.

I've fixed a few bugs since submitting this to the contest, and changed the game slightly, so there are now four sleighs to deliver the gift to, since having only one made the game a random shoving contest to land of the winning square with the gift in hand.
A Touch of War 0.10a
October 1st, 2007
Who would have thought having a kid could eat up so much free time? And when it comes to the choice between playing games and making them with what time is left... turns our playing them is easier. :)

That said, I've finally gotten around to updating this game a bit, just fixing up a few more glaring issues. Here's the list of what's updated.
  • Added a pause button. Hit start to pause/unpause the game, you can continue to give commands to your troops while it's paused, but give too many and the game may crash, I haven't tried.
  • With units selected, you can now select a specific tree/mine to harvest or a specific enemy building to attack. This doesn't work with building or repairing friendly buildings, you still need to move your workers nearby to do those actions.
  • If you have no friendly units selected, you can select a tree, mine or enemy and see its stats.
  • You can no longer build near trees/mines/other buildings. You need to space them out a bit.
  • Not quite a game over screen, but I added a small notice when you win.
Explosive Gas v0.7
May 7th, 2007
Hi all,
Here's another update. I've added teamplay and some stat tracking. The server can choose whether or not to enable team mode on the main menu with the 'X' button, and players can switch teams between rounds with 'Y'.
You can check out a work in progress of the stats page here.
Explosive Gas v0.6
April 15th, 2007
Here's yet another version of Explosive Gas. I've done a bunch of updating and much needed bug fixing. Here's the list.
  • Updated to devkitPro r20. This seems to have once again fixed some random crashes in the network game. I think I was compiling with an old version of the wifilib for v0.5.
  • Added sounds for the bean can pickup and farting. Thanks Mike.
  • Local Multiplayer! 2 players on a single DS! I didn't have enough buttons for this, so hit your half of the touch screen to release gas(once you've eaten some beans).
  • Rewrote chunks of the multiplayer code to allow for multiple players from each machine. Also allowed for servers with zero players, sort of a dedicated host with graphics/sound still eating cpu time.
  • Increased the packet frequency, this should make for a smoother game, but eats more bandwidth/processor time, hopefully the ds can still handle an 8 player game.
  • Fixed a bug where one of the two screens had an extra layer of garbage over it, I was this on a g6, but I think it also happened with supercards, and possibly others.
Explosive Gas v0.5 - Linux
April 2nd, 2007
Linux version is now up. That should make at least one person happy...
Explosive Gas v0.5
April 1st, 2007
Hey everyone,
I added the very first powerup to Explosive Gas, a can of beans! Now with the 'Y' button('S' on Linux/Windows) you can release fast spreading flammable gas around the playfield in the hopes of trapping someone in a cloud of fire.
I have the ds and windows versions ready, and only noticed recently that the windows version wasn't compatible with the ds or linux version, that seems to be fixed now that I compiled it with gcc on windows, no clue why. I'll get a linux version compiled soon.
The Reality Game v0.5
March 17th, 2007
I just got a request in the forums to update the game to the newer wifilib with the fix for newer ds lites, so this is a quick update mainly for that reason. I also added a shuffle button for all 3 card games, a simple feature but enough to make the game no longer backwards compatible, so if you plan on playing online, make sure you update your copy.
Phys. Ed.
March 10th, 2007
Hey everyone, after being recently impressed by Media Molecule's newly announced game, I decided to look into 2d physics and I came across this video of an MIT physics software demo and was blown away, so I spent a few hours trying to get some 2d physics running on the ds. I know, I'm way behind the times, apparently you can download something from MS that does all this if you have windows and a tablet pc.

Anyway, I started with Erin Catto's Box2D engine, mixed it in with one of the 3d demos from libnds and basically got it up and running. I hadn't done much with opengl in the past, so that part took time, while the box2d code just compiled right in and worked with only a couple of changes to the rendering part of the code. It actually runs somewhat well in some of the simpler demos, but slows down a bit too much when it comes to larger groups of boxes intersecting(like the box pyramid). I don't know when I'll get more time to look into this stuff, but in the meantime you can download the app and code here, I'll post it to my tools page as well. The code is in a state where I'm butchering the physics world timesteps in order to make it run at a real time pace at the expense of physics accuracy, but I included a couple of alternative timestep loops in there if you want to see how it runs while maintaining integrity. Not much to have fun with, but have fun anyway.
A Touch of War v0.9b
March 4th, 2007
Here's another update with some much needed features, mostly small things to make the game a little more comprehensible.
  • Added all building/unit action buttons to the map screen.
  • Finally added some text descriptions for each of the actions.
  • Rewrote the building/unit status area.
  • You can now cancel queued items by tapping on the item itself.
That's about it, other than I fixed the random again, seems I broke it when rearranging menu stuff for the previous version. Hope you all enjoy it.
A Touch of War v0.9a
February 17th, 2007
Time to start with a new version number since I'm actually adding features and not just fixing bugs. This new version just contains one new feature, namely unit groups. I added 9 slots for remembering/setting active groups. To use them, have a group of units or a building selected, tap an empty slot at the top left you want to assign it to and you're done. Tap the number again to reselect those units, tap it with the group already selected to center the screen to their location, and hold the number for a half second to erase the grouping.
A Touch of War v0.8g
January 30th, 2007
Just a couple more bug fixes. Some people have mentioned in the past that the top minimap screen was covered with a layer of random pixels on certain flashcards, I think I've tracked that down, so if anyone sees this still happening, let me know. I've also updated all the network code to the (no longer) latest version(0.3c) of Stephen Stair's dswifi lib which fixed some issues with going online with newer ds lites.
The Reality Game v0.4
January 21st, 2007
No new features, just a near-complete reskinning of the game by Chris Hildenbrand. I'd been sitting on these new graphics for far too long, so I've finally taken the time this weekend to put most of them into the game. As always, if anyone wants me to add in any of their favorite game sets, just leave a message in the forums.
Explosive Gas v0.4 for Windows
January 17th, 2007
And finally, here's a Windows version. I've only tested it quickly after adding sound support through SDL, and there seems to be a problem with a delay before each sound gets played, at least on Windows XP. I'll post another version if I ever figure out what the problem is, but since I don't run Windows, I don't know when I'll get the chance to test it. Otherwise it works great.
Explosive Gas v0.4 for Linux... maybe
January 13th, 2007
Here's a version of the game for Linux, or at least for Ubuntu running on an intel chip, I don't know enough about Linux to say what other distros it'll run on. This is a direct port of the DS version, and they are network compatible. I used GLFW to create a window and access the keyboard, OpenGL for the graphics, and SDL for the music/sound effects. Also, because I'm lazy, I didn't change any of the DS interfaces, so it shares the same buttons(mainly use 'A' for everything and 'X' to show player names) and it doesn't have name entry since the ds version reads your name from the firmware. So, to change your name you'll need to rename the application itself. Replace the "PlayerName" with anything up to 10 characters.
Here's hoping this works, I should also have a Windows version soon... I just need access to a Windows machine for about an hour to get the SDL stuff compiled.
Explosive Gas v0.4
January 9th, 2007
I finally got around to cleaning up a bunch of the bugs and to adding some of the features that had been planned for the initial release but didn't make it in because of the deadline for the contest. So now get ready for a version of Explosive Gas with almost completely destructable environments and with bombs that can ride elevators! Unlike before, This version isn't backwards compatible with the older versions, so I recommend everyone upgrade to increase the odds of two or more people finding each other online...
You can grab it here.
The Reality Game v0.3
November 12th, 2006
One new game, one updated game and one bug fix.
I threw in the board and enough pieces for a game of Go. This is only a "beginner" 9x9 board, since the game is sprite based and I only have room for 128 sprites.
I also updated the deck of cards with some oversized poker chips(I'll have to redraw them), and added a shuffle button that won't reset the chips. That table is a bit of a mess, with the chips seperated into four equal 'stacks'... so you'll probably have to push them aside when starting a game. I'll clean it up when I make smaller chips.
And finally, I fixed a client side crash bug that occured when a client was moving an object around as the host changed the game type.
The Reality Game v0.2
November 5th, 2006
Here's an update to the game, I still haven't tested with more than two players, but I did add scribble chat, a crossword style game ;) and a game selection screen.
The Reality Game v0.1
October 29th, 2006
Brand new game!
No Rules!
Has... um... cards, chess and reversi...
...no chat support of any kind...
...if you play online, I hope you're in the same room...
...and trust your friends...
...never been tested with more than 2 players...
Fun for the whole family!

Seriously now, here's a game idea my friend Rob came up with years ago, and I thought would be fun to play on the ds. You get a table, it has stuff on it, you move the stuff around, your friends can join you and move the stuff as well. You can put stuff in your hand, your friends can't move that stuff. That's pretty much it. Play checkers with chess or reversi pieces! and more!

The game is not quite ready to be played online since there's no way to talk, and I don't have very high hopes that it will work with more than two players, but I've been having fun with it single player and two players on the same couch, so I figured I'd release it as is.

As with the other games I've written, to play online you need your ds's to be configured for wifi with one of the official Nintendo games, and to host, you need to have your router forward port 9999 to your ds(you can find your ds's ip in game).

Adding new games/items should be fairly painless(other than me drawing cards and chess pieces by hand...), so if there's anything you'd like to see added, let me know on the forums.

A Touch of War v0.8f
October 19th, 2006
Time for another update. I made the switch to Ubuntu about a month ago, and it took me a while, but I've finally settled in and found all the apps I need to code with a bit of ease(it's hard to move away from msvc as an ide). But I don't want to turn this into a blog, so here's some game update news...
This is yet another bug fix release, a couple of people on the forums have now mentioned that the minimap "selected area" box wasn't showing up, something I don't quite understand was causing the box to be drawn offscreen, but I managed to get it working regardless. I also fixed another problem that creeped in when I updated libs, the random number generator I was using for setting up the world stopped working, causing all the grass tiles to look the same. So, changing to plain old rand fixed the problem.
I also played a wifi game with this version and it works great, so I've taken down the previous versions.
Explosive Gas v0.2 Source code
September 3rd, 2006
I've decided to release the source code to Explosive Gas. I've been meaning to do this since the ndshb contest ended in early July, but always figured I'd wait until I had it more bug free and stable, but since it seems I'll never find the time to fix it up, I may as well release it as it was. Hopefully, some homebrew ds coders out there will benefit from some of the code in the package. You can download it from the Explosive Gas page.
A Touch of War v0.8e
August 24th, 2006
I finally found some time to fix the crash that Meleeboy0 mentioned on the forums two weeks ago. In the process I also made a slight change to the way the build menus work, it will now choose the icon initially picked when you drag it out to the side, rather than the last one the pen was on when the dragging started.
As a side note, I updated to the latest libnds and wifilib, but I don't have 2 ds's around to double check if the online game still works, the game still connects to my webserver and post that a server was started, so that's a good sign that everything should be ok.
Explosive Gas v0.3c
July 29th, 2006
Another small update with two requested features put in. You can now hit 'X' at any time to display names over the players. And as a server, between rounds, you can turn the 5 second auto round start on or off using the 'B' button. I also tighened up some of the network stuff, so servers should now appear in the list instantly.
You can grab it here.
Explosive Gas v0.3b
July 26th, 2006
Just a small update to fix yet another crash bug.
You can grab it here.
Explosive Gas v0.3 & Updated ima2raw
July 23rd, 2006
Wow, It's been a while since I've done an update. As you may know, we won the ndshb WiFi Game Competition with our entry 'Explosive Gas' earlier this month. If you haven't seen it already, you can check it out here, and if you have, I've posted an update that fixes a couple of network issues and a client side crash bug.

I also fixed a bug in my ima2raw tool that melw, over on the gbadev forums, noticed. Files that were converted were coming out up to 1k larger than the originals. So if you're using this tool(which I doubt you are :)), go grab the update, your games will be slightly smaller.
A Touch of War v0.8d
June 5th, 2006
Yet another build with some memory bugs fixed, this should make the game more stable for both online and offline play. Also, different versions aren't compatible with each other online, so try to use the latest version otherwise people won't see the servers you are running.

And same note as earlier, in order to play an online game your ds needs to be preconfigured to connect to your router using an official Nintendo game (mario kart, animal crossing, metroid, etc.) and if you want to host games you need to forward UPD port 9999 to your ds.
A Touch of War v0.8c
May 31st, 2006
Hey Rocky, watch me pull a rabbit out of a hat.

Another sync bug squashed...

Just a note since it's falling off the bottom of the page, in order to play an online game your ds needs to be preconfigured to connect to your router using an official Nintendo game (mario kart, animal crossing, metroid, etc.) and if you want to host games you need to forward UPD port 9999 to your ds. I'll try to include a readme of sorts in future builds.
A Touch of War v0.8b
May 31st, 2006
Not much new in this build, just a few bug fixes for people playing online. I made the wifi menus more robust, so you should be able to back out of any operation you started without the need to reboot. I also fixed a couple of bugs that caused online games to sometimes lose sync. Hopefully I caught them all this time.
The only non-wifi changes have been a couple of optimizations to help improve the frame rate when you have a lot of units.
Chat room
May 24rd, 2006
I added a chat room here to, hopefully, help people coordinate games.
I guess I could eventually add something along these lines into the game itself, I just really don't feel like it :)
A Touch of War v0.8a
May 23rd, 2006
Time for another update, this time with online play! I've spent some time the last few days fixing various sync bugs in my code, and this is the first version with which I've managed to play a complete network game without any noticable problems, so I figured I'd take my chances and release it before I did find something. I included a fairly bare bones lobby, you can host and join games, but you won't know who you're playing against unless you recognise the other persons ip address. The game's currently limited to 1 on 1.

Taking a cue from blubb, you'll need to forward port 9999(UDP only) if you want to be a server, otherwise you'll get listed in the server list but no one will be able to join.

You'll also need your ds firmware configured to connect to your router using Mario Kart, Animal Crossing, or some other wifi enabled game.
Server Browsing
May 2nd, 2006
This update is purely for DS developers only. I set up a database on this website to track active game servers, it's very bare bones at the moment, meaning it only tracks the IP address of the host, not game related things like number of players in game, max players allowed, etc... So, if you're coding a wifi ds app or game that needs matchmaking, you can have your game server post it's IP here, and have your clients get a list of active server IPs. I've posted a sample app in the Tools section that contains some interface code to do this. It's fairly ugly, but it's just meant to show how to use it, and it's probably pretty close to the interface I'll have in my game. :)
BTW, All the network code is done with Stephen Stair's dswifi lib v0.3.
A Touch of War v0.7
Apr 8th, 2006
Here's the latest, with excellent new graphics, courtesy of Chris Hildenbrand, a great piece of music, courtesy of Mike Keogh, and a bunch of buggy features, by me. The music is being sampled at 11khz because of memory issues, and is full of static because of it. There are a few new features including:
  • Improved minimap which now shows visibility.
  • Patrol paths for units(hold L/R and tap around the minimap).
  • A half decent attack formation.
  • Better balanced units(hopefully).
  • Unit proficiencies. Cav beat Archers beat Infantry beat Cav.
  • Menu to deselect specific unit types.
  • Capability to yell at units that don't fall in line.
Everything but sound and the mic work well on Dualis if you don't have a ds capable of playing this game.
Cavalry defense upgrades will be available for a small fee once https is supported on the ds :).

I also added an ima-adpcm to raw conversion tool(with source) to the tools page.
Mar 5th, 2006
I'm procrasinating on the rts so I threw together a new game, Sumdoku. I'd never seen this variant of the game until today and thought it was pretty neat, so I figured I'd give it a go. I think it took me longer to figure out if my puzzle was solvable than it did to write the game(it wasn't btw, I had to modify it). I'd say it's harder than most sudoku's, but I haven't really played many. Enjoy.
It's compiled in with Crosspics and I haven't posted the source code yet.
CrossPics Update
Mar 2nd, 2006
Another quick update this morning. I changed the touch code again, this time it doesn't register an initial touch until 2 frames of touch are near each other, then it starts lagging the input by 2 frames to avoid any bad touch points when the pen is coming off the screen. There are still some not too common problems when the screen is lightly scraped, but this seems to work well for normal use.
CrossPics Update
Mar 1st, 2006
I've updated CrossPics with some new touchscreen code, it's now checking for two frames in a row that are near each other. While infinitely better for this type of game, it won't work well for games that nead fast pen motion with a lot of samples, like drawing circles quickly.
CrossPics Updates
Feb 22st, 2006
I've updated the game a few times over the evening in some attempts to make the touchscreen code more stable, it's definitely improved since yesterday, but it's still not perfect, random presses still happen. Also, at least one of those builds had a bug that set the top row clues to zero... probably making some puzzles impossible or at least look different, sorry for any trouble that may have caused.
I'll post the source for the game on the weekend, once I've cleaned it up a bit.
Feb 21st, 2006
Welcome to the new site. All's pretty much the same, except I have new forums which don't require registration to post. Also, I threw together a new game last night, CrossPics, it's a picross/nonogram style game with very buggy touchscreen controls. Check out the link to the left.
A new version of A Touch of War should be out within the next couple of weeks.
BMP Splitter v1.0
Feb 5th, 2006
I've been cleaning up a sprite exporting tool I wrote a few of years back when I did a bit of gba coding, it's what I've been using for my rts. It's somewhat user friendly at the moment, so I figured I'd release it publically.
I've never tried other people's exporters, so I have no clue how it compares, or if it does anything differently.
Also included is some sample art to test it, and some exported files that it generated, so there's no need to download it to see what it will do, just grab the sample pack.
I'll put up some nds code to load and display an exported anim soon.
Update. v0.6
Jan 26th, 2006
My first attempt at spending any time on art, I created sprites for the Archer and Infantry. Slight scale problem. :>
Fixed a minimap bug where you could see the enemy in any area you explored rather than just the places you can see.
Toned down the archers effectiveness against units a bit, and a lot against buildings.
Slowed down the workers construction speed.
General News
Jan 21st, 2006
I added a forum page, it's hosted for free by nabble, their servers were responding slowly when I first found them, but they seem fast now. I made a complete mess of the css file trying to make their site use my colors, and a lot of their images are antialiased to white, so it looks terrible. I'm also willing to bet there are still pages in there where you can't see anything without highlighting a chunk of the page, and I still haven't tried any of this in IE... but that shouldn't matter, no one actually uses it.
Update. v0.5
Jan 17th, 2006
Added a menu, you can now select Right/Left handed(hit R/L for a shortcut instead of using the touchscreen).
B/Down(right/left handed) is kill all selected units again.
Added options for 0-3 AI's in the game, they're all hostile towards each other, so it's still easy to win.
Fixed fog of war not being cleared when a unit is killed... Again...
Slight fog of war speed improvement.
Added a countdown for units being made in buildings.
Update. v0.4
Jan 14th, 2006
Added towers. I didn't tell the AI about them though.
Fixed bug preventing new building from being built if you had your max units made.
Fixed fog of war not being cleared when a unit is killed.
Update. v0.3
Jan 8th, 2006
Various speed optimizations.
Fog of war now remembers last seen state of buildings.
Swapped visibility diamond to an unoptimized Bresenham circle.
Fixed visibility to match what the unit sees.
Bug fix for workers repairing enemy buildings instead of damaging them.
Visibility for new buildings in fog of war is now being set properly.
Workers will now work on whatever is closest to them.
Update. v0.2
Jan 2nd, 2006
Small change for left handed people, the four face buttons now do the same as the d-pad.
Wish I had php/mysql... writing in html is painful :>.
First public release. v0.1
Jan 1st, 2006
This is more a proof of concept than a game, but it's still quite playable.
Everything works perfectly on hardware, but it also runs fine on Dualis with the exception of transparency, but that shouldn't affect the game at all, and the touchscreen being off by about 16 pixels vertically.