Sleeping Elements

A 2D roguelike built in Unity, focusing on responsive combat, enemy behaviours, and replayability through modular gameplay systems.

Unity C# Gameplay Systems Team Project

Overview

Sleeping Elements was developed as part of a team project, with a focus on building core gameplay systems that could support replayable roguelike experiences.

The project explores how simple mechanics — when designed to interact — can create engaging moment-to-moment gameplay without relying on complex content pipelines.

Goals

The primary goal was to design and implement responsive gameplay systems that form the foundation of a roguelike experience.

This included combat mechanics, enemy behaviour, and progression systems that encourage replayability through variation rather than scripted events.

My Contribution

  • Implemented player combat mechanics with ranged attacks
  • Developed enemy behaviour systems and interaction logic
  • Designed a modular power-up system for run-based progression
  • Contributed to structuring the core gameplay loop

Core Systems

Combat System

A responsive ranged combat system focused on readable feedback, input responsiveness, and extensibility for additional weapon behaviours.

Enemy Behaviour

Enemy logic governing movement, targeting, and player interaction, designed to create readable and scalable encounter patterns.

Power-Up System

A modular system that modifies player capabilities during a run, introducing variation and reinforcing the roguelike structure.

Gameplay Loop

A repeatable loop combining combat, encounters, and upgrades, encouraging replayability through system interaction.

Technical Notes

Modular Gameplay Systems

The project emphasised modularity and separation of concerns across gameplay systems, allowing mechanics to be iterated on without tightly coupling gameplay behaviour.

Component-Based Structure

Unity’s component-based architecture enabled rapid iteration and flexible behaviour composition, supporting reusable systems across enemies, combat interactions, and progression mechanics.

Challenges and Solutions

Balancing Simplicity and Depth

Designing systems that were simple to implement but still engaging required careful consideration of interaction between mechanics.

Reusable System Design

Ensuring systems remained modular introduced constraints on how features could be implemented, requiring clean separation of responsibilities.

Results

The project successfully demonstrates how a small set of well-designed systems can produce engaging gameplay through interaction and variation.

Future Improvements

  • Expanded enemy variety and behaviour complexity
  • Deeper power-up interactions and synergies
  • Additional progression layers for long-term engagement