Initial scaffold: Nakama backend, Godot client, content schema

Sets up the Step 1 (Project Foundation) and Step 2 (Content Schemas) scaffold
from the implementation sequence. Includes Docker Compose stack, Nakama
TypeScript module stubs, PostgreSQL migration, Godot 4 project shell with
scene stubs and NakamaClient singleton, YAML content schemas for all entity
types, and example data for 3 characters, 2 jobs, and all 7 core resources.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
caoimhinr 2026-06-02 23:33:06 +02:00
commit fb00954954
37 changed files with 2730 additions and 0 deletions

View file

@ -0,0 +1,149 @@
# core_resources.yaml — definitions for all seven core economy resources
# These are the definite resource set from the concept specification.
---
$schema: "xyvera/content-schema/resource/v1"
id: gold
name: "Gold"
description: "General-purpose soft currency earned from trade, jobs, and combat rewards."
category: soft_currency
is_spendable: true
is_capped: false
icon: "icons/resources/gold.png"
color_hex: "#F4C542"
sources:
- "Village jobs with gold output"
- "Combat stage clear rewards"
- "Event milestone rewards"
- "Selling excess items"
sinks:
- "Character level-up costs"
- "Skill upgrade costs"
- "Building upgrades"
- "Shop purchases"
---
$schema: "xyvera/content-schema/resource/v1"
id: wood
name: "Wood"
description: >
Primary construction material. The early bottleneck resource.
Assign lumberjacks to the Lumber Camp for passive gain, or use the
manual work action for burst output.
category: soft_currency
is_spendable: true
is_capped: true
carry_cap: 9999
icon: "icons/resources/wood.png"
color_hex: "#8B5E3C"
sources:
- "Lumber Camp passive output"
- "Manual wood-chopping action (burst yield, daily cap applies)"
- "Event rewards"
sinks:
- "Building construction and upgrades"
- "Character ascension material crafting"
- "Equipment crafting (deferred)"
---
$schema: "xyvera/content-schema/resource/v1"
id: stone
name: "Stone"
description: "Durable building material mined from rocky outcroppings."
category: soft_currency
is_spendable: true
is_capped: true
carry_cap: 9999
icon: "icons/resources/stone.png"
color_hex: "#9E9E9E"
sources:
- "Mining Site passive output"
- "Event rewards"
sinks:
- "Advanced building upgrades"
- "Ascension material crafting"
---
$schema: "xyvera/content-schema/resource/v1"
id: knowledge
name: "Knowledge"
description: >
Accumulated learning that fuels skill upgrades and research improvements.
The second scarcity axis after wood — players must balance knowledge
spending between skill upgrades and building research.
category: knowledge
is_spendable: true
is_capped: true
carry_cap: 5000
icon: "icons/resources/knowledge.png"
color_hex: "#7B68EE"
sources:
- "Research Post passive output"
- "Combat passive skill (Sable's Field Notes)"
- "Event milestone rewards"
sinks:
- "Character skill upgrades"
- "Building research"
- "Expedition unlocks (deferred)"
---
$schema: "xyvera/content-schema/resource/v1"
id: experience
name: "Experience"
description: "Character growth material gained from combat, jobs, and events."
category: soft_currency
is_spendable: true
is_capped: false
icon: "icons/resources/experience.png"
color_hex: "#4CAF50"
sources:
- "Combat stage completion"
- "Research Post secondary output"
- "Assignment mastery milestone rewards"
sinks:
- "Character level-up (primary cost alongside gold)"
---
$schema: "xyvera/content-schema/resource/v1"
id: mana
name: "Mana"
description: >
Ambient magical energy. Consumed by the manual work action and some
skill activations. Regenerates slowly over time.
category: stamina
is_spendable: true
is_capped: true
carry_cap: 200
icon: "icons/resources/mana.png"
color_hex: "#29B6F6"
sources:
- "Passive regen (5 mana per hour)"
- "Event rewards"
- "Diamond purchase (deferred — monetisation not active in PoC)"
sinks:
- "Manual work action (5 mana per use)"
- "Future expedition actions (deferred)"
---
$schema: "xyvera/content-schema/resource/v1"
id: diamond
name: "Diamond"
description: >
Premium hard currency. Obtainable free-to-play through events, milestones,
and logins. Can also be purchased. Used primarily for gacha pulls.
Spending should never be required for core progression per the F2P spec.
category: premium
is_spendable: true
is_capped: false
icon: "icons/resources/diamond.png"
color_hex: "#00E5FF"
sources:
- "New account seed grant (100)"
- "Event milestone rewards"
- "Achievement unlocks"
- "Login streak bonuses"
- "Purchase (deferred — monetisation not active in PoC)"
sinks:
- "Standard banner pulls (cost TBD per banner definition)"
- "Featured banner pulls"
- "Shop convenience purchases (deferred)"