Overview
Project Introduction
Seven Divines is a 2D Metroidvania action platformer built with Unity 6 (URP 2D), developed by the four-member U-E-Production team. Players control Novia, a mechanical girl created by researcher Raxical, as she is put through a series of test arenas. It is scoped as a small practice project focused on behavior state machine and locomotion engine design.
Core Philosophy
High-quality movement feel: precise platforming and technical play are the foundation of the project
Knowledge-based progression: players advance by understanding mechanics rather than simply collecting ability unlocks
Composable actions: basic moves combine into advanced techniques, such as dash into jump for momentum transfer
System-oriented architecture: the state machine decides, the executor acts, with clear separation of concerns
My Responsibilities
As team lead and primary developer, I am responsible for:
System Architecture Design
Designed the character control architecture where
PlayerStateMachinedecides andLocomotionExecutorexecutesPlanned a three-layer behavior system: Override / Combat / Locomotion
Built the input abstraction layer, input buffering and resource management
Defined the project folder structure and froze the top-level layout in Sprint 0
Project Management
Established the Git Flow branching strategy, code review rules and collaboration guidelines
Set up GitHub Actions workflows that create tags, releases and changelogs from version bumps
Wrote the architecture document, testing, production and debugging guidelines
Core Features
1. Behavior State Machine
All character states and transitions are managed by the state machine, while the executor handles physical movement
Input is sampled once inside the state machine to avoid double updates
2. Locomotion Executor
Basic moves: walk, run, jump, crouch, roll
Advanced moves: ground dash and air dash
Feel details: coyote time, jump handling and corner correction, all tuned through a
MovementConfigasset
3. Input System
Action Maps on the New Input System, supporting keyboard & mouse, gamepad, touch and XR
Input snapshots and input buffering are covered by EditMode unit tests
4. Knowledge-Lock Design
Every level is a test arena designed by Raxical, teaching through the environment instead of text tutorials
Advanced techniques come without hints and are discovered through experimentation
Technologies Used
Engine & Rendering
Unity 6: game engine
URP 2D: 2D render pipeline, with pixel art at 32 PPU and point filtering
Core Packages
New Input System: cross-platform input mapping
2D Animation / Aseprite Importer: sprite animation and asset import
2D Tilemap: level construction
Unity Test Framework: EditMode tests
Development Tools
C#: primary scripting language
GitHub Actions: CI/CD and version automation
OpenAI API: changelog generation from commit history
Project Status
Current Version: v0.0.1-alpha (Paused)
✅ Core state machine and locomotion executor architecture
✅ Input abstraction layer with cross-platform mappings
✅ Walk, run, jump, crouch, roll, ground dash and air dash
🔄 The first Vertical Slice (a single test level with no enemies and no text tutorials) is still in progress
🔄 Only the Locomotion layer is implemented; Combat and Override layers are still planned
Development Challenges & Achievements
1. Sticky Movement Feel
Challenge: stopping and starting felt noticeably sticky, and turning left occasionally misfired.
Solution: traced it to three root causes in the deceleration curve, the no-input grace period and a zero-direction check, and fixed each of them, markedly improving the stop-to-start time ratio.
2. Separating Decision from Execution
Challenge: a character can be moving, dashing and airborne at once, and mixing decisions with physics quickly gets out of hand.
Solution: the state machine only decides what to do next, and the executor only decides how to move, so every action can be tuned and tested on its own.
Future Roadmap
Complete the first Vertical Slice test level
Implement the combat layer and the first enemy type
Expand knowledge-lock puzzles and an interconnected area map
Tech Stack: Unity 6 (URP 2D), C#, New Input System, 2D Animation, Tilemap
Team Size: 4 (U-E-Production)
Genre: 2D Metroidvania action platformer