pencilvania: architecture review presenters: christopher buska (art director) michael gourlay...

27
Pencilvania: Architecture Review Presenters: Christopher Buska (Art Director) Michael Gourlay (Developer) Alfred Sterphone, III (Project Manager) Special Guest: Marshall Powers (Lead Architect)

Post on 21-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Pencilvania:Architecture Review

Presenters:Christopher Buska (Art Director)Michael Gourlay (Developer)Alfred Sterphone, III (Project Manager)

Special Guest: Marshall Powers (Lead Architect)

Purpose & MOV Purpose – To create an enjoyable gaming

experience that anyone can pick up and play. MOV – 5000+ unique downloads.

QFD

Game Engine Module A.I. Physics

Stability 8 8

Response Time 8 7

Ease of Use 1 1

Memory Reduction 8 8

Attractiveness 3 7

Speed 8 5

Totals: 36 36

QFD

Control Module Keyboard Input

Gamepad Input

Stability 8 8

Response Time 10 10

Ease of Use 8 8

Memory Reduction 1 1

Attractiveness 1 1

Speed 9 9

Totals: 37 37

QFD

Display Module Graphics

Stability 5

Response Time 9

Ease of Use 1

Memory Reduction 9

Attractiveness 8

Speed 7

Totals: 39

QFD

Sound Module Sound Effects Music

Stability 7 7

Response Time 8 1

Ease of Use 1 1

Memory Reduction 1 1

Attractiveness 8 8

Speed 1 1

Totals: 26 19

QFD

User Interface Menu System Map Editor

Stability 5 7

Response Time 4 8

Ease of Use 9 9

Memory Reduction 1 2

Attractiveness 7 6

Speed 1 5

Totals: 27 37

ICED-T Intuitive – 4

Ease of use Learning Curve of controls and game rules Simplicity of the user interface

Consistent – 3 Game play remains consistent throughout levels Graphical and musical style Menu System

Efficient – 3.5 Game response time to user input

ICED-T Durable – 3.5

Game does not crash, handles errors gracefully Game will play the same on faster systems released in the

future Thoughtful – 3.375

Easy maintenance of code Addition of new levels is simple Is the game fun to play?

Gantt Chart

Function Points & COCOMO Function Points and COCOMO must be

recalculated due to very recent architectural changes.

In summation, however, complexity will be drastically reduced from previous estimates.

4+1 Architecture Logical View – Internal communication

across modules Process View – Process in terms of player

perspective; what happens Development View – Development

environment and tools Physical View – Operating platform Use Cases – Game play and other scenarios

Logical View

Control Module

Takes keyboard/ mouse/gamepad input

and translates into events

Display ModuleAbstracts the display

Sound ModuleLoads and plays sounds

Game Engine ModuleA “Switchboard” module which

mediates communication between the other modules

Game Implementation Module

Contains the game state data structure

Handles the game physics

UI ModuleControls main screen and menus

Process ViewExit

Main View

Select Profile

Play Game

Adjust Options

Control Settings

Display Settings

Sound Settings

Development View

C#

SdlDotNet

SDL

C

Development Tools NUnit – C# unit testing module. SubVersion (SVN) – Source control. Mantis – Online bug-tracking database Visual Studio 2005 – IDE TikiWiki – Project portal

Physical View

Computer Hardware

Windows XP

.NET 2.0

Pencilvania

Use Cases Installing the Game Un-installing the Game Selecting a Profile Playing the Game Starting or continuing a game Making progress in the game Adjusting Settings

Performance At least 30 frames per second In-game responsiveness

Imperceptible response time “No delay” between input and feedback

Quick load times Minimum Specs

Windows XP .NET 2.0

Computers that meet our minimum specifications will not have any foreseeable difficulty in running our software.

Trustworthiness: Safe What is “safe” in a game?

This game will NOT kill you. Critical errors will not corrupt your computer. Game errors will not crash Windows XP.

Trustworthiness: Reliable Our game piggybacks on SDL, a very mature open

source project. Unit testing ensures that modules and their member

functions operate appropriately without testers interacting with the actual game environment.

Test driven development forces the programmers to think logically about what each function accomplishes before writing actual code.

Trustworthiness: Secure Level editor

Loading stock or custom levels will simply fail if unrecognized syntax is inserted into them.

User input Unmapped input is dropped/ignored

Currently pursuing an open source solution for product key implementation.

Operations and Administration Run executable. Play game (controlled with keyboard or gamepad). Create levels for game use. Game installation. Player Administration (creation, modification,

deletion). Upgrading game. Patching game. Un-installation of the game.

Error Recovery Game errors will not crash Windows. Game errors will not crash the game without

informing the user of the error that occurred. No unhandled exceptions. All game inputs will be checked before use. Reinstallation of game will not clear user files.

The player will be able to continue where they left off.

Error Recovery: Unrecoverable Corrupted executable Corrupted level files Disk Error (disk full, access errors)

We attempt to write to the drive before starting the game as an attempt to determine if there will be any access errors.

Video hardware error SDL library corruption or SDL not found

Need to reinstall SDL

Error Recovery: Recoverable Corrupted music / sound effect files

Inform player and continue without sound Sound hardware error

Inform player and continue without sound Corrupted user data

Inform user that a new profile must be made

Any questions?

Thank you for your time!