How to Program a Game: A Super Crash Course, A Talk or Something!

Slides:



Advertisements
Similar presentations
1.1 Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University
Advertisements

Games, Movies and Virtual Worlds – An Introduction to Computer Graphics Ayellet Tal Department of Electrical Engineering Technion.
Creating Interactive Games Your trainer today is: Luke Milner Derbyshire County Council Children and Younger Adults Department.
Week 11 - Wednesday.  Image based effects  Skyboxes  Lightfields  Sprites  Billboards  Particle systems.
Game Content Development (Game Content Development)
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Adv. Computer Graphics CS6500, Spring 2003.
Further Programming for 3D applications CE Introduction to Further Programming for 3D application Bob Hobbs Faculty of Computing, Engineering and.
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
9/20/2001CS 638, Fall 2001 Today Finishing Up Reflections More Multi-Pass Algorithms Shadows.
Week 1 - Friday.  What did we talk about last time?  C#  SharpDX.
Pre Production I.Concept II.Story Development III.Visual Development IV.Technical Direction V.Production Management.
Electronic Visualization Laboratory University of Illinois at Chicago Interaction between Real and Virtual Humans: Playing Checkers R. Torre, S. Balcisoy.
Course Overview, Introduction to CG Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 5, 2003.
COMP4070 Computer Graphics Dr. Amy Zhang. Welcome! 2  Introductions  Administrative Matters  Course Outline  What is Computer Graphics?
Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead.
Computer Graphics Computer Graphics is everywhere: Visual system is most important sense: High bandwidth Natural communication Fast developments in Hardware.
Final Project Presentation& Demo Zhi Dong Real Time FEM of Elasto-Plastic Simulation.
Invitation to Computer Science 5th Edition
 Corel R.A.V.E. is an object-based animation program designed for creating animated graphics.  $87.50  It is still relevant, but was discontinued a.
3D COMPUTER GRAPHICS IMD Chapter 1: 3D Computer Graphics Chapter 1: 1 Lecturer: Norhayati Mohd Amin.
Week 2 - Wednesday CS361.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
CS 425 Game Programming I Jan M. Allbeck. Outline  Introductions  Expectations  Tools and setup  Quick introduction to C++ and Visual Studio  What.
Games are Up for DVFS Yan Gu Samarjit Chakraborty Wei Tsang Ooi Department of Computer Science National University of Singapore.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CSE 381 – Advanced Game Programming Code Setup.
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
Dr. Brian Durney Computing and Networking Sciences at UVU C S
Learning Unity. Getting Unity
The Rendering Pipeline CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
Game Maker Terminology
Mark Nelson 3d projections Fall 2013
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
ATEC Procedural Animation
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
1 A Basic Introduction to Flash. Outline What is a flash? Macromedia Flash MX 2004 Flash concepts Flash Demos Conclusion Additional help 2.
Autodesk - Maya How and what is Maya used for?. Introduction Autodesk Maya, is a 3D computer graphics software that can run on most computers. It was.
1 Angel: Interactive Computer Graphics5E © Addison- Wesley 2009 Image Formation Fundamental imaging notions Fundamental imaging notions Physical basis.
Motion Graphics Tony Johnson - Eccleston. Music Video In this video i am talking about all the motion graphic.
3D Animation 1. Introduction Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
Applications and Rendering pipeline
Computer Game and Animation Techniques – a brief history
Games Development Practices 3D Modelling
Introduction Acadia Institute for Teaching and Technology
- Introduction - Graphics Pipeline
Week 2 - Monday CS361.
GAD Created by Educational Technology Network
GIF or Not GIF? Use GIF for animation:
Photorealistic Rendering vs. Interactive 3D Graphics
Perspective, Scene Design, and Basic Animation
Game Development Unity3D.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Models and Architectures
Introduction to Computer Graphics with WebGL
MOTION GRAPHICS AND COMPOSITING VIDEO
Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Game Loop Update & Draw.
Chapter I Introduction
(c) 2002 University of Wisconsin
ATEC Procedural Animation
Games Development Game Architecture: Entities
03 | Creating, Texturing and Moving Objects
Introduction to spagetti and meatballs
GIF or Not GIF? Use GIF for animation:
Game Programming Algorithms and Techniques
Presentation transcript:

