Introduction to Game Design. Truong Tuan Anh CSE-HCMUT

Size: px
Start display at page:

Download "Introduction to Game Design. Truong Tuan Anh CSE-HCMUT"

Transcription

1 Introduction to Game Design Truong Tuan Anh CSE-HCMUT

2 Games Games are actually complex applications: interactive real-time simulations of complicated worlds multiple agents and interactions game entities move and change and act upon each other use of visual & audio data, GPU programs, other resources must interface (and hide) with low-level libraries that provide hardware services and components (especially graphics) Analysis of game program architecture and concepts how to design and organize a game program? what are relevant tools, techniques, and patterns? 2

3 Simple Architecture 3

4 Basic Notations Games: A "game" is an interactive experience that provides the player with an increasingly challenging sequence of patterns which he or she learns and eventually masters... [Koster, Theory of Fun for Game Design, 2004] "a game is a soft real-time interactive agent-based computer simulation [Gregory, 2014] Agent: a game entity/actor, often implemented as an object in an object-oriented programming language (behavior + encapsulated state) how to define different kinds/types of game objects need to integrate game objects into the game loop 4

5 Basic Notations Game loop: the basic loop that drives discretetime simulation in games also use multiple (nested) or multithreaded loops Time: real time vs game time how to make logic (updates) a function of delta time (the time that has elapsed after the last update point) why/how to control display rate? implement frame limiting and/or frame dropping 5

6 Game Programming The operations/actions while running a computer game include loading preprocessed assets (textures, models, skeletons, whatever..) handling user input from keyboards, mouse, controllers running the game logic: scripts, physics simulation, game events.. presenting a snapshot of the game world to the player (via GPU) 6

7 History Chap 1 [Madhav, 2014]

8 Game Loop

9 Game Loop Overall flow control for the entire game program: It s a loop because the game keeps doing a series of actions over and over again until the user quits Each iteration of the loop produces one frame (snapshot image) e.g., 60 FPS (frames per second): the loop completes 60 iterations every second 9

10 Traditional Game Loop Three distinct phases While game is running do Step 1: process inputs; Step 2: update game world; Step 3: generate outputs; 10

11 Step 1: Process Inputs Detect any inputs from devices: keyboard, mouse, joystick, Other forms of input (stored or generated) instant replay playback data: to watch a recorded sequence of game play (say, the last served ball in a game of tennis) for online games, need to receive and process data from network and propagate onward... on a mobile device, can include data from GPS (Global Positioning System), accelerometer, gyroscope, or real camera (for modified view of reality in augmented reality games) 11

12 Step 2: Update Game World Iterate through (currently active) game objects in the world and update them (or letting them update () themselves) could include hundreds or thousands of objects (or more) 12

13 Step 3: Generate Outputs The most computationally expensive output is usually graphics (2D/3D) Also audio, including sound effects, music, and dialogue Rumble effects (force feedback) For multi-player online games, need to send data to network 13

14 Example: Pac-Man Game 14

15 15

16 Example: "Multiple interactions within the program" Case: Gears of War (2006) Models the state of the game world as interacting objects that evolve over time About 1000 distinct gameplay classes have dynamic state and behavior (member functions) About 10,000 active gameplay objects each time a gameplay object is updated, it typically touches (affects) 5-10 other objects updates (frames) per second, attempting more or less "photorealistic quality (3D scene, details, lighting, shadows) Written in C++ or a custom scripting language (textual/visual) high-level, object-oriented code imperative programming style lots of dynamic objects to manage (created/updated/destroyed) 16

17 Example: "Multiple interactions within the program" Case: Gears of War (2006) 17

18 Example: "Multiple interactions within the program" Case: Gears of War (2006) Initially for Xbox 360 (2006); a Windows version (2007) sold over three million copies in ten weeks online multiplayer features.. Resources about 10 programmers about 20 artists (!) about 24 month development cycle (not incl. the ready engine) about $ 10 million budget Software dependencies one "middleware" game engine (its own Unreal Engine 3) about 20 other support libraries graphics APIs, sound, input, etc. 18

19 Multi-Threaded Game Loop 19

20 On Multi-threaded Game Loops Modern CPUs have multiple cores: can run multiple lines of execution (threads) at once (in a true parallel way) Game loop should take advantage of all available cores Why? 20

21 On Multi-threaded Game Loops Rendering graphics: an extremely timeconsuming operation for AAA games Suppose it takes 30 milliseconds to render the entire scene It also takes an additional 20 milliseconds to perform the game world update On a single thread: 50 milliseconds to complete a frame -> low 20 FPS Two threads: the rendering and world update could be completed in parallel -> 30 milliseconds to complete a frame -> 30 FPS Should custom the traditional game loop How? 21

22 One Strategy: Multithreaded "split" Loop Graphics (rendering) runs on one thread Everything else runs on a second thread Graphics thread always lags one frame behind the main (second) thread But 22

23 23

24 Problem: input lag Amount of time it takes for a (player) action to have a visible effect on screen Rendering thread is at least one calculation step (frame) "behind" the gameplay thread The higher the input lag, the more sluggish (slow to react to controls) the game feels For some genres (such as highly-tuned combat games), a high input lag may be unacceptable A similar problem may occur when delivering buffered messages/events between game subsystems and components 24

25 Time 25

26 Real Time vs. Game Time Real time amount of time has elapsed in the real world (for the player) note that the frame rate (fps) is expressed in this real time Game time amount of time elapsed in the game world simulation Real time and game time is often 1:1, but if the game is paused, no game time passes (but still frames are displayed so the game loop needs to run) game time may be slower or faster than real time (for example, bullet time being slower; collision of galaxies being faster) games may even have game time go in reverse (~ time travel) Game loop should take elapsed game time into account 26

27 Logic as a Function of Delta Time The following code will run differently on different systems enemy.position.x += 5 // update per each frame (loop cycle) At 30 FPS, the enemy would move 150 pixels/sec (original) At 60 FPS, the enemy would move 300 pixels/sec (twice that) Solution? To solve this issue, we need to make the speed a function of delta time (the amount of elapsed game time since last frame/update) not in terms of pixels per frame, but in terms of pixels per second E.g., The movement is 150 pixels per second: multiply 150 by the elapsed portion of second enemy.position.x += 150 * deltatime; 27

28 Game Loop with Delta Time Note. Game time is always calculated from real time 28

29 Problems with Unsteady" Frame Rate Basic physics has wildly different behavior based on frame rate physics may require higher and steady rate of updates game characters may move unpredictably at lower frame rates online games may not work properly with variable frame rates Solution (for the classic game loop) use frame limiting to lock down the frame rate to a specific value: pause and wait until the required delta time has elapsed 29

30 Game Loop with Frame Limiting 30

31 Problems with Unsteady" Frame Rate Another potential problem: when updates need to take longer than given by the target delay time per frame Solution: frame dropping : skip rendering on the subsequent frame in an attempt to catch back up to the desired frame rate cause a perceptible visual hitch Advanced solution: use another loop to do physics at a faster, steady rate 31

32 Game Objects

33 A Simplified View of Game Architecture 33

34 A Hypothetical Architecture for a 3rd-Person Shooter 34

35 A Hypothetical Architecture for a 3rd-Person Shooter All player characters and game objects are contained in a game level (possibly using non-owning aggregation) Game objects have position, rotation, and velocity: can be moved around and touch/collide with each other Both players and enemies are "game characters The scene includes parts such as crates, barrels, etc. that have geometry (i.e., shape), are animated, and simulated by physics: generalize them as a class "game dynamic objects" ("rigid bodies", in game physics) Game triggers have (only) volumes and locations in a level, and often provide health power-ups, coins, ammo, generate events, etc. A game camera may have its own logic, e.g., how to follow the player character or have "scripted" actions; so need a specific class Also, e.g. heads-up display (HUD) shows current status (health, ammo); often not part of the 3D level (but can) but a separate display layer 35

36 Different Types of Game Objects Drawn and updated any character, creature, or otherwise movable object that's also visible in the world in Super Mario Bros.: Mario, any enemies, all dynamic entities Only-drawn static objects, such as buildings, mountains, sky in the background of a level/scene Only-updated cameras (presuming no mirrors reflect the camera object) trigger volumes (for doors, hidden secret passageways, etc.) the whole game/level (depending on the game logic) 36

37 Game Objects in the Game Loop Create a root GameObject class Create two interfaces: Drawable Updateable The three types (1) - (3) of game objects each implement the right combination of the interfaces Create separate lists of drawable and updateable objects, and add to these lists as appropriate 37

38 Basic GameObject Implementation 38

39 39

40 Summary

41 Finally: a (simplified) Single-thread Game Loop 41

42 Takeaways Game and history Game loop Time and Games Game Objects 42

Outline. Introduction to Game Programming Autumn Game architecture. The (classic) game loop. Fundamental concepts

Outline. Introduction to Game Programming Autumn Game architecture. The (classic) game loop. Fundamental concepts Introduction to Game Programming Autumn 2017 1. Game architecture [S. Madhav, 2014], Ch. 1. Game programming overview [J. Gregory, 2015], Ch. 15.2 Runtime object model architectures Juha Vihavainen University

More information

INTRODUCTION TO GAME AI

INTRODUCTION TO GAME AI CS 387: GAME AI INTRODUCTION TO GAME AI 3/31/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Outline Game Engines Perception

More information

Killzone Shadow Fall: Threading the Entity Update on PS4. Jorrit Rouwé Lead Game Tech, Guerrilla Games

Killzone Shadow Fall: Threading the Entity Update on PS4. Jorrit Rouwé Lead Game Tech, Guerrilla Games Killzone Shadow Fall: Threading the Entity Update on PS4 Jorrit Rouwé Lead Game Tech, Guerrilla Games Introduction Killzone Shadow Fall is a First Person Shooter PlayStation 4 launch title In SP up to

More information

the gamedesigninitiative at cornell university Lecture 4 Game Components

the gamedesigninitiative at cornell university Lecture 4 Game Components Lecture 4 Game Components Lecture 4 Game Components So You Want to Make a Game? Will assume you have a design document Focus of next week and a half Building off ideas of previous lecture But now you want

More information

Sensible Chuckle SuperTuxKart Concrete Architecture Report

Sensible Chuckle SuperTuxKart Concrete Architecture Report Sensible Chuckle SuperTuxKart Concrete Architecture Report Sam Strike - 10152402 Ben Mitchell - 10151495 Alex Mersereau - 10152885 Will Gervais - 10056247 David Cho - 10056519 Michael Spiering Table of

