Aaron's Independent Study
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:
- Set up an account at github (it's free)
- Let me know your username once you have created an account so I can add you to the contributors list
- 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
- You should now be in the directory with the source code. To build, type
$ make
- 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
- Get a mechanism working for saving and loading game states. This will likely take place in the file GameEngine.cpp.
- 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.
- Implement statistics collection, specifically for:
- Number of rooms completed
- Number of blueprints collected
- Number of steps taken per room
- Time?
Big
- 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.