Twitch Plays - Maze Game

TwitchPlaysPokemon was a very interesting and inspiring concept for me. A game played by the many but through one instance. This was my attempt to explore the subject.

The concept was simple: A randomly generated maze. Be the first to get to the end. Players joined via chat, and for every player that entered a sphere would be placed on the starting edge with their name on it. This was their character. To navigate the maze, they’d enter in commands such as !left, !forward, etc and their character would move. The maze was not illuminated, except for a light on their character. The maze was regenerated randomly every hour. There was a leaderboard for several categories: First solve for this maze, most mazes solved today, and most mazes solved of all time. The game ran continuously and autonomously 24/7 for a few months. It just ran off one of my home machines.

The game was made in Unity. I chose that because I had familiarity with it and I had been working at Epic Games as a contractor for the Unreal Engine for only a few months or so. I wanted to develop it fast so I thought my experience with the Unity engine would be preferable over what little I felt I had with UE4. I found myself regretting that decision, as it was the first dive back into Unity since working there and it only made me miss all the workflow and organizational tools that UE4 affords. But the project worked out in spite of this.

The game was run from its built executable on my home PC with an OBS instance streaming from it. One of the goals of this project was to drive viewership to a gaming Twitch stream a few of my friends were running, so I included tools to configure it remotely. I wanted to be able to pause the game when the main channel was streaming, so I had to write up documentation on how to perform that pause for my friends. It was a procedure for them to run whenever they were starting up or stopping their stream. Without that I’m sure I’d have been the only one to pause/unpause the game, which I couldn’t commit to at all times.

I feel the project was a successful experiment. I learned how to produced documentation of a technical system to be consumed in a non-technical context. I learned how to develop a program to run live autonomously for an extended period of time. I also enjoyed making it look decently nice and polished, even if it was just a maze.

Written on September 5, 2023