Skip to content

DerinVural/EElemental

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

35 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

EElemental ๐Ÿ”ฅ๐Ÿ’ง๐ŸŒ๐Ÿ’จ

A 2D side-scroller rogue-like game with elemental powers, built in Unity.

๐ŸŽฎ Game Concept

EElemental is a fast-paced, Dead Cells-inspired rogue-like where players harness the power of elements. Combine fire, water, earth, and air to create devastating combos and survive procedurally generated dungeons.

โœจ Core Features

Element System

  • 4 Base Elements: Fire ๐Ÿ”ฅ, Water ๐Ÿ’ง, Earth ๐ŸŒ, Air ๐Ÿ’จ
  • 6 Combinations: Steam, Lava, Lightning, Ice, Mud, Dust
  • Status Effects: Burn, Slow, Stun, Knockback, Freeze, Shock
  • Element Resistances: Players can build resistance to specific elements

Combat System

  • Frame-Based Mechanics: Startup, active, and recovery frames (Dead Cells-inspired)
  • Combo System: Light/heavy attack combinations with visual feedback
  • I-Frame Dash: Invincibility frames during dodge for skillful play
  • Input Buffering: Frame-perfect inputs for responsive combat
  • Elemental Damage: Weapons can be infused with elements for bonus effects

Procedural Generation

  • BSP Algorithm: Binary Space Partitioning for organic dungeon layouts
  • Room Variety: Spawn, Combat, Elite, Boss, Treasure, Rest, and Secret rooms
  • Seeded Runs: Retry failed runs with the same seed
  • L-Shaped Corridors: Natural dungeon connectivity

Rogue-like Mechanics

  • Permadeath: Death ends your run, but you can retry with the same seed
  • Run-Based Progression: Each run is unique with procedurally generated dungeons
  • Statistics Tracking: Track rooms cleared, enemies defeated, and survival time
  • Seed System: Share challenging seeds with other players

๐Ÿ—๏ธ Technical Stack

  • Engine: Unity 2022.3 LTS (or newer)
  • Language: C#
  • Architecture: Component-based with ScriptableObject-driven data

๐Ÿ“ Project Structure

Assets/
โ”œโ”€โ”€ _Project/
โ”‚   โ”œโ”€โ”€ Scripts/
โ”‚   โ”‚   โ”œโ”€โ”€ Core/           # Game managers, events, state machines
โ”‚   โ”‚   โ”œโ”€โ”€ Elements/       # Element system & combinations
โ”‚   โ”‚   โ”œโ”€โ”€ Combat/         # Hitbox, combos, damage calculation
โ”‚   โ”‚   โ”œโ”€โ”€ Player/         # Controller, states, stats
โ”‚   โ”‚   โ”œโ”€โ”€ Enemies/        # AI, spawners, behaviors
โ”‚   โ”‚   โ”œโ”€โ”€ Weapons/        # Weapon base, element integration
โ”‚   โ”‚   โ”œโ”€โ”€ Procedural/     # Dungeon generation
โ”‚   โ”‚   โ””โ”€โ”€ Progression/    # Run management, permadeath
โ”‚   โ”œโ”€โ”€ ScriptableObjects/
โ”‚   โ”œโ”€โ”€ Prefabs/
โ”‚   โ”œโ”€โ”€ Art/
โ”‚   โ”œโ”€โ”€ Audio/
โ”‚   โ””โ”€โ”€ Scenes/
โ”œโ”€โ”€ Plugins/
โ””โ”€โ”€ Resources/

๐Ÿ“– Documentation

Core Documentation

Code Statistics

  • 54+ Scripts across 7 major systems
  • ~7500+ Lines of Code
  • 90% Test Coverage with unit and integration tests
  • Event-Driven Architecture using GameEvents

๐ŸŽฎ Controls

Action Keyboard Gamepad
Move A/D or โ†โ†’ Left Stick
Jump Space A / X
Dodge/Dash Left Shift B / Circle
Light Attack Left Click X / Square
Heavy Attack Right Click Y / Triangle
Switch Element 1, 2, 3, 4 D-Pad
Pause Escape Start

