Design & Development – 2h

Slides:



Advertisements
Similar presentations
Structured Design The Structured Design Approach (also called Layered Approach) focuses on the conceptual and physical level. As discussed earlier: Conceptual.
Advertisements

Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
Use Case Modeling.
7M822 UML Interaction Diagrams 25 November 2010.
7M822 UML Sequence Diagrams 5 October 2009.
User Interface Theory & Design
Sequence Diagram Tutorial
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead.
Backgrounds, Inheritance in GameMaker (BrickMania 1 of 2) Foundations of Interactive Game Design Professor Jim Whitehead January 28, 2008 Creative Commons.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
GAME:IT Junior Learning Game Maker: The Move Tab.
High-Level Design With Sequence Diagrams COMP314 (based on original slides by Mark Hall)
KeyListener and Keyboard Events Just as we can implement listeners to handle mouse events, we can do the same for keyboard events (keypresses) –to implement.
1 On to Object Design Chapter 14 Applying UML and Patterns.
More on “The Huddersfield Method” A lightweight, pattern-driven method based on SSM, Domain Driven Design and Naked Objects.
Object-Oriented Analysis and Design An Introduction.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
1 Analysis Extracting from Use Cases to Create Diagrams.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Test Environment Algorithm Program Requirements/ Enhancements Analyze the Problem and Design a Solution Programming Software Translates the Source Code.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
CSC 395 – Software Engineering Lecture 14: Object-Oriented Analysis –or– Ripping the Band-Aid Off Quickly.
User Interface Theory & Design Lecture 6a 1.  User interface is everything the end user comes into contact with while using the system  To the user,
9-1 © Prentice Hall, 2004 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
Interaction Diagrams Interaction Diagrams allow the designer to show how groups of objects collaborate in some behavior. –Interaction Diagrams will show.
Object-Oriented Analysis and Design ธนวัฒน์ แซ่ เอียบ.
Practical Programming COMP153-08S Week 5 Lecture 1: Screen Design Subroutines and Functions.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Game Project 1 Homage to Pong. Project Rules: The primary project is Pong, the design and development of which will be discussed in detail here. If you.
Chapter 3: Introducing the UML
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,
Introduction to UML.
Analysis Classes Unit 5.
Welcome to M301 P2 Software Systems & their Development
Unified Modeling Language
Software Architecture & Design Pattern
Design, prototyping and construction
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
The Unified Modeling Language
Chapter 11 Design, prototyping and construction 1.
Unified Modeling Language
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
CIS 375 Bruce R. Maxim UM-Dearborn
Software Design Lecture : 15.
University of South Carolina
Flappy bird Demo: Lesson 5 Flappy bird Demo:
Transparency & magic pixel
Chapter 5.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
CIS 375 Bruce R. Maxim UM-Dearborn
Uml diagrams In ooad.
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Design, prototyping and construction
Chapter 4 Sequence Diagrams
Presentation transcript:

Design & Development – 2h

Helpful Advice It is better to have a design, and then to change it in the light of experience, than not to have a design at all

Design Documentation A description of the game concept A sketch of the screen layout (not a screenshot of the completed game) A description of the game controls A description of the behaviour of the major objects The user sprite Any autonomous sprites

A Sprite A sprite is an image which represents one of the characters in a game A Sprite moves as a 2D block (usually oblong) as the game progresses. Sprites can also be animated and change their appearance.

Game Concept 1/3 Gameplay Theme Core Objective Core Idea Game Objects

Game Concept 2/3 Gameplay Theme Core Objective Core Idea What’s the game about ? Core Objective What is the overall goal ? Core Idea Defines overall gameplay Develop secondary ideas to enrich experience

Game Concept 3/3 Game Objects Primary function Secondary Functions Generated by gameplay features Initiates additional gameplay features

Proposed Screen Layout

Description of Game Controls 1 2 3 4 5 6 7 8 9

Description of Game Controls During normal game play, player one’s paddle is moved up using the “3” button and down using the “9” button. When thus activated, the paddle will move up or down at a speed of 5 pixels per second. If “3” and “9” are both pressed at the same time, the paddle will not move.

Sprite Behaviour The ball will bounce off the top or bottom of the screen. I.e. on contact with the top or bottom of the screen, it will continue its horizontal speed. Vertically it will maintain its speed but reverse direction. If the ball contacts the left paddle it will adopt the vertical speed of the paddle at the time of contact. It will change horizontal direction to move rightwards...

Feedback Visual Audio Action Accumulative Emotional Fulfillment rumble heath, armour, weapons etc Emotional Fulfillment

Software Development

“You should use an iterative development method only on projects that you want to succeed” Fowler, 2000

