aerotech pc chris zusin david kadzov robert musliner
TRANSCRIPT
Aerotech PC
Chris ZusinDavid Kadzov
Robert Musliner
Objective
Port table top game Aerotech to PC Eliminates player responsibility of rule
controls, calculations, and unit data management
Provides graphics to enhance game play
Network allows players to participate in games online
Target Audience
Aerotech tabletop fans Strategy/Combat game enthusiasts General computer gamers: serious
to casual
Project Model
Game
Dispatcher between GUI, Ships, and Phase Monitor
Contains most of the rule set and game functionality
Contains player information and force
Ships
All types of ships derive from the Ship class
Contains movement rules and all functionality pertaining to individual ships
Phase Monitor
Controls flow of game Sets game phase Determines initiative, and order of
action Selects active player Calls game for phase related functions Determines if a player is defeated Checks end of game conditions
Aerotech GUI: The Concept
GUI serves as an interface Doesn't impede flow of information Only delivers information and requests
between Player and Game GUI is mainly ignorant of Game
state Provides a window into the Game Is explicitly told what to display and when
(with some exceptions)
Aerotech GUI: The Workhorse
“Guichan is a C++ GUI library designed for games. It can use several different back-ends for displaying graphics and grabbing user input.”
Created by Per Larsson and Olof Naessén in 2004
Current stable version is 0.7.1
Aerotech GUI: The Workhorse GUI is refreshed every frame
Input is processed by the widgets Widgets process information from
Game (if necessary) Appearance is changed based on
input and/or Game state
Aerotech GUI: The Workhorse Guichan has a default set of widgets
Beauty of OO: Custom widgets are derived from default ones
Can add to and/or override behaviors Can change look and feel Makes library small and fast (No need for
complex theming support)
Guichan does not handle input and output
Aerotech GUI: The Back-End
“The Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to various common inputs and outputs”
Created by Sam Lantinga in 1998 Current stable version is 1.21
Aerotech GUI: The Back-End
SDL is a wrapper around operating-system-specific functionality
Provides common framework for accessing functionality
Can abstract audio/video outputs, keyboard, mouse, joystick inputs
Aerotech GUI: The Future
All widgets will have custom looks and behavior
View Battle Space in an isometric view Optimizations to support large Battle
Spaces Staggered and delayed parsing of Map More passivity: Game will notify GUI only
when internal Game state changes
Demo 2 Goals Implementation of Client-side functionality
(excluding networking capability) New Game Sequencing Map, Unit selection Movement Phase Attack Phase "End" Phase Control Transfer from Game to Phase Monitor Heat Phase
Schedule Demo 3: Implementation of
networking and server functionality Network Layer Messaging Framework Development of Server Conversion of Client Communications Create New/Join Existing Game Capability Timeout Framework
Isometric Graphics