IMGD Technical Game Development I: Introduction

Similar documents
IMGD Technical Game Development I: Introduction. by Robert W. Lindeman

IMGD Technical Game Development I: Introduction. by Robert W. Lindeman

Individual Test Item Specifications

IMGD 3xxx - HCI for Real, Virtual, and Teleoperated Environments: Introduction. by Robert W. Lindeman

CS 354R: Computer Game Technology

CS Game Programming, Fall 2014

IMGD 1001: Programming Practices; Artificial Intelligence

Game Artificial Intelligence ( CS 4731/7632 )

COMPSCI 372 S2 C Computer Graphics

INTRODUCTION TO GAME AI

Program a Game Engine from Scratch. Chapter 1 - Introduction

IMGD 1001: Fun and Games

IMGD 1001: Programming Practices; Artificial Intelligence

Appendix H - What Goes Into a Milestone Definition

Sensible Chuckle SuperTuxKart Concrete Architecture Report

Unity Game Development Essentials

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

IMGD 3xxx - HCI for Real, Virtual, and Teleoperated Environments: Human Hearing and Audio Display Technologies. by Robert W. Lindeman

Level 3 Extended Diploma Unit 22 Developing Computer Games

Level 3 Extended Diploma Unit 22 Developing Computer Games

Lecture 1: Introduction and Preliminaries

SE320: Introduction to Computer Games

Beginning 3D Game Development with Unity:

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

Gaming Development. Resources

IMGD 1001: Fun and Games

Level 3 Extended Diploma Unit 22 Developing Computer Games

1.1 Investigate the capabilities and limitations of a range of digital gaming platforms

introduction to the course course structure topics

DM842 Computer Game Programming

HERO++ DESIGN DOCUMENT. By Team CreditNoCredit VERSION 6. June 6, Del Davis Evan Harris Peter Luangrath Craig Nishina

CS4455/6457: Video Game Design and Architecture

12 Final Projects. Steve Marschner CS5625 Spring 2016

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

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

100 Million Friends You Can Never Know

IMGD The Game Development Process: Game Development Timeline

Toon Dimension Formal Game Proposal

User Interfaces. What is the User Interface? Player-Centric Interface Design

CS 680: GAME AI INTRODUCTION TO GAME AI. 1/9/2012 Santiago Ontañón

IMGD 1001: The Game Industry

Analyzing Games.

Llibres electrònics editorial Elsevier Col lecció Tecnologia dels Mitjans

DM809 Computer Game Programming I: Graphics

Title (Name of App) Preview

CISC 1600 Introduction to Multi-media Computing

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

Free Ebooks Game Programming Gems (Game Programming Gems (W/CD))

CompuScholar, Inc. Alignment to Utah Game Development Fundamentals 2 Standards

Game Programming Algorithms And Techniques: A Platform-Agnostic Approach (Game Design) Ebooks Free

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

CS 480: GAME AI INTRODUCTION TO GAME AI. 4/3/2012 Santiago Ontañón

ITT Technical Institute. CD140 Rapid Visualization Onsite and Online Course SYLLABUS

SGD Simulation & Game Development Course Information

IMGD 1001: The Game Industry. Hit-Driven Entertainment

Procedural Content Generation

Procedural Content Generation

Editing the standing Lazarus object to detect for being freed

IMGD 1001: Concept Art

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

Field & Post Production The Media School Indiana University Syllabus - Fall 2018 v1.0

the gamedesigninitiative at cornell university Lecture 4 Game Components

Awesome Art. Creating a Winning Game Industry Art Portfolio. 1 of 6 1/8/13 12:18 PM. By Brent Fox

ZSF TUTORIALS. Hard Paint Chipping

Digital Gaming and Simulation Course Syllabus GAME Project Development I

CompuScholar, Inc. Alignment to Utah Game Development Fundamentals Standards

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

How to survive Global Game Jam. By Taro Omiya (Omiya Games)

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

A Graphic Design Student's Guide To Freelance: Practice Makes Perfect By Ben Hannam READ ONLINE

Storyboarding CHAPTER 1

the gamedesigninitiative at cornell university Lecture 14 Data-Driven Design

INTRODUCTION TO GAME AI

Towards a Reference Architecture for 3D First Person Shooter Games

PRODUCT DEVELOPMENT Family LINE OF. Product Live Ops

Algorithms for Computer Games

UNIT Media: Radio Music Programme Production (SCQF level 5)