More information

Pangolin: A Look at the Conceptual Architecture of SuperTuxKart. Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy

Pangolin: A Look at the Conceptual Architecture of SuperTuxKart. Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy Pangolin: A Look at the Conceptual Architecture of SuperTuxKart Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy Abstract This report will be taking a look at the conceptual

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology http://www.cs.utexas.edu/~theshark/courses/cs354r/ Fall 2017 Instructor and TAs Instructor: Sarah Abraham theshark@cs.utexas.edu GDC 5.420 Office Hours: MW4:00-6:00pm

More information

G54GAM - Games. So.ware architecture of a game

G54GAM - Games. So.ware architecture of a game G54GAM - Games So.ware architecture of a game Coursework Coursework 2 and 3 due 18 th May Design and implement prototype game Write a game design document Make a working prototype of a game Make use of

More information

the gamedesigninitiative at cornell university Lecture 10 Game Architecture

the gamedesigninitiative at cornell university Lecture 10 Game Architecture Lecture 10 2110-Level Apps are Event Driven Generates event e and n calls method(e) on listener Registers itself as a listener @105dc method(event) Listener JFrame Listener Application 2 Limitations of

More information

LOOKING AHEAD: UE4 VR Roadmap. Nick Whiting Technical Director VR / AR

LOOKING AHEAD: UE4 VR Roadmap. Nick Whiting Technical Director VR / AR LOOKING AHEAD: UE4 VR Roadmap Nick Whiting Technical Director VR / AR HEADLINE AND IMAGE LAYOUT RECENT DEVELOPMENTS RECENT DEVELOPMENTS At Epic, we drive our engine development by creating content. We

More information

Pangolin: Concrete Architecture of SuperTuxKart. Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy

Pangolin: Concrete Architecture of SuperTuxKart. Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy Pangolin: Concrete Architecture of SuperTuxKart Caleb Aikens Russell Dawes Mohammed Gasmallah Leonard Ha Vincent Hung Joseph Landy Abstract For this report we will be looking at the concrete architecture

More information

Beginning 3D Game Development with Unity:

Beginning 3D Game Development with Unity: Beginning 3D Game Development with Unity: The World's Most Widely Used Multi-platform Game Engine Sue Blackman Apress* Contents About the Author About the Technical Reviewer Acknowledgments Introduction

More information

Game Tools MARY BETH KERY - ADVANCED USER INTERFACES SPRING 2017

Game Tools MARY BETH KERY - ADVANCED USER INTERFACES SPRING 2017 Game Tools MARY BETH KERY - ADVANCED USER INTERFACES SPRING 2017 2 person team 3 years 300 person team 10 years Final Fantasy 15 ART GAME DESIGN ENGINEERING PRODUCTION/BUSINESS TECHNICAL CHALLENGES OF

More information

