I finished a tech demo and content building tool for a puzzle game I have been working on. In this context, text demo is meant to be a proof-of-concept build that has playable gameplay and gives me an environment to test and validate functionality that doesn’t have visuals (serialization of classes, save/load functionality, data driving gameplay and content, etc.).

The gameplay is solving logical gate (and, or, xor, nand, nor, nxor) puzzles by turning bits, the circles, on or off. Your goal with each puzzle is to make all the squares on the outside turn on. The connections between circles or between circles and squares are logical gates. The side where each square sits dictates where the logical equation starts and which direction the logical equation runs. The logical equation compounds meaning, that the first logical gate is resolved, then the result of that is used to calculate the next logical gate in the equation.

The results are puzzles that can be extremely simple

or more complex.

I started out data driving these puzzles using json but quickly realized the time it took to create a puzzle, test and modify ideas, and finally copy that puzzle into a larger level list was too great. I knew it was worth it to invest the time into developing a puzzle creation tool.

When designing the puzzle creation tool, I need a quick way to expose and mutilate the various properties of a puzzle. I can resize width or height, add or remove squares on any side, click to change the starting state of a bit, click and change the logical gates, add or remove puzzles to the level list, save and load the puzzle list to json, and finally test the puzzle within the editor.

So although I wrote a snarky article a while ago putting down tools creation (link), this is where simple tools creation can greatly cut down on development time. It gives me everything in a bare bones manner without adding bells and whistle that are not critical to creating a puzzle.

Right now the base gameplay is ugly, clunky and uninitiative to players. The next step for me is getting base-level feature complete of the game systems and mechanics that sit outside of the puzzle gameplay. My general plan with this game is settle on what all the gameplay will contain, then decide what the specific direction or emotion I want to elicit with each mechanic or system, and finally go back and polish gameplay based on this direction.