HTML 5 Tower Defense Game

Write an HTML5 Tower Defense game.

In this project, you'll be creating an HTML5 web-based tower defense (Links to an external site.) game.


The setting, style, and objective of the game are up to you, but the final project must satisfy at least the following requirements:

Game Details:

It will be single player only.
Your game must allow different individual "towers" (at least three different types) to be constructed that serve some purpose on a 2D board or level.
There must be at least three different boards or levels.
Enemy units will enter the play field and attempt to achieve some objective: your towers attempt to stop the enemy units from completing their objective (e.g., steal power cores, damage a shield, cross the bridge and leave the level, etc.), in order to win (i.e. the player must lose if the enemies succeed).
There must be at least 10 "waves" of enemy units that enter the board or level.
There must be at least three different types of enemy units.
Each defeated enemy should provide some sort of benefit to the player, for example gold or energy used to purchase or power buildings or towers.
If your game has units attacking or otherwise affecting something, appropriate animations showing projectiles, beams, healing, etc. must be shown to indicate what's happening.
An individual game, screen, or board must be winnable, with reasonable to serious effort/skill, within 10 minutes. A new player should not be able to beat the game.

Your project must be playable using the Google Chrome web browser.
Your project must be hosted somewhere for me to test for grading purposes, though you will be required to submit source code. It does not have to be served from an OSU web server, but this would be preferred.
You may use game libraries, frameworks, and toolkits such as Melon JS, Tiled, Texture Packer, Sigma.js, vis.js, D3. You may also use more general purpose libraries such as Node.js, bootstrap, React, Angular, and jQuery, if you like.
Do not use Adobe Flash.
Do not use Javascript-style "alert()" pop-up boxes to relate information to the player. Your user interface should display all information without resorting to asking the web browser to pop-up a dialog.
Data about the individual enemies and towers must be loaded from separate files on the web server (one unit per file).
Recommend Division of Labor:

Graphics and Engine developer: handles the display of the various game components on the page.
AI Developer: writes the software that plays counter to your efforts.
Units and Balance Developer: handles the creation of unit data files and the format for those files, and writes the code that loads them into the engine. Perhaps also handles the web development and user data storage (save games).


Learn game and graphics coding for HTML 5.


Minimum Qualifications:
None Listed

Preferred Qualifications:
None Listed


Project Partner:

William Pfeil


No Agreement Required

Number Groups:


Project Status:

Accepting Applicants

Course Type:

CS467 (3 Month)

Web ApplicationsGame DevelopmentgamesHTML 5web-based games
Card Image Capstone