CS 4730 Game Architecture CS 4730 – Computer Game Design Credit: Some slide material courtesy Walker White (Cornell)

Slides:



Advertisements
Similar presentations
(nothing to see here). First thing you need to learn is that sysadmin is about people, not technology If youre a sysadmin so you dont have to deal with.
Advertisements

Game Deconstruction 101 How to stop developers reinventing the wheel.
How to Succeed in BIOL102 A step-by-step guide by Dr. Tamarkin.
CS 4730 Game Design Patterns CS 4730 – Computer Game Design Credit: Some slide material courtesy Walker White (Cornell)
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
MVC Fall 2005 OOPD John Anthony. Design Patterns The hard problem in O-O programming is deciding what objects to have, and what their responsibilities.
CS TShirts! Congratulations to Emily Kasbohm, whose T-Shirt design won! We will set up a Teespring campaign, and a link to the class if you.
CS 4730 Play Testing CS 4730 – Computer Game Design Credit: Several slides from Walker White (Cornell)
Lesson 3 Variables – How our Brains Work - Variables in Python.
CS 4730 Prototyping CS 4730 – Computer Game Design Credit: Some slide material courtesy Walker White (Cornell)
A quadratic equation is a second degree polynomial, usually written in general form: The a, b, and c terms are called the coefficients of the equation,
Stop the Creepers and Cyberbullies! 5 Easy Ways to keep yourself safer online!
The Scratch Calculator You are all going to be real computer programmers!!!
CS 4730 Level Design CS 4730 – Computer Game Design Credit: Several slides from Walker White (Cornell)
Artificial Intelligence in Game Design Event and Sense Management.
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
CS426 Game Programming II Dan Fleck. Why games?  While the ideas in this course are demonstrated programming games, they are useful in all parts of computer.
Tips For Writing Introduction and Conclusion. Quiz Time! 1. There are____parts of an introduction paragraph. 2. Name these parts and put them in the correct.
The Future Josh Johnston Fall Slides Slide 1: Title Page Slide 2: Contents Page Slide 3: Future of Music Slide 4: Future Car technology Slide 5:
Program Design CMSC 201. Motivation We’ve talked a lot about certain ‘good habits’ we’d like you guys to get in while writing code. There are two main.
Unit 1 – Improving Productivity Instructions ~ 100 words per box.
CS 4730 Action vs. Interaction CS 4730 – Computer Game Design Credit: Several slides from Walker White (Cornell)
CSC Intro. to Computing Lecture 13: PALGO. Announcements Midterm is in one week  Time to start reviewing  We will do more review in class Tuesday.
How to Create a Videogame By: Connor McCann. Java Java is one of many programming languages Java is used to run web browsers and most PC video games I.
Downloading and Installing Autodesk Revit 2016
Java Threads. What is a Thread? A thread can be loosely defined as a separate stream of execution that takes place simultaneously with and independently.
PowerPoint Solutions Avoiding the Pitfalls. Too Much Text Some comments More material Long sentences making up complex ideas that go and on and on and.
CS 4730 Probability and Risk CS 4730 – Computer Game Design Credit: Several slides from Walker White (Cornell)
XNA An Introduction. What XNA is… Microsoft® XNA™ is composed of industry- leading software, services, resources, and communities focused on enabling.
Sample Video Game & Sound. The Plan 1.Game Theme 2.Game Structure 3.Sprites 4.Trackers 5.Collisions 6.Score 7.Levels 8.Splash Screens 9.Design 10.Implementation.
What does C store? >>A = [1 2 3] >>B = [1 1] >>[C,D]=meshgrid(A,B) c) a) d) b)
Game Maker Terminology
Making Python Pretty!. How to Use This Presentation… Download a copy of this presentation to your ‘Computing’ folder. Follow the code examples, and put.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
Task 1-Language Choice By Joshua Wild.
Object Oriented Analysis & Design Game Patterns. Contents  What patterns are  Delegation  Game Loop  Scene Graph  Double Buffering  Component 
CS 350 – Software Design Expanding Our Horizons – Chapter 8 The traditional view of objects is that they are data with methods. Sometimes objects could.
Game Programming Patterns Game Loop From the book by Robert Nystrom
Dr Nick Mitchell (Room CM 224)
Introduction to Computer Programming - Project 2 Intro to Digital Technology.
1 Why Threads are a Bad Idea (for most purposes) based on a presentation by John Ousterhout Sun Microsystems Laboratories Threads!
LO: We’re learning to outline a program using Pseudo Code.
Finite State Machines Logical and Artificial Intelligence in Games Lecture 3a.
Functions. functions: a collection of lines of code with a name that one can call. Functions can have inputs and outputs.
Coding – Week 2 Functions, Arrays, and Objects. Functions  Functions are not a new concept – you’ve been using them already.  void setup() {} and void.
The Game Development Process: Artificial Intelligence.
Part 3, School Skills 101 Note Taking Tips Study Smarter, not harder!
Combinational circuits
Managing a Project User Documentation.
Chapter 16 – Programming your App’s Memory
Paper Prototyping.
A Few Things to Think About
Welcome to Digital Electronics using the Arduino Board
Language Basics.
Explain what touch develop is to your students:
Game Loop Update & Draw.
Tonga Institute of Higher Education IT 141: Information Systems
Step 4 Be A Reporter (The 5 W’s And An H).
I CAN DECIDE…IT’S UP TO ME
Goals.
Tonga Institute of Higher Education IT 141: Information Systems
Goals.
Games Development Game Architecture: Entities
Nate Brunelle Today: Games
Explain what touch develop is to your students:
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
slides created by Ethan Apter
Tic-Tac-Toe Game Engine
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
Presentation transcript:

