Game Programming Paradigms. Michael Chung

Size: px
Start display at page:

Download "Game Programming Paradigms. Michael Chung"

Transcription

1 Game Programming Paradigms Michael Chung

2

3

4

5

6 CS248, 10 years ago...

7 Goals

8 Goals 1. High level tips for your project s game architecture

9 Goals 1. High level tips for your project s game architecture 2. Some perspective on where Unity falls short

10 Outline Game loops and simulations Handling interactions Controls Entity component system

11 Outline Game loops and simulations Handling interactions Controls Entity component system

12 Game Loop Game loops handle all game simulation logic: - Add / remove entities Handle player inputs Update game logic systems Handle movement, physics and collisions Generate state for the view layer

13 Game Loop Game loops decouple your simulation timeline from: - User input Processor speed

14 Unity s Game Loop

15 Unity s Game Loop Game logic in Update()? Worry less about view interpolation Couples simulation frequency with rendering loop

16 Unity s Game Loop Game logic in FixedUpdate()? In sync with physics loop Easier to reason with a discrete quantized timeline Your views will be jittery if you don t interpolate correctly

17 Unity s Game Loop What about ordering of behavior within game loop?

18 Unity s Game Loop

19 Unity s Game Loop

20 Unity s Game Loop

21 Unity s Game Loop You can order component priorities with a customized script execution order. But that means you are defining one ordering for: - Initialization Updates Teardown Not always convenient: - Hard to make sense of the merged ordering Maybe you want different orderings

22 Unity s Game Loop You may also have cyclical dependencies between components during your initialization steps. You could split components to solve this problem, but that may require you to update a lot of prefabs, and may increase coupling between components. You could split initialization code between Awake() and Start(), but that s really bad. A good way to solve this problem is to separate your behaviors from your state, and not use Unity s callbacks for most of your components.

23 Simulation Object that encapsulates loop and state

24 Simulation In Unity, there is one simulation running at all times. You have very little control over it: - You can t fast forward / rewind / replay You can t instantiate multiple simulations You can t differentiate initialization order from update order You can t define multiple initialization / update behaviors on the same component

25 Simulation You can solve all of these problems by creating your own simulation class.

26 Multiple Simulations

27 Multiple Simulations

28 Outline Game loops and simulations Handling interactions Controls Entity component system

29 Interaction Resolution

30 Interaction Resolution

31 Interaction Resolution

32 Interaction Resolution Slap!

33 Interaction Resolution

34 Interaction Resolution

35 Interaction Resolution

36 Interaction Resolution

37 Interaction Resolution

38 Interaction Resolution

39 Interaction Resolution

40 Interaction Resolution

41 Interaction Resolution

42 Interaction Resolution Do we care? Maybe. - Turn based simulations Competitive games Consistently biased small advantages can add up

43 Double buffering

44 Double buffering

45 Double buffering After swapping, instead of a buffer clear on the active buffer, we do a buffer copy. The buffer copy can be unnecessarily expensive: - Game states can be large Usually only a small portion of the game state changes each tick Potentially use this concept on pieces of state, or avoid it completely.

46 Message queues

47 Message queues

48 Message queues

49 Outline Game loops and simulations Handling interactions Controls Entity component system

50 Controls

51 Controls - Command Pattern

52 Controls - Command Pattern

53 Controls - Command Pattern

54 Controls - Input Handlers

55 Controls - Input Handlers

56 Controls - Input Handlers

57 Controls - Input with duration Some controls are kept activated. For example, holding a button down for movement.

58 Controls - Input with duration Could try this: - Activation command on key down Deactivation command on key up

59 Controls - Input with duration Could try this: - Activation command on key down Deactivation command on key up Couple problems: - Callbacks may be missed Conflicting controls could be a problem

60 Controls - Input with duration You could poll the input state, and keep track of input handler activation.

61 Controls - Input with duration

62 Controls - Input with duration

63 Controls - Input with duration

64 Controls - Input with duration

65 Controls - Input with duration Let s update our input handlers for Jump and Fire.

66 Controls - Input with duration Now add input handlers for moving left and right.

