From e08c055846e1342d93fcd354e49f4ebdf8774783 Mon Sep 17 00:00:00 2001 From: Dynamitos Date: Tue, 9 Jun 2026 12:26:53 +0200 Subject: [PATCH] initial meeting draft --- .DS_Store | Bin 12292 -> 10244 bytes game/README.md | 27 ++++ game/images/bg training_yard.png | Bin 0 -> 4319 bytes game/images/luno amused.png | Bin 0 -> 2041 bytes game/images/luno curious.png | Bin 0 -> 2041 bytes game/images/luno laugh.png | Bin 0 -> 2040 bytes game/images/luno linger.png | Bin 0 -> 2041 bytes game/images/luno neutral.png | Bin 0 -> 2041 bytes game/images/luno sharp.png | Bin 0 -> 2041 bytes game/images/luno soft.png | Bin 0 -> 2041 bytes game/images/luno still.png | Bin 0 -> 2041 bytes game/images/luno tilted.png | Bin 0 -> 2041 bytes game/images/sara neutral.png | Bin 0 -> 2041 bytes game/images/sara pained.png | Bin 0 -> 2041 bytes game/script.rpy | 233 ++++++++++++++++++++++++++++--- 15 files changed, 241 insertions(+), 19 deletions(-) create mode 100644 game/README.md create mode 100644 game/images/bg training_yard.png create mode 100644 game/images/luno amused.png create mode 100644 game/images/luno curious.png create mode 100644 game/images/luno laugh.png create mode 100644 game/images/luno linger.png create mode 100644 game/images/luno neutral.png create mode 100644 game/images/luno sharp.png create mode 100644 game/images/luno soft.png create mode 100644 game/images/luno still.png create mode 100644 game/images/luno tilted.png create mode 100644 game/images/sara neutral.png create mode 100644 game/images/sara pained.png diff --git a/.DS_Store b/.DS_Store index 70c91095f13bebda1ebbd43d84106de368bd510f..adb58e65da2630e8f931251eea2824b3859fa0de 100644 GIT binary patch delta 173 zcmZokXbF&DU|?W$DortDU{C-uIe-{M3-C-V6q~3gIoUvmMH0vdOE3b(8IsD23zBm3 zlYnA7Hh+|qV%ylz$;b(m0s#(gppZDrW_6w?%#0kHc@!?NZx&|pW!}sy@Puje8_8dc zg3J(=3fw^26=cz7L5}atllgT#C;Rhoa4b%7 delta 258 zcmZn(Xh~3DU|?W$DortDV9)?EIe-{M3-B;7uy8RjC~!|yP?u!}DFR}kAOnysz`#(# zkjhY;Q(Wepl(VsLG4o^t6&6;I3YN_`#RHfpCkQVAsRfAu0SEWSLUESO>O4=F8QC^# zNIzxbWMPP8@MrL0@SiLpaFQL$-uyzqjTz1{lirJ@Zu37`PNt0wsw|AGn|TB-uuuLi ztsw(6n-y#Wg9bN{c13pg#=`f^llfIVK|TUGgky4s%G`-H9Glr>-ZD=9B=!nq0suU* BGBW@G diff --git a/game/README.md b/game/README.md new file mode 100644 index 0000000..9408a60 --- /dev/null +++ b/game/README.md @@ -0,0 +1,27 @@ +# VNGame — Iron Hollow PoC + +## Run +Open in Ren'Py launcher → Run. + +## What to test +1. Play straight through (no checkpoint) — see all 3 base branches. +2. Create a checkpoint → pick "To find something worth doing" → **Rewind**. + Watch the teal wash and Luno's linger beat afterward. +3. Explore 3+ branches, then the 4th unlocked option appears. + +## Missing assets (Ren'Py will warn but not crash) +- `game/images/bg training_yard.png` +- `game/images/sara neutral.png`, `sara pained.png` +- `game/images/luno curious.png`, `luno amused.png`, `luno neutral.png`, + `luno soft.png`, `luno tilted.png`, `luno still.png`, `luno laugh.png`, + `luno sharp.png`, `luno linger.png` + +Any placeholder PNG renamed to match works fine for testing. + +## Internal flags +| Variable | Meaning | +|---|---| +| `checkpoint_set` | Player placed a checkpoint this scene | +| `rewind_used` | Player rewound at least once | +| `branches_explored` | Choice screen visit count (unlocks 4th option at 3) | +| `luno_suspicion` | 0–4 internal tracker, ready to wire into future scenes | \ No newline at end of file diff --git a/game/images/bg training_yard.png b/game/images/bg training_yard.png new file mode 100644 index 0000000000000000000000000000000000000000..cc29ec8a0325e969424206b8f5cb5220bb82c76e GIT binary patch literal 4319 zcmeAS@N?(olHy`uVBq!ia0y~yU5~>KA7C?z!PC{xWt~$(699d@HAw&f literal 0 HcmV?d00001 diff --git a/game/images/luno amused.png b/game/images/luno amused.png new file mode 100644 index 0000000000000000000000000000000000000000..de4918aa6abb5b19923629bfd60ae4395e555e82 GIT binary patch literal 2041 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz!bs31Qa>kr+%M-f&GA|i(^Q|oVQmDc^MQ0 z4jeFVQFM7we}qXov*;w}iz|`88C1@EXKHY7V@;6|n~)gc(3Z$3Im#IggVA&_niodP kgV8c^v|bp<>adXUKxdA?%dqcvfmJ$#r>mdKI;Vst0BmSM-2eap literal 0 HcmV?d00001 diff --git a/game/images/luno curious.png b/game/images/luno curious.png new file mode 100644 index 0000000000000000000000000000000000000000..2d4a41ac0622e9c23cf276538c915c8ea89da154 GIT binary patch literal 2041 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz!bs31Qa>kr+%M-f&GA|i(^Q|oVQmTc^MQ0 z4s5vGBINQQo>}b2L{(p{g!N}{u`49*6KAk7(os0Pp@HWxlMxU134>A2Xc&y9gVDS& lS{{s+iKF$x09J=R++B~W!atXv?gm!r44$rjF6*2UngA^}q>2Cl literal 0 HcmV?d00001 diff --git a/game/images/luno laugh.png b/game/images/luno laugh.png new file mode 100644 index 0000000000000000000000000000000000000000..b42b54ef11fa6179b31081ee88ccf5664a8964ad GIT binary patch literal 2040 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz!bs31Qa>kr+%M-fqlQHi(^Q|oVQmTIT;iL z7!Go$i96qrU-Q6Uj7{ypzOrj}44j|$GCY`=$SB#ynj#@KAu+kr+%M-f&GA|i(^Q|oVQmTc^MQ0 z4s0-P;dOZs&ms0>qN=Y}!uqqf*cB4@i8I(3=_nlD(7=5!DwC> mEe}S^#L;?T0IS0u?)S>iiyNn1Iu5MT89ZJ6T-G@yGywop0Hg>2 literal 0 HcmV?d00001 diff --git a/game/images/luno neutral.png b/game/images/luno neutral.png new file mode 100644 index 0000000000000000000000000000000000000000..e0da35ba67c28efd5fdde6327f8cc26f52debf42 GIT binary patch literal 2041 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz!bs31Qa>kr+%M-f&GA|i(^Q|oVQmTc^MQ0 z4s5vG!t3(jKC9S|iK@O@3G2_^VpmAqC(dAFq@!?nLj%uYCLkr+%M-f&GA|i(^Q|oVQmTc^MQ0 z4s7_`#Ov}Po>%P0L{(p{g!N}{u`49*6KAk7(os0Pp@HWxlMxU134>A2Xc&y9gVDS& lS{{s+iKF$x09J=R+zV1!1Pt%Vy#rS144$rjF6*2UngAWyqT>Jn literal 0 HcmV?d00001 diff --git a/game/images/luno soft.png b/game/images/luno soft.png new file mode 100644 index 0000000000000000000000000000000000000000..c78827ea795e5a2cd3d61f48f29923b0d2a073b6 GIT binary patch literal 2041 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz!bs31Qa>kr+%M-f&GA|i(^Q|oVQmTc^MQ0 z4s0lH6>@oSpF!-$L{(p{g!N}{u`49*6KAk7(os0Pp@HWxlMxU134>A2Xc&y9gVDS& lS{{s+iKF$x09J=R+?$+o1g71TRsvS(44$rjF6*2UngI4tqQ(FK literal 0 HcmV?d00001 diff --git a/game/images/luno still.png b/game/images/luno still.png new file mode 100644 index 0000000000000000000000000000000000000000..49a0805c29efd422c2dd764f1e3757be2ca2243b GIT binary patch literal 2041 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz!bs31Qa>kr+%M-f&GA|i(^Q|oVQmTc^MQ0 z4s4j*%W^&fw|l=d#Wzp$PyhIHd*v literal 0 HcmV?d00001 diff --git a/game/images/luno tilted.png b/game/images/luno tilted.png new file mode 100644 index 0000000000000000000000000000000000000000..2d4a41ac0622e9c23cf276538c915c8ea89da154 GIT binary patch literal 2041 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz!bs31Qa>kr+%M-f&GA|i(^Q|oVQmTc^MQ0 z4s5vGBINQQo>}b2L{(p{g!N}{u`49*6KAk7(os0Pp@HWxlMxU134>A2Xc&y9gVDS& lS{{s+iKF$x09J=R++B~W!atXv?gm!r44$rjF6*2UngA^}q>2Cl literal 0 HcmV?d00001 diff --git a/game/images/sara neutral.png b/game/images/sara neutral.png new file mode 100644 index 0000000000000000000000000000000000000000..038313eb22743e20f15ccd427f1daebcea55e0dc GIT binary patch literal 2041 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz!bs31Qa>kr+%M-f&GA|i(^Q|oVQmTc^MQ0 z4s0lHWuEdNo>}b2L{(p{g!N}{aw{b66KAk7(os0Pp@HWxlMxU134>A2Xc&y9gVDS& lS{{s+iKF$x09J=R+{)paCmrpW7Xzzw22WQ%mvv4FO#m^Pq5=Q_ literal 0 HcmV?d00001 diff --git a/game/images/sara pained.png b/game/images/sara pained.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd2c8f2ab0366e98d3223295422236dec1009e0 GIT binary patch literal 2041 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz!bs31Qa>kr+%M-f&GA|i(^Q|oVQmDc^MQ0 z4jeE)(!={_^+6`-%%YQ=FRoZtGpd~V&eY)E#+o7_HX$*>p)HY7a+EU~2BYa= 3: + hide screen timer_bar + jump branch_sharp + +label branch_money: + $ luno_suspicion += 1 + sara "Same reason as everyone else, I'd assume." + luno "Honest. I can work with that." + show luno amused at right + luno "Though if money's the goal, you don't look like you need it." + sara "Looks can be misleading." + show luno neutral at right + luno "Sure." + "A pause. Just a half-beat too long." + luno "They can be." + "She doesn't push. But her eyes stay on Sara a moment after the conversation moves on." + jump scene_continues + +label branch_purpose: + sara "I'm not looking for money exactly. More... something to point myself at." + "A beat. Something opens in Luno's expression — not warm, but something." + show luno curious at right + luno "Huh. That's not what I expected." + sara "What did you expect?" + luno "Something about honour. Or family legacy." + show luno tilted at right + luno "The clothes suggest a script." + show sara pained at left + sara "The script didn't survive." + "She doesn't mean to say it. Too true. Too fast. Too much." + "She can feel it land — can feel Luno actually {i}looking{/i} at her now, not just watching." + show luno soft at right + luno "...Yeah. I know that feeling." + "A real moment. Brief. Neither of them knows what to do with it." + + if checkpoint_set: + show screen rewind_prompt + "The rewind option surfaces at the edge of the screen, glowing faintly." + "Sara can step back. Give the safer answer. Luno will never know what she almost said." + menu: + "[ ↺ Rewind ] (14 seconds remaining)": + hide screen rewind_prompt + $ rewind_used = True + $ luno_suspicion += 1 + scene black + with dissolve + show screen teal_wash + "The world pulls back." + "Colour drains to teal. Sound slows to nothing." + hide screen teal_wash + scene bg training_yard + with dissolve + show sara neutral at left + show luno curious at right + "Sara is standing at the choice again. Luno's question still in the air." + jump choice_after_rewind + "[ Continue ]": + hide screen rewind_prompt + + jump scene_continues + +label choice_after_rewind: + menu (caption="— Why are you here? —"): + "For the money, like anyone.": + jump branch_money_post_rewind + "I'd rather not say.": + jump branch_silence_post_rewind + +label branch_money_post_rewind: + sara "Same reason as everyone else." + luno "Sure." + "Unremarkable. Fine." + "But when Sara finishes speaking, Luno's eyes linger — just a half-second longer than they should." + show luno linger at right + "Not suspicion. Not quite. More like the feeling of reaching for something that moved." + show luno neutral at right + "She shakes it off. Probably nothing." + "Sara knows it wasn't nothing." + $ luno_suspicion += 1 + jump scene_continues + +label branch_silence_post_rewind: + sara "I'd rather not say." + luno "Fair enough." + "But when Sara finishes speaking, Luno's eyes linger — just a half-second longer than they should." + show luno linger at right + "Not suspicion. Not quite. More like the feeling of reaching for something that moved." + show luno neutral at right + "She shakes it off. Probably nothing." + "Sara knows it wasn't nothing." + $ luno_suspicion += 1 + jump scene_continues + +label branch_silence: + sara "That's a fairly personal question for someone I've known thirty seconds." + luno "Fair. I ask everyone. You don't have to answer." + sara "...Then I won't." + luno "That's an answer too." + "She's not unfriendly. But Sara just became a question mark in Luno's mental ledger." + $ luno_suspicion += 1 + jump scene_continues + +label branch_sharp: + sara "You asked him the same thing." + "She nods toward Eron." + sara "Before I arrived." + "Luno goes still. Not alarmed — but recalibrating." + show luno still at right + luno "...You were watching from outside the gate?" + sara "The wall has gaps." + luno "Most people don't bother to look." + sara "I bother." + "A pause. Luno is weighing something." + luno "That's either very smart or very paranoid." + sara "Both, usually." + "Luno laughs — a real one, short and surprised." + show luno laugh at right + "But her eyes are sharper now, not warmer." + show luno sharp at right + "This is not a win. It's a different kind of exposure." + $ luno_suspicion += 2 + jump scene_continues + +label scene_continues: + "Before the silence can settle, footsteps at the gate." + "Two more arrivals. The scene continues..." return + +# ── Screens ─────────────────────────────────────────────────────────────────── + +screen timer_bar(duration): + zorder 10 + timer duration action Hide("timer_bar") + vbox: + xalign 0.5 + yalign 0.02 + bar: + value AnimatedValue(duration, duration) + xsize 400 + ysize 14 + text "Respond within [duration]s": + xalign 0.5 + color "#c8c8c8" + size 18 + +screen rewind_prompt(): + zorder 10 + text "[ ↺ Rewind available ]": + xalign 0.05 + yalign 0.95 + color "#4ab8b8" + size 22 + +screen teal_wash(): + zorder 20 + add Solid("#1a4a4a") alpha 0.7 \ No newline at end of file