CS-184: Computer Graphics

Download Report

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