User-Centred UML Method Capture/Develop Scenarios Contextual Analysis Scenarios Contexts of Use Find Actors and use-cases Identify Objects & Relationships Use-case Model User Model Interface Design Interface Models Class Diagram (Conceptual) All activities are performed iteratively. Usability evaluation is conducted in parallel with design and implementation Interaction Diagrams from use-cases Identify Operations Interaction Diagrams Class Diagram (Specification) Examine Behaviours & Class Relationships Specify Implementation State Diagrams Class Diagram (Implementation) Usability Evaluation Implementation Functional Testing Code Test Results Usability Reports User-Centred UML Method , based on Hudson (2002)

“The diagram is not the design: the diagram is a representation of (part of) a model of the design, which captures an aspect of the design in a form which can be discussed” Stevens, 2001

Game: First Draft ? Game Play new game Continue old game Set game GamePlayer Play new game Continue old game Save game Set game parameters View Hall of Fame

Use-case Scenarios A scenario is an instance of a use-case - it is one path through the flow of events for the use-case. Sometimes referred to as the use-case instance.

Use-case Scenarios Scenarios speak the language of the end user and the domain expert, and therefore provide a means for them to state their expectations about the desired behaviour of a system to its developers.

Use-case Scenarios Each use-case is a web of scenarios - primary scenarios (the normal flow for the use-case) and secondary scenarios (the what if logic of the use-case).

Use-case Scenario Example “The ball approaches Player 1’s side (on RHS). P1 misses. It passes P1’s paddle without touching it. It disappears off RHS of screen and wraps round to appear on LHS of screen. It maintains its original speed and direction. It goes through P2’s bat to continue towards P1. P2’s score increments.”

Writing Use-Cases (Gymkhana Game) Use Case: Jump Obstacle Basic Flow 1. Horse moves towards obstacle 2. Effect sound of horse galloping 3. Horse attempts to jump obstacle 4. Horse clears obstacle 5. Sound of horse galloping away

Writing use-cases (Gymkhana Game) Alternatives: A: Horse refuses to jump 3.1 Effect sound of horse juddering to a halt 3.2 Horse disqualified 3.3 Time trial is terminated B: Horse hits obstacle 4.1 Effect sound of horse hitting obstacle 4.2 Time penalty awarded 4.3 Time penalty displayed

Activity diagram Jump Obstacle Move Horse Make SoundFX [refuse] jump [hit] Horse disqualified Penalty Awarded Clear Obstacle Penalty Displayed Make SoundFX Terminate Trial

CRC cards Class Responsibility Collaboration

Example CRC Card Class Superclass(es) Subclasses Responsibility GymkhanaWorld Responsibility Collaborators Determine boundaries of world and layout of course Start and Finish time trial Know current time taken by horse Award time penalties Disqualify horse on refusal to jump Horse

Example CRC Card Class Superclass(es) Subclasses Responsibility Horse Responsibility Collaborators Know own position within world Know layout of course (i.e. the next jump) Know how to move and jump Know direction and speed of movement Cause sound effects GymkhanaWorld GymkhanaWorld Sound

Example CRC Card Class Superclass(es) Subclasses Responsibility Obstacle Responsibility Collaborators Know own position within world Know when the horse has cleared, hit or refused to jump. Break apart if hit Cause sound effects GymkhanaWorld Horse Sound

Class Diagram GymnkhanaWorld Display Horse Obstacle Sound play() boundaries courselayout currentTime penalties horseStatus trialComplete startTrial() finishTrial() displayGameStatus() updatePenalty (0 disqualify() Display Horse display() position direction speed soundFX move() jump() makeSound() Obstacle position cleared hit refused soundFX jumpTest() breakApartl() makeSound() Sound play() Finish trialComplete()

Sequence Diagram Scenario: Basic Flow 1. Horse moves towards obstacle 2. Effect sound of horse galloping 3. Horse attempts to jump obstacle 4. Horse clears obstacle 5. Sound of horse galloping away

Sequence Diagram GamePlayer : Horse : Sound :Obstacle move ( ) makeSound ( ) play (soundFX) jump ( ) jumpTest ( ) play (soundFX)

A: Horse refuses to jump 3.1 Effect sound of horse juddering to a halt 3.2 Horse disqualified 3.3 Time trial is terminated

GamePlayer : Horse : Sound :Obstacle :GymnkhanaWorld :Display move ( ) makeSound ( ) play (soundFX) jump ( ) jumpTest ( ) play (soundFX) [refusal] disqualify ( ) displayGameStatus ( ) display ( ) finishTrial ( )

B: Horse hits obstacle 4.1 Effect sound of horse hitting obstacle 4.2 Time penalty awarded 4.3 Time penalty displayed

GamePlayer : Horse : Sound :Obstacle :GymnkhanaWorld :Display move ( ) makeSound ( ) play (soundFX) jump ( ) jumpTest ( ) breakApart( ) play (soundFX) [hit] updatePenalty ( ) displayGameStatus ( ) display ( )