67 Controls - Simultaneous inputs What about conflicting controls? What happens when you press multiple buttons at the same time?

68 Controls - Simultaneous inputs

69 Controls - Simultaneous inputs

70 Controls - Simultaneous inputs

71 Controls - Simultaneous inputs

72 Controls - Simultaneous inputs

73 Controls - Simultaneous inputs

74 Controls - Simultaneous inputs Sometimes you want to handle only one input at a time out of a set of inputs.

75 Controls - Simultaneous inputs Sometimes you want to handle only one input at a time out of a set of inputs. Priority of input may be based on various factors: - How recent is the input? What are the gameplay effects of the input?

76 Controls - Simultaneous inputs Sometimes you want to handle only one input at a time out of a set of inputs. Priority of input may be based on various factors: - How recent is the input? What are the gameplay effects of the input? Are these relationships gameplay rules, or input rules?

77 Controls - Simultaneous inputs You can use state machines, not only for animation, but also for gameplay logic. In our movement system, you are either idle, moving left, or moving right.

78 Controls - Simultaneous inputs

79 Controls - Simultaneous inputs Let s examine our movement code again. Releasing one direction button could end movement in the opposite direction. We don t want that.

80 Controls - Simultaneous inputs Instead of requesting velocity modifications, we request state transitions.

81 Outline Game loops and simulations Handling interactions Controls Entity component system

82 Entity Component System (ECS) All interactive objects in your game are Entities. Each Entity is associated with a collection of Components. Plural quantities of certain types of Components may exist on an Entity.

83 Entity Component System (ECS)

84 Entity Component System (ECS)

85 Entity Component System (ECS)

86 Unity s ECS

87 Unity s ECS

88 Unity s ECS

89 Unity s ECS Two problems with Unity s ECS: - No view / model separation - Probably not a huge problem for your final projects Becomes a problem when you make a networked multiplayer game

90 Unity s ECS Two problems with Unity s ECS: - No view / model separation - - Probably not a huge problem for your final projects Becomes a problem when you make a networked multiplayer game No behavior / state separation - You can build this on top of Unity s system, by creating your own simulation code

91 Behavior and State Separation It may help to separate behaviors from state. Why? - Behaviors need to be organized and ordered in the game loop, but state does not. Modularization of behaviors is not clear if they are in the same class as the state.

92 Behavior and State Separation

93 Behavior and State Separation

94 Behavior and State Separation

95 Behavior and State Separation

96 Behavior and State Separation

97 Review

98 Review 1. Game loops and simulations a. b. c. Unity calls your code via callbacks, such as Awake(), Start(), FixedUpdate(), Update() You can customize the script execution order (be careful) Consider making a simulation class / component, to gain control

99 Review 1. Game loops and simulations a. b. c. 2. Unity calls your code via callbacks, such as Awake(), Start(), FixedUpdate(), Update() You can customize the script execution order (be careful) Consider making a simulation class / component, to gain control Handling interactions a. b. Double buffering Message queues

100 Review 1. Game loops and simulations a. b. c. 2. Handling interactions a. b. 3. Unity calls your code via callbacks, such as Awake(), Start(), FixedUpdate(), Update() You can customize the script execution order (be careful) Consider making a simulation class / component, to gain control Double buffering Message queues Controls a. b. Commands and input handlers Resolve conflicts in your gameplay logic, possibly by using state machines

101 Review 1. Game loops and simulations a. b. c. 2. Handling interactions a. b. 3. Double buffering Message queues Controls a. b. 4. Unity calls your code via callbacks, such as Awake(), Start(), FixedUpdate(), Update() You can customize the script execution order (be careful) Consider making a simulation class / component, to gain control Commands and input handlers Resolve conflicts in your gameplay logic, possibly by using state machines Entity component system a. b. Unity s ECS is very versatile You can write your own classes / components to extend it i. View / model separation ii. Behavior / state separation

102 Contact Happy to provide help on final projects and career planning! Reach out to me at

Game Architecture. Rabin is a good overview of everything to do with Games A lot of these slides come from the 1 st edition CS

