Presentation 3

LessThanThree
The Ultimate Final Battle of Maximum Destiny
<3
Group 1 - GUI:
• Team Leader
- David Tombs (Repository Manager)
• Developers
- Kesta Jones (Artist)
- Mike Skrzyskowski
- Tom Nagy
- Matt Lance
Group 2 – Mechanics:
• Team Lead
- Chris Yong
• Developers
- Will Clark (Contact Manager Assistant)
- Andrew Carnes (Website Manager)
- Jose Andres
- Dan Watson (Documentation and Contact
Manager)
Group 3 – AI:
• Team Lead
- Dane Vind (Artist)
• Developers
- Morgan Bauer (Code Mercenary)
- Kevin Andrews (Process Manager; Client)
- Cliffton Goh
- Stephen Quinn
Empires Progress
•
•
•
•
(3.1.x): Core Mechanics
(3.2.x): GUI
(3.3.x): Multiplayer Networking
(3.4.x): AI
Core Mechanics
Requirement (3.1.1): Win/Loss Conditions
(3.1.2): Cross-platform compatibility
Linux
Windows Vista
Windows XP
(3.1.3): A way to restart the game
(3.1.4): Save/load a game
GUI
(3.2.1): Separate or Enlarge the map
(3.2.11): Semi-Realistic map of the world and territories
(3.2.2): A custom settings screen
(3.2.3): Create a Main screen to Start or Load
from
• (3.2.4): If nothing happens the report
should say so rather than leaving the box
blank except for Report
(3.2.17): All dialogs should have a "Close"
button instead of a "Done” button
(3.2.38): The Build/Buy dialog should have its
buttons along the bottom instead of along
the right
(Resolved via
tabular design)
(3.2.20): The game should provide icons to
represent empire attributes (such as health,
happiness, etc)
(3.2.21): Change the decimal values for empire
attributes to a dynamic picture
(3.2.23): Visuals for units(one visual for all
units due to time constraints)
(3.2.32): Add a menu bar
(3.2.34): Add a difficulty scale in the EC dialog instead of just
a numeric text box
(3.4.1): The system will provide artificial intelligence of
varying difficulty levels as desired by the user
AI
(3.4.4): The system will provide AI that
follows a set of rules consistent with the
empire's "outlook" with alterations made to
plans based on the actions that have taken
place in the game.
Complete requirements
(without screenshots)
• (3.1.7): break main block of 8.5 kloc into more manageable chunks
• (3.1.11): The game should store issue text and effects in a datafile
• (3.1.14): Implement a rigid system for land types
• (3.2.13): More obvious differences between flag colors orange and
yellow(see map screenshot)
• (3.2.35): Add control labels for empire name and size in the EC dialog
• (3.2.41): Building and buying should update the numbers on the
territory information immediately
• (3.4.8): AI using Filtered Randomness
• (3.2.19): The game should provide a map with interesting territory
names
Incomplete Requirements
(time constraints)
•
(3.1.10): The game should support multiple human players
•
(3.1.12): Ability to set the number of opponents
•
(3.1.13): The game should have shorter battles to one turn or give a more clear
summary of attack
•
(3.1.15): Sound effects
•
(3.2.9): In "Build/Buy," put the cost per unit to buy something by the input
box, and show the total cost to the player. Notes of cost should be made
clearly visible on "Build/Buy" menu
•
(3.2.11): Implement a 3D globe with dragging/selecting capability(new map,
but not 3D)
•
(3.2.16): When choosing color, combo box should show color swatches
•
(3.3.x): No multiplayer capabilities, simply not enough time
•
(3.4.5): The system will provide AI that is knowledgeable of sound diplomatic
actions in order to help itself advance in the best-suited fashion
Incomplete Requirements
(low priority)
•
(3.1.5): The first end turn should not be necessary
•
(3.1.6): An adjustment at the beginning of the ratio of land to sea
•
(3.1.8): Continuous territories at the beginning
•
(3.1.9): Unassigned territories are easily acquired
•
(3.2.5): Text should soft wrap in the issues box
•
(3.2.6): After making a decision in "Hear Issue," either take away the "You chose option ." screen or
allow you to change your decision at that screen
•
(3.2.10): Create an organized "Help" file containing instructions and explanations of the entire
game.
•
(3.2.12): A cleaner "Empire Characteristics" menu that allows the player to press a button directly
next to each question's answer options to select them
•
(3.2.18): The game should present player action dialogs as a part of the main window instead of
having popups
•
(3.2.22): Implement a minimap to compliment playing map
•
(3.2.28): In the Diplomacy window there is a message box on the bottom and its purpose is not
clearly stated. Give that message box some sort of labeling
Design Process
•Process went fairly well, but often lagged due to inconsistent
testing(Diplomacy, Map)
•Timing was very good with this model
Performance
• Communication hindered <3’s progress in the early weeks
• Promoting David Tombs to Project Manager allowed
more specific, individual assignments
• After this, development picked up quickly
arbitrary
units
Software Engineering
and You(r) <3
• Mike & Kesta - pair programming (GUI)
• Morgan – Unit Testing was very helpful
• Communication is king – countless meetings allowed for
dynamic allocation of personnel to abstract concerns
• Incremental Process Model served us very well
• There were clear definitions of when an increment was
completed and when tasks would be scheduled
• Extreme programming may have been a more efficient
model if our group had more meetings during the week to
discuss tasks
Increment 1 (10/1 – 10/21)
• Break up code into manageable chunks for easier
maintenance and extension. (Completed)
• Move input/output data from the source file to a data file.
(Completed)
• Compact unnecessary pop-ups into a single window.
(Completed)
• Complete a player’s guide for use before and during game
play. (Completed)
• Replace Breezyswing with more versatile swing GUI
elements. (Abandoned)
Increment 2 (10/22 – 11/11)
• Implement a save/load. (Completed)
• Develop unique AI Agendas. (Completed)
• Create Data files allow for easy alteration of variables.
(Completed)
• Relocate all of the pop-up windows to the main window.
(Completed*)
*most of the popups have been consolidated into the
message box
Increment 3 (11/12 - present)
• Implementation of unique AI agendas.
(Completed)
• Implement different map sizes and better
randomly* generated maps. (Completed)
• Implement an option for the user to play with
other people. (Incomplete – time constraints)
*Locations are random inside a static “world” map
Current AI Agendas
• An empire that loves peace and makes every attempt to keep it.
• An empire that thrives on trading with other empires, generally avoiding
war.
• An opportunistic empire that preys on the weak and those already at
war.
• An empire that prefers isolation and only attacks those posing a
significant threat to them.
• A “guardian” empire that only attacks those posing a significant threat to
the world.
•An empire that expands as quickly as possible and thrives on war.
AI Difficulty
• Difficulty levels allowed by different AI controlled
empires
• Difficulty settings will allow a slight chance for
easier/more difficult opponents
Original Code Breakdown
Original UML
Current Code Breakdown
Current UML
Thank You.
Please feel free to ask
questions.