How to Program a Game: A Super Crash Course, A Talk or Something! -Dr. Gurman Gill

Quick Introduction Who am I? What do I teach? Assistant Professor in Department of Computer Science What do I teach? CS 115 (Programming I), CS 242 (Discrete Mathematics), CS 330 (Game Programming), CS 349 (Team Programming) and CS 385 (Object Detection) Game programming experience Worked in a gaming company called “Behavior Interactive” in Montreal, Canada from 2009-2012 Involved in the titles: Sims 3(Wii), Wipeout (3DS), Transformers: Dark of the moon (3DS) and GoldRun (iOS)

So, what is a Game? Well, what is a movie? (I mean, animated movie) Process of bringing digital content to the screen Screen: Computer monitor, TV, smart phones, etc. Process is called “Rendering” Involves several transformations of the digital content Game: Real-time Rendering Typically in 60 frames per second (FPS) Each frame corresponds to a single iteration of a “game loop” while game is running process inputs update game world generate outputs loop

Real-time Rendering So what’s challenging about it? Well, think about the “stuff” you see in a video game Your favorite character (Mario, Pokemon, Master Chief) Cars, Mountains, Buildings, Weapons, etc. What do you think they are made of? Vertices!

Vertices What is a vertex? X, Y, Z coordinate of a point Everything in the game world is made up of triangular meshes Meshes are made up of vertices The whole rendering game is to transform these vertices to the correct location on the screen And to color them correctly And to animate them correctly Typical scene has millions of vertices!

Skeletal mesh Source: https://davidhailes.wordpress.com/games-production-pipeline/

Skeletal mesh animation Source: https://davidhailes.wordpress.com/games-production-pipeline/

Transformations What are these transformations? OK, so vertices are transformed but How? Each transformation is represented by a Matrix What is a Matrix?

Matrix The Matrix is a 1999 science fiction film written and directed by The Wachowskis Source: Google images

Bullet Time The Matrix is known for popularizing a visual effect known as "bullet time", in which the heightened perception of certain characters is represented by allowing the action within a shot to progress in slow-motion while the camera's viewpoint appears to move through the scene at normal speed. This material is the intellectual property of Warner Bros. Entertainment. I hold no rights to this material.

Matrix A matrix is a grid of real numbers with m rows and n columns. Refered to as a m x n matrix. For games, 3x3 or 4x4 matrices are the most common. These matrices are used to transform vertices from one space to another Model space to world space. World space to camera space. Camera space to projection space.

Anatomy of a Game World JG 14.1 , World elements: Dynamic and Static elements World chunks: Levels, maps, stages, areas CHECK JG 15 The geometry of a static world element is often defined in a tool like Maya. It might be one giant triangle mesh, or it might be broken up into discrete pieces.

Types of Game Objects Drawn and Updated Only Drawn (Static Objects) Any character, creature, or otherwise movable object that's also visible in the world Only Drawn (Static Objects) A building in the background of a level Only Updated Camera Trigger

Game Engine

Game Play Game: Play activity with rules that involves conflict

Game Development Cycle Source: Gamebryo Scene Designer - Chain Game Wiki

Source: https://www.unrealengine.com/what-is-unreal-engine-4 CS 330: Game Programming Unreal Engine 4.10.2 Xcode 7.2 Mac OS Yosemite Dead by daylight (created by Behavior Interactive) Source: https://www.unrealengine.com/what-is-unreal-engine-4

Unreal Engine 4 (UE4) Coding game play in “Blueprints”: Graphical scripting framework UE4 comes with several templates out of the box Racing games First person shooter Platformer / Third person games

Student Projects: Spring 2016 Team CrosSwin and CheetoBandits: Racing game Team Extreme Mailman: Third person shooter Team Deathmatch and Team Magma: Survival game (FPS) Team Beastly Brotherhood: Flying Alien Team Counter Strike: First person shooter

Questions? While project demos are being set up…