This post describes the search for and discovery of a video game design, within the constraint of treating a given topic.
The process is outlined mainly chronologically from April 21 to 29, 2017.
Summary
The design evolved in the following steps:
- Implement a core mechanic which suits the given topic, not knowing how the game will look like. This resulted in a sandbox with no way of winning or loosing or competition.
- Play in the sandbox created in the previous step. This revealed new ideas and possible outs for completing the game design by introducing a challenge for the player.
- Get feedback from other people. An idea coming from someone else helped enormously to find the final design.
The Challenge
Currently, I am participating in the webgamers.de “Game Dev Challenge 2” which is a themed video game development challenge running from April 21th to May 7th.
The game I am going to contribute revolves around the topic of “building” and will most likely be a singleplayer game.
At first, it took me some time to come up with an idea for a game which would suit the choice of themes given by the challenge.
About two days after kickoff, I narrowed down the general direction with the implementation of a core game mechanic for construction.
The Core Mechanic
This core mechanic consists of a two-dimensional world in which the player constructs a building. This buidling is constantly in motion due to application of a physics simulation.
To advance the construction, the player can create a beam, connecting at least one of its ends either to the end of an existing beam or one of various fixed support points which are initially present in the game world.
Gravity is applied as an external force, constantly pulling everything but the fixed support points in one direction.
The other force affecting the construction comes from the elastic beams’ tendency to restore their original length when compressed or stretched.
When a beam is compressed or stretched beyond a certain threshold, it fails and is removed from the game.
To warn the player about the looming failure of a beam before its too late, the stress level of each beam is visualized by its color.
How this all works in practice can be seen in the video below.
With these mechanics implemented, I had a kind of sandbox, but no idea yet how the game would be made of it.
Exploring Game Designs
Playing around in this sandbox, I explored different avenues of creating a challenge as well as interesting choices to make for the player.
First, I looked into challenging the player to build bridges and towers from the ground up. For these directions, I do not yet see a design I would feel comfortable with implementing.
One of the other participants in the challenge shared his idea for a game he had upon seeing the sandbox.
The idea was to let the game start with an existing structure which is about to fall apart and task the player with its reinforcement. On top of this construction sits a pig whose fall would result in the end of the game.
This is a design I am going to explore further for completion of a game in the next week.
Transportation as an objective
Playing in the sandbox yesterday, my attention was drawn to another design. It is based on the realization that the existing mechanics are sufficient for transportation between any two points in the game world. Thus, the player could also be tasked with the relocation of an object to a given destination.
The video below shows how only by adding beams to a construction, some parts are lifted upward to work around the constraints of gravity.
(The horizontal line seen in the video indicating the height maximum reached is a remains of a foray into tower building)
If you want to try it yourself, you can find this version at http://viir.de/wip/baustelle/2017-04-29.Baustelle@commit[9582471].html
Open Source Code
The implementations used here can be found at https://github.com/Viir/Baustelle/. The code is released under an open-source license, so feel to make your own modicifcations.