Game Architecture. Rabin is a good overview of everything to do with Games A lot of these slides come from the 1 st edition CS Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1 st edition CS 4455 1 Game Architecture The code for modern games is highly complex Code bases

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

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

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

Introduction to Game Design. Truong Tuan Anh CSE-HCMUT

Introduction to Game Design. Truong Tuan Anh CSE-HCMUT Introduction to Game Design Truong Tuan Anh CSE-HCMUT Games Games are actually complex applications: interactive real-time simulations of complicated worlds multiple agents and interactions game entities

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

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

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

Adding in 3D Models and Animations

Adding in 3D Models and Animations Adding in 3D Models and Animations We ve got a fairly complete small game so far but it needs some models to make it look nice, this next set of tutorials will help improve this. They are all about importing

More information

the gamedesigninitiative at cornell university Lecture 20 Optimizing Behavior

the gamedesigninitiative at cornell university Lecture 20 Optimizing Behavior Lecture 20 2 Review: Sense-Think-Act Sense: Perceive world Reading game state Example: enemy near? Think: Choose an action Often merged with sense Example: fight or flee Act: Update state Simple and fast

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

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

Towards a Reference Architecture for 3D First Person Shooter Games

Towards a Reference Architecture for 3D First Person Shooter Games Towards a Reference Architecture for 3D First Person Shooter Games Philip Liew-pliew@swen.uwaterloo.ca Ali Razavi-arazavi@swen.uwaterloo.ca Atousa Pahlevan-apahlevan@cs.uwaterloo.ca April 6, 2004 Abstract

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

Game Design Comp 150GD. Michael Shah 3/6/15

Game Design Comp 150GD. Michael Shah 3/6/15 Game Design Comp 150GD Michael Shah 3/6/15 Topics 1. Digital Game Testing 2. C# Scripting Tips 3. GUI 4. Music Room Part 1 - Digital Game Testing PLAYTEST ROUND #3 (20 minutes): 1. Observers stay to manage

More information

In the end, the code and tips in this document could be used to create any type of camera.

In the end, the code and tips in this document could be used to create any type of camera. Overview The Adventure Camera & Rig is a multi-behavior camera built specifically for quality 3 rd Person Action/Adventure games. Use it as a basis for your custom camera system or out-of-the-box to kick

More information

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso Node energy consumption The batteries are limited and usually they can t support long term tasks

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

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

8 Frames in 16ms. Michael Stallone Lead Software Engineer Engine NetherRealm Studios

8 Frames in 16ms. Michael Stallone Lead Software Engineer Engine NetherRealm Studios 8 Frames in 16ms Rollback Networking in Mortal Kombat and Injustice Michael Stallone Lead Software Engineer Engine NetherRealm Studios mstallone@netherrealm.com What is this talk about? The how, why, and

More information

CAPSTONE PROJECT 1.A: OVERVIEW. Purpose

CAPSTONE PROJECT 1.A: OVERVIEW. Purpose CAPSTONE PROJECT CAPSTONE PROJECT 1.A: Overview 1.B: Submission Requirements 1.C: Milestones 1.D: Final Deliverables 1.E: Dependencies 1.F: Task Breakdowns 1.G: Timeline 1.H: Standards Alignment 1.I: Assessment

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

Local Perception Filter

Local Perception Filter Local Perception Filter 1 A S B With Time Sync 2 A S B Without Time Sync 3 Maintaining tightly synchronized states 4 States can go out of date. A player sees a state that happened t seconds ago. 5 Hybrid

More information

Israel Railways No Fault Liability Renewal The Implementation of New Technological Safety Devices at Level Crossings. Amos Gellert, Nataly Kats

Israel Railways No Fault Liability Renewal The Implementation of New Technological Safety Devices at Level Crossings. Amos Gellert, Nataly Kats Mr. Amos Gellert Technological aspects of level crossing facilities Israel Railways No Fault Liability Renewal The Implementation of New Technological Safety Devices at Level Crossings Deputy General Manager

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

Blunt object, meet nail. Choosing tools and wrangling Unity

