Tower Offense The Creeps
Tower Offense! Reverse tower defense. Build a path to avoid AI placed towers Get ‘creeps’ (units) from the top to the bottom to score Last as long as you can!
… More detail Mouse-based interface 3 ‘map’ sizes The goal is to get the high score Build paths faster for a higher multiplier Changeable game speed
Brett Hlavinka Leader / Architect Cynic during the design process ‘The Scope Creep’ Programmer Finite State Machine Designed Core Objects (Creep, Tower, Board, etc) Designed functions to divvy up Interpolated Creeps across ticks Scoring and High Scores
Justin Kern Drew everything. Need we say more? Made the bone font
Drew Reagan Master programmer / Web designer Implemented various core functions Sounds … all of them Implemented / fixed / beat the GUI into submission Content / Input management Enlisted playtesting
John Laky Programmer / Webmaster AI Augmented some core functionality Path Particle Effects Made some presentations Built website
The website!
The vision We wanted a reverse tower defense game Allows for more flexibility User-controlled Blend of puzzle / strategy games Turn based AI builds tower; you build path Originally planned one path, one tower, one creep Planned an ‘unbeatable’ design Compete for high scores Scoring mechanics weren’t written in stone
The Final Cut Implemented all essentials Some peripherals didn’t make it Forking/multiple paths Projectiles Multiple creeps Multiple towers Some did Particle Effects Bone text Game speeds
What was the ‘polish’? Path sorting algorithm has been strengthened Buttons have been updated, improved Added ‘invalid cell’ implementation ‘Help’ and ‘High Scores’ states have been improved. Implemented final sprites Bug involving a persistent ‘exit’ button resolved Implemented a font
Team Dynamics OUR TEAM ROCKS! Group members are highly motivated, responsible Eager to divide & conquer We know our strengths/weaknesses Humble in our ambitions Good planners/brainstormers All code was functional, quality code Important to complete an assignment entirely Few debilitating bugs All artwork was divinely inspired
In retrospect… Early organization is paramount Foundations of the program dictate its evolution Foresight allowed for speedy implementation Lack thereof wasted time (GUI) Learning XNA was the hardest part Except for Justin
What worked? Finite State Machine design of the game really worked Menu state Edit State Action State Game Over State Help State High Score State
What else worked? Good communication/brainstorming Consult the group on concerns Group planning on structures/algorithms Keeping track of the program’s structure Code organization / reorganization Code revision / cleanup Well-organized queue of tasks to finish Artwork Mechanics Features
Things to watch for Prioritize & define tasks well Have realistic goals Be cynical (but courteous) Be wary of SVN issues Synch often Synch everything Know what (or if) other people are working on Try not to conflict files – something always goes wrong Have a plan Well defined roles & tasks Think about assigning a leader
How to improve? Gameplay should not have been based on fixed windows This lesson can be expanded into other things Static, global data dependencies are bad Should not have been addressed so late Slow start in the organizing stages Hard to get multiple people working on foundation Buildings have 1 architect Design was hasty (1-2 days) Final implementations had little consideration Some code ended up being ‘messy’