Role: Gameplay Programer, Technical Designer
Platform: Web & Desktop
Team Size: Solo Project
Duration: 2 Months
Contributions:

  • Custom Programing Language
  • UI/UX Design
  • Cosmetic Bot Builder

About

Robots that Explode (Most of the Time) is a game about AI Work Ethics….
Disguised as a Programming Game….
Disguised as a Puzzle Game…
Disguised as a Platformer.

I created this ridiculously named and described game in the last 2 months of my Masters Degree in Interactive Media & Game Development with the goal to create a piece of media that will allow us to envision a better AI future. The game focuses on deconstructing what it means to play a game in the first place and leveraging that to discuss the role of AI in everyday work.

The main system developed for this game was a flow-based programming model that streamlines the development of programming a responsive state-machine for the core puzzle gameplay. This development was two parts: One side was optimizing the UI/UX flow of the game and the other was the backend structure for the language itself.

The game also includes a custom Bot-building system where users can create their very own custom robots while playing the game.

Project-Image Project-Image Project-Image
Project_Banner

Idea Origins

I was working on one of the many concepts I had for my masters capstone which involved programming a pathfinding AI that was able to perform basic 2D actions in an almost Terraria-like wave defense game. It was the very first technical challenge I decided to tackle in the project and took me a bit to get it just right.

Project_Banner

But then it hit me: I was having a lot of fun programming the abilities of the AI, more fun than the original idea of the game I was currently making it for. So I asked myself the question: “How can I translate programming a basic pathfinding AI into a game on its own?”


Choosing a Programming Model

It was very important that the programming language system needed to be approachable by anyone in order for the message of the game to be effective and wide-reaching. I started to prototype a block-based system similar to that of Scratch whereby instructions were represented by conditionals and actions that robot would take

Project_Banner

I quickly realized that it would take a very large amount of time to perfect the UI design of a Scratch-based system using the tools and time that I had available, so I needed to pivot to another system.


A Flow-Based Model

While researching other accessible programming models, I was reminded of Flow-Based models similar to those found in Unreal Engine’s Blueprints or Shader Graphs in various game engines. So I began to prototype a similar system for my game and within a day, I had a prototyped system working,

Project_Banner
Project_Banner

Simplifying the UI

Switching to a Flow-based model allowed for further simplification of the UI. I eventually ended up removing all text on the nodes completely in favor of clear images that would visually show what the nodes did. Just in case these images were not clear enough to a player, hovering over them would reveal a tooltip describing exactly what they did.

Project_Banner
Project_Banner

Ease of Workflow

I put in a lot of work into adding additional ways of interacting with the workflow that obeyed laws of Human-Computer-Interaction to make programming as seamless as possible. This resulted in the addition of highlight code selection, dragging out blocks from a sidebar and even a mini-view of the entire workspace.

Project_Banner
Project_Banner

Capstone Presentation & Report

The presentation I gave for my Masters capstone presentation on the game, including additional insight on the development leading up to the game and focusing on discussing the narrative implications of the game.

Project_Banner