Today's project is one that I think you'll find fun, cool and something of a "just one more tweak" time sink.

We previously highlighted a great project from Christer (McFunkypants) Kaitila, Ludus Windows 8 Game Starter Kit - Pleasing the Platformer in you... and now we're back with another, this time one that's not only for Windows 8, but Windows Phone 8 and HTML.

This isn't some kind of app generator, wizard, framework, thing. This is a complete and working set of projects that you can use as your game development starting point, that you can tweak and modify to make your own, without having to write everything from scratch.

Let's level set (level... get it? ... What is a "Tower" game?

Tower defense

Tower defense is a subgenre of real-time strategy video games.[1][2] The goal of tower defense games is to try to stop enemies from crossing a map by building traps to slow them down and towers which shoot at them as they pass. Enemies and towers usually have varied abilities, costs, and upgrade prices. When an enemy is defeated, the player earns money or points, which are used to buy or upgrade towers, or upgrade the number of money or points that are earned, or even upgrade the rate at which they upgrade.[3]

The choice and positioning of the personal towers is the essential strategy of the game. Many games, such as Flash Element Tower Defense, feature enemies that run through a "maze", which allows the player to strategically place towers for optimal effectiveness.[4] However, some versions of the genre force the user to create the maze out of their own towers, such as Desktop Tower Defense.[5] Some versions are a hybrid of these two types, with preset paths that can be modified to some extent by tower placement, or towers that can be modified by path placement.


Tower Game Starter Kit

(includes code for Windows 8 app, Windows Phone app and HTML 5 site)

Introduction Trailer


HTML5 Tower Game Starter Kit by Christer Kaitila

What is it?

The TGSK is a simple, open-source (MIT licensed) javascript game engine designed specifically to help you skip "square one" on your way to creating a great Tower Assault or Defense game. Included in the github source repository are project files for Windows 8 Store apps that run on win8 tablets, desktop, and windows RT devices, as well as a project that compiles to Windows Phone 8. In addition, the game runs great on all modern desktop web browsers.


silky-smooth 60fps on most platforms

levels that are larger than the screen

spritesheet animation of in-game characters

touch-screen and mouse controls

music and sound effects

particle effects and eye-candy

a full game complete with a beginning, middle and end

little extras like a low-level C++ sound engine for wp8

lots of debug log and benchmarking functionality

a-star pathfinding for A.I. movement

entities have health (with visible health bars) and can die

multiple weapon types with their own particle, sound and damage

player and computer controlled entities use the same class

simple codebase with the main engine in just one .js file.

easy-to-understand code filled with comments

Play the example game!

Play the example game that comes with the TGSK, "The Peasants are Revolting!" in your browser right now, or download the app from the Windows 8 Store or on your Windows 8 Phone.


Related blog posts:

Tower Game Starter Kit Intro - all about this project.

Tutorials - an in-depth tutorial video series.

Screenshots - dozens of HD screesnhots are available here.

F.A.Q. - answers to the most frequently asked questions.

Let's peek at the source...

Here's a snap of the Windows 8 Solution

And the Windows Phone 8 Solution

Both projects compiled and ran for me with no problems at all.

So where do you get started? First, watch the video tutorials.

Tower Game Starter Kit - TUTORIALS

Then read the code. The code is awesomely commented which is important for a kit like this...

Now, get the code and get to building that next awesome Tower game!


NOTE: "Tower Defense" is trademarked (no, I'm not joking), so you might want to avoid using that in your name, etc...

Show more