Eric Bengfort's Showcase
Main Page View Resume View Source Code

Table of Contents

Click the following links to quick-jump to sections below
Strangeways: Senior Game Project
Artificial Intelligence Projects
The Bowling Ninja: Sophomore Game Project
Graphics Projects

Thank you for taking the time to check out my projects.

How to use
1) Download zip file.
2) Extract files from zip file.
3) Run the exe.

Note: If an executable fails to run on your machine, you may need to install the Microsoft Visual Studio 2005 Environment.


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:

View Training Data

View About Training Data File

View Testing Data

View Results File

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:

Entity Name

Entity Instinct

World Object's and Properties

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!

Download Executable

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.

Download Executable

View Sample Level File

@ = 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

Download Executable

Splines Project

Download Executable

Reflection (Environment) Mapping

Download Executable


Download Executable

Main Page View Resume View Source Code