border Chad Hinkle Game Programmer border border
Minesweeper AI
Date: 03/22/07
Download the Project

The objective of this project was to create an AI that could follow a logical rules to play a game. The AI in this project utilizes 2 rules in order to play.

  1. If the number of adjacent squares that have not been clicked is equal to the number of adjacent mines, all adjancent un-clicked squares are mines.
  2. If the number of known adjacent mines is equal to the actual number of adjacent mines, all other adjacent un-visited spaces must not be mines.

This was my first foray into building a C# program from the ground up. The AI plays fairly well, winning just more than 2 out of every 3 games. Most of the games it loses are lost in the first few clicks, trying to find a space which will allow for the logic to kick in.

By default, the game allows for a human player to play instead of the AI. Red squares logically must be mines by rule #1, while green squares logically are not mines by rule #2. To turn on the AI, go to AI->Play. Upon clicking, the board will reset and the AI will begin playing the game, making one move every two-tenths of a second.

Technologies: C#, .NET 2.0
Copyright 2007 DigiPen (USA) Corporation, all rights reserved.
Actions of Opportunity
Date: 12/09/06

I worked on this project for one of my AI classes while attending DigiPen. For this project, I teamed up with Habib Loew. The goal of the project was to do research into a particular AI problem and find a solution. Habib and I decided to take a look into the problem were units only fulfill the most important objective without dealing with other objectives they may have, and to do so without creating a lot of new code for each AI agent.

We were able to create Actions of Opportunity by using a slightly modified Subsumption Architecture. In the project, I was in charge of creating the base subsumption architecture which we would be using for the project. This meant creating a layer manager and the individual layers which the AI agent would use to then fulfill its objectives.

Technologies: C++, DirectX
Ecosystem Simulation
Date: 04/17/06
Download the Project

For this project I teamed up with Habib Loew and Chance Lyon. The following description of the project was originally created by Habib on his website.

Created as a team project for a machine learning class this simulation presents a very simple model of evolving creatures on a hypothetical savannah. The creatures are represented by colored dots, plants by green squares, water by blue squares, and dirt by beige. There are all kinds of knobs to fiddle with, but for easy fun just crank up the speed and watch the simulation go. The creatures have a number of behaviors from trying to get food (plants or animals depending on their genome) to trying to breed. We made fitness into an "attractiveness" modifier to the breeding decision and creatures must actually be next to each other to breed. The results turned out to be very intersting. After letting the simulation run for hours on high speed we saw all kinds of inter-species relationships evolve and any number of stable ecosystems develop.

Technologies: C#, .Net 2.0
Copyright ©2006 DigiPen (USA) Corporation, all rights reserved.