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?
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 Tools NUnit – C# unit testing module. SubVersion (SVN) – Source control. Mantis – Online bug-tracking database Visual Studio 2005 – IDE TikiWiki – Project portal
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
Top Related