Tower Offense

Post on 24-Feb-2016

21 views 0 download

description

Tower Offense. The Creeps. 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!. Tower Offense!. Mouse-based interface 3 ‘map’ sizes The goal is to get the high score - PowerPoint PPT Presentation

transcript

Tower OffenseThe 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!

• http://sites.google.com/site/toweroffense/

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’