Dig It

Platform: PC
Genre: Top-Down Action, Puzzle
Technology: SFML, Box2D, C++, PiskelApp, GitHub, Google Solutions
Duration: 3 Months
Team Size: 2
Role: Game/Level Designer, Game Programmer

Overview

Dig It is a 2D top-down action/puzzle game where the player controls a greedy dwarf who ventures into haunted mines. The dwarf was sent to find an ancient treasure armed only of a pick-axe and willpower.

The game puts the player in a maze-like map where the walls are made of different kind of rocks: solid and breakable.

Game Screen

The core mechanic of the game lets the players “Dig” creating their ways by freeing up space from the map, shaping new paths.

To add more tension to the exploration part of the game, when a block is destroyed, there is a chance that a ghost or the desired ancient treasure will spawn on the map.

I wanted to make the exploration of the mine both exciting and dangerous, and for these reasons, I added this spawning system that offers a risky reward at each block destroyed.

Inspirations

The game idea was partially inspired by two famous games: Bomberman and Spelunky.

  • Bomberman was the main spark of our game for its level design and the possibility of destroying part of the map to make your way.
  • Spelunky, instead, offered inspiration for the themes: the mystery of exploring an abandoned mine full of danger, ghosts, and rewards behind every corner (blocks in our case).
Start Screen

Game Mode

Dig It gameplay features two main modes: Single Player and Tutorial.

  • Tutorial: this game mode provides a basic playthrough covering the main game mechanics and rules. It starts with the movement commands then it introduces the player to different types of blocks: breakables and solid walls. The player will be asked to try to break both to find which one is the breakable wall. In the third phase, a treasure will spawn from the broken block, a 20 seconds timer will trigger, and a ghost will be added to the screen following the player. The tutorial is completed if the player manages to keep the treasure safe until the end of the timer, avoiding the chasing ghost.
Tutorial Screen
  • Single-player: this game mode includes all the mechanics and rules from the tutorial and new ones that the player can discover while playing. For example, in the tutorial, the ghost is spawned only after the treasure pickup and the ghost will follow the player regardless of the distance. In single-player, this only happens when the player has a treasure, but if he doesn’t, the ghost will have a detection range, so that the player can outrun it. Also in single-player, breaking blocks have an increased chance of spawning a new ghost that will start chasing the player after a set amount of time. The player wins 20 seconds after having found the treasure. The player loses if touched by a ghost.
The ghost awakes at a certain distance and follows the player (A* Pathfinding)

Development

During the development of Dig It, I have learned a lot about multiple parts of the game development pipeline. In particular, I value the expertise acquired in planning and designing the game. Due to my background and knowledge, I covered the role of a Technical Game Designer on the team, while my teammate, Giovanni, wrote part of the back-end code.

In the first part of the project, I sketched out a diagram of what the game would have been in terms of core loop and features. Then, after a discussion with Giovanni, I refined the concepts using the points raised from our first meeting. After that, I wrote a pitch and a detailed design document.

First draft of the game-flow chart. Multiplayer mode was taken out in the end (out of scope)

When we started writing the code following the structure of the diagram, I evenly divided the tasks based on our area of expertise. I laid out the basic structure of the game by using and adapting the engine developed during the practical session at Univeristy and researching A* Pathfinding algorithm.

After the research, Giovanni implemented the entities framework and AI code, while I sketched out and implemented different maps layout.

Map mock-up

In the final part, I was more involved in refining the spawning mechanic and the timer system linked to the finding of the treasure: the player wins only if protect the treasure from the ghosts for 20 seconds. In this phase of the game, the ghosts spawn randomly all over the map: 1 ghost every 5 seconds. Giovanni, instead, performed a series of tests and bug-fixes.

The ghosts captured the dwarf

You can download and play Dig It from here.

Reference

Andrea “Harbrus” Ortino – Game/Level Designer and Programmer
Giovanni Paolini – Game Programmer 

Repository link – https://github.com/Paulfinex/GameEngCw
Dwarf Sprite: http://www.bay12forums.com/smf/index.php?PHPSESSID=d9afc0beb4bf760c5c641facbc3e25f9&topic=169225.0
Library used: SFML, Box2D, C++