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?