CS4500 Project Plan

January 31, 2008

Team Here For Beer



1.0 Introduction

1.1 Project Overview

We are creating a Tower Defense Game using DirectX 9. The game is a single player strategy game.

1.2 Definitions, Acronyms, and Abbreviations

DX9: DirectX 9
TD: Tower Defense

1.3 References

Flash Tower Defense Game, Vector Based
Another Tower Defense Game
DirectX 9 Tutorial

1.4 Overview of Document

The following discusses how we intend to complete our project efficiently. We will explain our development model, assign roles and plan how we intend to review and audit our source code. We'll also discuss logistics, such as meeting times. We'll then discuss our product in more detail and talk about any restrictions, dependencies and guidelines for usage.


2.0 Project Organization

2.1 Process Model

We will use the Agile Process model: http://en.wikipedia.org/wiki/Agile_software_development.

2.2 Organizational Structure and Responsibilities

We will have a permanent team leader. We will try to preserve positions without rotating around to allow people to become experts in their designated areas of work.

  • Tim
    • Team Leader
    • C++ Developer
    • Submission Coordinator (does final checks before turning anything in and also turns things in as required)
    • Q/A Manager
  • Chris
    • C++ Developer
    • Webmaster
    • Source Code Repository Admin
    • Security Specialist (in case we decide to do web based score tracking)
  • Rex
    • Chief Researcher
    • C++ Developer
    • Gameplay Organizer
  • Dax
    • C++ Developer
    • DirectX Foreman
    • Special Effects
    • Build Coordinator

2.3 Organizational Boundaries and Interfaces

Prof. Henderson will act as our Instructor and our Customer. We will provide the most recent releases to him as they are available. The Customer, or the development team may post alterations to this project plan in the indicated area on the Team Wiki Webpage. Any changes will be discussed by the Team and a decision will be made as a group prior to implementation.

2.4 Reviews, Walkthroughs, Inspections, and Audits

2.4.1 Procedures for Reviews, Walkthroughs, Inspections, and Audits

We are working with the Agile Development process, and as such we will have many iterations of the software in which we can review and walkthrough with each other what we have completed. We will implement Peer Code reviews to inspect and audit each other's code. Each meeting we will discuss what we have completed the past week.

2.4.2 Peer Review and Audit schedule

Date Activity
February 28 Peer Code Review pre-Stage1 release
March 20 Peer Code Review pre-Stage2 release
April 4 Peer Code Review pre-Stage3 release
April 14 Peer Code Review pre-Final release

3.0 Team-Specific Aspects

3.1 Management Objectives and Prioritories

Our priority will be to produce a fully functioning tower defense game. We will be focusing on the core gameplay aspects in order to take full advantage of our limited time. We will break each functional module into sections and assign these to individual team members.

3.2 Team Name

Our team is Here For Beer. We celebrate our team name by partaking of the holy beer sacrament.

3.3 Meeting Times

We have decided to meet on weekends. We will all meet around 11:00am on Saturdays. If we cannot meet on Saturday, our alternate day for meeting is Sunday at 11:00am. If this is also not possible, we will discuss a day to meet via e-mail until we find an appropriate time.

3.4 Team's Range of Skills and Experience (1=very experienced - 5=no experience)

Category Tim Chris Rex Dax
DirectX 4 5 4 3
Team Based Programming 2 3 1 1
Version Control 1 1 2 1
Management Skills 2 3 2 2
Web Development 1 2 1 3
UI Design 2 3 4 1
Writing Skills 3 3 2 2
Usability 2 3 3 3

4.0 Preliminary Sketch of Project Requirements

4.1 Overview of Functional Requirements

Our product will be a tower defense game. The game is a grid-based game where enemies traverse the grid in waves. The goal of the player is to build turrets in strategic locations that will kill the enemies before they reach the end of the grid. There are many different classes of turrets with different skills, adding to the flexibility of the player to combine many different strategies to kill the enemies. If the enemies make it through the grid without being killed, the player loses lives.

4.2 Overview of Data Requirements

There is no data generated or any data requirements that the user needs to be aware of.

4.3 General Constraints, Assumptions, Dependencies, and Guidelines

This game will require a computer with DirectX 9. It may also require a connection to the internet if the player wants to submit their high score. It should run on any Windows operating system.

4.4 User View of Product Use

The game will be run in full-screen mode. The user will use their mouse to click on turrets and then select locations on a grid to place the selected turret. Once they are satisfied with the locations of their turrets they will select a button to start the enemies traversing through the map.

Attachments