Game2: The Virtual World

Game2 is our first 3D game, and a warm-up on using Scene to load and manage 3D objects.

Your goal is to start with a fork of the game2 base code and develop a new game which uses a Scene with animated transformations.

Animation of transformations may be automatic or under player control. They may be of a hierarchy (e.g. a robot arm) or simply of the scene's camera. Remember, however, that your game will still need a goal; a snow globe is not a game. Note, also, that there is no pre-supplied physics or collision detection code! (But feel free to use, with credit, any collision code you may find in previous years' base code.)

Remember that our Resources section has links to places to get various 3D assets. If you include assets that you did not create, be sure that this use is compatible with the license of the assets, and record where you got them in your README.md.

What You Need To Do

(More on game scoring.)

How To Do It

The challenge of this assignment is making the leap into 3D and getting familiar with the asset pipeline we have in place.

  1. Fork the base2 code as a starting point.
  2. Read the Scene header and source to understand how Scene works.
  3. Read/run the PlayMode code to see a default scene loaded and rendered.
  4. Actually implement a game (the starter code is more of a graphical demo).
  5. To make a game, you'll need some assets. I ship some blender files with this code, and link to more places to get models on the course page. Make sure to give credit!
  6. Fill in the missing sections in README.md to document your project; replace screenshot.png with a screenshot of your game. (The base code is already set up to capture a screenshot whenever you press the PrintScreen key.)
  7. Turn in the game using the form linked above.

The official inspirational song of game2 is "Tessellate" by alt-J. (FWIW, I don't agree with the comments on this rather heavy-handed video; I think the video is saying that philosophers were the culture-makers of their day.)