Hey there, everyone! Happy Thanksgiving! I'm just about to nod off to sleep, but before I do, I just want to get one little blog post in...
Well, after a very, VERY long delay, I'm releasing TunnelTanks 0.3. You know TunnelTanks? That game I was working on several months ago? Before I got the Nexus One, which got me all interested in the Android Framework and the JNI? Ring any bells? No? Oh, well.
So, for the uninitiated, way back when, I was being all nostalgic about an old DOS game called Tunneler that my sister and I used to play on my mom's old IBM laptop. Well, after tinkering around with cave-generating functions, I decided to start writing this game for myself using SDL, and name the subsequent project TunnelTanks. So, after a long hiatus, I've rediscovered the source code directory, and got back to work. Here are some of the new features:

- Bases have been added, so every tank has a place that they can call home.
- Energy and health is now tracked by the game engine, allowing things to die. (Finally!) Also, both energy and health can be replenished at your base, but only energy can be replenished at enemy bases. (And slowly at that.)
- Fixed a noticeable bug, where small bits of the level could be erased by getting really close to something, and then turning towards dirt.
- Lots of code improvements, such as changing the level generator from the DDA algorithm to Bresenham's algorithm, which makes the program almost completely float-free! (The only thing left that uses a floating point variable is the single line of code that prints how long it took to render the level.)
- When a tank is low on power, its display will start glitching out.
- All tanks now have their own, unique color schemes. So, be sure to tell me if some of the colors are awkward... I am slightly colorblind, and my definition of a decent color match is often wildly different from everyone else's. :)
- Other code cleanups, and bug fixes...
Sadly, our beloved Twitch AI isn't faring well in the new version... you see, poor Twitch has no concept of direction, no ability to see enemies, no means of checking its energy levels, and no self-preservation instincts whatsoever. So, most Twitches will wander off and die within the first few minutes. The Twitches who live are just lucky/stupid enough to not even be able to escape their bases. (Which is both sad and funny at the same time.) I plan on extending the controller API, so that a controller can get some more info on a tank, allowing for smarter AIs in the future. However, that's an adventure for another day.
And there we go! I hope to keep on this project more diligently in the coming weeks. The game controls are now:
BLUE Tank: ASDW (movement) + LEFT CTRL (firing)
GREEN Tank: Arrow Keys (movement) + '/' Key (firing)
The controls were changed to dodge hardware limits on my laptop keyboard. (Using Enter to fire with the green tank meant that you couldn't move up and left at the same time...)
To build, just do a simple:
./configure && make && ./tunneltanks
You will need a Python interpreter to configure, GNU Make to compile, and the SDL libraries to run, so be sure you have all of those.
Source is here: http://www.poweredbytoast.com/files/tunneltanks3.tar.bz2 (GPLv3)
Have fun! :)
0 Responses to TunnelTanks 0.3
Leave a Reply