L I F E L O N G L E A R N I N G C O L L A B O R AT I V E - FA L L S N A P I X : P H O T O G R A P H Y

Ubi meets the students. May 22nd, 2013

Chapter 4 Summary Working with Dramatic Elements

Kevin Chan, Blue Tongue Entertainment

FINE ARTS COURSE SYLLABUS

3D Game Engine Programming (Game Development Series) By Oliver Duvel, Stefan Zerbst READ ONLINE

Perspective in 2D Games

Beginner's Guide To Digital Painting In Photoshop: Characters PDF

Algorithms for Computer Games

Game Engine Programming

Computer Aided Design and Engineering (CAD)

IMGD 1001: Level Design

Catch The Kites A Lightweight Android Game

2IOE0 Interactive Intelligent Systems

Radhika.B 1, S.Nikila 2, Manjula.R 3 1 Final Year Student, SCOPE, VIT University, Vellore. IJRASET: All Rights are Reserved

Creating Computer Games

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS TECHNICAL ILLUSTRATION W/LAB CID 1110

Taffy Tangle. cpsc 231 assignment #5. Due Dates

How To See, How To Draw: Keys To Realistic Drawing PDF

Like Mobile Games* Currently a Distinguished i Engineer at Zynga, and CTO of FarmVille 2: Country Escape (for ios/android/kindle)

State of the Gaming Industry in the King County Region

ADOBE 9A Adobe Photoshop CS3 ACE.

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

Transcription:

IMGD 3000 - Technical Game Development I: Introduction by Robert W. Lindeman gogo@wpi.edu What to Expect This course is mainly about the nuts and bolts of creating game code Game architecture, algorithms, data structures, mathematics Less about content Presupposed background: IMGD-1001: The Game Development Process CS-1101/2: Introduction to Program Design CS-2102: OO design concepts CS-2303: Systems programming CS-3733: Software Engineering In other words, you should be able to design and implement large systems Nice to have: Computer graphics 2 1

What to Expect (cont.) Today, there are many game engines available Provide a starting point for game creation Usually provide Tools for importing content (e.g., models, textures, etc.) Scripting language to handle high-level control Cross-platform support We want you to learn what is inside these engines We will use the C4 Game Engine as one example of how things could be done There are many ways to skin a cat! Most games require you to extend the engine HINT: Those are the really interesting jobs! For C4, you will write game code on top of the engine 3 What to Expect (cont.) This course is about game development not C4 But you will learn C4 Focus on underlying methods This course is heavy on Coding C/C++, Scripting Efficiency Speed Quality If you are a sophomore, you might want to wait a year, and take more CS The sophomores in previous classes told me they wished they had waited 4 2

Summary of Syllabus Lectures and in-class exercises Exercises designed to drive home concepts, or to get you thinking about projects 3 Short Exams (33%) 3 "Smaller" Projects (33%) 1 Final Project (34%) Smaller projects will use C/C++ and the C4 codebase Final project will use C/C++ and the C4 codebase First project will be individual, rest team-based Clearly defined team roles All material on class website (www.cs.wpi.edu/~gogo/courses/imgd3000/) 5 Texts for the Course The Beginner's Guide to the C4 Engine By James Brady, A. A. Cruz, James H., and David Vasquez http://www.terathon.com/store/ WPI has a site-license for the book: DON T BUY IT from the Web! Excerpts from: Object-Oriented Game Development By Julian Gold (2004) Addison Wesley, ISBN: 0-321-17660-X Ultimate 3D Game Engine Design & Architecture By Allen Sherrod (2007) Charles River Media, ISBN: 1-58450-473-0 6 3

C4 Game Engine We have a site license for the C4 Game Engine A Non-Disclosure Agreement (NDA) must be signed by all students to gain access to the source code We will also be using the online materials on the C4 Web site www.terathon.com/c4engine/ There are very good user forums, a Wiki, etc. on the C4 site that you have free access to Please post in the appropriate sections Most people are very helpful on the site, and they know you are coming ;-) 7 Synchronized Tech & Art Joint teams of 3000 & 3500 students Work together You focus on the tech They focus on the art About 25 students each in 3000 & 3500 Need to find each other! We will have one joint meeting per week 3500 meets Mon/Thu 1:00pm-2:50pm More on this later... 8 4

