Dig It - Postmortem #1
This report includes an overview of the main game features and implementation, a critical evaluation, and diagrams of the software modelling. The game was developed for a coursework assignment for the module set09121 Games Engineering, at Edinburgh Napier University.
The mandatory features for this assignment were to build a 2D game prototype using C++, SFML, Box2d, and a game engine developed during the practical laboratory sessions of the module. Additional features like graphics, menus, AI, usability options, and web presence were also required.
Game Overview and Inspirations
Dig It is a 2D top-down game where the player controls greedy dwarf who ventures into haunted mines only of their pick-axes and willpower to find an ancient treasure.
The main inspirations for this game are 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, added to the main feel of the game provided by Bomberman the exploration part of it. The mystery of exploring an abandoned mine full of danger, ghosts, and rewards behind every corner (block in our case).
Changes from Original Concept
The biggest omissions from the original concept are the multiplayer mode and the random items drop. This was mainly due to lack of time and to some issues with the implementation of the A* pathfinding algorithm.
The addition, instead, is a ghost spawn timer mechanics added when the player finds the treasure in order to raise the tension.
Core Implemented Features
Gameplay features include Single Player and Tutorial.
Tutorial (Figure 2): This game mode provides a basic playthrough covering the main game mechanics. It starts with the movement commands in the first tutorial section, this phase can be completed by pressing any of the movement input keys. Next stage 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 seeking ghost.
Single player (Figure 3): This game mode includes all the mechanics from the tutorial and new ones that the player can discover playing. These are not covered in the tutorial, as they are not considered part of the basics of the game. 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 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, giving time to react. The player wins 20 seconds after having found the treasure (figure 6). The player loses if touched by a ghost (figure 5).
Options Screen (Figure 2): interface accessible from the main menu (figure 1) where the user can change the screen resolution, game volume, set the game in windowed/full-screen mode, and rebind keys.
The game also supports controller inputs.
The original concept was more oriented on the multiplayer side of the game which would have been included with a random item drops mechanics as well. However, in order to have a good single player, more work than planned was spent in implementing the AI systems.
At first, a state machine AI that followed directly the player was designed, but the team soon realized that having the enemy stuck and easily deceived was not a compelling experience. What it lacked was the right amount of tension.
So, an A* Path-finding AI was implemented by working from the one developed during the practical’s lessons of the module. In the end, the enemy looks for the best path in order to catch the player with some extra delay between movements so that the player has some chances of getting away.
A state machine component AI is still present, but it only manages when the enemy awakes and when it kills the player, based on the length of a distance vector from the player.
Since the main goal of the game is finding a treasure randomly generated in a breakable wall, the other drops items, more focused for a multiplayer experience, were omitted.
Dig It took inspirations from classic arcade games like Bomberman that nowadays are not so more influent in the market. The team thought interesting exploring old game concepts and mixing them with current successful games like Spelunky.
Obviously, our game is only a small prototype so compared to finished games like the one cited above lack some content.
However, the game delivers the target experience of a tense and challenging exploration which will require the player to fight self impulses and to plan ahead which block to destroy for a safer path.
In the future, we plan to develop the multiplayer mode which will bring the party game part of the game into the design.
Finally, compared to other party games, Dig It will be tenser and will not always imply direct conflict. Indeed, the concept for the multiplayer experience will mix indirect conflicts with temporary cooperation in order to succeed due to the ghosts menacingly approaching and the possible path to take reduced by the other players’ presence.
- The dwarf sprites: Oab's 32x32 Tile sets - http://www.bay12forums.com/smf/index.php?PHPSESSID=d9afc0beb4bf760c5c641facbc3e25f9&topic=169225.0
- The engine developed during the practical sessions of the Game Engineering module taught by Sam Serrels at Edinburgh Napier University. https://github.com/edinburgh-napier/set09121
- Library used: SFML, Box2D.
Get Dig It
Leave a comment
Log in with itch.io to leave a comment.