orbit/data/research.json

30 lines
2.1 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"_comment": "RESEARCH — time-based tech, one project at a time (maxConcurrent). The command deck's RESEARCH button opens the full-screen research console (js/ui/ResearchWindow.js). Categories are the tab row; each category's TECH TREE lives in its own file under data/research/ — the file basename is the config section AND the category id (data/research/exploration.json → section 'exploration'). A tree is a branching DAG drawn top→down: `nodes` is a flat map (data order matters — roots/children lay out left-to-right in this order), each node's `requires` names the parents that must be RESEARCHED before it is. Research rules: start an available node → its `duration` (timeUnit) runs; when it completes the node is unlocked, its `effects` apply (the scene applies them — the seam), and its children become available. `unlocks` is the documented forward reference (builds.json ids + follow-on research) for the build system that comes later. `starting` names nodes a fresh run already owns. Keys starting with `_` are documentation, not data.",
"enabled": true,
"timeUnit": "seconds",
"maxConcurrent": 1,
"defaultCategory": "exploration",
"categories": [
{ "id": "exploration", "label": "Exploration", "accent": "#00e5ff" }
],
"video": {
"_comment": "The console's left-panel feed: loops muted while the window is open. aspect is [w, h] — the file is 544×800 (a 2:3 portrait).",
"file": "assets/videos/research-computer.mp4",
"aspect": [2, 3]
},
"fx": {
"_comment": "Window dressing. glitch = occasional RGB-split slice bursts; sweep = the scan band that crawls down the video feed.",
"glitch": { "enabled": true, "intervalMs": [6000, 13000], "durationMs": [220, 420] },
"sweep": { "enabled": true, "everyMs": [4200, 8600], "durationMs": 1500 }
},
"_nodeTemplate": {
"label": "Tech name",
"description": "What this tech is and what it does — shown in the detail readout at the bottom of the console.",
"icon": "tether",
"duration": 120,
"requires": ["parent-tech-id"],
"unlocks": { "builds": [], "research": [] },
"effects": { "tether": { "level": 2 } }
}
}