- .NET 10 console app with Spectre.Console and Loreline integration - Black Box Sim architecture (simulation separated from presentation) - Progressive CLI rendering (9 phases from basic to full layout) - 25+ box definitions with weighted loot tables - 100+ item definitions (meta, cosmetics, materials, adventure tokens) - 9 Loreline adventures (Space, Medieval, Pirate, etc.) - Bilingual content (EN/FR) - Save/load system - Game Design Document
191 lines
7.6 KiB
Text
191 lines
7.6 KiB
Text
// Space Adventure - Open The Box
|
|
// Theme: Space exploration with boxes floating in the void
|
|
|
|
character captain
|
|
name: Captain Nova
|
|
|
|
character ai
|
|
name: ARIA
|
|
role: Ship AI
|
|
|
|
character alien
|
|
name: Zx'thorp
|
|
role: Alien Merchant
|
|
|
|
state
|
|
fuel: 100
|
|
discovered: 0
|
|
hasSpaceBox: false
|
|
trustAlien: false
|
|
|
|
beat Intro
|
|
The ship hums quietly as you drift through sector 7-G. #intro-hum
|
|
ai: Commander, scanners are detecting something unusual. #intro-scan
|
|
ai: A box. Floating in space. Defying several laws of physics. #intro-box
|
|
captain: A box? In space? #captain-box
|
|
|
|
choice
|
|
Investigate the box #opt-investigate
|
|
-> InvestigateBox
|
|
Ignore it and continue #opt-ignore
|
|
-> IgnoreBox
|
|
Run a deep scan first #opt-scan if fuel > 20
|
|
fuel -= 20
|
|
-> DeepScan
|
|
|
|
beat DeepScan
|
|
ai: Deep scan initiated. Fuel reserves reduced. #deepscan-init
|
|
ai: Analysis complete. The box appears to be... sentient? #deepscan-result
|
|
ai: It's humming a tune. I believe it's... the box theme. #deepscan-humming
|
|
captain: The box theme? #captain-theme
|
|
ai: Every box has a theme, Commander. Didn't you know? #ai-theme
|
|
|
|
choice
|
|
Open the sentient box #opt-open-sentient
|
|
-> OpenSpaceBox
|
|
Try to communicate with it #opt-communicate
|
|
-> CommunicateBox
|
|
Back away slowly #opt-backaway
|
|
-> BackAway
|
|
|
|
beat InvestigateBox
|
|
You approach the box carefully. It's about a meter wide, floating serenely. #investigate-approach
|
|
captain: It's... beautiful. #captain-beautiful
|
|
ai: Commander, I wouldn't use that word for a box. #ai-beautiful
|
|
captain: You don't tell me what words to use for boxes, ARIA. #captain-words
|
|
|
|
choice
|
|
Open it immediately #opt-open-now
|
|
-> OpenSpaceBox
|
|
Scan it first #opt-scan-first if fuel > 10
|
|
fuel -= 10
|
|
-> ScanThenOpen
|
|
Poke it with a stick #opt-poke
|
|
-> PokeBox
|
|
|
|
beat PokeBox
|
|
You extend the ship's robotic arm and gently poke the box. #poke-arm
|
|
The box rotates 90 degrees and reveals a label: "THIS SIDE UP" #poke-label
|
|
ai: Commander, I don't think boxes in zero gravity have an "up". #ai-gravity
|
|
captain: Maybe the box defines its own reality. #captain-reality
|
|
ai: That's... philosophically concerning. #ai-philosophy
|
|
-> OpenSpaceBox
|
|
|
|
beat ScanThenOpen
|
|
ai: Scan reveals the box contains crystallized starlight and something called a "Nebula Shard". #scan-contents
|
|
ai: Also what appears to be a very small, very angry alien. #scan-alien
|
|
captain: Define "very small". #captain-small
|
|
ai: Approximately the size of a box. Commander, I think the alien IS a box. #ai-alienbox
|
|
-> OpenSpaceBox
|
|
|
|
beat IgnoreBox
|
|
You set course away from the mysterious box. #ignore-course
|
|
ai: Commander, the box is... following us. #ai-following
|
|
captain: What? #captain-what
|
|
ai: It appears to have tiny thrusters. And what I can only describe as determination. #ai-thrusters
|
|
captain: A determined box. My favorite kind. #captain-determined
|
|
discovered += 1
|
|
-> OpenSpaceBox
|
|
|
|
beat CommunicateBox
|
|
captain: ARIA, open a channel to the box. #comm-channel
|
|
ai: Commander, it's a box. #ai-itsabox
|
|
captain: I said open a channel. #captain-channel
|
|
ai: Channel open, Commander. #ai-channelopen
|
|
captain: Hello, box. I am Captain Nova. I come in peace. #captain-peace
|
|
The box vibrates gently. It seems pleased. #comm-vibrate
|
|
ai: Commander, the box just sent us coordinates. And what appears to be... a friendship request? #ai-friendship
|
|
trustAlien = true
|
|
-> OpenSpaceBox
|
|
|
|
beat BackAway
|
|
You engage reverse thrusters. The sentient box watches you leave. #back-thrusters
|
|
ai: Commander, the box looks... sad. #ai-sad
|
|
captain: Boxes don't have feelings, ARIA. #captain-feelings
|
|
ai: This one does. I'm reading elevated levels of box-sadness. #ai-boxsadness
|
|
captain: That's not a real metric. #captain-metric
|
|
ai: It is now. Box-sadness level: 7 out of 10. #ai-level
|
|
|
|
choice
|
|
Go back to the box #opt-goback
|
|
-> CommunicateBox
|
|
Leave for good #opt-leave
|
|
-> LeaveForGood
|
|
|
|
beat LeaveForGood
|
|
You leave the sentient box behind. #leave-behind
|
|
ai: I hope you're happy, Commander. #ai-happy
|
|
captain: I am. No weird space boxes for me today. #captain-happy
|
|
ai: Incoming transmission. It's... from the box. #ai-transmission
|
|
ai: It says "you'll be back. they always come back." #ai-message
|
|
captain: That's ominous. I love it. #captain-ominous
|
|
-> Ending
|
|
|
|
beat OpenSpaceBox
|
|
hasSpaceBox = true
|
|
discovered += 1
|
|
You carefully open the box. Light spills out from within. #open-light
|
|
|
|
if trustAlien
|
|
Inside you find a Nebula Shard, pulsing with friendly energy. #open-friendly
|
|
alien: Ah, a fellow box appreciator! Take this as a gift from my collection. #alien-gift
|
|
captain: The alien WAS the box? #captain-wasbox
|
|
alien: We prefer "Box-Americans". Just kidding. I'm Zx'thorp. #alien-intro
|
|
-> AlienEncounter
|
|
else
|
|
Inside you find a Nebula Shard and what appears to be a map to more boxes. #open-normal
|
|
ai: Commander, the map shows three more floating boxes in nearby sectors. #ai-morebox
|
|
captain: Three more boxes. This is either Christmas or a trap. #captain-christmas
|
|
ai: In space, those are often the same thing. #ai-same
|
|
-> SpaceExploration
|
|
|
|
beat AlienEncounter
|
|
alien: I've been collecting boxes across the galaxy for centuries. #alien-collecting
|
|
alien: Most species open them. Very few appreciate them. #alien-appreciate
|
|
captain: I appreciate boxes. Especially ones with good loot. #captain-loot
|
|
alien: "Loot." What a crude word for cosmic treasures. #alien-crude
|
|
|
|
choice
|
|
Ask about the galaxy's rarest box #opt-rare-box
|
|
alien: The Singularity Box. It contains everything and nothing. Also a coupon. #alien-singularity
|
|
-> Ending
|
|
Trade items with Zx'thorp #opt-trade
|
|
alien: I have a Space Helmet for you. In exchange, I want your sense of wonder. #alien-trade
|
|
captain: Deal. Wait-- #captain-deal
|
|
-> Ending
|
|
Challenge the alien to a box-opening contest #opt-contest
|
|
alien: You dare? No one out-opens Zx'thorp! #alien-dare
|
|
alien: ...fine. Best of three. You open first. #alien-contest
|
|
-> Ending
|
|
|
|
beat SpaceExploration
|
|
ai: Setting course for the nearest box. ETA: approximately one dramatic pause. #explore-course
|
|
|
|
You arrive at a cluster of three boxes, orbiting each other like a tiny solar system. #explore-cluster
|
|
captain: A box system. Literally a system of boxes. #captain-system
|
|
ai: The large one appears to contain the other two. It's boxes all the way down. #ai-alltheway
|
|
|
|
choice
|
|
Open the biggest box first #opt-big
|
|
You open the biggest box. Inside: two medium boxes and a note. #big-open
|
|
The note reads: "Congratulations! You've found the Box Nebula. Population: boxes." #big-note
|
|
-> Ending
|
|
Open all three at once #opt-all
|
|
captain: All three, ARIA. Maximum box velocity. #captain-velocity
|
|
ai: That's not a real measurement, but I admire your enthusiasm. #ai-enthusiasm
|
|
All three boxes burst open simultaneously. The contents mix together in zero gravity. #all-open
|
|
ai: Commander, the items are forming... a bigger box. #ai-biggerbox
|
|
captain: Of course they are. #captain-ofcourse
|
|
-> Ending
|
|
Leave them orbiting, they seem happy #opt-happy
|
|
captain: Let them orbit in peace. #captain-orbit
|
|
ai: A surprisingly philosophical choice, Commander. #ai-philosophical
|
|
ai: The boxes seem to orbit faster. I think they're happy. #ai-happy
|
|
-> Ending
|
|
|
|
beat Ending
|
|
ai: Adventure complete. Updating ship's log. #ending-complete
|
|
ai: Boxes encountered: $discovered. Box-related existential crises: 1. #ending-log
|
|
captain: Only one? We'll do better next time. #captain-next
|
|
ai: There's always next time, Commander. The universe is full of boxes. #ai-next
|
|
-> .
|