200 likes | 307 Views
CS-378: Game Technology. Lecture #1: Introduction, Overview Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica Hodgins for lecture notes 2005-01-1.1. Today. Introduction and Course Overview. Class Participation.
E N D
CS-378: Game Technology • Lecture #1: Introduction, Overview • Prof. Okan Arikan • University of Texas, Austin • Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica Hodgins for lecture notes • 2005-01-1.1
Today • Introduction and Course Overview
Class Participation • Reasons to participate • More fun for me and you • You learn more • I won’t give stupid little annoying quizzes in class • How to participate • Ask questions • Make comments • Stupid questions/comments • That’s okay
People • Instructor: • Okan Arikan (okan@cs) • Office Hours Th 1:00pm-2:00pm • Location ACES 2.110 • TA: • Paul Arthur Navrátil (pnav@cs) • Office Hours Fri: 1:00pm-2:00pm • Location: TBA
Course Outline • Real-time graphics • Lighting and shading, modeling, data management • Animation • Physics, character animation • AI: Game term for behavior • Creating characters, path planning, generating motion • Networking: Playing together • Protocols for gaming, architectures, managing bandwidth • Sound • Creating / playing, physics of sound
Web Page http://www.cs.utexas.edu/~okan/courses/cs378_games/web/
The Interactive Entertainment Industry • Hardware makers produce gaming hardware • eg Sony, Nintendo, Microsoft, … • Game Developers create games • eg Electronic Arts (EA), Epic, ID, thousands of others • Publishers publish games • eg Sony, Nintendo, EA, … • The model is similar to books or movies • One group creates it, another distributes it, and another supplies the underlying infrastructure
Flavors of Game Developer • Game Designers decide on the format and behavior of the game • Artists design models, textures, animations and otherwise are responsible for the look of the game • Level Designers create the spaces in which the game takes place • Audio Designers are responsible for all the sounds used in the game • Programmers write code, to put it all together, and tools, to make everyone else’s job simpler • And others: Production, management, marketing, quality assurance
Disclaimer • Game development requires more than graphics, AI and networking • Design, Art, Software engineering, Production, Audio, … • This course won’t formally cover any of that stuff • Nor will it give you much experience with middleware, console programming, mobile gaming, contract negotiation, …
Books • Official textbook: “Core Techniques & Algorithms in Game Programming” • Other useful books: • Mathematics for 3D Game Programming & Computer Graphics • AI Game Development – Synthetic Creatures with Learning and Reactive Behaviors • The OpenGL Programming Guide • “Game Programming Gems” and the sequels and offshoots have many useful things • 3D Game Engine Design
Online Resources • Google – Use it • www.gamasutra.com • www.gamedev.net • www.flipcode.net/
Academic Honesty • If you use an external resource cite it clearly! • Don’t do things that would be considered dishonest... if in doubt ask. • Cheating earns you: • An ‘F’ in the class and • Getting reported to the University • No exceptions.
What I assume you know • C/C++ • No exceptions, no hand holding • 3D graphics concepts and programming • “Standard” lighting and shading • Modeling techniques • Vectors, matrices, geometric reasoning • OpenGL will be the graphics API discussed in lectures • I assume you are competent with at least one user interface toolkit eg: FLTK, MFC, Glut, Gtk, … • Make sure it’s supported on Windows
Grading • Midterm and final • 20% + 30% of the grade, might change • A Homework • 10 % • Project • 40 % of the grade, might change • Multiple stages staggered through the semester • Work in groups of 3-4
Project • The project is to create a game • This is a competition • Best project will win • A good grade • A prize !!! • Respect and admiration of your peers
Working in Groups • Working in groups is not easy, and it is an acquired skill • I want you to form groups by next Thursday • There will be some group evaluation exercises through the semester • Warning !!!
Timeline • Something due roughly every 2 weeks throughout the semester • First stage: Teams & Design
Tools • The only requirement is that your project run on Windows • We strongly prefer OpenGL • The lectures will assume OpenGL, and we know nothing about DirectX • Choose any UI toolkit: Natural options are FLTK, MFC, Glut, … • We are most familiar with FLTK, but it has some (non-debilitating) issues for real-time interactive programming
More Tools • Models and art will be an issue • Building models by hand might be the most efficient option • You are free to use any available tools, provided you acknowledge it • Open source modelers • Blender , Wings 3D etc. • Don’t be scared to write small tools if you think it will make your project easier • You are not judged on art
First Stage • Due Tue Jan 31st • First stage, 1st part: Design a game, put it on paper • Group members • Outline of game objectives • Sketches of potential looks • Task distribution • You can even borrow something from someone else