A List of the projects I completed for my courses while earning my Bachelors Of Computer Science with Honors.
This is my first attempt at a FPS style game engine. It involved the creation of both a Rendering engine and a world-building application.
Some images from the program running.
Some images that show the Octree division of a complex scene.
The executable for the demo is available here (4.48 MB, mostly textures). Run game.exe and right-click for menu (you must load a world before you see anything). Pretty much standard WASD keys.
Honors project focusing on the real-time generation of realistic particle snow, as well as a flexible runtime-configured particle engine. This project was written in C++ and compiled in Visual Studio .NET. Although it was written later than the Game Engine (listed above), most of the code was re-written entirely from scratch in order to maintain focus on the particle effects rather than spend lots of time trying to hack the particle system into the other engine.
A link to the accompanying paper is available here in .pdf format (requires Adobe Acrobat to view). The executable that goes along with the document is available here in .zip format (814 KB).The demo contains only a couple worlds, but the effects can be edited by changing the .wrl, .gen, and .prt files in the ./data/ directory.
A (very) basic ICQ-Like messenger that uses Java RMI and tuple spaces to synchronize and access a shared message-space.
A simple TCP-Like networking protocol implremented to assure packet-delivery over a non-stable system. Modeled almost directly after TCP, as required for an assignment.
A simple distributed White-Board application, that allows two users to draw basic shapes (such as lines and cirlcles) on a whiteboard, which will be seen by the other users. Uses Java RMI for networking and message passing.
This project was to develop a simulation of simple ants, who were tasked with collecting food from their environment. Each ant runs an identical 'program' (using actions defined by the programmer) in an effort to collect the most food for the colony. They drop pheromone to simulate the simple communication that real-world ants use. The programs for the ants can be elvolved from a population of randomly-generated programs in order for the computer to 'learn' the best program using Genetic Programming.
This project simulates an ant-based approach to solving complex TSP problems. Each ant probabalistically chooses a tour, and drops pheromone proportionate to the fitness (length) of that path. By sharing this pheromone path, good solutions for large TSP problems can be provided in relatively short time.
This project used a Genetic Algroithm (GA) to solve the TSP. Random paths are generated at first, and evaluated, then the best paths are 'bred' with eachother to produce new child paths. The process is repeated for each generation. Impressive results emerge after only a few short generations for most TSP problems.
This project builds a decision tree based upon a set of data. It trains on a percentage of the population, and then evalutaes its accuracy on the rest in order to provide efficient and accurate rules for decision making based on a set of data.
This project implements a fuzzy-logic controller to regulate water flow through a simulated nuclear reactor, in order to maintain maximum output and prevent meltdowns. The inputs were hot and cold water (of varying pressures in the pipes), and a drainage pipe. The controller was required to mointor the temperature and volume of the reactor core, and adjust the flow of the hot, cold and drainage pipes to ensure the optimum operating temperature.
This project was part of the OpenGL game engine. It was used to control 'tracking' security cameras in a smooth way, so that they would remain centered on the target and move in a smooth and efficient manner.
This project used a simple search-based approach to solve the 'bridge crossing problem'. The problem was as follows:
A number of friends are on one side of a chasm. It is nightime, and they must carry a flashlight to see their way. They have only a limited time remaining on the flashlight (user specified). Each of them can walk at a different speed across the bridge, but it can only hold 2 of them at the same time. For various nubmber's of people (with various speeds) find the order in which the friends must cross.
This project used an A* algorithm to search the space of possible solutions to the Eight Squares problem.
Personal
My Blog
Resumé
Projects
Freetar
Music Flashcards
School Projects
Webpages
Fun Stuff
WWII: Online
Ants & Antfarms