"Magic is not a tool. It is a family tree. And you are the youngest child."
Lineage of the Arcane is a gameplay prototype exploring a unique magic system where spells are sentient entities. Players do not cast magic; they negotiate with ancient "Progenitors" (Parents) to lend their aid.
This Unity project implements a revolutionary magic system where power comes at a cost - your very life force.
Comprehensive documentation is available in the Wiki:
- Getting Started - Setup and first steps
- Core Concepts - Understanding the magic system
- Project Structure - Codebase organization
- API Reference - Complete method documentation
- Tether System - Health-drain magic binding
- Affinity System - Relationship tracking
- Rampant System - Hostile AI behavior
- Temperament System - Entity requirements
- Magic Parent Base Class - Entity foundation
- Parents (Tier 0) - Ignis Mater, Aqua Pater, Terra Mater
- Scions (Tier 1) - Mid-tier descendants
- Heirs (Tier 2) - Gentle, forgiving entities
Mana does not exist. Summoning drains the user's max health (Physical Tether) and sanity.
- Health Drain: Continuous cost while tethered
- Risk/Reward: High power = High drain rate
- Tether Break: When health is depleted, the bond snaps violently
Summons have specific personalities (Aggressive, Passive, Rhythm-based). Failing to adhere to their playstyle results in the summon damaging the player.
- Ignis Mater: Demands constant aggression
- Aqua Pater: Demands passivity - no combat
- Terra Mater: Demands rhythmic, patterned actions
- Punishment System: Violate temperament = take damage
Summoning a Parent changes the physics and lighting of the game map globally.
- Each Parent has unique visual effects
- World-altering presence
Build relationships with magical entities over time:
- Affinity Levels: Progress from Stranger โ Acquainted โ Bonded โ Devoted โ Ascended
- Reduced Costs: Higher affinity means lower tether drain (up to 50% reduction)
- Special Abilities: Reach Ascended level to unlock unique powers
- Betrayal Memory: Entities remember broken tethers
- Cross-Lineage Bonding: Training with Heirs and Scions builds affinity with their Parent
Assets/
โโโ Scripts/
โ โโโ Core/
โ โ โโโ MagicParent.cs # Abstract base for all Parents
โ โ โโโ TetherSystem.cs # Health-drain mechanic
โ โ โโโ RampantState.cs # Rampant AI behavior system
โ โ โโโ AffinitySystem.cs # Evolution/Affinity tracking
โ โ โโโ AchievementSystem.cs # Achievement milestones
โ โโโ Entities/
โ โ โโโ IgnisMater.cs # Fire Mother (Aggressive)
โ โ โโโ AquaPater.cs # Water Father (Passive)
โ โ โโโ TerraMater.cs # Earth Mother (Rhythmic)
โ โ โโโ TempusMater.cs # Time Mother (Still)
โ โ โโโ DolorMater.cs # Pain Mother (Sacrificial)
โ โ โโโ Tiers/
โ โ โโโ Scion.cs # Tier 1 base class
โ โ โโโ Heir.cs # Tier 2 base class
โ โ โโโ EmberScion.cs # Fire Scion
โ โ โโโ WaveScion.cs # Water Scion
โ โ โโโ StoneScion.cs # Earth Scion
โ โ โโโ ChronoScion.cs # Time Scion
โ โ โโโ WoundScion.cs # Pain Scion
โ โ โโโ CandlelightHeir.cs # Fire Heir
โ โ โโโ DewdropHeir.cs # Water Heir
โ โ โโโ PebbleHeir.cs # Earth Heir
โ โ โโโ MomentHeir.cs # Time Heir
โ โ โโโ ScratchHeir.cs # Pain Heir
โ โโโ Effects/
โ โ โโโ TetherVisualEffect.cs # Tether line renderer
โ โ โโโ AffinityVisualEffect.cs # Affinity-based visuals
โ โโโ Audio/
โ โ โโโ AudioManager.cs # Sound management system
โ โ โโโ ParentAudioProfile.cs # Audio configuration
โ โโโ UI/
โ โ โโโ HealthBarUI.cs # Health bar display
โ โ โโโ SanityIndicatorUI.cs # Sanity display
โ โ โโโ TetherDisplayUI.cs # Tether status display
โ โ โโโ AffinityDisplayUI.cs # Affinity level display
โ โ โโโ AchievementUI.cs # Achievement display
โ โโโ Multiplayer/
โ โ โโโ CustodyBattle.cs # Tug-of-war system
โ โ โโโ AffinityCompetition.cs # Affinity competition
โ โโโ Player/
โ โโโ PlayerController.cs # Player state and combat
โโโ Docs/
โโโ GDD.md # Game Design Document
- Unity 2021.3 LTS or later
- .NET Standard 2.1
| Script | Purpose |
|---|---|
MagicParent.cs |
Abstract base class defining Parent entity behavior |
TetherSystem.cs |
Manages health drain and tether connections |
RampantState.cs |
Handles rampant AI behavior when tether breaks |
AffinitySystem.cs |
Tracks player-entity relationships and provides benefits |
AchievementSystem.cs |
Tracks achievements and milestones |
Scion.cs |
Base class for Tier 1 entities |
Heir.cs |
Base class for Tier 2 entities |
IgnisMater.cs |
"Fire Mother" - aggressive temperament entity |
AquaPater.cs |
"Water Father" - passive temperament entity |
TerraMater.cs |
"Earth Mother" - rhythmic temperament entity |
TempusMater.cs |
"Time Mother" - still temperament entity |
DolorMater.cs |
"Pain Mother" - sacrificial temperament entity |
EmberScion.cs |
Fire Scion (Ignis lineage) |
WaveScion.cs |
Water Scion (Aqua lineage) |
StoneScion.cs |
Earth Scion (Terra lineage) |
ChronoScion.cs |
Time Scion (Tempus lineage) |
WoundScion.cs |
Pain Scion (Dolor lineage) |
CandlelightHeir.cs |
Fire Heir (Ignis lineage) |
DewdropHeir.cs |
Water Heir (Aqua lineage) |
PebbleHeir.cs |
Earth Heir (Terra lineage) |
MomentHeir.cs |
Time Heir (Tempus lineage) |
ScratchHeir.cs |
Pain Heir (Dolor lineage) |
CustodyBattle.cs |
Multiplayer tug-of-war battle system |
AffinityCompetition.cs |
Multiplayer affinity competition system |
PlayerController.cs |
Player health, combat, and movement |
TetherVisualEffect.cs |
Line renderer for tether visualization |
AffinityVisualEffect.cs |
Affinity-based entity visual changes |
AudioManager.cs |
Singleton audio management system |
ParentAudioProfile.cs |
ScriptableObject for Parent audio configuration |
HealthBarUI.cs |
Health bar with burned health overlay |
SanityIndicatorUI.cs |
Sanity display with peripheral effects |
TetherDisplayUI.cs |
Tether status and temperament indicator |
AffinityDisplayUI.cs |
Affinity level and progress display |
AchievementUI.cs |
Achievement display and notifications |
| Level | Requirement | Tether Cost | Special |
|---|---|---|---|
| Hostile | 3+ betrayals | +50% | Entity remembers your treachery |
| Stranger | Default | Normal | No relationship |
| Acquainted | 20% affinity | -10% | Recognition |
| Bonded | 40% affinity | -20% | Trust established |
| Devoted | 70% affinity | -35% | Deep connection |
| Ascended | 100% affinity | -50% | Special ability unlocked |
| Entity | Ability | Effect |
|---|---|---|
| Ignis Mater | Inferno Embrace | 5s of invulnerability + AoE damage |
| Aqua Pater | Tidal Sanctuary | 8s healing zone (5 HP/sec) |
| Terra Mater | Earthen Bulwark | Absorbs 50 damage for 10s |
| Tempus Mater | Temporal Stasis | 6s time freeze (except player) |
| Dolor Mater | Martyrdom | 5s damage collection, 3x AoE explosion |
- Core Tether System
- Base Parent class hierarchy
- First entity: Ignis Mater
- Player controller with combat tracking
- CI/CD Pipeline with artifacts
- Security scanning with CodeQL
- Implement "Custody Battle" (Multiplayer tug-of-war)
- Add Tier 1 (Scions) and Tier 2 (Heirs)
- Create "Rampant" AI state when Tether breaks
- Visual effects for tethering
- Audio implementation
- Additional Parents (Aqua Pater, Terra Mater)
- UI systems (Health bar, Sanity indicator, Tether display)
- Evolution/Affinity system with special abilities
- New Parents (Tempus Mater, Dolor Mater)
- Scions for all lineages (Wave, Stone, Chrono, Wound)
- Heirs for all lineages (Dewdrop, Pebble, Moment, Scratch)
- Affinity-based visual changes for entities
- Multiplayer affinity competition
- Achievement system tied to affinity milestones
This project includes a GitHub Actions workflow that:
- โ Validates C# code syntax
- ๐ฆ Packages scripts and documentation as artifacts
- ๐ Generates code analysis reports
- ๐ท๏ธ Creates releases automatically on version tags
This project includes automated security scanning:
- ๐ CodeQL Analysis: Static analysis for C# vulnerabilities
- ๐ Dependency Review: Checks for vulnerable dependencies on PRs
- ๐ก๏ธ Security Hardening: Validates workflow security practices
- ๐ Secret Scanning: Detects potential hardcoded secrets
scripts-package: Core game scripts archivedocs-package: Documentation and design docswiki-package: Wiki documentation pageslineage-of-arcane-full: Complete project package (includes wiki and asset manifest)asset-manifest: JSON file with asset metadata and file listingscode-analysis-report: Static analysis results
See the Game Design Document for detailed mechanics, lore, and technical specifications.
MIT License - See LICENSE file for details.
"The blood you offer is not payment. It is a handshake."