At the end of the spring quarter, I saw an email about a workshop at Stanford that teaches students about the intersection between gaming and music production (to see an older version of the website, check this out). It was a one-week-long intense workshop that I knew I wanted to attend. As it turned out, there was a scholarship for women applicants and I got the scholarship to attend the class for free! During the workshop, I had an opportunity to recreate one of my favorite PC games from the 90’s: Endorfun.
Endorfun features a cube that the player moves around a grid that has tiles of different colors. The objective is to move the cube over a colored tile so that the top of the cube matches the color of the tile. There are different game modes and the game features a colorful soundtrack and motivational messages. It was like a kaleidoscope meets a zen garden meets a therapy session, all in one! Even though I was young when this game came out, I can vividly remember spending countless hours playing this game on the weekends. It is such a simple yet compelling game concept and it is easy to enter a flow state when playing it. The original game is shown below.
The goal for this workshop was to create a game that integrated music in an interesting way. I found a tranquil yet edgy song on this website (which is also where I got music for my MentalBlocker game) that I think does a good job capturing the mood of the game. In addition, the cube changes pitch (plays a different note) as it moves across the board and the volume also pans as the cube moves.
To recreate a simpler, endless, timeless, scoreless, stress-free version of the original Endorfun game. To learn Unity.
I wanted the color palette to feature bright, bold hues that work well together. I then used a pastel version of these colors as the background of the game. When a new colored tile appears on the grid, the background changes to a blend of that tile color and the color of the opposite side of the matching cube face.
Here are screenshots from the game.
I wrote the logic for this game in Unity’s language of choice, C#. I’d never written C# code before but being familiar with other programming languages made it very easy to learn. The trickiest part of the code was figuring out the cube rotation. The most interesting part was writing the logic to determine whether a state was “solved”. I also enjoyed creating the particle systems and having them update depending on the state of the grid.
Here’s a video of the gameplay. Believe me when I say that I quickly enter a flow state when playing this game. It’s hard to stop playing! :)
The workshop instructors were impressed with the recreation of the game and how quickly I brought it to life in a matter of three days (the first two days of the workshop got us familiar with using Unity, which I had never used before this workshop). Other students in the workshop enjoyed playing the game as well. This workshop is an excellent precursor to the CS146 game design and development course I’ll be taking at Stanford this fall.