publi l c i c c l c a l s a s s s Ga G m a e1 e1 : M i M c i r c os o o s f o t. t Xn X a. a Fram a ew o k.ga G m a e m { G ap a hic i s c D s ev

publi l c i c c l c a l s a s s s Ga G m a e1 e1 : M i M c i r c os o o s f o t. t Xn X a. a Fram a ew o k.ga G m a e m { G ap a hic i s c D s ev Game Engine Architecture Spring 2017 0. Introduction and overview Juha Vihavainen University of Helsinki [Gregory, Chapter 1. Introduction, pp. 3-62 ] [McShaffry, Chapter 2. What's in a Game ] On classroom

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Introduction to Game AI Fall 2018 What does the A stand for? 2 What is AI? AI is the control of every non-human entity in a game The other cars in a car game The opponents

More information

Game Programming Paradigms. Michael Chung

Game Programming Paradigms. Michael Chung Game Programming Paradigms Michael Chung CS248, 10 years ago... Goals Goals 1. High level tips for your project s game architecture Goals 1. High level tips for your project s game architecture 2.

More information

Emergent s Gamebryo. Casey Brandt. Technical Account Manager Emergent Game Technologies. Game Tech 2009

Emergent s Gamebryo. Casey Brandt. Technical Account Manager Emergent Game Technologies. Game Tech 2009 Emergent s Gamebryo Game Tech 2009 Casey Brandt Technical Account Manager Emergent Game Technologies Questions To Answer What is Gamebryo? How does it look today? How is it designed? What titles are in

More information

CISC 1600, Lab 2.2: More games in Scratch

CISC 1600, Lab 2.2: More games in Scratch CISC 1600, Lab 2.2: More games in Scratch Prof Michael Mandel Introduction Today we will be starting to make a game in Scratch, which ultimately will become your submission for Project 3. This lab contains

More information

Z-Town Design Document

Z-Town Design Document Z-Town Design Document Development Team: Cameron Jett: Content Designer Ryan Southard: Systems Designer Drew Switzer:Content Designer Ben Trivett: World Designer 1 Table of Contents Introduction / Overview...3

More information

GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game

GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game I. BACKGROUND 1.Introduction: GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game We have talked about the programming languages and discussed popular programming paradigms. We discussed

More information

Introduction. Video Game Design and Development Spring part of slides courtesy of Andy Nealen. Game Development - Spring

Introduction. Video Game Design and Development Spring part of slides courtesy of Andy Nealen. Game Development - Spring Introduction Video Game Design and Development Spring 2011 part of slides courtesy of Andy Nealen Game Development - Spring 2011 1 What is this course about? Game design Real world abstractions Visuals

More information

Understanding OpenGL

Understanding OpenGL This document provides an overview of the OpenGL implementation in Boris Red. About OpenGL OpenGL is a cross-platform standard for 3D acceleration. GL stands for graphics library. Open refers to the ongoing,

More information

Easy Input Helper Documentation

Easy Input Helper Documentation Easy Input Helper Documentation Introduction Easy Input Helper makes supporting input for the new Apple TV a breeze. Whether you want support for the siri remote or mfi controllers, everything that is

More information

Game Design Document. Plataforms: Platformer / Puzzle

Game Design Document. Plataforms: Platformer / Puzzle Plataforms: Genre: Platformer / Puzzle Target Audience: Young / Adult 1 CONTENTS 2 VISUAL APPEAL... 3 2.1 Character Appeal... 3 2.2 Lighting and effects animation... 3 3 INOVATION... 4 3.1 Technical...

More information

Transitioning From Linear to Open World Design with Sunset Overdrive. Liz England Designer at Insomniac Games

Transitioning From Linear to Open World Design with Sunset Overdrive. Liz England Designer at Insomniac Games Transitioning From Linear to Open World Design with Sunset Overdrive Liz England Designer at Insomniac Games 20 th year anniversary LINEAR GAMEPLAY Overview Overview What do we mean by linear and open

More information

Introduction. Video Game Programming Spring Video Game Programming - A. Sharf 1. Nintendo

Introduction. Video Game Programming Spring Video Game Programming - A. Sharf 1. Nintendo Indie Game The Movie - Official Trailer - YouTube.flv 235 Free Indie Games in 10 Minutes - YouTube.flv Introduction Video Game Programming Spring 2012 Nintendo Video Game Programming - A. Sharf 1 What

More information

Procedural Level Generation for a 2D Platformer

Procedural Level Generation for a 2D Platformer Procedural Level Generation for a 2D Platformer Brian Egana California Polytechnic State University, San Luis Obispo Computer Science Department June 2018 2018 Brian Egana 2 Introduction Procedural Content

More information

STEP-BY-STEP THINGS TO TRY FINISHED? START HERE NEW TO SCRATCH? CREATE YOUR FIRST SCRATCH PROJECT!

STEP-BY-STEP THINGS TO TRY FINISHED? START HERE NEW TO SCRATCH? CREATE YOUR FIRST SCRATCH PROJECT! STEP-BY-STEP NEW TO SCRATCH? CREATE YOUR FIRST SCRATCH PROJECT! In this activity, you will follow the Step-by- Step Intro in the Tips Window to create a dancing cat in Scratch. Once you have completed

More information

Experiment 02 Interaction Objects

Experiment 02 Interaction Objects Experiment 02 Interaction Objects Table of Contents Introduction...1 Prerequisites...1 Setup...1 Player Stats...2 Enemy Entities...4 Enemy Generators...9 Object Tags...14 Projectile Collision...16 Enemy

More information

Chapter 1:Object Interaction with Blueprints. Creating a project and the first level

Chapter 1:Object Interaction with Blueprints. Creating a project and the first level Chapter 1:Object Interaction with Blueprints Creating a project and the first level Setting a template for a new project Making sense of the project settings Creating the project 2 Adding objects to our

More information

Survey Platform

Survey Platform Survey Doron Nussbaum COMP 350 Survey Results 202 Platform Weighted Nintendo DS 7% Other Play Station 0% PC/Mac 50% PC/Mac Xbox Play Station Nintendo DS Other Xbox 30% Doron Nussbaum COMP 350 Survey Results

More information

Oculus Rift Getting Started Guide

Oculus Rift Getting Started Guide Oculus Rift Getting Started Guide Version 1.23 2 Introduction Oculus Rift Copyrights and Trademarks 2017 Oculus VR, LLC. All Rights Reserved. OCULUS VR, OCULUS, and RIFT are trademarks of Oculus VR, LLC.

More information

Lecture 1: Introduction and Preliminaries

Lecture 1: Introduction and Preliminaries CITS4242: Game Design and Multimedia Lecture 1: Introduction and Preliminaries Teaching Staff and Help Dr Rowan Davies (Rm 2.16, opposite the labs) rowan@csse.uwa.edu.au Help: via help4242, project groups,

More information

Learning XNA 4.0. Aaron Reed O'REILLY8. Cambridge. Beijing. Sebastopoi. Tokyo. Farnham Koln

Learning XNA 4.0. Aaron Reed O'REILLY8. Cambridge. Beijing. Sebastopoi. Tokyo. Farnham Koln Learning XNA 4.0 Aaron Reed O'REILLY8 Beijing Cambridge Farnham Koln Sebastopoi Tokyo Table of Contents Preface xiii 1. What's New in XNA 4.0? 1 Revised Project Folder Structure 1 Develop Games for Windows

More information

Design Document for: Name of Game. One Liner, i.e. The Ultimate Racing Game. Something funny here! All work Copyright 1999 by Your Company Name

Design Document for: Name of Game. One Liner, i.e. The Ultimate Racing Game. Something funny here! All work Copyright 1999 by Your Company Name Design Document for: Name of Game One Liner, i.e. The Ultimate Racing Game Something funny here! All work Copyright 1999 by Your Company Name Written by Chris Taylor Version # 1.00 Thursday, September

More information

Group Project Shaft 37-X25

Group Project Shaft 37-X25 Group Project Shaft 37-X25 This is a game developed aimed at apple devices, especially iphone. It works best for iphone 4 and above. The game uses Unreal Development Engine and the SDK provided by Unreal,

More information

Tic Feedback. Don t fall behind! the rest of the course. tic. you. us too

Tic Feedback. Don t fall behind! the rest of the course. tic. you. us too LECTURE 1 Announcements Tic is over! Tic Feedback Don t fall behind! the rest of the course tic you us too Global Reqs They exist! Cover broad standards for every project runs 20+ FPS, engine and game

More information

ADVANCED TOOLS AND TECHNIQUES: PAC-MAN GAME

ADVANCED TOOLS AND TECHNIQUES: PAC-MAN GAME ADVANCED TOOLS AND TECHNIQUES: PAC-MAN GAME For your next assignment you are going to create Pac-Man, the classic arcade game. The game play should be similar to the original game whereby the player controls

More information

The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, / X

The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, / X The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, 2012 10.5682/2066-026X-12-153 SOLUTIONS FOR DEVELOPING SCORM CONFORMANT SERIOUS GAMES Dragoş BĂRBIERU

More information

Key Abstractions in Game Maker

Key Abstractions in Game Maker Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead January 19, 2007 Creative Commons Attribution 2.5 creativecommons.org/licenses/by/2.5/ Upcoming Assignments Today:

More information

CONTROLS THE STORY SO FAR

CONTROLS THE STORY SO FAR THE STORY SO FAR Hello Detective. I d like to play a game... Detective Tapp has sacrificed everything in his pursuit of the Jigsaw killer. Now, after being rushed to the hospital due to a gunshot wound,

More information

Game Design Project 2, Part 3 Group #3 By: POLYHEDONISTS Brent Allard, Taylor Carter, Andrew Greco, Alex Nemeroff, Jessica Nguy

Game Design Project 2, Part 3 Group #3 By: POLYHEDONISTS Brent Allard, Taylor Carter, Andrew Greco, Alex Nemeroff, Jessica Nguy Game Design Project 2, Part 3 Group #3 By: POLYHEDONISTS Brent Allard, Taylor Carter, Andrew Greco, Alex Nemeroff, Jessica Nguy Concept Side scrolling beat-em-up Isometric perspective that implements 2D

More information

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti Basic Information Project Name Supervisor Kung-fu Plants Jakub Gemrot Annotation Kung-fu plants is a game where you can create your characters, train them and fight against the other chemical plants which

More information

Overview. The Game Idea

Overview. The Game Idea Page 1 of 19 Overview Even though GameMaker:Studio is easy to use, getting the hang of it can be a bit difficult at first, especially if you have had no prior experience of programming. This tutorial is

More information

Elicitation, Justification and Negotiation of Requirements

Elicitation, Justification and Negotiation of Requirements Elicitation, Justification and Negotiation of Requirements We began forming our set of requirements when we initially received the brief. The process initially involved each of the group members reading

More information

Technical Specifications: tog VR

Technical Specifications: tog VR s: BILLBOARDING ENCODED HEADS FULL FREEDOM AUGMENTED REALITY : Real-time 3d virtual reality sets from RT Software Virtual reality sets are increasingly being used to enhance the audience experience and

More information

The purpose of this document is to outline the structure and tools that come with FPS Control.

The purpose of this document is to outline the structure and tools that come with FPS Control. FPS Control beta 4.1 Reference Manual Purpose The purpose of this document is to outline the structure and tools that come with FPS Control. Required Software FPS Control Beta4 uses Unity 4. You can download

More information

HMD based VR Service Framework. July Web3D Consortium Kwan-Hee Yoo Chungbuk National University

HMD based VR Service Framework. July Web3D Consortium Kwan-Hee Yoo Chungbuk National University HMD based VR Service Framework July 31 2017 Web3D Consortium Kwan-Hee Yoo Chungbuk National University khyoo@chungbuk.ac.kr What is Virtual Reality? Making an electronic world seem real and interactive

More information

VR Best Practices: Putting the Fun in VR Funhouse. Amanda Bott - March 3, 2017

VR Best Practices: Putting the Fun in VR Funhouse. Amanda Bott - March 3, 2017 VR Best Practices: Putting the Fun in VR Funhouse Amanda Bott - March 3, 2017 2 Overview Getting Started Design Haptics High-end Rendering Simulated Effects Audio Performance Tools Modding 3 In the Beginning

More information

Instructions for using Object Collection and Trigger mechanics in Unity

Instructions for using Object Collection and Trigger mechanics in Unity Instructions for using Object Collection and Trigger mechanics in Unity Note for Unity 5 Jason Fritts jfritts@slu.edu In Unity 5, the developers dramatically changed the Character Controller scripts. Among

More information

gfm-app.com User Manual

gfm-app.com User Manual gfm-app.com User Manual 03.07.16 CONTENTS 1. MAIN CONTROLS Main interface 3 Control panel 3 Gesture controls 3-6 2. CAMERA FUNCTIONS Exposure 7 Focus 8 White balance 9 Zoom 10 Memory 11 3. AUTOMATED SEQUENCES

More information

Create Your Own World

Create Your Own World Create Your Own World Introduction In this project you ll learn how to create your own open world adventure game. Step 1: Coding your player Let s start by creating a player that can move around your world.

More information

Unity Certified Programmer

Unity Certified Programmer Unity Certified Programmer 1 unity3d.com The role Unity programming professionals focus on developing interactive applications using Unity. The Unity Programmer brings to life the vision for the application

More information

CSE 115. Introduction to Computer Science I

CSE 115. Introduction to Computer Science I CSE 115 Introduction to Computer Science I FINAL EXAM Tuesday, December 11, 2018 7:15 PM - 10:15 PM SOUTH CAMPUS (Factor in travel time!!) Room assignments will be published on last day of classes CONFLICT?

More information

Design of Embedded Systems - Advanced Course Project

Design of Embedded Systems - Advanced Course Project 2011-10-31 Bomberman A Design of Embedded Systems - Advanced Course Project Linus Sandén, Mikael Göransson & Michael Lennartsson et07ls4@student.lth.se, et07mg7@student.lth.se, mt06ml8@student.lth.se Abstract

More information

BooH pre-production. 4. Technical Design documentation a. Main assumptions b. Class diagram(s) & dependencies... 13

BooH pre-production. 4. Technical Design documentation a. Main assumptions b. Class diagram(s) & dependencies... 13 BooH pre-production Game Design Document Updated: 2015-05-17, v1.0 (Final) Contents 1. Game definition mission statement... 2 2. Core gameplay... 2 a. Main game view... 2 b. Core player activity... 2 c.

More information

Gaming Development Fundamentals

Gaming Development Fundamentals Gaming Development Fundamentals EXAM INFORMATION Items 27 Points 43 Prerequisites RECOMMENDED COMPUTER PROGRAMMING I DIGITAL MEDIA I Grade Level 9-12 Course Length DESCRIPTION This course is designed to

More information

Moving Web 3d Content into GearVR

Moving Web 3d Content into GearVR Moving Web 3d Content into GearVR Mitch Williams Samsung / 3d-online GearVR Software Engineer August 1, 2017, Web 3D BOF SIGGRAPH 2017, Los Angeles Samsung GearVR s/w development goals Build GearVRf (framework)

More information

Mage Arena will be aimed at casual gamers within the demographic.

Mage Arena will be aimed at casual gamers within the demographic. Contents Introduction... 2 Game Overview... 2 Genre... 2 Audience... 2 USP s... 2 Platform... 2 Core Gameplay... 2 Visual Style... 2 The Game... 3 Game mechanics... 3 Core Gameplay... 3 Characters/NPC

More information

Step 1 - Setting Up the Scene

Step 1 - Setting Up the Scene Step 1 - Setting Up the Scene Step 2 - Adding Action to the Ball Step 3 - Set up the Pool Table Walls Step 4 - Making all the NumBalls Step 5 - Create Cue Bal l Step 1 - Setting Up the Scene 1. Create

More information

Obduction User Manual - Menus, Settings, Interface

Obduction User Manual - Menus, Settings, Interface v1.6.5 Obduction User Manual - Menus, Settings, Interface As you walk in the woods on a stormy night, a distant thunderclap demands your attention. A curious, organic artifact falls from the starry sky

More information

Game Design Document (GDD)

Game Design Document (GDD) Game Design Document (GDD) (Title) Tower Defense Version: 1.0 Created: 5/9/13 Last Updated: 5/9/13 Contents Intro... 3 Gameplay Description... 3 Platform Information... 3 Artistic Style Outline... 3 Systematic

More information

Game Engines: Why and What? Dan White Technical Director Pipeworks Message

Game Engines: Why and What? Dan White Technical Director Pipeworks Message Game Engines: Why and What? Dan White Technical Director Pipeworks danw@pipeworks.com Message As you learn techniques, consider how they can be integrated into a production pipeline. 1 Sense of scale Video

More information

VACUUM MARAUDERS V1.0

VACUUM MARAUDERS V1.0 VACUUM MARAUDERS V1.0 2008 PAUL KNICKERBOCKER FOR LANE COMMUNITY COLLEGE In this game we will learn the basics of the Game Maker Interface and implement a very basic action game similar to Space Invaders.

More information

CS 387/680: GAME AI DECISION MAKING. 4/19/2016 Instructor: Santiago Ontañón

CS 387/680: GAME AI DECISION MAKING. 4/19/2016 Instructor: Santiago Ontañón CS 387/680: GAME AI DECISION MAKING 4/19/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Reminders Check BBVista site

More information

Virtual Environments. Ruth Aylett

Virtual Environments. Ruth Aylett Virtual Environments Ruth Aylett Aims of the course 1. To demonstrate a critical understanding of modern VE systems, evaluating the strengths and weaknesses of the current VR technologies 2. To be able

More information

Royale Politique. A funny game developed for the RV course - University of Pisa

Royale Politique. A funny game developed for the RV course - University of Pisa Royale Politique A funny game developed for the RV course - University of Pisa First of all Based on an idea matured during the last elections turn:

More information

Genre-Specific Level Design Analysis.

Genre-Specific Level Design Analysis. Genre-Specific Level Design Analysis. UC Santa Cruz CMPS 171 Game Design Studio II courses.soe.ucsc.edu/courses/cmps171/winter13/01 ejw@cs.ucsc.edu 4 March 2013 Upcoming deadlines Friday. March 8 Team

More information

Quake III Fortress Game Review CIS 487

Quake III Fortress Game Review CIS 487 Quake III Fortress Game Review CIS 487 Jeff Lundberg September 23, 2002 jlundber@umich.edu Quake III Fortress : Game Review Basic Information Quake III Fortress is a remake of the original Team Fortress

More information

To experience the new content, go to the VR center in Carceburg after doing the alcohol mission.

To experience the new content, go to the VR center in Carceburg after doing the alcohol mission. To experience the new content, go to the VR center in Carceburg after doing the alcohol mission. Known Issues: - There is not much story content added this update because of the time required to completely

More information

In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds.

In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds. Brain Game Introduction In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds. Step 1: Creating questions Let s start

More information

AUTOMATED TESTING & INSTANT REPLAYS

AUTOMATED TESTING & INSTANT REPLAYS AUTOMATED TESTING & INSTANT REPLAYS IN RETRO CITY RAMPAGE BRIAN PROVINCIANO @BRIPROV VBLANK ENTERTAINMENT RECIPE INGREDIENTS 1 PART RECORDED PLAYER INPUT 1 PART DETERMINISTIC ENGINE DIRECTIONS 1. SIT BACK

More information

FATE WEAVER. Lingbing Jiang U Final Game Pitch

FATE WEAVER. Lingbing Jiang U Final Game Pitch FATE WEAVER Lingbing Jiang U0746929 Final Game Pitch Table of Contents Introduction... 3 Target Audience... 3 Requirement... 3 Connection & Calibration... 4 Tablet and Table Detection... 4 Table World...

More information

AI in Computer Games. AI in Computer Games. Goals. Game A(I?) History Game categories

AI in Computer Games. AI in Computer Games. Goals. Game A(I?) History Game categories AI in Computer Games why, where and how AI in Computer Games Goals Game categories History Common issues and methods Issues in various game categories Goals Games are entertainment! Important that things

More information

Computer Games 2011 Engineering

Computer Games 2011 Engineering Computer Games 2011 Engineering Dr. Mathias Lux Klagenfurt University This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Agenda Game Loop Sprites & 2.5D Game Engines

More information

Copyright 2017 MakeUseOf. All Rights Reserved.

Copyright 2017 MakeUseOf. All Rights Reserved. Make Your Own Mario Game! Scratch Basics for Kids and Adults Written by Ben Stegner Published April 2017. Read the original article here: http://www.makeuseof.com/tag/make-mario-game-scratchbasics-kids-adults/

More information

Game Designers. Understanding Design Computing and Cognition (DECO1006)

Game Designers. Understanding Design Computing and Cognition (DECO1006) Game Designers Understanding Design Computing and Cognition (DECO1006) Rob Saunders web: http://www.arch.usyd.edu.au/~rob e-mail: rob@arch.usyd.edu.au office: Room 274, Wilkinson Building Who are these

More information

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY Submitted By: Sahil Narang, Sarah J Andrabi PROJECT IDEA The main idea for the project is to create a pursuit and evade crowd

More information

PLANETOID PIONEERS: Creating a Level!

PLANETOID PIONEERS: Creating a Level! PLANETOID PIONEERS: Creating a Level! THEORY: DESIGNING A LEVEL Super Mario Bros. Source: Flickr Originally coders were the ones who created levels in video games, nowadays level designing is its own profession

More information

Creating Dynamic Soundscapes Using an Artificial Sound Designer

Creating Dynamic Soundscapes Using an Artificial Sound Designer 46 Creating Dynamic Soundscapes Using an Artificial Sound Designer Simon Franco 46.1 Introduction 46.2 The Artificial Sound Designer 46.3 Generating Events 46.4 Creating and Maintaining the Database 46.5

More information

CompuScholar, Inc. Alignment to Utah Game Development Fundamentals Standards

CompuScholar, Inc. Alignment to Utah Game Development Fundamentals Standards CompuScholar, Inc. Alignment to Utah Game Development Fundamentals Standards Utah Course Details: Course Title: Primary Career Cluster: Course Code(s): Standards Link: Game Development Fundamentals CTE

More information

Editing the standing Lazarus object to detect for being freed

Editing the standing Lazarus object to detect for being freed Lazarus: Stages 5, 6, & 7 Of the game builds you have done so far, Lazarus has had the most programming properties. In the big picture, the programming, animation, gameplay of Lazarus is relatively simple.

More information

04. Two Player Pong. 04.Two Player Pong

04. Two Player Pong. 04.Two Player Pong 04.Two Player Pong One of the most basic and classic computer games of all time is Pong. Originally released by Atari in 1972 it was a commercial hit and it is also the perfect game for anyone starting

More information

Tutorial: Creating maze games

Tutorial: Creating maze games Tutorial: Creating maze games Copyright 2003, Mark Overmars Last changed: March 22, 2003 (finished) Uses: version 5.0, advanced mode Level: Beginner Even though Game Maker is really simple to use and creating

More information

Space Invadersesque 2D shooter

Space Invadersesque 2D shooter Space Invadersesque 2D shooter So, we re going to create another classic game here, one of space invaders, this assumes some basic 2D knowledge and is one in a beginning 2D game series of shorts. All in

More information

Beginning ios 3D Unreal

Beginning ios 3D Unreal Beginning ios 3D Unreal Games Development ' Robert Chin/ Apress* Contents Contents at a Glance About the Author About the Technical Reviewers Acknowledgments Introduction iii ix x xi xii Chapter 1: UDK

More information

PAC XON CSEE 4840 Embedded System Design

PAC XON CSEE 4840 Embedded System Design PAC XON CSEE 4840 Embedded System Design Dongwei Ge (dg2563) Bo Liang (bl2369) Jie Cai (jc3480) Project Introduction PAC-XON Game Design Our project is to design a video game that consists of a combination

More information

Oculus Rift Getting Started Guide

Oculus Rift Getting Started Guide Oculus Rift Getting Started Guide Version 1.7.0 2 Introduction Oculus Rift Copyrights and Trademarks 2017 Oculus VR, LLC. All Rights Reserved. OCULUS VR, OCULUS, and RIFT are trademarks of Oculus VR, LLC.

More information

CONCEPTS EXPLAINED CONCEPTS (IN ORDER)

CONCEPTS EXPLAINED CONCEPTS (IN ORDER) CONCEPTS EXPLAINED This reference is a companion to the Tutorials for the purpose of providing deeper explanations of concepts related to game designing and building. This reference will be updated with

More information

AR 2 kanoid: Augmented Reality ARkanoid

AR 2 kanoid: Augmented Reality ARkanoid AR 2 kanoid: Augmented Reality ARkanoid B. Smith and R. Gosine C-CORE and Memorial University of Newfoundland Abstract AR 2 kanoid, Augmented Reality ARkanoid, is an augmented reality version of the popular

More information

Game Design. Level 3 Extended Diploma Unit 22 Developing Computer Games

Game Design. Level 3 Extended Diploma Unit 22 Developing Computer Games Game Design Level 3 Extended Diploma Unit 22 Developing Computer Games Your task (criteria P3) Produce a design for a computer game for a given specification Must be a design you are capable of developing

More information

Transforming Industries with Enlighten

Transforming Industries with Enlighten Transforming Industries with Enlighten Alex Shang Senior Business Development Manager ARM Tech Forum 2016 Korea June 28, 2016 2 ARM: The Architecture for the Digital World ARM is about transforming markets

More information

Game Programming Laboratory Conclusion report

Game Programming Laboratory Conclusion report Game Programming Laboratory Conclusion report Huw Bowles Samuel Muff Filip Wieladek Revision: 1 1. Table of Contents 1.Table of Contents...2 2.Introduction...2 3.Final Results The Game...2 4.Experiences...3

More information

Toon Dimension Formal Game Proposal

Toon Dimension Formal Game Proposal Toon Dimension Formal Game Proposal Peter Bucher Christian Schulz Nicola Ranieri February, 2009 Table of contents 1. Game Description...1 1.1 Idea...1 1.2 Story...1 1.3 Gameplay...2 1.4 Implementation...2

More information

Color Enhancement for Videogames. Naty Hoffman Activision

Color Enhancement for Videogames. Naty Hoffman Activision Color Enhancement for Videogames Naty Hoffman Activision Color Grading and LUTs Last two talks LUTs can emulate film emulsions in games Lou Levinson s talk DI color grading enables creative control over

More information

Title (Name of App) Preview

Title (Name of App) Preview Name of App. Company Name. 1 Title (Name of App) Preview 1 liner description 2016 Sanctuary Game Studios, LLC. All rights reserved. Version 1. Name. Date. Name of App. Company Name. 2 Table of Contents

More information

A RESEARCH PAPER ON ENDLESS FUN

A RESEARCH PAPER ON ENDLESS FUN A RESEARCH PAPER ON ENDLESS FUN Nizamuddin, Shreshth Kumar, Rishab Kumar Department of Information Technology, SRM University, Chennai, Tamil Nadu ABSTRACT The main objective of the thesis is to observe

More information

Surfing on a Sine Wave

Surfing on a Sine Wave Surfing on a Sine Wave 6.111 Final Project Proposal Sam Jacobs and Valerie Sarge 1. Overview This project aims to produce a single player game, titled Surfing on a Sine Wave, in which the player uses a

More information

CATS METRIX 3D - SOW. 00a First version Magnus Karlsson. 00b Updated to only include basic functionality Magnus Karlsson

CATS METRIX 3D - SOW. 00a First version Magnus Karlsson. 00b Updated to only include basic functionality Magnus Karlsson CATS METRIX 3D - SOW Revision Number Date Changed Details of change By 00a 2015-11-11 First version Magnus Karlsson 00b 2015-12-04 Updated to only include basic functionality Magnus Karlsson Approved -

More information

Principles of Computer Game Design and Implementation. Lecture 18

Principles of Computer Game Design and Implementation. Lecture 18 Principles of Computer Game Design and Implementation Lecture 18 We already learned Collision detection Collision response 2 Outline for today Physics engines The usage of physics engine in jmonkey 3 Classes

More information