Blunt object, meet nail. Choosing tools and wrangling Unity Blunt object, meet nail Choosing tools and wrangling Unity About me Norwegian, moved to the US 6 years ago for a year at UCSD, and never went back. I now work for a company called Uber Entertainment, who

More information

Unity 3.x. Game Development Essentials. Game development with C# and Javascript PUBLISHING

Unity 3.x. Game Development Essentials. Game development with C# and Javascript PUBLISHING Unity 3.x Game Development Essentials Game development with C# and Javascript Build fully functional, professional 3D games with realistic environments, sound, dynamic effects, and more! Will Goldstone

More information

SIMGRAPH - A FLIGHT SIMULATION DATA VISUALIZATION WORKSTATION. Joseph A. Kaplan NASA Langley Research Center Hampton, Virginia

SIMGRAPH - A FLIGHT SIMULATION DATA VISUALIZATION WORKSTATION. Joseph A. Kaplan NASA Langley Research Center Hampton, Virginia SIMGRAPH - A FLIGHT SIMULATION DATA VISUALIZATION WORKSTATION Joseph A. Kaplan NASA Langley Research Center Hampton, Virginia Patrick S. Kenney UNISYS Corporation Hampton, Virginia Abstract Today's modern

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

Workshop 4: Digital Media By Daniel Crippa

Workshop 4: Digital Media By Daniel Crippa Topics Covered Workshop 4: Digital Media Workshop 4: Digital Media By Daniel Crippa 13/08/2018 Introduction to the Unity Engine Components (Rigidbodies, Colliders, etc.) Prefabs UI Tilemaps Game Design

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

THAT Corporation APPLICATION NOTE 102

THAT Corporation APPLICATION NOTE 102 THAT Corporation APPLICATION NOTE 0 Digital Gain Control With Analog VCAs Abstract In many cases, a fully analog signal path provides the least compromise to sonic integrity, and ultimately delivers the

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

Create a benchmark mobile game! Tobias Tost Senior Programmer, Blue Byte GmbH A Ubisoft Studio

Create a benchmark mobile game! Tobias Tost Senior Programmer, Blue Byte GmbH A Ubisoft Studio Create a benchmark mobile game! Tobias Tost Senior Programmer, Blue Byte GmbH A Ubisoft Studio Who am I? Tobias Tost, MSc In the Games Industry since 2006 Visualization, Sound, Gameplay, Tools Joined Ubisoft

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

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

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

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

Session 11 Introduction to Robotics and Programming mbot. >_ {Code4Loop}; Roochir Purani

Session 11 Introduction to Robotics and Programming mbot. >_ {Code4Loop}; Roochir Purani Session 11 Introduction to Robotics and Programming mbot >_ {Code4Loop}; Roochir Purani RECAP from last 2 sessions 3D Programming with Events and Messages Homework Review /Questions Understanding 3D Programming

More information

University of Manchester School of Computer Science Project Report Universalum the Universal Game. Author: A. Prohhorov

University of Manchester School of Computer Science Project Report Universalum the Universal Game. Author: A. Prohhorov University of Manchester School of Computer Science Project Report 2016 Universalum the Universal Game Author: A. Prohhorov Supervisor: Dr. V. Pavlidis 1 Abstract Author: Andrei Prohhorov The aim of the

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

Kameleono. User Guide Ver 1.2.3

Kameleono. User Guide Ver 1.2.3 Kameleono Ver 1.2.3 Table of Contents Overview... 4 MIDI Processing Chart...5 Kameleono Inputs...5 Kameleono Core... 5 Kameleono Output...5 Getting Started...6 Installing... 6 Manual installation on Windows...6

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

Unity Game Development Essentials

Unity Game Development Essentials Unity Game Development Essentials Build fully functional, professional 3D games with realistic environments, sound, dynamic effects, and more! Will Goldstone 1- PUBLISHING -J BIRMINGHAM - MUMBAI Preface

More information

G54GAM Lab Session 1

G54GAM Lab Session 1 G54GAM Lab Session 1 The aim of this session is to introduce the basic functionality of Game Maker and to create a very simple platform game (think Mario / Donkey Kong etc). This document will walk you

