Gameplay Loops

Core Gameplay Loop

This section of my GDD focused on the players journey, how they would interact with

the game world at any given moment at different levels of depth and complexity

Art Direction

This section of my GDD focused on researching the art that I wanted to implement into my

game, creating mood boards and analysing them to see what aspects I wanted to

use in my own work.

Game Design

World Design

Narrative Design

2D Art

Procedurally Generated Dungeon

An essential part of this game and any rogue-like, as this was the key feature of the game

I spend most of my time on this. Fixing bugs and developing features throughout.

This early version of the dungeon was created using psuedo-code I found on the Binding

of Isaac Fandom Wiki and from analysis of the game 'Moonlighter'. While it was helpful to

creating an early prototype there were many bugs:

  • Rooms Instantiating on top of one another

  • Dungeons varied too widely in size

  • Rooms exits would lead to dead ends (The wall of another room)


After identifying and fixing these bugs, read more about how I fixed these bugs in my blog.

I implemented some more polish to the dungeon:

  • Room camera swapper

  • Doors closing upon player entrance

  • Doors opening upon room completion

  • Variable dungeon size (A public int that could be easily changed in the inspector)

  • Final room - Exit / Boss entrance room

Skill Tree

Also another part of roguelikes as a whole, being able to complete a run and upgrade the

player character to make them stronger for future runs.

I created a mock up of the skill tree (on the left) to give myself an idea of the UI layout

and what needed to be developed on the coding end. Initially however, I focused:

  • Players ability to spend 'points' in the skill tree

  • Skills depending on prerequisites

  • Skills staying unlocked from run to run


Although the skills didn't do anything yet, this was a crucial step to creating a framework

that would allow for easier implementation of working skills in the future, I accomplished

these things, using:

  • A player skills singleton, tracking the player's unlocked skills

  • A player manager, tracking player's 'Skill Points'


To make these skills effect the player, I created a method that would take the input of any

skill the player bought, and used a switch case to call a method that would call a method

in the player manager, which could also track player HP, Damage, Speed etc.

To read more about the development of the skill tree, visit my blog

Programming

Combat Design

UI Design

Project Details

Available to play on my itch