Skip to content

Latest commit

 

History

History
106 lines (77 loc) · 7.2 KB

part1_README.md

File metadata and controls

106 lines (77 loc) · 7.2 KB

Final Project

This is it--the final course project!

Final Project - Description

The industry is getting positive buzz as Nolan Bushnell and Shigeru Miyamoto have been talking about your game development skills. But dynamics change rapidly in the game industry--you have decided to form a new game studio of your own. From your previous projects, your team has developed a nice codebase with your own intellectual property, and has decided to form a 'game making' studio around this technology. Building an impressive piece of middleware (i.e. a tool or technology that is not a game) to showcase at the giant tradeshows (PAX East, GDC, and E3, etc.) is your next task!

Final Project

Game Maker

For your final project, you will make a 'game maker'. That is, you will build a data-driven tool to generate a game. Your game maker may also incorporate 'pybind' to further enable anyone to use your engine (Note: you are allowed to explore other technologies like lua or Angelscript).

With your engine you will also implement either a classic game (that we have not previously implemented (e.g. pacman, asteroids, snake, super mario, etc.)) or an original game using your engine to demonstrate how your engine is used.

Some notes on building a game maker

  1. Very likely you may need to integrate some GUI library into your system to make it useable.
    • Think about this early--even draw a picture of what you think it should look like.
    • Think about if this GUI needs to be in a scripting language (e.g. Python) or in the C++ code.
      • At the end of the day, you just need a tool that generates data.
  2. Think data-driven
    • This means your C++ handles your engine, and your scripting language should handle the game logic.
  3. You should be able to utilize many of the game programming patterns discussed in the course with this system.
  4. You need to implement at least one classic or original game using your game maker that includes '3' scenes.
    • The game need not span hours, but should at least demonstrate that a game with objectives can be played and won, and new data can be loaded and handled in the engine.

Examples

See below some example game making tools for inspiration:

Project Constraints

  1. Your must build the majority of your technology.
    • If you use 3rd party code (Say a compression library for example--which would be fine), then cite your source.
  2. It is expected/permissable that you reuse some code from previous assignments.
  3. 3rd party libraries for a physics engine (e.g. Box2D) are okay if you want to incorporate it into the engine.
  4. You cannot build a tech demo with Unity3D, Unreal Engine -- that is not in the spirit of the course, we are building things from scratch.

Note--if you have not taken computer graphics, you should not be attempting to learn 3D graphics during this duration -- I am expecting most engines will be 2D. It is highly recommended (and to some extent expected) that most students will work on 2D projects leveraging their previous codebase.