Game Mathematics & Game State The Complexity of Games Expectations of Players Efficiency Game Mathematics o Collision Detection & Response o Object Overlap.

Slides:



Advertisements
Similar presentations
Summer Computing Workshop. Introduction to Variables Variables are used in every aspect of programming. They are used to store data the programmer needs.
Advertisements

30 min Scratch July min intro to Scratch A Quick-and-Dirty approach Leaving lots of exploration for the future. (5 hour lesson plan available)
Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented.
Computer Graphics1 Geometry Area of polygons & Volume Of Polygonal surfaces.
Intersection Testing Chapter 13 Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology.
2.3. B OUNDING V OLUMES Bounding volumes of use for collision detection.
Chapter 4.2 Collision Detection and Resolution. 2 Collision Detection Complicated for two reasons 1. Geometry is typically very complex, potentially requiring.
Collision Detection and Resolution Zhi Yuan Course: Introduction to Game Development 11/28/
Unit 6 – Multimedia Element: Animation
Use of Interactivity in Powerpoint Unit 85 – 5/5/2014 Lecture.
2.1. C OLLISION D ETECTION Overview. Collision detection is used within many types of application, e.g. from robotics, through engineering simulations,
Computational Geometry & Collision detection
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
Chapter 4.2 Collision Detection and Resolution. 2 Collision Detection Complicated for two reasons 1. Geometry is typically very complex, potentially requiring.
1 Geometry A line in 3D space is represented by  S is a point on the line, and V is the direction along which the line runs  Any point P on the line.
Mechanics, Dynamics & Aesthetics The Complexity of Games Expectations of Players Efficiency Game Mathematics o Collision Detection & Response o Object.
Collision Detection Michael Fuller. Overlap testing Most Common Technique Most Error Prone Test if two bodies overlap.
(An Introduction for Programmers)
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
CS 4730 Collision Detection CS 4730 – Computer Game Design.
Comparing Python and Visual Basic
Animation. Pre-calculated Animation Do more now, less later.
1 SEG3120 Analysis and Design for User Interfaces Flash Anis Zarrad Parallel Simulations and Distributed Systems (PARADISE) Research Laboratory SITE, University.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 8 This presentation © 2004, MacAvon Media Productions Animation.
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
CSE 381 – Advanced Game Programming Quickhull and GJK.
CSCE 552 Spring 2009 Math, Physics and Collision Detection By Jijun Tang.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
Computational Physics Introduction 3/30/11. Goals  Calculate solutions to physics problems  All physics problems can be formulated mathematically. 
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Review IMGD Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?
Emerging Technologies for Games Alpha Sorting and “Soft” Particles CO3303 Week 15.
 The creation of moving pictures one frame at a time Literally 'to bring to life' e.g. make a sequence of drawings on paper, in which a character's position.
Monte Carlo Methods Versatile methods for analyzing the behavior of some activity, plan or process that involves uncertainty.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
Sample Video Game & Sound. The Plan 1.Game Theme 2.Game Structure 3.Sprites 4.Trackers 5.Collisions 6.Score 7.Levels 8.Splash Screens 9.Design 10.Implementation.
I Robot.
SCRATCH. Course Outline Session 1 – 8.45am to am  Introduction  Basics of Scratch programming - Control / Movement / Looks and Sound  Example.
Microsoft® Small Basic Collision Detection Estimated time to complete this lesson: 1 hour.
CSCE 552 Fall 2012 Math, Physics and Collision Detection By Jijun Tang.
2.02B Methods and Uses of Animation
1 Frisbee Physics Simulation Charles George Advisor: Brian Postow 03/05/05.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Collision Detection Kaboo m!. The Plan ● What is collision detection? ● Why is collision detection important? ● Classification of collision detection.
Collision Detection And Response Jae Chun KyungSoo Im Chau Vo Hoang Vu.
Computer Game Design and Development
1 A Basic Introduction to Flash. Outline What is a flash? Macromedia Flash MX 2004 Flash concepts Flash Demos Conclusion Additional help 2.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
Chapter 7 What Can Computers Do For Me?. How important is the material in this chapter to understanding how a computer works? 4.
Introduction to Computer Programming - Project 2 Intro to Digital Technology.
SCRATCH ScratchScratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share.
Game Programming 13 Physics in Games (cont.) 2010 년 2 학기 디지털콘텐츠전공.
1 CSC 221: Computer Programming I Fall 2009 Introduction to programming in Scratch  animation sprites  motion, control & sensing  costume changes 
Introduction to Game Programming & Design III Lecture III.
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
CSCE 552 Fall 2012 Math, Physics and Collision Detection By Jijun Tang.
Chapter 4.2 Collision Detection and Resolution
Learn… Create… Program
Learn… Create… Program
Mechanics, Dynamics & Aesthetics
Computer Animation Algorithms and Techniques
Collision Detection.
CO Games Concepts Week 12 Collision Detection
Learn… Create… Program
Learn… Create… Program
GPAT – Chapter 7 Physics.
Problem Solving and Computer Programming
Presentation transcript:

Game Mathematics & Game State The Complexity of Games Expectations of Players Efficiency Game Mathematics o Collision Detection & Response o Object Overlap Testing o Minkowski Sum o Geometry, Trigonometry o Vectors Game State

Video Games Are Very Complex Programs Programming a simple web-hosted Flash game requires a very high level of programming knowledge; may also require expertise in: Network Protocols Data retrieval and management techniques Graphic & Sound creation/management Geometry, Trigonometry and Calculus Vector mathematics 3D mathematics

Player Expectations In general, games are held to a higher standard than other types programs. People expect "office applications" to fail, and don't expect 100% up-time from business websites. What we are willing to tolerate when "working" is wildly different then what we are willing to tolerate when "playing".

Efficiency Complexity and computability are concepts that are not normally taught on an undergraduate level. Game programmers need to consider "efficiency" in everything they do. If a player had to wait more than 30 seconds for levels to load in a game, their "review" of that game was greatly reduced.

Game Mathematics "Game Mathematics" refers both to areas of general mathematics (geometry, trigonometry, calculus) as well as specialized areas of mathematics (vectors, matrices). Graphic libraries, game libraries, 2D and 3D libraries exist for programming languages to help simplify the mathematical problems that you will face. But they can't be relied on to do everything.

Collision Detection Figuring out if two objects are touching incredibly common problem in a game. Two basic techniques: 1.Overlap testing o Detects whether a collision has already occurred 2.Intersection testing o Predicts whether a collision will occur in the future

Overlap Testing Facts: Most common technique used in games Exhibits more error than intersection testing Concept For every simulation step, test objects to see if they overlap Easy for simple volumes like spheres, harder for polygonal models

Simple Overlap Testing Simple example is particle interacting with a square.This will still require 4 logical tests in a 2D game. Depending on the type of game that played, the order of those 4 tests can have a profound effect on efficiency.

Complex Shape OOT How many tests would be required now?

Bounding Boxes Bounding Boxes can be used to reduce the complexity of shapes to simplify overlap testing. Note that secondary testing may need to be done if the bounding box is found to overlap. How many test now?

Minkowski Sum By taking the Minkowski Sum of two complex volumes and creating a new volume, overlap can be found by testing if a single point is within the new volume. Variations on the Minkowski Sum include calculating the x, y and z distances between the two objects that are being tested.

Minkowski Sum

OT - Collision Time Collision time calculated by moving object back in time until right before collision. Bisection is one effective technique. Minkowski values are another.

Collision Response Having captured the exact moment and position of collision, geometry, and trigonometry can be applied to calculate new trajectories.

Limits of OT OT is easy, but limited. Fails with objects that move too fast Unlikely to catch time slice during overlap Possible solutions Design constraint on speed of objects Reduce simulation step size Use Vectors

Vectors You are already know of "vector images", images represented by a mathematical formula. We can represent entire objects (and their movement) with formula's as well. Vector (an matrice) mathematics can then be applied to reveal information about where objects will be and whether or not the will collide (at any time, past or future). P1[ x1, y1, x2, y2]; // A particle vector.

Game State All games consist of a sequence of states. Each state is characterized by a combination of visual, audio and/or animation effects, as well as a set of rules that are being applied.

Object State Objects in the game proceed through their own states as well. These states are defined by the behavior and functionality applied at that time.

Game State in Scratch At typical game in Scratch might use the following state transition diagram.

Object State in Scratch In a typical game in Scratch, all of your normal sprites (not stage or any control sprites like buttons) will work very well with only 4 scripts. These scripts (and any associated variables) will control the objects state.

The End