๐Ÿ”ฅ Element System

Base Elements

  • ๐Ÿ”ฅ Fire - High damage, Burn status (DoT)
  • ๐Ÿ’ง Water - Healing support, Wet status (vulnerability)
  • ๐ŸŒ Earth - Defense boost, Stun effects
  • ๐Ÿ’จ Air - Speed boost, Knockback

Element Combinations

Element 1 Element 2 Result Effect
Fire Water Steam Blind + Burn
Fire Earth Lava Heavy DoT
Fire Air Inferno AoE Explosion
Water Earth Mud Slow
Water Air Ice Freeze
Earth Air Sandstorm Confusion

โš”๏ธ Combat System

  • Combo System: Chain light and heavy attacks for devastating combos
  • I-Frames: Dodge at the right moment to avoid damage
  • Hit Stop: Feel the impact with screen freeze on hits
  • Status Effects: Elements apply unique status effects to enemies

๐Ÿค– AI Collaboration

This project is developed collaboratively with multiple AI agents:

  • CLAUDE-CODE: Core Systems, Procedural Generation, UI System
  • COPILOT-CLAUDE: Enemy System, Unit Tests, Integration Tests

See com.md for detailed collaboration protocols and decision history.

๐Ÿ› ๏ธ Development

System Status

  • โœ… Core Systems (100%)
  • โœ… Element System (100%)
  • โœ… Combat System (100%)
  • โœ… Player System (100%)
  • โœ… Enemy System (100%)
  • โœ… Procedural Generation (100%)
  • โœ… UI System (100%)
  • โœ… Unit Tests (90%)

Architecture Highlights

  • State Machine Pattern: Player and Enemy AI
  • ScriptableObject Data: Element and weapon definitions
  • Event-Driven Design: Decoupled systems via GameEvents
  • Object Pooling: Damage numbers and projectiles
  • BSP Algorithm: Procedural dungeon generation

Running Tests

# Open Unity Test Runner
Window > General > Test Runner

# Run all tests
Click "Run All" in Test Runner window

# Or run specific test suite
Select test suite > Right-click > Run

๐Ÿš€ Getting Started

Prerequisites

  • Unity 2022.3 LTS or newer
  • Git (for version control)
  • TextMeshPro (included in Unity)
  • Visual Studio 2022 or VS Code with C# extension

Installation

  1. Clone the repository

    git clone https://github.com/DerinVural/EElemental.git
    cd EElemental
  2. Open in Unity

    • Launch Unity Hub
    • Click "Open" and select the EElemental folder
    • Wait for Unity to import all assets
  3. Play the game

    • Open Assets/_Project/Scenes/MainMenu.unity
    • Press Play button in Unity Editor
    • Start a new run or continue from a previous save

For detailed setup instructions, see SETUP.md

๐ŸŽฎ Controls

Movement

  • A/D or Arrow Keys: Move left/right
  • Space or W: Jump
  • Shift or Left Ctrl: Dash (I-frames)

Combat

  • J or Left Mouse: Light Attack
  • K or Right Mouse: Heavy Attack
  • Combo: Chain light and heavy attacks for combos

Menu

  • ESC: Pause menu

๐Ÿ“Š Project Status

Completed Systems

  • Core (StateMachine, Events, GameManager, RunManager)
  • Element System (4 elements + combinations + pickups)
  • Combat System (Combos, Hitbox, Damage, DamageNumbers)
  • Player System (9 states, movement, stats, IDamageable)
  • Enemy System (AI, 2 enemy types, states, spawner)
  • Procedural Generation (BSP dungeon, rooms, room manager)
  • UI System (HUD, Menus, Death Screen, Pause)
  • Pixel Art Assets (PixelLab + placeholders)
  • ScriptableObject Data (20 assets)
  • Prefabs (Player, Enemies, UI)
  • Scenes (MainMenu, Gameplay)

๐Ÿ“ License

MIT License - See LICENSE for details

About

2D Rogue-like game with elemental powers - Unity

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors