MORE Genre Specific Physics

Slides:



Advertisements
Similar presentations
UNIVERSITY OF KARACHI DEPARTMENT OF COMPUTER SCIENCE BSCS 514 KING OF FIGHTER GROUP MEMBER MUHAMMAD NOMAN SIDDQUI SYED BILAL RAZA TAHA HASSAN.
Advertisements

Intro to Game Development An introduction to Swing, Java2D, JOGL, and game design Created by: Dennis Lawter and Dustin Scott.
GameCamp! and Game Davis Creating a 2D Platformer in Unity.
How do games work? Game Workshop July 4, Parts Sprites/pictures Map/background Music/sounds Player character Enemies Objects.
Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0/ Creating a Platformer in Game Maker Foundations of Interactive Game Design Prof.
CIS Game Design I Chapter 6 and 7 Blake Farrugia 10/24/2011.
Computer Animation 2D Game Logic. What considerations should be addressed when designing a good game? What Makes A Good Game? (excerpts from Mark Overmars,
INTRODUCTION TO SCRATCH. About Me Resources Scratch Website Learn Scratch Washington-Lee Computer.
GameMaker.  A lot of Different Definitions  Easier to Say What is NOT a Game  Movie is Not a Game  No Active Participation  Final Outcome is Fixed.
Pygame Dick Steflik.
VIDEO GAME PROGRAMMING Video Game Programming Junior – Number Attack INSTRUCTOR TEACHER’S ASSISTANT.
Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead.
Creating A 3-D Game With Spark Engine Lauren Bissett, Dan Maguire, and Nicholas Woodfield.
Basic Responsive Design Techniques. Let’s take a look at this basic layout. It has a header and two columns of text, in a box that is centered on the.
Game Maker Day 2 Making a Maze Game.
CSE 380 – Computer Game Programming Sprite Animation
VIDEO GAME PROGRAMMING Video Game Programming Junior – DigiPutt INSTRUCTOR TEACHER’S ASSISTANT.
VIDEO GAME PROGRAMMING Video Game Programming Level One – Breakout INSTRUCTOR Big Dan Teague TEACHER’S ASSISTANT Delmar O'Donnell.
CS 4730 Action vs. Interaction CS 4730 – Computer Game Design Credit: Several slides from Walker White (Cornell)
User Input and Collisions COSC 315 Fall 2014 Bridget M. Blodgett.
Programming games Show your version of Bo the dog. Start cannonball Preview: video, audio work session (cannonball) Homework: Cannonball with ball in a.
11 Adding Tomato Targets Session Session Overview  We now have a game which lets a player bounce a piece of cheese on a bread bat  Now we have.
Game Maker Terminology
Guide to Programming with Python Week 15 Chapter Twelve Sound, Animation, and Program Development: The Astrocrash Game.
11 General Game Programming Approach. The program is event-driven The program is event-driven –Messages = events –So as all windows system (for example.
Final Project Proposal Space Invaders By Jordan Mahaffey.
Collision Detection And Response Jae Chun KyungSoo Im Chau Vo Hoang Vu.
Game Maker Tutorial.
Game Maker Evil Clutches.
XNA Tutorial 1 For CS134 Lecture. Overview Some of the hard work has already been done for you. If you build and run your game now, the GraphicsDeviceManager.
Lauren Bissett, Daniel Maguire, Nicholas Woodfield.
GAME:IT Junior Paddle Ball Objectives: Review skills from Introduction Create a background Add simple object control (up and down) Add how to create a.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 11 "The games of a people reveal.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
2D Game Programming with XNA 4.0. Principles of Game Programming Game Programming Basics Mouse & Keyboard Controls Sounds Sprites and Animation Collision.
Flash Session 3: Events Shiny Yang special thanks to Alex
Daniel Martinez. My Focus  Learning how to code and what goes into the game development process  What will this project bring me regarding skills and.
Sound and more Animations
Intro CS – Screens and Variables
Week 2 - Monday CS361.
CS 134 Video Game “AI”.
2D Graphics and Animations in Unity 3D
Game Maker Intro to Programming Game Maker Pop Quiz (Both Groups)
Keyboard Input.
Background Shapes & Collision Resolution (Top-down and Side-scrolling)
CS 134 More Graphics.
Frame Update, Level Representation & Graphics
Lesson Objectives To understand how to create animation with motion tweens.   To understand how to create symbols and why these are important.
Collision Detection Box-to-Box.
Advanced CSS BIS1523 – Lecture 20.
Game Engines By James Tedder.
RYU PIXAL ART For this project we worked toward learning animation using street fighter characters and pixel art to replicate rye hudukon in a pixel.
Stop Animation Task.
First-Person PacMan By Brett Jones.
EEL 3705 / 3705L Digital Logic Design
Importing and Editing Images
Creating games with game editors
PC01 Term 3 Project Snake. PC01 Term 3 Project Snake.
Game Loop Update & Draw.
Collision Detection Platforms.
Week 6: Time and triggers!
Game Maker Intro to Programming Game Maker Pop Quiz (Both Groups)
Transparency & magic pixel
CO Games Concepts Week 12 Collision Detection
Nate Brunelle Today: Games
Game Programming Algorithms and Techniques
Resources and interactions
So you want to be a Game Designer
Unity Game Development
Presentation transcript:

MORE Genre Specific Physics

Today in Video Games

Genre Specific Physics Physics so far is enough for many different game genres Platformer, RPG, Shooter, Metroidvania, Sports… Two key genres need more advanced physics Fighting Game 2D Brawler

Fighting Game Physics Only two sprites, both with really high quality art Many different moves for each character Each move is extremely unique

Fighting Game Physics Collision resolution is very simple! Damage -OR- Push Nothing to interact other than the characters or projectiles

In fighting games, animation controls physics Fighting Game Physics In fighting games, animation controls physics Most Games: Input sets player state and movement State set animations Physics resolution sets state Fighting Games: Input sets animations Animations set movement and collision Physics resolution sets animation

Fighting Game Physics Animation has additional gameplay data added Hitboxes Motion

Fighting Game Physics class AnimationDef { String name; FrameDef[] frames; float motionSpeed; boolean isJump; int damage; } class FrameDef { int image; float frameTimeSecs; int w; int h; AABB[] attackBox; AABB[] vulnerableBox; AABB collisionBox;

Fighting Game Physics

Fighting Game Physics

Fighting Game Physics With physics tied so much to animation, it no longer is going faster than rendering Now animation will also be fixed framerate Because animation now is physics Animation needs to change to be frame based instead of time based

Fighting Game Physics // Physics runs at 100fps, or 10ms / physics frame int animationDeltaMs = 10; int lastAnimationFrameMs; // The game loop while (!shouldExit) { // ... // Gameplay animation update while (lastAnimationFrameMs + animationDeltaMs < curFrameMs ) { // 1. Animation update // 2. Physics movement // 3. Physics collision detection // 4. Physics collision resolution lastAnimationFrameMs += AnimationDeltaMs; } // Normal update logic is much smaller, non-gameplay animations and timers // …

Fighting Game Physics For each piece of art, you need to define: List of vulnerable boxes List of attack boxes A collision box If two collision boxes overlap, resolve by pushing the players apart If an attack box overlaps a vulnerable box, deal damage and set to a hit animation

Fighting Game Physics And create lots and lots and lots of content

Fighting Game Physics

Fighting Game Physics

Fighting Game Physics

For a project in this class, keep the art under control! Fighting Game Physics For a project in this class, keep the art under control!

Fighting Game Physics Questions?

Brawler Physics Side scrolling fighter where the players fight lots and lots of enemies.

Brawler Physics Borrow a lot of the techniques from fighting games Animation based collisions, lots of different moves New need: Entire game has to be playable in 3D All bounding boxes should be 3D

Brawler Physics AABB3D / AABB3D collision detection Check in order: Is box1 left of box2? Is box1 right of box2? Is box1 above box2? Is box1 below box2? Is box1 in front of box2? Is box1 behind box2?

Brawler Physics To do this, you need two new fields in AABB3D, front and back. class AABB3D { public float left, right; public float top, bottom; public float front, back; }

Brawler Physics That's it!

Brawler Physics Questions?

Homework 4 Due April 19th Add background collision detection and resolution to your game. Everything you've added so far must collide “sensibly” Player, enemies, and projectiles You only need top-down collision to be handled

Homework 4 Extra credit: Add one or two of the advanced physics techniques talked about Platformer physics One way walls Pixel perfect collision