aerotech pc chris zusin david kadzov robert musliner

16
Aerotech PC Chris Zusin David Kadzov Robert Musliner

Upload: lucas-whitehead

Post on 05-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aerotech PC Chris Zusin David Kadzov Robert Musliner

Aerotech PC

Chris ZusinDavid Kadzov

Robert Musliner

Page 2: Aerotech PC Chris Zusin David 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

Page 3: Aerotech PC Chris Zusin David Kadzov Robert Musliner

Target Audience

Aerotech tabletop fans Strategy/Combat game enthusiasts General computer gamers: serious

to casual

Page 4: Aerotech PC Chris Zusin David Kadzov Robert Musliner

Project Model

Page 5: Aerotech PC Chris Zusin David Kadzov Robert Musliner

Game

Dispatcher between GUI, Ships, and Phase Monitor

Contains most of the rule set and game functionality

Contains player information and force

Page 6: Aerotech PC Chris Zusin David Kadzov Robert Musliner

Ships

All types of ships derive from the Ship class

Contains movement rules and all functionality pertaining to individual ships

Page 7: Aerotech PC Chris Zusin David Kadzov Robert Musliner

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

Page 8: Aerotech PC Chris Zusin David Kadzov Robert Musliner

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)

Page 9: Aerotech PC Chris Zusin David Kadzov Robert Musliner

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

Page 10: Aerotech PC Chris Zusin David Kadzov Robert Musliner

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

Page 11: Aerotech PC Chris Zusin David Kadzov Robert Musliner

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

Page 12: Aerotech PC Chris Zusin David Kadzov Robert Musliner

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

Page 13: Aerotech PC Chris Zusin David Kadzov Robert Musliner

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

Page 14: Aerotech PC Chris Zusin David Kadzov Robert Musliner

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

Page 15: Aerotech PC Chris Zusin David Kadzov Robert Musliner

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

Page 16: Aerotech PC Chris Zusin David Kadzov Robert Musliner

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