gilese 581 (glee-za) final presentation jan horjus, abebe woreta, neil chu, ritik ray & patrick...
TRANSCRIPT
![Page 1: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/1.jpg)
1
Gilese 581
(GLEE-ZA)Final
Presentation
Jan Horjus, Abebe Woreta, Neil Chu, Ritik
Ray & Patrick Logan
CS673 – Introduction to Software Engineering –
Tues. April 30 2013
![Page 2: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/2.jpg)
2
Management Overview
Management
![Page 3: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/3.jpg)
3
Management Overview
Focus of this iteration; don’t just finish, but polish our product.
• All software must be efficient, proficient and usable; our game must be something more.
• Tweak the user experience
Examples:• Display damage value per attack, not just an ambiguous health
bar.• Further options added, i.e. concede defeat.• Art, voice acting & sound effects improved• Interface streamlined and polished.
![Page 4: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/4.jpg)
4
Management Overview
Focus of this iteration; don’t just finish, but polish our product.
• Everyone wore multiple hats:
• We were fortunate to have multiple levels of experienced engineers on our team.
• The size of our team required us to push our skills & abilities
• Finish line in sight, all pushed hard to make the final iteration/product a success.
• With further goals still on the drawing board, not all were reachable within our timetable. By keeping tight reins on the scope of the project, we drilled down to what was possible.
![Page 5: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/5.jpg)
5
Management Overview
• Project Risks:
• Budget – $0. WE HIT OUR GOAL!
• Schedule – 5 adults with hectic schedules. Worked around, adapted.
• Personnel – many diverse skills/talents. Each person found their niche but still worked outside their comfort zone.
• Resources – luckily, what we needed was freely available to students.
• Customer – our first customer was us, the most demanding customer.
• Requirement issues – XNA provided a bit of a learning curve.
• Complexity – Not just a software product. Needed to do more than process input to output. Needed to be polished, nuanced, enjoyable.
![Page 6: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/6.jpg)
6
Management Overview
• Technical Risks:
• Specification ambiguity: we knew what we wanted to make from the outset, not 100% certain of the specifics.
• Leading-edge tech: XNA is a leading production environment for small scale or not-for-profit game production.
• Potential design: from concept to product, we stayed true to the original concept design.
![Page 7: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/7.jpg)
7
Management Overview
• Business Risks:
• Market/Sell risk
• Current incarnation, most likely not a mass market release.
• Scalable to mobile device format, monetizing through in-game ad revenue or micro-transaction game add-ons.
• Major success has been achieved for similar games.
![Page 8: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/8.jpg)
8
Management Overview
• Generic Risks:
• Product size: small in current incarnation but could be scaled up through future additions, downloadable content.
• Development environment: Visual Studio 2010 & Microsoft XNA• C# based, but with peculiarities.
• Staff size/experience: 2 senior engineers, 2 mid-tier and 1 novice.• All were familiar with VS & C#, all had to learn XNA.• Given experience with C# gave us a leg-up on the learning curve.
![Page 9: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/9.jpg)
9
Management Overview
Functional Design
![Page 10: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/10.jpg)
10
Application Features or Functionality Overview
Main Menu Screen Game Setup Screen
Map Screen (actual game)
New Game Load Game
Options Exit
Start
End
Options Screen
Cancel
Apply
Cancel Start Game
Screen Size
Sound Effects Volume
Music Volume
FUN!
Choose Players
Choose Army
Choose Map
Choose Victory
Condition
Map Scroll speed
Enable Unit
VoicesEnable Mouse
Scrolling
New Player Profile screen
Choose Name
Choose Portrait
Choose Unit Color
CancelSave
Click to create a new player profile
Main Menu
Options
Surrender
Return to Game
Escape menu
![Page 11: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/11.jpg)
11
Main Menu
Name Game
• causes the user to leave main menu and transition to Game setup screen
Load Game
• causes the user to leave the main menu and transition directly to the main Game screen, where the game which was previously saved will be restored in its previous state.
Options
• causes the user to transition to options screen which provides options for adjusting sound volume, changing screen resolution and Game resolution
Exit
• Terminates the game application
![Page 12: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/12.jpg)
12
Game setup Screen
The purpose of the game setup screen is to allow the user to determine the parameters of a new game before it begins: These parameters include: Selecting two players to participate in the match:- The user selects from a list of
player profiles, which is loaded from the disk when the Game setup screen is initialized
![Page 13: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/13.jpg)
Game Setup Screen – cont’d
• Creating and Saving Player Profiles:- In addition to a list of current player profiles, the user is able to create new profiles by clicking “Click here to create new player profile”. The profiles include name, portrait and unit color
13
![Page 14: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/14.jpg)
14
Game setup screen-cont’d
• Loading saved profiles from disk:-Player profiles are saved in xml format in directory called “PlayerProfiles”. Any profiles found in that directory are automatically loaded when the game setup screen is initialized
• Editing and Deleting player profiles:- Properties of player profile can be edited after the profile has been created and profiles can be deleted.
![Page 15: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/15.jpg)
15
Game setup screen – cont’d
• Customizing player forces and choosing Victory conditions:-The players have to agree on the size of the army, the map they will be playing on and the victory condition before the match begins
• Victory conditions: Elimination or Assassination Elimination:- In an elimination game, a player must destroy all the opponents units in order to claim
victory. Assassination:- In an assassination game each player designates one of their units as the “commander”.
The first player to destroy the opponent’s commander unit is the victor.
![Page 16: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/16.jpg)
16
Options Screen• The purpose of the options screen is allow user to adjust sound volume, adjust
screen size, Enable unit voices,…
![Page 17: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/17.jpg)
17
Main Game screen
• This is the screen where players play the game.• This screen contains
The Game map- Displayed as a hexagonal grid which can be zoomed in and out Player status display – Shows the name and portrait of the player participating in
the match whose turn it currently is. Unit Status Display – When a player selects one of his/her own units, its statistics
such as unit name, HP, movement speed, recharge, attack type and Damage will be displayed in the unit status display
![Page 18: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/18.jpg)
18
Main Game Screen – cont’d
• The Escape pop up menu:• Pressing the “Escape” key on the key board during the game will bring a pop up with the
following options: Main Menu- brings the user to the main menu screen Options Menu – brings user to the options screen Surrender – Ends the game and award the victory to the opponent of the player
whose turn it currently is Return to Game- Brings user back to the main Game screen
![Page 19: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/19.jpg)
19
Main Game Screen – cont’d
• Victory Screen: after the game is over victory screen gets displayed
![Page 20: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/20.jpg)
20
Management Overview
Software Design
![Page 21: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/21.jpg)
21
Template Design Pattern
![Page 22: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/22.jpg)
22
Composite Design Pattern
![Page 23: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/23.jpg)
23
Singleton Design Pattern
![Page 24: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/24.jpg)
24
Range and Movement using MapTemplate
Directio
n
• This class encapsulates a direction enumeration (there are 6 directions in the game)
• Provides many convenient operator overrides (++, --, ==, !=, integer conversions)
• Is used to index into a sprite rotation table.
MapLocation
• This class contains both a direction and a coordinate point.
• Primary functions is “Step(direction)” which moves the coordinate one step in the specified direction.
• StepForward() simply moves one space in the current direction.
![Page 25: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/25.jpg)
25
Range and Movement using MapTemplate (cont.)
HexEffect
• Abstract class with one function: ApplyToHex(Hex)
• Can be used to do anything to a Hex object. Our inherited classes include “HighlighEffect” “DoubleHighlightEffect” and “UnitDamageEffect”
MapTe
mplate
• An Abstract class with one method: OnApply(Map, MapLocation, HexEffect)
• Puts all the pieces together.• It’s purpose is to apply an effect to a group of hexes
based on a starting location and direction. • Inherited classes include “RangeTemplate” and
“LineTemplate”. Both are designed to be flexible.
![Page 26: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/26.jpg)
26
Flexible Design in Map Templates
LineEffec
t
RangeEffe
ct
![Page 27: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/27.jpg)
27
Temporary Graphical Effects on Hexes
IDrawnEffect Interface
• Extends the IDrawnObject interface (so it has a Draw function), and adds one more function: bool IsFinished();
• Simply provides a standard way for a temporary drawn object to let its owner know when it is done and should be disposed of.
Inheriting
Effects
• The ExplosionEffect and DrawnTextEffect classes use the IDrawnEffect interface.
• Each Hex on the map keeps a list of effects. • Each is Drawn until it declares itself finished, then
removed.
![Page 28: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/28.jpg)
28
Loading Maps from Files
How it
Works
• Map.InitMapFromFile(string filename)• This function uses a simple state machine to scan
a text file character by character and line by line.• No complex inheritance patterns – just a switch
statement in a loop, about 35 lines of code.
A Map File
![Page 29: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/29.jpg)
29
Map “Environments”
Environment
Class
• Defines two hex textures and one background image.
• A static list of 5 combinations are defined, but any environment can be created.
• MapEnvironment.GetRandomEnvironment() is called at the beginning of each game.
Room for Improvem
ent
• Grouping together related properties of a map into a sub-component (composition, not inheritance) allows modularity.
• We can also define music to go with each environment, but we didn’t have any original music, so this options is not used.
![Page 30: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/30.jpg)
Testing Overview
With a relatively simple game, and a small group that is continuously
developing and testing, it is easy to test the limits of the game and verify
functionality.
![Page 31: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/31.jpg)
Unit Testing
• Unit testing is always preformed by each developer
• Code is submitted after the developer is satisfied with his work (yes this can be subjective)
![Page 32: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/32.jpg)
Code Review
• Code is reviewed after check-in by another developer (a new set of eyes always helps)
• Iterative testing – need to make sure a change doesn’t affect functionality somewhere else in the game
![Page 33: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/33.jpg)
Beta Testing PARTY!
• Coding, defect write ups, feature requests, food, friends and gaming.
• All group members are developers, so it goes without saying that our game is fully functional and perfect.
• …Good thing we had input from the users as well.• Game was played continuously by multiple
people on different machines to gauge user satisfaction and game functionality.
![Page 34: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/34.jpg)
Gliese 581g STP
• The standard test procedure outlines user stories to verify that the game is functional and also tests boundary conditions
![Page 35: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/35.jpg)
35
Management Overview
Lessons LrnedLens on Leed
Lessons Learned
![Page 36: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/36.jpg)
36
Lesson Learned
• Software Development
• Patient
• Time Management
• Solve Problems
• Communication!!!!!
![Page 37: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/37.jpg)
Unit Tactics• 7 different unit types • Diverse and competitive game play• Units are balanced• Each unit has their own strengths and weaknesses
![Page 38: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/38.jpg)
Artillery
• Low health• Slowest Movement• Largest, most flexible attack range• Area Of Effect• Decent damage• Camp this guy somewhere safe and bombard
the enemy lines!
![Page 39: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/39.jpg)
Commander
• Medium movement range• High HP and damage• Amazing reach with “5 in a line”
attack…if your own units aren’t in the way.
• WHAT ARE YOU DOING THAT’S YOUR COMMANDER!
![Page 40: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/40.jpg)
Infantry
• Low health• Large movement range• Small Attack Range• Small-ish Damage…but it adds up.• Fast Recharge• Harass your enemies! Block their
movement and tank-fire!
![Page 41: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/41.jpg)
Mech
• Most Powerful Unit in the game.• Huge HP, high damage, great reach and
AOE.• Like an even better commander and you
don’t lose if he dies. • Look I got a triple kill!
![Page 42: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/42.jpg)
Rough Rider
• Fast movement• Large flexible attack range• Medium recharge
• Low health• Low damage• Great for finishing off
weakened targets that try to flee and heal!
![Page 43: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/43.jpg)
Scout
• Largest movement range• Fastest recharge time• Low damage, Low health, Low range• Can be killed by a tank with one shot.• Best used to block enemy movement and
finish weakened enemies.
![Page 44: Gilese 581 (GLEE-ZA) Final Presentation Jan Horjus, Abebe Woreta, Neil Chu, Ritik Ray & Patrick Logan CS673 – Introduction to Software Engineering – Tues](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649e855503460f94b86e4f/html5/thumbnails/44.jpg)
Tank
• Highest single-target damage• Medium movement range• Medium attack range• Attacks in a straight line, impacting
first obstacle• Long recharge