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!

As with the previous game, I want you to get familiar with creating the assets you use in your games. Therefore, you must create all the assets used in the game you turn in yourself. If you don't know how to make 3D models, worry not! We will provide time both inside and outside class to get familiar with modeling in Blender.

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 you can use these to get started, but the game you turn in must use only assets you have created yourself!
  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.)