CS426 Game Programming II Dan Fleck

advertisement
CS426 Game
Programming II
Dan Fleck
Why games?

While the ideas in this course are demonstrated
programming games, they are useful in all parts of
computer science




Other types of “games”: Serious games, educational games,
training games, fitness games, (more?)
Game technologies apply to: simulation, animation, user
interfaces, many more…
Game programming also teaches: mathematical programming,
good OO style, C++, etc…
And it’s fun 
CS426

Project



The project will be a continuation of the CS425 project with
new features and goals
You will be in a team (real life is teams)
What will the project add?



Physics
You tell me?
Presentations



Demonstrate your game in-progress, and tell us what’s coming
next
Research and present a game topic that is interesting to the
class
Demonstrate and “sell” your final game
Progress Presentations

Every other week come in and demonstrate your game
to the class

Tell us what you said you were going to during the
previous presentation, how that worked out, and what
you’ll show us in the next presentation



the key idea is I want you to have some sort of plan, but that
plan will evolve over the semester… that’s okay as long as you
are making progress
One slide is okay for this
Current plan is to have every other week be a lab session
without lecture
Game Technology Presentation


Each student will give one presentation on a game
technology. After school you will need to be able to learn
without a professor’s explanation
Description:



Pick the technology
If you can, add it into your game or into a demo program you
wrote
For “easier” technologies you should do a little more: explain
how they are used in current games, historically, what makes it
interesting
Presentation Examples (and expectations)









Joystick input – added to your code, explanation of other controller types (older/newer)
Pixel shaders – explain what they are, how they work, look for examples on the web. I would
not expect you to write your own code this
Network gaming – issues and challenges with network gaming, how are some solved,
implement a simple network interface to your game or a demo
Sound – How is this used to make games more engrossing, stereo. I would expect an example
coded into your game. Can you implement “stereo” so things happen in different places,
attenuation, etc…
Collision detection
Game AI (NPCs) – What are the types of algorithms to make them smart or dumb? How
have they evolved? Write a simple NPC logic
Animation and graphics – tools used in modeling and animation. How do people create
“characters”? Demonstrate using a tool to create a model for use in your game
Game creation in industry – how do people create games for the big platforms (Xbox, Wii,
Playstation). Tools? techniques? Engines? Can you give an example (possibly XNA studio?)
Independent game creation – how do people create games as indie developers (app store,
android, etc…) Tools? techniques? Engines? Can you give an example (possibly XNA studio?)
Presentation Examples (and expectations)

Game theory presentations are also okay

Different types of games? What makes games “fun”?
Commercially successful?

History of games and how they have evolved. What’s
next?

Challenges with new game platforms (iPhone, Android)

Different roles in games companies (artist, modeler,
engine developer, etc…). What do they do?
Presentations

The previous lists are just examples.You do not have to
choose a topic from the lists. Pick something interesting to you
that you’d like to know about

You must let me know AHEAD of time what your
presentation so we do not have duplicate presentations.
Presentations will be spread out across the semester.

I expect the presentations to be about 10-15 minutes… longer
is fine, shorter is less-fine

The grading criteria is largely



was it interesting?
did it tell us something we didn’t already know?
were you prepared?
Download