Skip to content

Instantly share code, notes, and snippets.

@Ratstail91
Last active August 27, 2020 19:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ratstail91/baf9f1a12412fdb4bfd2cb2fa3e9dda7 to your computer and use it in GitHub Desktop.
Save Ratstail91/baf9f1a12412fdb4bfd2cb2fa3e9dda7 to your computer and use it in GitHub Desktop.
The GDD for Chemistry

Chemistry

Preamble

When creating our first game, Candy Raid: The Factory, we kept it deliberately simple since it was out first game. It was linear, straight forward and mechanically simple.

Chemistry (working title) instead takes the opposite approach - it is complex and multilayered, with many secrets and hidden game elements; that's the goal at least. This game design document is intended to outline a plan for ourselves, so that we're not blindly groping in the darkness.

The game is heavily inspired by the games The Legend of Zelda (1986), The Legend of Zelda: Breath of the Wild (2017), and the anime Made in Abyss (2017).

Chemistry is a systemic game, with many interacting systems permiating the game world. An exmaple of this is the heat system - combustible objects in the world catch fire when the temperature rises beyond a threshold. There is also light, which is affected by the day/night cycle and water, which flows and can be frozen.


Premise

The Great Dungeon sits in the middle of the desert. Inhabited and expanded several times over the millenia, the great dungeon has become a labarynth of endless twisting tunnels and caverns, filled to the brim with relics of civilisations long past.

They say the Great Dungeon is the last unexplored location in the world - the last place with mysteries remaining. One of the greatest mysteries is the Curse of The Deep - a mysterious illness that strikes anyone who tries to ascend. The deeper one goes, the more severe the illness; but this still doesn't deter people from entering.

There are at least seven distinct layers to the dungeon, each consisting of unique and diverse environments. The deeper one goes, the stranger these environments become - some even whisper that the dungeon itself is alive.

Nobody knows exactly how deep the dungeon is... will you be able to reach the bottom?

Basic Gameplay

Players travel through the Great Dungeon, starting at the top and making their way through each level until they reach a passage downwards. Players can move between screens (triggering a screen transition in the process), and descend, but any kind of ascension comes with a penalty (The Curse Of The Deep). Players must also monitor their hunger level, which increases every time they travel between screens, and their tiredness level, which increases over time.

Players have the ability to pick up a tool, swap their current tool for another, or drop their current tool, all with the same button. Players can also use their current tool (with a separate button), each of which has a unique effect based on it's type.

As the game progresses, the player may find upgrades that alter gameplay slightly, such as a sheath allowing them to carry and swap between a second tool, a shield or reflective shield which can reflect light, a bomb bag allowing them to carry bombs, magic wands that can cast elemental spells, etc. No upgrade is strictly necessary to progress, however some do recontextualize the world.

The player will also have to fight enemies scattered throughout the dungeon, which can cause damage to the player; enemies may occasionally drop items of use. If the player runs out of health, their character dies they must start over from the first level. If their hunger reaches 100%, they take one point of damage on every screen. If their tiredness reaches 100%, then they drop to the ground in exhaustion, and will be eaten while they sleep.

The ultimate goal is to get as deep into the dungeon as you can, and then return to the surface alive. If this is done, the same character can return to the dungeon for another try.


Locations

The game world is a puzzlebox dungeon, with a number of interlocking systems permiating the levels. There is also a central shaft through which light shines, illuminating lower layers.

Layer 1

Layer 1 is a traditional dungeon design, with floors, walls and ceilings made of cut stone, and obvious signs of past inhabitants. There are several camps set up inside to protect explorers while they sleep, but there are still many dangers.

Ascending in this layer causes +50% hunger, or 1 point of damage if that exceeds the hunger limit.

Layer 2

TODO


Interlocking Systems

There are a number of interlocking systems that items in the dungeon, and the dungeon itself, interact with.

Light