CS 4730 Game Architecture CS 4730 – Computer Game Design Credit: Some slide material courtesy Walker White (Cornell)

CS 4730 Event-Driven Programming Consider all the programs you’ve written up to this point Did they do anything when the user didn’t ask for something? Was there processing in the background? Or did it mainly respond to user input? 2

CS 4730 Event-Driven Programming The event-driven paradigm works great for a lot of systems –Web (we REALLY want this!) –Mobile –Office apps But is this what we want in this class? Well… maybe if we were only programming board games… 3

CS 4730 Event-Driven Gaming Consider board games They are, in fact, event-driven in many cases There are some things that happen “behind the scenes” –Updating tallies –Shuffling the deck –Deciding the moves of the “bad guys” But not all games are like this 4

CS 4730 The Game Loop Credit: Walker White 5

CS 4730 Step 1. Player Input Remember: player input is one set of variables that enter our equation to affect game state Input is typically polled during game loop –What is the state of the controller? –If no change, do no actions However, we can only read input once per game loop cycle But good frame rate is short and most events are longer than one frame 6

CS 4730 Step 2. Process actions Alter the game state based on your input We’ve discussed this! These are the player actions / verbs However, don’t lock the controller to directly changing the state! Place a buffer here – have it call a method which allows some flexibility in design later 7

CS 4730 Step 3. Process NPCs An NPC (Non-Player Character) is anything that has volition in the world that isn’t you NPCs take input from the AI engine (maybe!) but not from a direct controller Work on the idea of Sense-Think-Act: –Sense the state of the world around it (how can we “cheat” here to make an NPC “harder”?) –Think about what action to perform (usually limited choices) –Act in the world 8

CS 4730 Step 3. Process NPCs Problem is sensing is hard! –What does the NPC need to know? –What is the state of ALL OTHER OBJECTS? UGH. Limit sensing? “Cheat?” Another problem – thinking is hard! –Can take more than one frame to decide what to do! –Act without thinking? –What if one acts, then the next acts on that action? More in AI and Pathfinding! 9

CS 4730 Step 4. World Processing Physics! Lighting! Collisions! So much cool stuff! But later! 10

CS 4730 Drawing Well, it needs to be fast! –We want to do as little computation as possible –Draw ONLY what’s on the screen! Keep the drawing and the state modification separate! Pretty easy to do in MonoGame 11

CS 4730 Architecture Big Picture Credit: Walker White 12