Posted December 02, 2021 by frostberry
#discussion
I will do my best to explain my journey in making the puzzle mechanics for Crystalline Fission, but it certainly helps if you've tried the game demo out for yourself here :) Crystalline Fission
I've had the vague concept of a puzzle game where you place tiles to clear a board of objects that have pre-defined positions and initial directions, where it is reminiscent of those classic puzzle games where you place piping to allow water to reach a drain i.e. "Plumber games" (e.g. this game I found on the App Store with many like it: Water Pipes), the similarity being that you place pieces on a board, hit a start button, and observe to see if you placed your pieces on the board correctly.
I found the cascading effect of the water flowing through the complex piping for the victory to be very satisfying, and I wanted to recreate that feeling with what I felt were more creative mechanics.
The basic premise of the game is this:
The tile which I feel makes this game creative is the Fission tile, which splits crystals into separate parts. While it's my favorite mechanic, it was also the beginning of a long process: finding the most intuitive ways to portray these mechanics.
To use the simplest example, a 2-part crystal will split into two separate 1-part crystals that then begin moving in opposite directions. Following this example, I came across my first decision, which is dealing with the fission of 3-part crystals. I can either choose to split it into three separate 1-part crystals, or I can maintain a similar pattern as the 2-part crystal split, and only generate two crystals - one with 1 part and one with 2 parts. I chose to maintain a similar pattern and always generate two crystals from a Fission tile. This means that when an odd-numbered crystal splits, it will have to split unevenly. Although a player may feel that this is counter-intuitive when they first see an odd-numbered crystal split, they will be confident with how the mechanic works for the remainder of the puzzles - at least that's the hope.
An issue the branched off the previous one is deciding which direction that the larger half of a odd-numbered split crystal will go. So I simply decided that if a crystal splits vertically, the larger half goes upward, and if it splits horizontally, the larger half goes rightward.
The next issue I ran into is broader, and it involves how crystals "collide" with each other. Many times, two crystals are about meet at a single grid space, but if they do, they will overlap. This means I have to decide which crystal will actually take a step forward and which one will wait. I decided to create a priority system. The system checks each grid space and determines which crystals are attempting to step into it. The grid space then allows only the crystal with the highest priority to step into it. The highest priority is given to a crystal moving upwards, then rightwards, then downwards, then leftwards.
These were some of the decisions I had to make to ensure the game performed consistently, and hopefully predictably for the player. At the end of the day, the flow of the game is going to involve an aspect of trial-and-error for the vast majority of players, so having an aspect of uncertainty about the exact behavior of the game mechanics is okay in my opinion.
I'm very curious to hear what you think. Please give the game a try, and I look forward to hearing your thoughts!