Download this game here.

  • Controls:
    • Esc – Exit.
    • Shift – Toggle object’s geometry.
    • Backspace – Toggle between controlled camera/object.
    • Arrow Keys – Move camera/object.
The Incredible Game 06
  1. Assignment Goal:
    • To create a proprietary file format that the game engine can read geometrical shapes from.
    • To learn more about the asset building pipeline and how to best utilize it.
    • To better understand handles and the ways they can be used.
    • To use Lua, the industry standard storage software.
  2. Additions & Changes:
    • GeometryBuilder Project
      • cGeometryBuilder:
        • Takes .geo files and processes them into cGeometry objects.
    • .geo File:
      • A simple, human readable Lua storage file that holds a set of vertices for a geometry, and the indices that indicate what Right-Handed order they are to be rendered in.
      • Both indices and vertices are stored in the top-level dictionary.
      • vertices – holds an array of an arbitrary number of vertices which each consist of an x, y, and z float.
      • indices – holds an Right-Handed ordered array of integers that indicate what vertices to use where in the shape.
    • Manager & Handles:
      • Switching over to using a static manager for the cGeometry class allows me to use handles in the application. The advantage to this is that it prevents multiple builds of the same .geo file, and saves both memory and reduces the amount of human error checking that must be done.
  3. How I Did It:
    • By keeping my geometry file as simple as possible to read, it is very pleasing to look upon it and find what everything means. The reason for this is that I am able to see what is stored and look at what I will need to access in order to read it into an object.
    • Looking at the ShaderBuilder project, I ascertained most of the information that was needed, though I did have some trouble figuring out what some parts were doing and what was necessary for me to do.
  4. Credits:
    • Hitesh Mittapelly – Gave me a hot tip about how to link together my new project using project property sheets (something I had overlooked).
triangle.geo – A Geometry’s Lua File.
Debugging the GeometryBuilder Project.