module Lapis::Docs::GDD::K_PROJECT_CELESTINE_GDD

Overview

Project Celestine: Canonical Game Design Document

Master GDD detailing the narrative, GoldSrc-style kinematics, 4-pip stamina economy, the Celestine War Hammer mechanics, TrenchBroom/FuncGodot entity schemas, and Two-Tier DSL architecture.

Executive Summary & Key Topics

Topic Method / Anchor Description
High Concept & Narrative Pillars .topic_00_high_concept The myth of Menoitios and the upward odyssey through the nine shattered layers of Tartarus.
GoldSrc Air Acceleration & Momentum Physics .topic_01_kinematics_and_movement Deterministic vector math driving strafe-jumping, ramp surfing, and fall damage mitigation.
Hammer Actions & The 4-Pip Stamina Economy .topic_02_hammer_and_stamina Balanced resource allocation across dashes, uppercuts, ground slams, and chain tethers.
Two-Tier Crystal Architecture .topic_03_two_tier_dsl_codex Separation of pure high-throughput math structs from declarative node macros.

Related Guides & Source References

Defined in:

libgodot/docs/gdd/k_project_celestine_gdd.cr

Class Method Summary

Class Method Detail

def self.topic_00_high_concept : Nil #

High Concept & Narrative Pillars: The myth of Menoitios and the upward odyssey through the nine shattered layers of Tartarus.

Key Topics & Information

  • Protagonist: Menoitios, breaker of the Gates of Tartarus, cast into the 9th layer for 1,000 days.
  • World state: Gods slain by liberated wraiths, leaving Tartarus as an autonomous mechanical ruin.
  • Structure: 9 vertical biomes ascending from Layer 9 (Treachery) to Layer 1 (Limbo).
  • Core Tool: The Celestine War Hammer with adamantine tether chain.

def self.topic_01_kinematics_and_movement : Nil #

GoldSrc Air Acceleration & Momentum Physics: Deterministic vector math driving strafe-jumping, ramp surfing, and fall damage mitigation.

Kinematic motion calculations in Celestine execute at 60Hz and adhere to the Quake/GoldSrc vector projection:

# Air acceleration step (Core Engine Tier)
current_speed = velocity.dot(wish_dir)
add_speed = (AIR_CAP - current_speed).clamp(0.0_f32, AIR_ACCEL * wish_speed * dt)
velocity += wish_dir * add_speed

def self.topic_02_hammer_and_stamina : Nil #

Hammer Actions & The 4-Pip Stamina Economy: Balanced resource allocation across dashes, uppercuts, ground slams, and chain tethers.

Key Topics & Information

  • Left-Click Ground: Standard Swing (45 dmg, projectile parry)
  • Left-Click Airborne: Red Dash (1 pip, 22 m/s) or Blue Hyper Dash (2 pips, 34 m/s)
  • Right-Click Ground: Seismic Bonk (25 dmg, AoE stun wave, 4 m/s upward bounce)
  • Right-Click Airborne: Downward Hammer Throw (25-55 degree pitch, chain slingshot reel-in)
  • Ground Contact: 100% immediate stamina refill across all 4 pips

def self.topic_03_two_tier_dsl_codex : Nil #

Two-Tier Crystal Architecture: Separation of pure high-throughput math structs from declarative node macros.

require "celestine"

# Tier 1: Pure Core Engine struct (zero GC allocations)
pool = Celestine::Core::StaminaPool.new
pool.consume(2) # Consumes 2 pips for blue dash

# Tier 2: Declarative DSL Builder
character = Celestine.character do |c|
  c.name = "Menoitios"
  c.base_walk_speed = 8.0_f32
  c.wish_speed = 14.0_f32
  c.hammer_damage = 45
end