Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Developing a Simple Game-Themed Application Kelvin Sung Computing and Software Systems University.

Slides:



Advertisements
Similar presentations
Department of nskinfo i-education
Advertisements

Microsoft® Small Basic
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Why ROOT?. ROOT ROOT: is an object_oriented frame work aimed at solving the data analysis challenges of high energy physics Object _oriented: by encapsulation,
MULTIMEDIA DEVELOPMENT 4.3 : AUTHORING TOOLS. At the end of the lesson, students should be able to: 1. Describe different types of authoring tools Learning.
Introduction to Alice Alice is named in honor of
Microsoft® Small Basic
Microsoft® Small Basic Advanced Games Estimated time to complete this lesson: 1 hour.
Crowd Computing Reach Your Mobile! Industrial Project Final Meeting Students: Cirill Aizenberg Roey Chen Supervisor: Ohad Greenshpan (IBM)
INTRODUCTION. Painting with numbers! Aspects Modeling Rendering Animation.
Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Designing your own Game-Themed Assignments Kelvin Sung Computing and Software Systems University.
XNA Game-Themed Workshop, FDG Pre-Conference Workshop, April 25, 2009 Developing a Simple Game-Themed Application Kelvin Sung Computing and Software Systems.
Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 XNA Game-Themed Programming Assignments Kelvin Sung Computing and Software Systems University.
Game Specific Options (Pre-Initialized) Board Size? Starting Position? Allow Diagonal moves or wins? Etc… Play Game (Initialized) Player is computer/human?
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.
Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Developing Game-Themed Applications With XNA Kelvin Sung Computing and Software Systems University.
XNA Game-Themed Workshop, FDG Pre-Conference Workshop, April 25, 2009 Designing your own Game-Themed Assignments Kelvin Sung Computing and Software Systems.
Building Memory… Notes from class on 11/13/06. The Game Think about what types of objects we will need in our system and some of the properties and capabilities.
Fall 2009ACS-1805 Ron McFadyen1 ACS-1805 Introduction to Programming using Alice.
CS320n –Visual Programming Interactive Programs Mike Scott (Slides 5-1)
Story Boards. Creating and using storyboards Storyboards are an essential tool when designing websites. They help keep developers and graphic artists.
ALICE 3D PROGRAM WORKSHOP. ALICE & MATHEMATICS Using Alice in Mathematics Using 3D Graphics to add in the understanding of math concepts.
SE320: Introduction to Computer Games Week 8: Game Programming Gazihan Alankus.
Copyright 2010 by Pearson Education 1 Assignment 11: Critters.
Fell View Computer Club StarLogo TNG – Session Two.
What are graphic scores?
MobiNet A Pedagogic Platform for Computer Science, Maths and Physics Sylvain Lefebvre, Fabrice Neyret, Samuel Hornus, Joëlle Thollot GRAVIR / IMAG-INRIA.
Using Technology with Kindergarten Students Sue Kline klineclass klineclass.
IT Badge Support – Stage 1. Before switching on make sure an adult has checked your computer is plugged in safely and the electricity is switched on at.
Flash Macromedia Flash Introduction. Bitmap vs. Vector based  Bitmap –Bitmaps are made up of single pixels  Vector based –Vector graphics are made up.
Introduction to Matlab & Data Analysis
Storyboarding 1. Purpose of Storyboarding  To gain an early reaction from users on the concepts proposed for the application.  They are an effective.
Review For Test Chapter 4 & 5 Test is Wednesday, January 27th.
Getting Started With Alice. Why Learn about Programming computers. Learning to program a computer does not turn you into a nerd We will use Alice which.
Ann White Keyboarding for Kindergarten As children are learning their letters, they can also learn recognition of those letters on the keyboard and learn.
Passage Three Multimedia Application. Training target: In this part , you should try your best to form good reading habits. In order to avoid your ill.
1 Lecture 16 Prototyping Software Engineering. 2 Outline Definitions Uses of prototyping in the design process Prototyping approaches Prototyping “technologies”
GRAPHIC DESIGN AND ADVANCED GRAPHIC DESIGN Warm-Up: If you had to choose a symbol to represent yourself, what would it be? Today: Logo design process Essential.
(c) University of Washington08-1 CSC 143 Models and Views Reading: Ch. 18.
CS 4730 Action vs. Interaction CS 4730 – Computer Game Design Credit: Several slides from Walker White (Cornell)
Institute for Personal Robots in Education (IPRE)‏ CSC 170 Computing: Science and Creativity.
A guide to creating a power point display Essentials Ctl M =New Slide: a new slide can be inserted. It is placed after the slide that you are viewing.
Chapter 7 Animation Prepared by: Ms. Ma. Anna Corina G. Kagaoan College of Arts and Sciences.
SCRATCH. Course Outline Session 1 – 8.45am to am  Introduction  Basics of Scratch programming - Control / Movement / Looks and Sound  Example.
Events (Alice In Action, Ch 6) Slides Credit: Joel Adams, Alice in Action CS 120 Lecture September 2012.
Using 3D and visualising 3D. “sculptural” window elements highlighting drop shadows may help distinguish features – figure ground separation – e.g. X.
Computer Programming Modeling a Passive Solar Home.
Software. What is software?  Review: recall the difference between hardware and software (rigid vs. fluid)  Software, in essence, is a set of instructions.
STAGE 10: DICE RACE What do you remember from the last class? What was your favorite part? What do you wish we had had time to do?
Tutorials and Quick Guides A quick introduction. Overview  Genre of Tutorial  Genre of Quick Guide  Genre of Reference  Genre of User Manual  Attributes.
- Saie Deshpande. Game Design Idea 1 Can be played by or.
WRITE DOWN AS MANY GAMES AS YOU CAN IN 30 SECONDS.
Today's Ninja Challenge: Write Your First Computer Game!
ICT/COMPUTING RULES Only use software allowed by the teacher
Introduction to Game Programming & Design III Lecture III.
Objective of the lesson Use Blockly to make a dice for Snakes and Ladders All of you will: – Make an image which displays when you press a button Most.
Software.
North Attleboro High School
Example: Card Game Create a class called “Card”
Physics-based simulation for visual computing applications
Polynomial Art! Graph six polynomial functions in six different colors, all on the same coordinate plane. Write the corresponding equations ON A SEPARATE.
Adobe PDFs Amy Willis HCI 594 Winter 2008.
Scratch Programming Brian Cain.
Game Loop Update & Draw.
Announcements: Reading materials are posted on Discussion Board.
There are different types of translator.
Polynomial Art! Graph six polynomial functions in six different colors, all on the same coordinate plane. Write the corresponding equations ON A SEPARATE.
Announcements: Questions: Names on the board? Why?
Announcements Survey feedback: summary Quiz: HW 7:
Presentation transcript:

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Developing a Simple Game-Themed Application Kelvin Sung Computing and Software Systems University of Washington, Bothell

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Goals Design and implement a simple “game” Practice what we have learned so far Separation of logic and graphical interaction Let’s work in groups (3 or 4) …

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Approach Goal:  A detailed design for implementation in 3 hours Tasks: (in 90 minutes)  20 min: Game idea (be SIMPLE! )  10 min: Relative sizes and look (coordinate system)  10 min: Main object look/behavior (class)  10 min: Support object look/behavior (class)  20 min: User and Object interaction (in UpdateWorld)

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Game Idea Logic vs Interactive Graphics  Today: concentrate on Interactive Graphics Avoid in-game “AI” (or smart game)  E.g.: tricky to implement:  User control Object A  Game controls Object B to follows automatically  E.g.: Easy to implement  Use control Object A  Game controls Object B _RANDOMLY_  Test for Object A and B interesection

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Choose A ‘Game’ Type Graphical Picture  Nothing moves  No user interaction Animation / Visualization  A sequence of pre-defined movements  No user interaction Interactive Game  Movement of objects responds to user interaction

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 ‘Game’ Type Examples Graphical picture:  Response to simple user commands (e.g., draw a picture responding to a button push)  Draw a histogram Animation / visualization / simulation:  Dropping a ball: conditions ensuring the ball bounces when it reaches the ground, implement a mathematical equation  Visualization of random samples Interactive  Initial object setup  One/multiple objects under user control  Update and test for object intersection in UpdateWorld

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Finding Ideas For ‘Game’ Type Card Games Board Games:  Snakes and Ladders Snakes and Ladders  Reversi Reversi Anything you’ve found fun (or not)  Breaking Bubbles Breaking Bubbles  Alphabet Hero Alphabet Hero

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Designing A Game Draw pictures/ideas Play the “game” on paper during design. Remember, complicated in-game AI is tricky to implement!

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Implementation Guide 4 major pieces to implementation:  The World  Hero Object  Support Object  Interaction between objects

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 The World Relative size:  Window size vs. Object size Continuous Coordinate  E.g., The BlockBreak Game Discrete Coordinate  E.g., Reversi (position (1.5,1.5) is illegal) In InitializeWorld()!!

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 The Hero/Support Object Look: Constructor()  Size, color, texture Behavior: Update()  User control behavior (e.g., user move paddle)  Automatic behavior (e.g., gradually slow down when user is not moving)  Automatic behavior is trickier to implement! Interaction: Interact()  Interaction with other (Support) objects  Called from UpdateWorld()