WDQuick Links: Tank Software, Tank Ammo ForumsSite Map
William Denniss
Tank Image Current Projects
PSP Title
I am currently working on a commercial PSP title, details of which will be available on release.
Tank Image Finished Projects
Developed in 2005 with Philip Worthington, "Projected Lineriders cars follow lines that people draw on the surface with pens, speeding up and slowing down according to a visual annotation language. The cars skid and crash and jump over obstacles like hands, bridging the space between the physical and virtual. The game is open ended, nurturing peoples' own creativity and imagination as they strive to create the perfect track."
A high performance accellerated 3D graphics rendering engine and scenegraph with some compatible functionality to the old Java3D scenegraph. I was previously an active member of the Xith3D development team.
Odejava is an API which allows Java developers to use the uses the ODE physics engine with their Java projects and in an Object Orientated fashion. It is capable of working closely with Xith3D. I was previously an active member of the Odejava development team.
Digital picture manager for use with digital cameras and online photo galleries.
Internet password and username remembering program.

NO *&%$! FLYING16 Aug 2005

Warcraft III provides a versatile scripting engine that the developers utalised when creating the single player game. Due to the releasing of their map tool, several custom games have been created using the Warcraft III engine. It is a misnomer to call these creations "maps", as they are not merely new arenas to play Warcraft in, but have totally new gameplay.

Versus Tower Defence

Tower Defence is a popular genera of custom game. Essentially you must build defensive structures to defeat wave after wave of computer controlled enemies (a.k.a. creeps) that get stronger over time.

Moderatly enternatining, but all players work as a team towards a common goal (to kill all creeps) and there is little inter-player competition (beyond "my maze is better than yours", "green is leaking!"). For gamers like myself who prefer the challenge of playing against human compeditors, and the satisfaction that comes from winning, a breed of Versus Tower Defence games have been created where individually or as a team you defend against creeps that your enemies send, while trying to defeat them with creeps you send.


Income in these versus games can be increased by sending more creeps. The more income you have, the more creeps you can send and defence you can build, the better you can execute your stratergy. Indeed, because income is so important, it is often a better stratergy to focus on building up your income than building towers -- similar to real life where you can build your income by investing, rather than spending your money (ultimatelly giveing you more money later down the track for more spending or investing). A fine balance is therefore needed to invest in your future income, and satisfy your immediate needs (defending your base). This stratergy element makes the game quite fun and compeditive.

Unfortunately, the implementation of this concept in these games almost always suffers from two fundamental flaws: lagging and exponential income growth. These two flaws are directly related. The method to increase your income in the game is to send creeps, thus encouraging attacks for increasing income rather than offensive strategic reasons. The more creeps that you send the more data must be trasmitted, and the more CPU is needed to process them. While the balance between spending your money on attacking (which builds your income) and defence (which protects you) is one of the more fun points of the game, if you play well and reinvest most of your money, you start to see exponential income growth, which leads to exponential creep numbers, and leads the game to a situation were it gets more and more laggy, to the extent that it becomes unplayable.

I should note that the Warcraft III engine can support hundreds, even thousands of units in a single game, all moving around doing stuff, such as what happens in 12 player standard games (or even worse 12 player Footmen Frenzy games). The reason it works is that only users actions (e.g. selcet a group of units, issue attack command) are trasmitted over the network, not the coordinates for each unit, resulting in a system that scales very well. The catch with tower wars is that each unit requires a click to create it (and normally hundreds of clicks per player per second) which all have to be communicated. Add to that the fact that the engine was not designed to handle so many custom triggers adding to the CPU load. Unlike build-in game play functions, triggers are interperated code which means they are not optimised and not as efficient.

There are some easy ways to solve both these problems, and sometimes maps do make a half-hearted attempt at fixing this problem. The first is the ability to buy income without sending creeps. This limits the sending of creeps to actual attacks which are designed to take life, rather than "wasteful" attacks launched only to increase income. The second is to have more powerful creeps actually reduce your income (in addition to costing you money). Neither stratergy really works on it's own, the first will still allow exponential income growth, and the second only forces you send even more "paying" creeps to keep your income up. But combined, (and this is not something I have ever seen done), you provide players with lag-free investments, and effectivly cap their income levels.


I have played several games where people try to enforce a "NO *&%$! FLYING" rule on the game. Flying creeps have a large advantage over their ground dwelling cousins in that they don't have to go though your tower obstical maze and instead can just fly over the top.

Flying Creeps

So what's wrong with flying? Well it means that unless when building your defence you take this stratergy into account, you are doomed to sit and watch a flock of creeps fly over it. It's a bit like the French building the Maginot Line on the French-German border designed to repel invading Germans, only to watch the Germans in 1940 attack though Belgium. The solution is then to build ones defense taking into account the flying stratergy, or trying to cover up your defincies by imposing additional rules on the game by mutual agreement

But what happens if you do agree on a no-flying rule? You reduce the stratergies that people can take making it far to easy to defend against the few remaining stratergies. Not only does this remove much of the challenge of the game, but it encourages the sending of even more creeps and may eventually deadlock with neither side being able to make any headwind. What happens when the game deadlocks? Well it gets really boring, and soon enough, responded to by much swearing from ill-prepared players, a flying attack will be launched.

Return to the Main Page