Ethan Turon
Maze Game: Rapid Development in Action
HOME
PLAY MAZE GAME
Ever since I was a little boy, I have always loved puzzles and mazes. I would prefer cereal that had mazes on the cereal boxes, and there was a clear favorite. I would even create my own mazes out of paper maps of the city of Chicago. As an adult, I own a big book of mazes which I complete using a transparency film so as to not mark the pages.
I developed this maze game not for entertainment, but to keep my skills sharp, to keep my brain working, and to create a story to tell. Utilizing an accelerated test driven design metholdology, and cherry-picking from my 30 years of IT experience, I iterated four codebases until I got what I wanted, working backwards from my "simple" requirements to: include a player, some enemies, a playspace, and an objective. Once I achieved a stable codebase that fit my vison, I began adding the bells and whistles like win conditions, alert / escape dialogue, and smoothing the user experience.
Game Rulez: To win, use the arrow keys to move the Red player and reach the Green objective. If the yellow enemies catch you, you die. If you win or lose, click ok on the dialgue box to start a new game, or click quit to return to my home page.
The most difficult part of this development was the escape messaging to draw a random maze every time a new game starts, and to start a new game on every click of "Ok". The dialogue box kept freezing, or the new maze would start broken where the objective didn't respect the maze boundaries, and I began over-engineering the dialogue box. This is how development is a journey we embark upon. In my retrospective, I realize that I should have included the coniditons of the objective itself upfront as it is it's own element (the green box). Since I didn't do this, I kept creating solutions for every impediment I faced, which created some additional impediments downstream. This is the development cycle that leads to scope creep, and this became apparent during my testing. I was reminded of my many experiences in corporate IT where we don't always realize the best user experience, or the best end-product design until we build it and get into the weeds. This is the essence of TDD and my solutions included investigating the relationship between the dialogue box and the objective (green box) downstream.
This mini project was an overall complexity level 1 and took me less than 8 hours between March 11th - 12th, 2025, including building this page. I enjoy exercising my mind in my free time. If the page gets stuck, please refresh.
If you would like to contact Me, you can email Me: hello@ethanturon.com
or check out my instagram