WATCH OUT!!! In this spooky maze game, you must find your lost chess pieces before the AI enemy pieces hunt you down! 
Created by Ethan Heffan, Stephanie Ramirez, Tristyn Lai, and Aidan Adams


What I Did 

I was responsible for all the enemy AI. The goal was to simulate what it'd be like to be chased down by a hoard of evil sentient chess pieces. 
Here's the simple explanation of how it works: I created a grid-based pathfinding system that coordinates pieces movement such that they behave believably and never overlap. When a piece is at rest or arrives at a tile, it tells the system it wants a path. The system prioritizes the requests by piece type so certain pieces have greater movement priority (e.g. Kings move slowly, but can more easily reach where they want like a juggernaut). It forms a path via A* and a custom heuristic to incentivize unique piece behavior (e.g. Bishops assign lower costs to diagonals along their trajectory to encourage sliding long distances), then returns it.
The result is what you see above! Every piece chases the player without hardly overlapping. 
I also created a custom level editor where users can easily place walls + pieces, and convert it into a text file (see below), which is then loaded on boot-up.​​​​​​​
About the Project 

This game was created for the final creative project of my Game AI course. At the beginning, I proposed to my group that we could iterate upon my low-level WebGL chess game using a more sophisticated game engine (Unity). With most of the design already figured out, the main challenge was funnily enough related to one of my favorite life lessons learned in that class: the delicate balance between properly preparing for something vs actually doing the thing. If you just run into something using nothing but brute force, it's only inevitable you'll trip and fall from the unsteady foundation. On the other hand, if you spend all this time preparing the most perfect, elegant plan, you'll never actually begin. It's a simple, yet quite profound principle that can be applied to many aspects of life. In our case, it was the balance between developing the gameplay vs tools. We surely could've brute forced the level design by individually placing every single wall + enemy and somehow converting that into a 2D grid of objects, but by spending the time to create a user-friendly level interface, it both benefitted the back-end AI system and the ability for my already busy teammates to craft the interesting levels we desired.
 As a result, development was super smooth! The ideation phase was enjoyable, the production was enjoyable, and we ended up with one the most impressive AI projects in the class. It taught me that if you strike the right balance, not only does the project thrive, the devs become happier too. And, if the devs are having fun, players will sense it in the final product. Ez win-win.

You may also like

Back to Top