More information

Final Design Report. Project Title: Multi-Function Pontoon (MFP)

Final Design Report. Project Title: Multi-Function Pontoon (MFP) EEL 4924 Electrical Engineering Design (Senior Design) Final Design Report 25 April 2012 Project Title: Multi-Function Pontoon (MFP) Team Members: Name: Mikkel Gabbadon Name: Sheng-Po Fang Project Abstract:

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

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

M TE S Y S LT U A S S A

M TE S Y S LT U A S S A Dress-Up Features In this lesson you will learn how to place dress-up features on parts. Lesson Contents: Case Study: Timing Chain Cover Design Intent Stages in the Process Apply a Draft Create a Stiffener

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

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

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

Team Development of Model View Controller Software in the Unity 3D Engine

Team Development of Model View Controller Software in the Unity 3D Engine Proceedings of The National Conference On Undergraduate Research (NCUR) 2016 University of North Carolina Asheville Asheville, North Carolina April 7-9, 2016 Team Development of Model View Controller Software

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

CMSC 425: Lecture 3 Introduction to Unity

CMSC 425: Lecture 3 Introduction to Unity CMSC 425: Lecture 3 Introduction to Unity Reading: For further information about Unity, see the online documentation, which can be found at http://docs.unity3d.com/manual/. The material on Unity scripts

More information

BE SURE TO COMPLETE HYPOTHESIS STATEMENTS FOR EACH STAGE. ( ) DO NOT USE THE TEST BUTTON IN THIS ACTIVITY UNTIL THE END!

BE SURE TO COMPLETE HYPOTHESIS STATEMENTS FOR EACH STAGE. ( ) DO NOT USE THE TEST BUTTON IN THIS ACTIVITY UNTIL THE END! Lazarus: Stages 3 & 4 In the world that we live in, we are a subject to the laws of physics. The law of gravity brings objects down to earth. Actions have equal and opposite reactions. Some objects have

More information

Foreword Thank you for purchasing the Motion Controller!

Foreword Thank you for purchasing the Motion Controller! Foreword Thank you for purchasing the Motion Controller! I m an independent developer and your feedback and support really means a lot to me. Please don t ever hesitate to contact me if you have a question,

More information

Game Design 1. Unit 1: Games and Gameplay. Learning Objectives. After studying this unit, you will be able to:

Game Design 1. Unit 1: Games and Gameplay. Learning Objectives. After studying this unit, you will be able to: Game Design 1 Are you a gamer? Do you enjoy playing video games or coding? Does the idea of creating and designing your own virtual world excite you? If so, this is the course for you! When it comes to

More information

abc 3 def. 4 ghi 5 jkl 6 mno. Computers Rule the World

abc 3 def. 4 ghi 5 jkl 6 mno. Computers Rule the World Computers Rule the World Computers, Internet websites, calculators and mp3 players simply would not function without software. Thousands of lines of code are required for your modern mobile phone or games

More information

Lab 3: Embedded Systems

Lab 3: Embedded Systems THE PENNSYLVANIA STATE UNIVERSITY EE 3OOW SECTION 3 FALL 2015 THE DREAM TEAM Lab 3: Embedded Systems William Stranburg, Sean Solley, Sairam Kripasagar Table of Contents Introduction... 3 Rationale... 3

More information

Video Game Engines. Chris Pollett San Jose State University Dec. 1, 2005.

Video Game Engines. Chris Pollett San Jose State University Dec. 1, 2005. Video Game Engines Chris Pollett San Jose State University Dec. 1, 2005. Outline Introduction Managing Game Resources Game Physics Game AI Introduction A Game Engine provides the core functionalities of

More information

SteamVR Unity Plugin Quickstart Guide

SteamVR Unity Plugin Quickstart Guide The SteamVR Unity plugin comes in three different versions depending on which version of Unity is used to download it. 1) v4 - For use with Unity version 4.x (tested going back to 4.6.8f1) 2) v5 - For

More information

Tac Due: Sep. 26, 2012

