Skip to content

# Lineage of the Arcane: The Parents of Magic > "Magic is not a tool. It is a family tree. And you are the youngest child." ## ๐Ÿ”ฎ Project Overview **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).

License

Notifications You must be signed in to change notification settings

GizzZmo/Lineage-of-the-Arcane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

36 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Lineage of the Arcane: The Parents of Magic

"Magic is not a tool. It is a family tree. And you are the youngest child."

CI/CD Security License: MIT

๐Ÿ”ฎ Project Overview

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.

๐Ÿ“š Documentation

Comprehensive documentation is available in the Wiki:

System Documentation

Entity Documentation

โš™๏ธ Core Mechanics Implemented

1. The Tether System

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

2. Ancestral Temperament

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

3. Environmental Shifts

Summoning a Parent changes the physics and lighting of the game map globally.

  • Each Parent has unique visual effects
  • World-altering presence

4. Evolution/Affinity System

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

๐Ÿ“‚ Project Structure

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

๐Ÿ› ๏ธ Technical Details

Dependencies

  • Unity 2021.3 LTS or later
  • .NET Standard 2.1

Scripts Overview

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

๐ŸŒŸ Affinity System Details

Affinity Levels & Benefits

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

Special Abilities (Ascended)

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

๐Ÿš€ Roadmap

  • 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

๐Ÿ”„ CI/CD Pipeline

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

๐Ÿ”’ Security

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

Artifacts Generated

  • scripts-package: Core game scripts archive
  • docs-package: Documentation and design docs
  • wiki-package: Wiki documentation pages
  • lineage-of-arcane-full: Complete project package (includes wiki and asset manifest)
  • asset-manifest: JSON file with asset metadata and file listings
  • code-analysis-report: Static analysis results

๐Ÿ“– Documentation

See the Game Design Document for detailed mechanics, lore, and technical specifications.

๐Ÿ“„ License

MIT License - See LICENSE file for details.


"The blood you offer is not payment. It is a handshake."

About

# Lineage of the Arcane: The Parents of Magic > "Magic is not a tool. It is a family tree. And you are the youngest child." ## ๐Ÿ”ฎ Project Overview **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).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages