Aaron's Independent Study

From Earlham CS Department
Revision as of 14:01, 20 February 2010 by Amweeden06 (talk | contribs) (Tasks)
Jump to navigation Jump to search

For my senior project I have been developing an educational computer game to teach digital logic. The working title is "Computer City: Sewers," since the game takes place in the lowest level of a city ( corresponding to digital logic, which is conceptually the lowest level of the computer architecture ). The game is puzzle-based and is written in C++ with the OpenGL API.

The game's source is available at http://github.com/amweeden06/SRSem-Project-2009/tree/master/Source/

Hackathon

Getting Started

github is the source code control of choice for this project. Below are the instructions for downloading the source code from github:

  1. Set up an account at github (it's free)
  2. Let me know your username once you have created an account so I can add you to the contributors list
  3. On a shell, type the following:
$ mkdir Sewers
$ cd Sewers
$ git init
$ git config user.name <your git username>
$ git config user.email <your email>
$ git remote add origin git@github.com:amweeden06/SRSem-Project-2009.git
$ git pull origin master
$ cd Source/ACL
  1. You should now be in the directory with the source code. To build, type
$ make
  1. This will make an executable called Sewers. To run, type
$ ./Sewers

Tasks

Here are some of the things that the game needs. I've broken them down into small, medium, and big based on how long I think they'll take. Let me know if you'd like a better description of any of these, or if you have other ideas!

Medium

  1. Get a mechanism working for saving and loading game states. This will likely take place in the file GameEngine.cpp.
  2. Right now there is a mechanism in place for loading a "room file", which describes the circuit of a given room (e.g. Room1.sew). Get a mechanism working to load a series of rooms as the player progresses through the game.
  3. Implement statistics collection, specifically for:
  • Number of rooms completed
  • Number of blueprints collected
  • Number of steps taken per room
  • Time?

Big

  1. I envisioned the player interacting with the computer in the top right corner of the room as follows: when the player completes the room, a truth table of the room is presented to the player to be filled out. Get this interface working or come up with a better one.