Pencilvania: Architecture Review Presenters: Christopher Buska (Art Director) Michael Gourlay (Developer) Alfred Sterphone, III (Project Manager) Special.

Slides:



Advertisements
Similar presentations
Legal Meetings: Extended Instructions on Movica and Screencast.
Advertisements

DATA PROCESSING SYSTEMS
Cyneda MODULE 1 EXAM QUESTIONS MODULE 1 EXAM QUESTIONS GCE AS GCE AS QUESTIONS QUIZ.
Computer Software 3 Section A Software Basics CHAPTER PARSONS/OJA
COURSE: COMPUTER PLATFORMS
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Creating an OOED Application
Windows XP Basics OVERVIEW Next.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
Predictive Modeling And Reporting Environment (PMRE) CS 552 Senior Design Architecture Review Presenting: Steve Su Ilya Chalyt Yuriy Stelmakh (Architect)
User interface design Designing effective interfaces for software systems Objectives To suggest some general design principles for user interface design.
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
 Advantages  Easy to learn  Graphical Advantages  Help and Support  Widely used  Software compatibility  Customisable  Customisable Hardware 
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 14: Problem Recovery.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
Multimedia Authoring Tools Lecture 13
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Lesson 4 Computer Software
Background History Note 1 Refer to Soltis: Appendix.
Gorman, Stubbs, & CEP Inc. Introduction to Operating Systems Lesson 5 Windows 2000 Professional.
®® Microsoft Windows 7 for Power Users Tutorial 8 Troubleshooting Windows 7.
Computing Fundamentals Module A Unit 2: Using Windows Vista LessonTopic 8Looking at Operating Systems 9Looking at the Windows Desktop 10Starting Application.
SOFTWARE.
SednaSpace A software development platform for all delivers SOA and BPM.
FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012.
Canyon Adventure Technology David Maung, Tristan Reichardt, Dan Bibyk, Juan Roman Department of Computer Science and Engineering The Ohio State University.
Microsoft ® Official Course Module 10 Optimizing and Maintaining Windows ® 8 Client Computers.
Describing Methodologies PART II Rapid Application Development* Systems Analysis and Design II.
An Introduction to Software Architecture
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
University of Management & Technology 1 Operating Systems & Utility Programs.
11.10 Human Computer Interface www. ICT-Teacher.com.
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
Gorman, Stubbs, & CEP Inc. 1 Introduction to Operating Systems Lesson 4 Microsoft Windows XP.
Integrated Development Environment (IDE)
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Wii Toothbrush Project Final Presentation. Project Introduction: Abstract Client: Kenneth G. Rawson, DMD, SIUE School of Dentistry Purpose: to create.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Software Architecture
IS 325 Notes for Wednesday August 28, Data is the Core of the Enterprise.
Group 2 : Team Battleship Team Members: Zhen Cai Christopher Campbell Justin Doll Jason Miller Nicholas Rimer Raeginald Timones.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Application Software System Software.
Chapter 5:User Interface Design Concepts Of UI Interface Model Internal an External Design Evaluation Interaction Information Display Software.
1 Computer Technician Computer Software: Failures, Corruptions, Repair, and the Future of Computing Copyright © Texas Education Agency, All rights.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
Written module activity, Page 16 1.We refer to the physical parts of a computer that we can touch and see as hardware. Examples include the mouse, the.
Knowledge Based Systems ExpertSystems Difficulties in Expert System Development u Scarce resources – new technology – demand for trained personnel u Development.
1 AQA ICT AS Level © Nelson Thornes 2008 Operating Systems What are they and why do we need them?
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
PowerBuilder is an integrated development environment (IDE) used to create applications. PowerBuilder 12.5 has good integration with the Microsoft.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Introducing Scratch Learning resources for the implementation of the scenario
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
2. OPERATING SYSTEM 2.1 Operating System Function
Introduction to Visual Basic 2008 Programming
1.1 Reasons to study concepts of PLs
Introduction to Operating System (OS)
Chapter 6 System and Application Software
An Introduction to Software Architecture
Title of Project Joseph Hallahan Computer Systems Lab
Chapter 6 System and Application Software
Chapter 6 System and Application Software
Chapter 6 System and Application Software
Presentation 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 – unique downloads.

QFD Game Engine Module A.I.Physics Stability88 Response Time87 Ease of Use11 Memory Reduction88 Attractiveness37 Speed85 Totals:36

QFD Control Module Keyboard Input Gamepad Input Stability88 Response Time10 Ease of Use88 Memory Reduction11 Attractiveness11 Speed99 Totals:37

QFD Display Module Graphics Stability5 Response Time9 Ease of Use1 Memory Reduction9 Attractiveness8 Speed7 Totals:39

QFD Sound Module Sound EffectsMusic Stability77 Response Time81 Ease of Use11 Memory Reduction11 Attractiveness88 Speed11 Totals:2619

QFD User Interface Menu SystemMap Editor Stability57 Response Time48 Ease of Use99 Memory Reduction12 Attractiveness76 Speed15 Totals:2737

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 – 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 Module Abstracts the display Sound Module Loads and plays sounds Game Engine Module A “Switchboard” module which mediates communication between the other modules Game Implementation Module Contains the game state data structure Handles the game physics UI Module Controls main screen and menus

Process View

Development View

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

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!