Curves
Details
This project has the following 6 curve algorithms implemented:
- Bezier Curve - Nested Linear Interpolation
- Bezier Curve - Bernstein Polynomials
- Bezier Curve - Midpoint Subdivision
- Interpolation - Polynomial Interpolation
- Interpolation - Cubic Splines
- B-Splines - DeBoor Algorithm
All curves are able to be edited and control points moved in real-time.
Screenshots
DOWNLOAD
BSP Tree
Details
This project required the implementation of a Binary Space Partitioning Tree on a given scene.
Root selection was done by pre-computing the polygon which will cause the least number of polygon splits throughout the scene.
The framework was provided by the professor.
Screenshots
DOWNLOAD
Bump Mapping
Details
This project was a culmination of the 300-Level graphics course. The following is functionality this project includes:
- Software Scanline Rasterizer
- Phong Lighting
- Mip-Mapping
- Bump Mapping
The framework was provided by the professor.
Screenshots
DOWNLOAD
Shadows
Details
This project was a culmination of the 200-Level graphics course. The following is functionality this project includes:
- Rotation, Scale, Transform Matrices
- Viewing and Perspective Transforms
- Triangle Rasterization
- Object Culling and Clipping
- First-Person Camera Control using Spherical Coordinates
- 3D Object Picking
- Shadows
The framework was provided by the professor.
Screenshots
DOWNLOAD
A* Pathfinding
Details
This project required the implementation of the A* search algorithm. It was required to compute one step of the algorithm at a time so as to be flexible in its integration into projects.
There is the option to change the heuristic weight on the search which can help or hurt the efficiency of the search. If it is set to 0.0, the search is basically doing a Dijkstra search.
The framework was provided by the professor.
Screenshots
DOWNLOAD
State Machine
Details
This project required the implementation of the Macro-Based State Machine Language.
One agent is selected as "it" and they randomly check pre-set hiding spots in an attempt to find the other "hiding" agents. Every "hiding" agent randomly chooses a hiding spot and hides there until they sense the "it" person is near. At that time they attempt to run to another safe zone.
The framework was provided by the professor.
Screenshots
DOWNLOAD
Player Emotion
Details
This was a research project based on the importance of assets on game Artificial Intelligence.
Fuzzy logic is used to calculate happiness and scared values based on the player's location in relation to other objects. These values determine what audio clip is to be played next, which audibly represents what the player avatar is feeling.
Screenshots
DOWNLOAD
Audio Tool
Details
This was part of a large team project for an audio class to make a low level audio engine, high level audio engine, and a tool. Two classmates and myself were in charge of the tool.
The tool had no specific requirements except that it had to be able to interface with the high level engine. This tool has the following features:
- Create Events
- Create Global Variables
- Edit Pan, Volume, Pitch, and Reverb
- Set the order and time in which sounds within an event are played
- Pitch Shifting
- Looping
- Streaming
Screenshots
DOWNLOAD
Gameboy Advance
Details
This was a Nintendo Gameboy Advance game demo made using C with the HAM Library. This project required the following
- Multiple Screens
- Background Fading
- Viewport Scrolling
- Player Movement
- Player Animations
- Object Collision
- Rotations
Roids is an asteroid dodging game. The goal is to move your ship up and down, avoiding the spinning asteroids as your ship soars through the asteroid field.
Screenshots
DOWNLOAD
Gameboy Color
Details
This was a Nintendo Gameboy Color game demo made using Assembly and the NO$GMB simulator. This project required the following:
- Multiple Screens
- HUD
- Bounding Box Viewport Scrolling
- Player Movement
- Jumping
- Player Animations
- Object Collision
- Tile Sets (Level, Enemy, Player, Letters, Numbers)
The game, DigiBoy, is a platformer where the objective is to reach the key at the end of the level. Use the platforms above to move DigiBoy over the Panda-Guard, dodging his fireballs, and reach the key on the other side.