Warcraft: Tower Defense

From GameBrew - a wiki dedicated to Video Game Homebrew.

Warcraft: Tower Defense

Warcraft : Tower Defense is an adaptation of the famous Warcraft 3 mod, for the NDS. This project was started in august 2006. It features a good gameplay with nice 2D graphics, and supports some customization through various options.

Note that except for the monsters sprites & icons that were only slightly modified, all the original gfx and 3D models were complety reworked as 2D sprites by hand.

This game is entirely coded in C, with the help of the PAlib library. It also include a fully-featured and easy-to-use map editor, coded in C# with the .Net framework 2.0.

It was in the 5th place for the best DS homebrew contest in 2009.


  • Real time strategic game
  • Can load custom-made maps very easily
  • Advanced dynamic pathfinding
  • Mmax. 40 towers and their attacks gfx along with 40 monsters on screen simultaneously
  • 10 special powers for towers (slow, poison, critic damage, pierce, fire magic, water magic, lightning magic, wind magic, splash damage, reveal invisible monsters)
  • Same for monsters resistance & immunes
  • Flying & walking monsters types (and ability for towers to attack both or only one type)
  • Dynamic sound engine & stereo sound placement (not included for now, comes in next release)
  • Max 256 differents types of monsters
  • Max 256 differents types of towers
  • Max 256 rounds
  • Max 11 possible upgrades per tower
  • Max 8 base evolution levels
  • Max 8 different clans to choose from at the start
  • 128 icons gfx for towers, evolutions …
  • 64 towers gfx with 6 color variations for each
  • 36 towers gfx with 4 color variations for each (more to come)
  • Fully customizable engine through map definitions
  • Advanced graphical map editor
  • And more…


  1. Copy the "Maps" folder in the root of your card. You can add as many maps as you want in this folder (like new ones downloaded from my site).
  2. If your flashcard does not support automatic DLDI-patching, you have to patch the game binary manually:
- get the corresponding DLDI driver and patcher
- follow the instructions to patch the binary (the .nds or .ds.gba,  depending of what usually works with your card).
  1. Copy the binary file where you want on your flashcard. Note that some cards like M3/R4 need the binary to be placed at the root to be DLDI-patched automatically.
  2. Enjoy!


L or R - switch screens

Arrows or ABXY - scroll the map

Start - pause the game (can also close the lid)

Click on the tower stats / description - switch

Single click an icon - make a choice

Double click - validate a question


25/02/2008 : v0.5

  • PAFS version is gone, now only the fat/DLDI version is available
  • you can now use the arrow keys to select maps in the menu
  • added 5 automatic levels of difficulty for each map: it affects the life of the monsters, and the final score
  • options are now saved within the rom (require DLDI driver with write support)
  • in-game menu added
  • added possibility to restart the map in-game
  • added quicksave & exit in-game option so you can save your current game and finish it later (require DLDI driver with write support)
  • high-scores are now saved (require DLDI driver with write support)
  • high-scores can be viewed on the map selection screen (press L or R to switch minimap/high-scores)
  • small speedups here and there
  • added some new maps
  • new game icon
  • fixed some bugs
  • fixed Long Walk TD skeleton's round

04/02/2007 : v0.4 beta

  • PAFS version was broken in the last release, now it's working again
  • corrected the bug that prevented max towers bonus for first evolution to be applied at start
  • corrected colors of selection circle, it looks better now
  • fixed the animation bug when a monster is killed at spawn
  • fixed sprite scrolling, now sprites are in phase with background while scrolling
  • updated the map editor, see its changelog for details
  • added a bunch of new features for maps, like small & transparent monsters, W3 damage style, choice for the colors used in the minimap for painting entities...
  • complete rewrite of the sprite engine, now sprites corruptions problems should be fixed
  • added a nice zoom effect when building/upgrading towers
  • added current window display on minimap
  • you can now scroll the map directly by dragging the window on the minimap
  • monsters are now hidden and no more over a tower when you build a tower over a dead one
  • added a flashing message when a new evolution is available and wasn't before
  • you can now scroll maps in the map selection screen directly by touching the scroll bar
  • added the option to build tower by double-tapping
  • added the option to choose L/R to work as a switch and don't need to be held
  • added the option to allow to build multiple towers at once
  • added the option to choose the position of the in-game build menu
  • added an option menu
  • added a Linux script for PAFS version
  • added multiple paths management (up to 4)
  • removed the 40 monsters spawn limit per rounds, now up to 256 monsters per path can be spawned in a round (but remember that only 40 can be active at the same time)
  • added stereo sound placement
  • updated & added some new maps (try the map Hellgate Keeper's to the new features in action!)
  • added a new pathfinder, quite faster than the old one but less accurate
  • little optimizations here and there :)

04/02/2007 : v0.31 beta

  • now use latest devkitpro (r20) with latest libnds, libfat & palib
  • stylus precision & jumping problems fixed (thanks to latest libnds)
  • stylus problems with R4/M3 simply should be fixed (thanks to latest palib)
  • corrected the bug that make the map selection screen froze when there was more than 10 maps (FAT version)
  • stat screen flickering/disappear bug in the upper part fixed (thanks to latest palib?)

28/01/2007 : v0.3 beta

  • now use latest libfat with DLDI support
  • corrected a bug in the file filter, now FAT version works without having to rename the maps
  • fixed the missing border of some icons
  • temporary workaround for solving the screwed up sprites problem
  • added a new bunch of great 3rd party maps :)
  • corrected some bugs in the "Save The Snowman" map
  • corrected tower collision map in the "Long Walk TD" map
  • added a circle around the current selection
  • new map: Orange Frenzy

20/01/2007 : v0.2 beta

  • corrected the bug with the animation of some monsters
  • corrected a bug which may occurs when selling a tower
  • adjusted the pathfinder's memory allocation: big maps should now works
  • adjusted detection zone for build/cancel buttons
  • increased values range some parameters (life of the dragon in Spiral TD should now be correct)
  • spawn and end points are now displayed on the minimap
  • added preliminary libfat support
  • new map: Save The Snowman !
  • added some 3rd party maps to the package, thanks to their authors !
  • now the PAFS version can run on the DeSmuME emulator ! it's now easier to test your maps created with the editor

14/01/2007 : v0.1 beta

  • First public version


Mollusk for his great PALib, and for his hard work adding in every single feature

Gutter Talk for the great documentation he made for the Map Editor

YnotnA, Zippi and Balu, Deshi, Mat88, TheRock and all other map makers, for their great maps, thanks a lot for your contribution!

Arialia for her tutorial on how to use the new libfat

The DS-Xtreme team for sending me a free sample, without it FAT version would probably not exist!

Vodevil, Bobby Sixkilla, OMG & [email protected] for their help with the beta test