Projects Many phases to projects: Understand/design/code/debug/test/eat/test some more Encouraged to discuss approaches with others/in a group On individual projects, work alone! Academic dishonesty (a.k.a., cheating): Many reasons not to do it! Immediate NR in the course Advice for doing well: 1. Do the assigned reading (they are actually good books!) 2. Come to class 3. Ask questions (class, office hours, WPI GDC discussions) 4. Make sure you understand things before coding 5. Don't share your code with others! 9 Final Project Four- or five-person teams Choose one game idea from among three You will focus mainly on technical aspects Your 3500 team mates will take care of the art Interim deadlines to show progress Presentations will be done the last week of this course, where you will show your stuff 10 5

Course Support TA TJ Loughlin (tjloughl at wpi.edu) He took this course as an undergrad Please come to office hours (or other times) There is a GDC Forum for this course http://forums.gdc.wpi.edu/ All project discussions should be posted there You are encouraged to post screen-shots of your progress Be careful when posting code -- don't give anything away! Post any book errata there too 11 What is a Computer Game? User Perspective A goal (or set of goals) Save the Princess (solve these puzzles first) Score points (get power ups) Finish first (unlock features) A set of rules governing game play Turn taking, like RPGs Reaction to events, like Tetris' falling blocks Legal actions Visual (audio, etc.) content Control techniques Button mappings 12 6

What is a Computer Game? System Perspective A set of resources that are managed to support an entertainment (usually) application Graphical (audio, etc.) rendering A user interface Script handling Event processing Time, collisions, etc. File I/O Asset-creation tools Models, graphics, sound, etc. Optional Networking AI 13 Types of Games 2D (Tetris) Side-scroller 3D isometric 1st-person view 3rd-person view Others too 14 7

Game Genres Genre defined: A category of artistic composition, characterized by similarities in form, style, or subject matter. First-person Shooter (FPS) Real-time Strategy (RTS) Action Sports Simulation Stealth Puzzler Party 15 Elements of a 3D Game Game engine Scripting Graphical user interface Models Textures Sound Music Support infrastructure Web site Support forums Admin tools Database 16 8

Game Engine Scene graph Representation of the world Includes characters Timing is very important Events Time-based Multi-player Synchronization Database of objects Networking Between server and clients Between servers Between clients Transform Player Origin Transform Transform Dragon Castle Drawbridge Moat 17 Game Engine (cont.) Core utilities Rendering system Physics Artificial intelligence Input management 18 9

Core Utilities Data structures Game-state management Timers Memory management Journaling services File logging Performance profiling tools Encryption/decryption 19 Scripting Scripting languages provide easier path to building a game Provides access to game-world objects (GWOs) Allows most aspects of the game to be defined Tie all parts of the game together Leverage investment in engine development Trade control for automation Sample scripting languages for games Lua (www.lua.org) Torque Script (www.garagegames.com) 20 10

Graphical User Interface Provides access to Game menus (e.g., save, load, boss) Player status (e.g., health, current speed) Maps Non-Player Character (NPC) dialog Player-to-player chat 21 Models (Art Stuff) Objects are made from Geometry (a.k.a., polygons) Lighting Textures Vertices and connectivity Triangles Triangle-strips Meshes Patches/surfaces 22 11

Texturing (Art Stuff) Created/manipulated using image processing software Photoshop Paint Shop Pro Mapped to geometry (models) Very powerful image enhancing techniques Can be used for fake shadows, fake reflections, much more 23 Sound and Music One of the most-important elements of any experience is sound Sound effects Make things more (hyper-) realistic Musical score Sets the mood Builds emotion Speech output Very important skill 24 12

Support Infrastructure Front-end for running games Steam Web site Promotion, log-in, etc. Support forums Cheats, hints, discussion of new ideas Admin tools User maintenance Anti-cheating measures Database Game-state maintenance 25 Our Focus We will focus mainly on tech stuff How to program a game How to control game flow How to set the rules of play How to support user interaction Less on content Models Textures 26 13

Expected Outcomes Understand the complexities of game development Be able to build individual parts of a game Build up your portfolio Work in Tech/Art teams Be ready for IMGD 4000! 27 Another Word About Projects Smaller projects Pair up with an art student from IMGD-3500 Tech people do tech parts, art people do art parts Final project Form teams of two tech and two art students Do the design parts together Choose roles for the rest Meet intermediate milestones 28 14

New This Year! We have aligned IMGD-3000/4000 and IMGD- 3500/4500 Teams can work on the same game for two terms Advantages Better and Bigger portfolio piece Longer team experience Challenges Need careful coordination of time, people, and features You don t HAVE to do this! In IMGD-4000, you can also use the Java Monkey Engine, instead of C4 29 15