Ouroboros / 2025
"Ouroboros" is an action roguelike where the player controls a mythological serpent trapped in an arena filled with souls attempting to escape the eternal cycle of death and rebirth. The game is built around a distinctive control scheme. With simple mouse input, the player guides the serpent and must trap enemies inside loops created with its own body to deal damage. This turns every encounter into a fast and deliberate test of movement, spacing, and timing.
Defeated enemies grant experience, allowing the serpent to level up and gain new body segments. Each segment type extends the serpent and grants a unique upgrade that gradually shapes the player’s build. During a run, enemies grow stronger and introduce new patterns, eventually leading to challenging boss fights powered by more complex AI behavior.
Ouroboros rewards long term strategy in choosing upgrades and practical skill in maneuvering the serpent. The player must encircle targets without exposing themselves, control increasingly crowded arenas, and capture multiple enemies in a single loop to accelerate growth. The result is a high pressure combat experience where movement is both weapon and survival tool.
Genre: Action Roguelike
Engine: Unity 6
Team Size: 1 (Personal Project)
Duration: From Aug 2025 (Ongoing)
Platform: PC (Itch.io)
My Role and Responsibilities:
As the sole developer of "Ouroboros", I am responsible for designing and implementing every aspect of the project. This includes the serpent control system, the loop-based combat model and the advanced interaction logic that detects, closes and resolves body loops in real time. I developed the complete enemy ecosystem, including movement and attack behaviours, as well as boss patterns that evolve throughout a playthrough. I also built the progression structure and the segment-based upgrade system, as well as all the supporting tools needed to ensure fast iteration inside Unity 6.
My work covers gameplay programming, combat design, enemy design, technical architecture, and visual implementation. I refine systems through rapid prototyping and continuous testing, translating design goals into mechanics that feel responsive and readable. I also manage the production workflow, asset integration, UI flow, and overall pacing of the experience. The result is a cohesive action roguelike shaped through a combination of technical skill and design intent.
Personal Goals:
I aim to develop Ouroboros as a long-term solo project that allows me to grow as both a designer and a programmer. My objective is to build a game that feels immediately enjoyable, with readable visuals and controls that players can understand without massive explanations. The project is also an opportunity to follow a complete development pipeline, starting from early prototypes and progressing toward a fully published title.
A key part of my process is gathering and interpreting player feedback. I use real testing sessions to identify what feels confusing, what needs to be more responsive, and what elements successfully support the intended gameplay. This approach helps me refine mechanics, visual clarity, and pacing through continuous iteration.
I am committed to advancing my Unity skills by working with modern features of the engine and by designing systems that are modular, efficient, and easy to expand. Since I handle the entire project alone, I also create every pixel art asset and animation myself. This ensures stylistic consistency and gives me full control over the visual identity of the game.
Ouroboros began as my submission for the GMTK Game Jam 2025. The theme for the jam was “Loop”, and participants were required to create a complete game in four days and publish it on itch.io at the end of the event. I used this constraint as the conceptual foundation for a long-term project. The jam version established the central idea of a serpent that defeats enemies by encircling them with its own body. After the event, I expanded the prototype into a full action roguelike, refining each system and rebuilding the codebase to support scalability and future content.
Ouroboros GMTK Game Jam 2025 Trailer (Prototype created entirely by myself in just 4 days):
0. Core Movement and Loop Design
The first major step was creating a responsive control system driven entirely by the mouse. The serpent had to feel precise, readable, and stable regardless of speed. Once movement was solved, I addressed the most complex challenge of the early project: reliable and efficient loop detection. Initial experiments included graph-based methods that identified cycles by treating segments as nodes. These approaches proved too slow and error-prone in cases where multiple loops formed at once.
I then separated the problem into two scalable checks. A loop is registered when the head collides with a body segment that is not adjacent to it. This avoids false positives and ties loop creation directly to player action. Once a loop is detected, each enemy determines whether it is inside the enclosed area. The process uses a simple distance filter to eliminate distant enemies, followed by a scalable sampling method where each enemy casts rays in several directions. If every direction intersects a body segment, the enemy is inside the loop. This approach supports arbitrary shapes, simultaneous loops, and high-speed movement, all while maintaining good performance.
1. Modular Enemy AI Structure
With the loop system complete, I developed the enemy ecosystem. Every enemy inherits from a BaseEnemy class that defines movement, stat management, and shared utility functions, including the loop inclusion check. More specialised enemy families extend this base through additional subclasses. This structure supports clean object-oriented design, reduces duplicated logic, and makes it easy to create new enemies with unique behaviours while maintaining consistent internal rules.
2. Progression and Upgrade Systems
I then focused on progression. The upgrade system uses body segments as both a visual extension of the serpent and as individual sources of abilities. Each new segment grants a unique power that modifies the player’s build. Designing this system required careful balancing to ensure that upgrades remain intuitive, impactful, and compatible with different playstyles.
My balancing process combines both micro and macro adjustments. At the micro level, I tune the numerical strength of each upgrade by analysing how much it accelerates loop creation, how it affects enemy pressure, and how it changes the player’s ability to control space. At the macro level, I evaluate how combinations of upgrades shape the overall power curve of a run. This helps prevent dominant strategies and ensures that builds remain varied.
I frequently test upgrades in controlled scenarios to measure clear metrics such as average time to defeat a standard enemy, loop frequency, and the impact of movement modifiers on arena control. I also evaluate perceived power, clarity, and ease of use, since a well-balanced upgrade must feel strong without trivialising encounters. Enemy scaling is adjusted accordingly so that challenge intensity increases in a predictable and readable way.
Upgrades are implemented as self-contained components, which keeps interactions manageable. This structure allows me to add new abilities, adjust values, and test synergies without destabilising other systems. As the game evolves, this modularity keeps the project maintainable and helps preserve a balanced and engaging progression curve.
3. Visual Production and Gameplay Readability
Since this is a solo project, I create every pixel art asset and animation myself. This gives me full control over stylistic direction and allows me to design visuals that support clarity in every moment of gameplay. Each sprite is built with the goal of making information readable at a glance, even when the arena becomes crowded or fast-paced.
A central part of this process is designing visual feedback that communicates enemy behaviour. Every attack is preceded by a clear anticipation state, presented with a dedicated animation and a distinct visual cue that signals an increase in aggressiveness. When an enemy loses interest in the player or transitions out of an aggro state, I use a separate effect to indicate this change. These cues help players understand enemy intent before the action happens, which improves fairness and allows them to make informed decisions.
Damage feedback follows the same philosophy. When the serpent closes a loop, a specific visual effect appears at the location where the loop is formed. Enemies that are caught inside the loop are highlighted with a brief flash that communicates impact. These effects reinforce the mechanical connection between action and consequence and help players understand the exact moment in which damage is applied.
I treat all visual signals as part of the game’s communication layer. Telegraphs, hit flashes, colour accents, and timing cues are tuned to remain readable without overwhelming the screen. The goal is to ensure that players can interpret threats, understand when loops succeed, and maintain situational awareness. This focus on feedback makes the combat feel responsive and strengthens the connection between the player’s actions and the game’s reactions.
4. Iteration and Player Testing
Structured testing plays a key role throughout development. I observe how players interpret telegraphs, how they respond to enemy pressure, and whether loops feel fair or confusing. These insights drive adjustments to movement tuning, attack timings, arena density, and visual feedback. This cycle keeps the experience responsive and prevents mechanical complexity from compromising clarity.
5. Community and Social Marketing
Marketing is integrated directly into the development cycle. I use TikTok to share consistent progress updates and to showcase new gameplay features. I encourage community participation by asking followers to propose ideas for new enemies. I then refine these suggestions into clean and coherent designs that fit the game. This approach strengthens engagement, creates a sense of contribution, and builds a growing audience as development continues.
6. Current Direction
Ouroboros remains in active development. Each system is designed to reinforce the core mechanic, avoid unnecessary complexity, and ensure reliability under fast gameplay. The project reflects my design reasoning and technical decisions, as my commitment to delivering an action roguelike that feels precise, readable, and satisfying from the first moment to the final encounter.
Get In Touch
Please feel free to use my email address or contact me on LinkedIn if you would like to get in touch.
EMAIL / marzeddusimone@gmail.com
LINKEDIN / https://www.linkedin.com/in/simonemarzeddu