Tac Due: Sep. 26, 2012 CS 195N 2D Game Engines Andy van Dam Tac Due: Sep. 26, 2012 Introduction This assignment involves a much more complex game than Tic-Tac-Toe, and in order to create it you ll need to add several features

More information

GRADE 8 COMMUNICATIONS TECHNOLOGY

GRADE 8 COMMUNICATIONS TECHNOLOGY GRADE 8 COMMUNICATIONS TECHNOLOGY Description This course is an introduction to Communication Technology. Students study basic methods of modern communication and develop projects based communication concepts.

More information

Better Gaming Experience by NVIDIA: Ansel, ShadowPlay Highlights and HDR Extensions. Jack ran, Henrik li Developer Technology Engineer

Better Gaming Experience by NVIDIA: Ansel, ShadowPlay Highlights and HDR Extensions. Jack ran, Henrik li Developer Technology Engineer Better Gaming Experience by NVIDIA: Ansel, ShadowPlay Highlights and HDR Extensions Jack ran, Henrik li Developer Technology Engineer Agenda Ansel Overview Features Core Concepts Common Integration Issues

More information

True bullet 1.03 manual

True bullet 1.03 manual Introduction True bullet 1.03 manual The True bullet asset is a complete game, comprising a gun with very realistic bullet ballistics. The gun is meant to be used as a separate asset in any game that benefits

More information

Next Back Save Project Save Project Save your Story

Next Back Save Project Save Project Save your Story What is Photo Story? Photo Story is Microsoft s solution to digital storytelling in 5 easy steps. For those who want to create a basic multimedia movie without having to learn advanced video editing, Photo

More information

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence IMGD 1001: Programming Practices; Artificial Intelligence Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu Outline Common Practices Artificial

More information

A Machine Tool Controller using Cascaded Servo Loops and Multiple Feedback Sensors per Axis

A Machine Tool Controller using Cascaded Servo Loops and Multiple Feedback Sensors per Axis A Machine Tool Controller using Cascaded Servo Loops and Multiple Sensors per Axis David J. Hopkins, Timm A. Wulff, George F. Weinert Lawrence Livermore National Laboratory 7000 East Ave, L-792, Livermore,

More information

Conversion of NC-code into a robot program

Conversion of NC-code into a robot program Conversion of NC-code into a robot program October 2017 Version 1.4 Subject to change or improve without prior notice 2/12 General flow chart The following flowchart shows the general process flow during

More information

Development of Practical Software for Micro Traffic Flow Petri Net Simulator

Development of Practical Software for Micro Traffic Flow Petri Net Simulator Development of Practical Software for Micro Traffic Flow Petri Net Simulator Noboru Kimata 1), Keiich Kisino 2), Yasuo Siromizu 3) [Abstract] Recently demand for microscopic traffic flow simulators is

More information

DESIGN A SHOOTING STYLE GAME IN FLASH 8

DESIGN A SHOOTING STYLE GAME IN FLASH 8 DESIGN A SHOOTING STYLE GAME IN FLASH 8 In this tutorial, you will learn how to make a basic arcade style shooting game in Flash 8. An example of the type of game you will create is the game Mozzie Blitz

More information

Tac 3 Feedback. Movement too sensitive/not sensitive enough Play around with it until you find something smooth

Tac 3 Feedback. Movement too sensitive/not sensitive enough Play around with it until you find something smooth Tac 3 Feedback Movement too sensitive/not sensitive enough Play around with it until you find something smooth Course Administration Things sometimes go wrong Our email script is particularly temperamental

More information

Catch The Kites A Lightweight Android Game

Catch The Kites A Lightweight Android Game Catch The Kites A Lightweight Android Game Submitted By Woaraka Been Mahbub ID: 2012-2-60-033 Md. Tanzir Ahasion ID: 2012-2-60-036 Supervised By Md. Shamsujjoha Senior Lecturer Department of Computer Science

More information

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence IMGD 1001: Programming Practices; Artificial Intelligence by Mark Claypool (claypool@cs.wpi.edu) Robert W. Lindeman (gogo@wpi.edu) Outline Common Practices Artificial Intelligence Claypool and Lindeman,

More information

Capture the Flag Design Document Authors: Luke Colburn, Tyler Johnson, Chris LaBauve

Capture the Flag Design Document Authors: Luke Colburn, Tyler Johnson, Chris LaBauve Capture the Flag Design Document Authors: Luke Colburn, Tyler Johnson, Chris LaBauve Revision History Date Version Description Author(s) 2014-02-11 0.1 Initial draft Luke Colburn, et al. 2014-02-13 0.2

More information

MITOCW watch?v=ir6fuycni5a

MITOCW watch?v=ir6fuycni5a MITOCW watch?v=ir6fuycni5a The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

Let s start by making a pencil, that can be used to draw on the stage.

Let s start by making a pencil, that can be used to draw on the stage. Paint Box Introduction In this project, you will be making your own paint program! Step 1: Making a pencil Let s start by making a pencil, that can be used to draw on the stage. Activity Checklist Start

More information

Vocal Command Recognition Using Parallel Processing of Multiple Confidence-Weighted Algorithms in an FPGA

Vocal Command Recognition Using Parallel Processing of Multiple Confidence-Weighted Algorithms in an FPGA Vocal Command Recognition Using Parallel Processing of Multiple Confidence-Weighted Algorithms in an FPGA ECE-492/3 Senior Design Project Spring 2015 Electrical and Computer Engineering Department Volgenau

More information

Recording guidebook This provides information and handy tips on recording vocals and live instruments at home.

Recording guidebook This provides information and handy tips on recording vocals and live instruments at home. Welcome to The Hit Kit s QuickStart instructions! Read on and you ll be set up and making your first steps in the world of music making in no time at all! Remember, you can find complete instructions to

More information

2. There are many circuit simulators available today, here are just few of them. They have different flavors (mostly SPICE-based), platforms,

2. There are many circuit simulators available today, here are just few of them. They have different flavors (mostly SPICE-based), platforms, 1. 2. There are many circuit simulators available today, here are just few of them. They have different flavors (mostly SPICE-based), platforms, complexity, performance, capabilities, and of course price.

More information

Vox s Paladins Spectator Mode Guide

Vox s Paladins Spectator Mode Guide Vox s Paladins Spectator Mode Guide Requirements Keyboard with numpad (10key) This is required to be able to use the default spectator keybinds in Paladins. Paladins If Broadcasting Suitable PC setup for

More information

Basic Tips & Tricks To Becoming A Pro

Basic Tips & Tricks To Becoming A Pro STARCRAFT 2 Basic Tips & Tricks To Becoming A Pro 1 P age Table of Contents Introduction 3 Choosing Your Race (for Newbies) 3 The Economy 4 Tips & Tricks 6 General Tips 7 Battle Tips 8 How to Improve Your

More information

Mobile UNITY: Reasoning and Specification in Mobile Computing

Mobile UNITY: Reasoning and Specification in Mobile Computing Washington University in St. Louis Washington University Open Scholarship All Computer Science and Engineering Research Computer Science and Engineering Report Number: WUCS-96-08 1996-01-01 Mobile UNITY:

More information

MULTIPLAYER MOBILE GAMES (UNITY)

MULTIPLAYER MOBILE GAMES (UNITY) MULTIPLAYER MOBILE GAMES (UNITY) Hello! MY NAME IS NOAM GAT CTO @ Tacticsoft We make strategy MMOs And you are? 1 MULTIPLAYER GAMES Definition and scope A multiplayer game is a game played by multiple

More information

Brain Game. Introduction. Scratch

Brain Game. Introduction. Scratch Scratch 2 Brain Game All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduction

More information

the gamedesigninitiative at cornell university Lecture 4 Game Grammars

the gamedesigninitiative at cornell university Lecture 4 Game Grammars Lecture 4 Sources for Today s Talk Raph Koster (one of original proponents) Theory of Fun, 10 Years Later (GDCOnline 2012) http://raphkoster.com Ernest Adams and Joris Dormans Game Mechanics: Advanced

More information

6.111 Lecture # 19. Controlling Position. Some General Features of Servos: Servomechanisms are of this form:

6.111 Lecture # 19. Controlling Position. Some General Features of Servos: Servomechanisms are of this form: 6.111 Lecture # 19 Controlling Position Servomechanisms are of this form: Some General Features of Servos: They are feedback circuits Natural frequencies are 'zeros' of 1+G(s)H(s) System is unstable if

More information

Introduction. What do we mean by gameplay? AI World representation Behaviour simulation Physics Camera

Introduction. What do we mean by gameplay? AI World representation Behaviour simulation Physics Camera GAMEPLAY Introduction What do we mean by gameplay? AI World representation Behaviour simulation Physics Camera What do we mean by AI? Artificial vs. Synthetic Intelligence Artificial intelligence tries

More information

BAFTA YGD Lesson plans

BAFTA YGD Lesson plans BAFTA YGD Lesson plans This is an overall suggested guide of how you may wish to structure your games development sessions for the BAFTA YGD Competition. These sessions are intended to help generate evidence

More information

Unbreaking Immersion. Audio Implementation for INSIDE. Wwise Tour 2016 Martin Stig Andersen and Jakob Schmid PLAYDEAD

Unbreaking Immersion. Audio Implementation for INSIDE. Wwise Tour 2016 Martin Stig Andersen and Jakob Schmid PLAYDEAD Unbreaking Immersion Audio Implementation for INSIDE Wwise Tour 2016 Martin Stig Andersen and Jakob Schmid PLAYDEAD Martin Stig Andersen Audio director, composer and sound designer Jakob Schmid Audio programmer

More information

Fpglappy Bird: A side-scrolling game. Overview

Fpglappy Bird: A side-scrolling game. Overview Fpglappy Bird: A side-scrolling game Wei Low, Nicholas McCoy, Julian Mendoza 6.111 Project Proposal Draft Fall 2015 Overview On February 10th, 2014, the creator of Flappy Bird, a popular side-scrolling

More information

To solve a problem (perform a task) in a virtual world, we must accomplish the following:

To solve a problem (perform a task) in a virtual world, we must accomplish the following: Chapter 3 Animation at last! If you ve made it to this point, and we certainly hope that you have, you might be wondering about all the animation that you were supposed to be doing as part of your work

More information

Usability Enhancements for the DVERT Simulator Architecture

Usability Enhancements for the DVERT Simulator Architecture Usability Enhancements for the DVERT Simulator Architecture A Major Qualifying Project submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial fulfillment of the requirements for the

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

Interfacing ACT-R with External Simulations

Interfacing ACT-R with External Simulations Interfacing ACT-R with External Simulations Eric Biefeld, Brad Best, Christian Lebiere Human-Computer Interaction Institute Carnegie Mellon University We Have Integrated ACT-R With Several External Simulations

More information

OptimalVideoResume Help

OptimalVideoResume Help OptimalVideoResume Help Table of Contents Getting Started Creating a Video Resume 2 Pre-Recording Writing a Script 3 Tools - Script Examples 5 Tools - Action Verbs 5 Tools - Exploring Careers 5 Audio/Video

More information

the gamedesigninitiative at cornell university Lecture 23 Strategic AI

the gamedesigninitiative at cornell university Lecture 23 Strategic AI Lecture 23 Role of AI in Games Autonomous Characters (NPCs) Mimics personality of character May be opponent or support character Strategic Opponents AI at player level Closest to classical AI Character

More information

Programming with Scratch

Programming with Scratch Programming with Scratch A step-by-step guide, linked to the English National Curriculum, for primary school teachers Revision 3.0 (Summer 2018) Revised for release of Scratch 3.0, including: - updated

More information

Texas Hold Em Poker Unity Asset Store Project Multiplayer Version

Texas Hold Em Poker Unity Asset Store Project Multiplayer Version Texas Hold Em Poker Unity Asset Store Project Multiplayer Version THIS USER GUIDE IS ONLY RELATED AT MULTIPLAYER FEATURES, YOU CAN FIND IN THE PROJECT ROOT AN OTHER USER GUIDE WITH GENERAL INFO AND SINGLE

More information