CS-184 Computer Graphics

Document Sample
CS-184 Computer Graphics Powered By Docstoc
					    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

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
How to participate
  Ask questions
  Make comments
Stupid questions/comments
  That’s okay                                      3
  Okan Arikan (okan@cs)
  Office Hours Th 1:00pm-2:00pm
  Location ACES 2.110

  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

  Physics, character animation

AI: Game term for behavior
  Creating characters, path planning, generating motion

Networking: Playing together
  Protocols for gaming, architectures, managing bandwidth

  Creating / playing, physics of sound
                  Web Page
The Interactive Entertainment
 Hardware makers produce gaming
   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
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
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
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, …
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
      Academic Honesty
If you use an external resource cite it
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
  No exceptions, no hand holding

3D graphics concepts and
  “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, …
Midterm and final
  20% + 30% of the grade, might change

A Homework
  10 %

  40 % of the grade, might change
  Multiple stages staggered through the semester
  Work in groups of 3-4

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
There will be some group evaluation
exercises through the semester
Warning !!!

Something due roughly every 2 weeks
throughout the semester
First stage: Teams & Design

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,   1 st   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

Shared By: