A Big Knight Out

Work-in-progress video game.

Game Concept

Domingo Display Image

A Big Knight Out is a puzzle video game that I have been working on for the last few months with two friends. The game sees the player take control of a Knight which moves in the same way as the corresponding chess piece. The project is still a work in progress, but we are hoping to publish it on stream and mobile app stores this summer. The game is made in the Unity Game Engine using C#.

This game is a collaboration with two other developers. I've taken a leading role in the programming of the game, but please see Tanks Arena instead if you are looking for an example of a finished video game that is entirely my own work.

Game Mechanics

The game's levels are turn-based puzzles, in which the environment and any enemies move in time with the player. The puzzles draw upon a wide range of mechanics, including portal squares, moving platforms, buttons, various enemies and more.

Domingo Display Image

Each of the levels is ultimately stored as a simple JSON file, which is dynamically built at runtime. This allows our levels to be easily validated and source-controlled, and makes features like the in-game level editor possible.

Domingo Display Image

In-Game Level Editor

One of the most exciting features of the game is the in-game level editor, which allows players (and us, as developers) to easily create new levels for the game. I was responsible for producing the level editor early on in development so that we could move away from editing levels as JSON files as soon as possible. There were several interesting challenges involved in building the editor:

  • Dynamically Generated Tile Icons: The editor uses render textures to automatically generate thumbnail icons for each of the tiles and entities available in the level editor.
  • In-Editor Preview: A 'preview' button in the level editor allows users to immediately play their level without leaving the editor, greatly speeding up the creative process.
  • Animated Changes: After updating the underlying JSON level file, the editor smoothly animates changes performed, such as 'scaling in' new tiles or smoothly rotating rotated tiles. A lot of careful planning was required to get this to work without duplicating code from out existing LevelBuilder used in the main game whilst also ensuring that the on-screen level could never get out of sync with the underlying file.

Complete Electricity System

One of my favourite features of the game is the electricity system we have built into the game, supporting simple electrical components such as buttons and switches as well as a whole set of supporting tiles such as logic gates and powered spikes. This allows us to create levels with truly complex behaviour directly from within the level editor, without needing to add any level-specific code. An example of this is a level in the game which requires players to stand on tiles in a specific sequence in order to produce a chessboard patten – here, the electricity system and logic gates are leveraged to automatically open a door to the next part of the level once the patten is correct.

Code Available on GitHub

The work-in-progress code for A Big Knight Out is available on my GitHub page.

Return Home
© Alasdair Casperd 2025