Strangeways
Senior Game Project, 4 person team) [3D Survival-Horror Adventure]
Programmer / Designer / Product Manager
Strangeways is my Senior Game Project at DigiPen. The game went "gold" at the end of April 2008. In Strangeways, the player is shipwrecked on a mysterious island. He begins to hear voices in his head and strange things start to happen to him. A group called The Strangers claim to offer him assistance off the island if he can recover four rare gems. Who are The Strangers?
I was responsible for the enemy AI and game design. I implemented enemies running multiple behavior modules simutaneously, enemy/player visiblity tests, enemy group communication, enemy group flocking, and enemy/player chasing using A* Path Finding. Besides handling all the Artifical Intelligence, I also designed the world levels and triggered events.
So what are you waiting for? Download the final build of our game "Strangeways!" You will need DirectX 9 and Shader Model 3 to run our game. You may also need the Microsoft Visual Studio 2005 Environment. Use the following link to download a copy of our final build!
*** Download Strangeways Gold Version 1.1 ***
If you are in a hurry, check out these screenshots and gameplay videos!
Gameplay Video 1
High Quality Mpeg (Recommended, Right Click-Save As) 220MB
Low Quality WMV (Not Recommended) 14MB
Gameplay Video 2
High Quality Mpeg (Recommended, Right Click-Save As) 190MB
Low Quality WMV (Not Recommended) 10MB
AI Tech Demos (x5)
Independent Study (Junior Project, solo project) [AI Technical Demos]
Over the summer of my Junior Year I had the chance to work exclusively on some advanced AI Topics of my choosing. Below are my five projects and documentation. For each one I gave a short presentation where I talked about what I did, what problems I encountered, and what I discovered.
Bayesian Learning - Generic Catagorization
This demo is fairly straight forward. Given a set of training data and a set of unseen testing data, I attempt to probabilistically determine which catagory an object falls into. For example, classify whether a mushroom is poisonous or not based upon the properties of said mushroom (height, color, spores, etc...)
Download Executable and Readme
Download my PowerPoint Presentation for this Project
Sample Data and Results:
Bayesian Learning - Entity Behavior
This is a simple, yet powerful console window application which demonstrates how Bayesian Learning can be used to govern behavior of agents and allow them to make decisions. A layer of positive/negative reinforcement from the user is also present to aid in the learning process.
Download Executable (Sample Entity: Puppy with basic instinct) and Readme
Download Executable (Sample Entity: Puppy with zero instinct) and Readme
Download my PowerPoint Presentation for this Project
Data Driven Files:
A* - Super Path Finding
Everyone loves A* Path Finding! This was my first ever attempt at coding A* Path Finding and it turned out very well.
Sample Source Code for this project available!
Sokoban Solver
Reasoning Under Uncertainty
Sokoban is a puzzle where an agent must shove (shove only, cannot push) boxes around an environment and must make each box reach a destination square. I solved this problem using two layers of A* (isn't A* great?) with a step-cost heuristic to speed up the solving progress. Sokoban is an NP-Complete problem, thus it normally takes a long time to solve. For more info on Sokoban, Wikipedia has a decent article on the subject.
To keep things simple, my program is a console window which takes a command line parameter of "the level file to load in." For example, at the command line type "sokoban.exe level.3" and the results of the program are sent to standard output. The result is that the optimal solution of player steps is returned in a short amount of time.
@ = Agent
$ = Box
. = Goal
# = Wall
The Bowling Ninja
Sophomore Game Project, 3 person team) [2D Action Puzzle-Shooter]
Programmer / Designer / Product Manager
The Bowling Ninja is a puzzle-shooter hybrid. The self proclaimed "Bowling Ninja" must face the popular "Bowling Pin Clan" on the field of battle in an attempt to get his "Bowling no Jutsu" officially recognized by the Ninja Community. The Bowling Ninja must strategically make his way through levels of varying difficulty using an arsenal of various Bowling Ball attacks, while avoiding obstacles such as trees, enemy ninjas, and Bowling Pin projectiles.
On this project I created enemy AI routines, designed levels, and designed the final boss. I had a really fun time working on this project. Our goal was to make a fast paced shooter that most people would have to struggle to reach the final level. We also included Joypad Support which makes playing the game feel much more natural.
Use the following link below the following screenshots to download a copy of our final build!
Download The Bowling Ninja (20.7 MB)
Cool Graphics Demos (x4)
The following are some graphics projects I made. I think they look sharp.
Phong Lighting with Scan Line Rasterizer
Splines Project
Reflection (Environment) Mapping
Bumpmapping