skip to Main Content
Project Description

Brainless is a 2D top-down single player action game in which you control a zombie horde that roams around turning humans into zombies. You begin with control of a single zombie, weak, vulnerable and hungry. You eventually spot a human and prey upon it. The dead human reanimates and joins your horde as a zombie. You’ve found a new friend. The cycle continues and your horde grows larger. As the game progresses you encounter stronger resistance, fortified strongholds and harder enemies.

Details
2D Top-Down Action
4 Team Members
C++, OpenGL
Jan 2017 – Apr 2017, 4 Months
Being a Design Lead

As the concept and idea behind Brainless was my brainchild, I was assigned the role of Design Lead. Through this, I discovered that it wasn’t as easy as just telling the team the game idea and expecting them to understand what you envision automatically.

Initially, it was hard getting the whole team on the same page, and as such I had to conduct game design meetings, moldboards, inspiration boards and an entire Game Design Document.

Further more, as there was no artist on the team, I took it upon myself to create the art assets. All art assets you see are created by me, including the promotional video and title cards.

Mechanics Programmer

As the team was only comprised of four members including myself, I had to actually go about implementing the mechanics that i had thought up.

This was no trivial task at that time because i required multiple independent zombies to act together as a swarm while being directed by the player.
For this, I worked with a team mate to implement a simplified and modified flocking behavior described by Craig W. Reynolds’s Flocks, herds and schools: A distributed behavioral model (1987). This modified boid agent would have an additional behavior to seek our and devour humans, which was prioritized over the alignment and cohesion behaviors.

Zombie AI flocking behavior. Zombie engages human enemy.

On top of Zombie AI Behavior, there was also the Human enemies’ AI behavior to implement. For the Humans, a dynamic grid based A* Pathfinding solution was used, allowing the human AI to avoid Obstacles. Move to locations were dynamically found via a simple raycast between a target Zombie and self, so that when the Human enemy fired his gun, it would not hit an obstacle. Whenever the line of sight was blocked/ the target zombie was out of range, the path would then be regenerated.

 

Human AI engages the nearest zombie with a direct line of fire. Red lines show raycast.
Human AI engages the nearest zombie with a direct line of fire. Red lines show raycast.
Back To Top