Transcript CS-184: Computer Graphics
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 2
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 3
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.
12
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 31 st First stage, 1 st it on paper part: Design a game, put Group members Outline of game objectives Sketches of potential looks Task distribution You can even borrow something from someone else