Corn Maze 2022

projects elm corn-maze
Lastmod: Sep 29 2023

This past fall (autumn of 2022), I released my first ever computer game — created for the Crow River Winery’s Corn Maze.

Interested parties can check it out at cr2022.cornmaze.us. However, there isn’t much to do since the game is designed to be played on the actual corn maze. As it’s winter now, the maze is currently closed. Originally I’d planned to create a video explaining how the game works, but as with many aspects of the first iteration of this app, there simply wasn’t enough time.

Fortunately, this is just the beginning. I plan on improving the Corn Maze app with each passing year, for as long as the corn maze continues.

Version 0

I first conceptualized this game a couple of years ago, being particularly inspired by Augmented Reality (AR) at the time. I wanted to incorporate AR into games that could be played within the corn maze. However, this proved to be too ambitious for the time I had available. After some experimentation, I switched gears and pursued another AR project instead.

Still, I was able to flesh out some initial thoughts and establish a few goals for the project:

  • Develop a web app that could function on virtually any smartphone
  • Emphasize mobile-first design
  • Utilize QR codes at various “waypoints” in the corn maze, with these codes serving as the main drivers of the in-game “actions”
  • Create “adventure” style games that could use the same game “map”

Version 2022

After a few false starts, I finally devoted enough time in 2022 to get an app up and running. It was a scramble to get things in order, largely because prior mockups were somewhat limited in scope, as the layout of the maze was not finalized.

Wine Quiz

For several years, a wine quiz has been a part of the Crow River Winery’s corn maze experience. Visitors would receive a paper map and pencil upon entry and would mark their answers as they found questions at various waypoints throughout the maze (typically of the multiple-choice variety.)

I decided that a digital rendition of the Wine Quiz was a priority for the app and I am pleased with the results. There are still some UX considerations to improve upon, but overall, it is quite usable.

The QR Codes

Creating the QR codes for the waypoints presented an interesting challenge. I decided to make each QR code a short, random string, with each string corresponding to a waypoint. Initially, I thought about making each QR code a full URL but was concerned this might interfere with my intention to make the app a progressive web app.

To scan the codes, I utilized a helpful library called jsQR, which worked very well.

Implementing the QR codes in the maze was a hectic task, completed just a few days before the maze opened. I had the codes printed on stickers, adhered them to metal plates (designed with screws in mind), and affixed these to pre-existing posts.

Elm

Most of the web app was constructed using the elm-spa project. I found it to be a very satisfactory tool for the job at hand, despite having only scratched the surface of its potential. I’m looking forward to diving deeper into the platform in order to develop more diverse games.

Styles

I experimented with various libraries for the CSS but I ultimately took a more hands-on approach, writing my own CSS.

2023 and Beyond

Better Games

There’s a lot of room for improvement in the existing games, particularly Labyrinth, which was barely playable. Its main issues were its extreme lack of engagement and a severe lack of clear instructions on how to play.

New Games

I’m brimming with ideas for new games. I’d like to add at least one more game, with the current frontrunner being a creature-collection game.

A variety of quizzes could also be a fun addition to the app. Ideally, the quiz engine would be flexible enough to accommodate a different set of questions and answers.

Tooling

I recently watched an inspiring talk by John Romero where he explained how great games are made by great tools. Elm has been a phenomenally useful tool, but I believe I need something to facilitate easier game testing during development. In addition, a tool for more efficient copy editing is in order. I’m still figuring out how to achieve these goals.