The lighting in the room can vary, depending on the time of day, weather conditions, and other effects. Torches can be used to produce light in a limited amount, but this takes up the tool slot in the player's inventory. Fire of any kind produces light and heat.

Heat

The temperature of the room can be affected by a number of things, such as the presence of fire or monsters that freeze the ground.

Water

Water can flow through the rooms, and can be manipulated to solve puzzles, or frozen to be crossed.


Upgrades

Heart Containers

Heart containers can be collected to increase the player's maximum health amount, as well as refilling the player's health.

Sheath

This allows the player to carry a second tool in their inventory, which can be switched to with a dedicated button.

Bomb Bag

The bomb bag allows the collection of a limited number of bombs, which can be used to blow up weak walls and ice.

Ice Bomb Bag

The ice bomb bag is separate to the bomb bag, allowing the placement of ice bombs. Ice bombs act just like regular bombs, but freeze water instead of breaking ice.


Inventory

Currency

Money can be collected from around the dungeon and from enemies. In general it's fairly rare, and items sold by NPCs tend to be expensive.

Primary Tool

The player can carry up to one primary tool which is used when they press the "use" button.

Secondary Tool

Once the player has the Sheath upgrade, they can carry a secondary tool. They can switch their primary and secondary tools with a dedicated button.

Bombs

Once the bomb bag has been collected, a certain number of bombs can be carried.

Ice Bombs

Once the ice bomb bag has been collected, a certain number of ice bombs can be carried.


Game Controls

Pause

The player can pause the game at any time, revealing the inventory screen (screen transition from above). This screen allows the player to save the game, reload the game and quit.

Axis

The player moves with the axis buttons/joysticks.

Face Buttons

  • North - Ice Bomb
  • South - Pickup/Drop
  • East - Normal Bomb
  • West - Use Primary Tool

Shoulder Buttons/Tab Key

Switch between the primary and secondary tools.


Tools List

These are a list of items that are considered "tools".

Stick

  • Can hit things
  • Breaks easily
  • Can be lit into a Torch

Torch

  • Produces light
  • Can set things on fire
  • Is doused by water (becomes a Stick)

Sword

  • Costs money to buy
  • Can hit things
  • Stronger than a Stick

Dynamic Objects

This is a list of dynamic objects in the world that may interact with various systems.

Breakable Wall

  • Can be broken by a Bomb

Hidden Breakable Wall

  • Indistinguishable from a normal wall
  • Can be broken by a Bomb

Monsters

This is a list of monsters that exist in the world, and their behaviours.

NPC

  • Non-Player Characters who can be talked with
  • Basically just re-textured signposts.

Ghost

  • Only visible in low light

Technical Specifications

This game must run on the Nintendo Switch hardware, as well as Windows, Mac and Linux Desktops. It's developed in the Unity game engine.

Scalar Fields

A "scalar field" is a grid of objects that covers the 2D world, where each cell in the grid has a value. The values can be set by emitters, and utilized by receptors. Multiple scalar fields can be layered on top of each other. Some scalar fields, such as water, are loaded and unloaded dynamically as part of the scenes, while others, such as light and heat, are static overlays.

InputLayer class

The InputLayer class is designed to support any kind of target hardware internally, wrapping the differences in a simple API. Any vibration features used by the Nintendo Switch might be implemented within the InputLayer, but this is hacky and sub-optimal.


Ideas

Ice Cavern, with sliding ice floors. The temperature here is permanently below freezing, causing damage to the player unless they have something to mitigate it.

Water temple, after some kind of water mechanic is implemented.

Poison gas, utilizing scalar fields, produced by monsters or spells.

"Mana", fuel for spells, which is collected from a scalar field.

Dungeon that changes based on the time of day.

A roguelike-dungeon.

A shovel to dig trenches that allow water to flow where it normally couldn't.

Higher layers change after achieving certain milestones in the depths.

Sand traps that dump you into a deeper level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment