Compare commits
20
Commits
e08c055846
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d9b7cf133 | ||
|
|
d142151c06 | ||
|
|
c18cd4eead | ||
|
|
7fc93b1a9c | ||
|
|
e1255b7cbe | ||
|
|
a2fcccfaf6 | ||
|
|
c292ebd4f1 | ||
|
|
97b7b65356 | ||
|
|
d4fd0e4b8a | ||
|
|
8ea09980ee | ||
|
|
e2be6a728d | ||
|
|
f9c1338154 | ||
|
|
9034bfecf4 | ||
|
|
9d3b52193e | ||
|
|
7deb048135 | ||
|
|
ce3dd4e79f | ||
|
|
4f8da8e4a9 | ||
|
|
f14cc43bb2 | ||
|
|
13085d6cfe | ||
|
|
d56769625e |
@@ -0,0 +1,43 @@
|
|||||||
|
name: Build and Deploy Ren'Py Web
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main # Update if your primary branch is named something else (e.g., 'master')
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Ren'Py with Web Support
|
||||||
|
uses: remarkablegames/setup-renpy@v1
|
||||||
|
with:
|
||||||
|
version: '8.5.3'
|
||||||
|
web: true
|
||||||
|
|
||||||
|
- name: Install System Dependencies (OpenGL)
|
||||||
|
run: |
|
||||||
|
# Install OpenGL dependencies needed by the Ren'Py executable
|
||||||
|
if command -v sudo >/dev/null 2>&1; then
|
||||||
|
sudo apt-get update && sudo apt-get install -y libgl1
|
||||||
|
else
|
||||||
|
apt-get update && apt-get install -y libgl1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Build Web Distribution
|
||||||
|
run: |
|
||||||
|
# Execute the build from the /tmp directory, targeting your workspace root
|
||||||
|
mkdir -p $GITHUB_WORKSPACE/web-dist
|
||||||
|
renpy-launcher web_build $GITHUB_WORKSPACE --destination $GITHUB_WORKSPACE/web-dist
|
||||||
|
|
||||||
|
- name: Deploy to Itch.io via Butler Action
|
||||||
|
uses: Ayowel/butler-to-itch@v1
|
||||||
|
with:
|
||||||
|
butler_key: ${{ secrets.BUTLER_API_KEY }}
|
||||||
|
itch_user: 'dynamitos'
|
||||||
|
itch_game: 'visual-novel'
|
||||||
|
# Pushes to the web channel automatically
|
||||||
|
files: |
|
||||||
|
html5 web-dist
|
||||||
Vendored
+1
-1
@@ -5,6 +5,6 @@
|
|||||||
"**/*.rpymc": true,
|
"**/*.rpymc": true,
|
||||||
"**/cache/": true
|
"**/cache/": true
|
||||||
},
|
},
|
||||||
"renpyWarp.sdkPath": "/Applications/renpy-8.5.2-sdk",
|
"renpyWarp.sdkPath": "/home/dynamitos/.config/Code - OSS/User/globalStorage/paisleysoftworks.renpywarp/file-downloader-downloads/8.5.3",
|
||||||
"renpyWarp.renpyExtensionsEnabled": "Enabled"
|
"renpyWarp.renpyExtensionsEnabled": "Enabled"
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
+110
-110
@@ -1,15 +1,16 @@
|
|||||||
# The Iron Hollow — Chapter 1 PoC
|
# The Iron Hollow — Chapter 1 PoC
|
||||||
# Scene 2: Sara Arrives
|
# Scene 2: Sara Arrives
|
||||||
|
|
||||||
define sara = Character("Sara", color="#c8a882")
|
define sara = Character("Sara", color="#5acbd5")
|
||||||
define luno = Character("Luno", color="#82b4c8")
|
define thinking = Character("Sara", color="#1d9fa4", what_italic=True)
|
||||||
define narrator = Character(None, kind=nvl)
|
define luno = Character("Luno", color="#1b449d")
|
||||||
|
define narrator = Character(None)
|
||||||
|
|
||||||
# ── Persistent flags ──────────────────────────────────────────────────────────
|
# ── Persistent flags ──────────────────────────────────────────────────────────
|
||||||
default checkpoint_set = False
|
default checkpoint_set = False
|
||||||
default rewind_used = False
|
default rewind_used = False
|
||||||
default branches_explored = 0
|
default purpose_chosen = False
|
||||||
default luno_suspicion = 0
|
default silence_chosen = False # here Sara learns that Luno asks everyone the same question
|
||||||
|
|
||||||
# ── Entry point ───────────────────────────────────────────────────────────────
|
# ── Entry point ───────────────────────────────────────────────────────────────
|
||||||
label start:
|
label start:
|
||||||
@@ -17,41 +18,63 @@ label start:
|
|||||||
with fade
|
with fade
|
||||||
|
|
||||||
"The Iron Hollow training yard sits inside a converted warehouse district. Stone walls, packed dirt, the smell of old metal and new sweat."
|
"The Iron Hollow training yard sits inside a converted warehouse district. Stone walls, packed dirt, the smell of old metal and new sweat."
|
||||||
"Sara takes it all in before she steps through the gate."
|
thinking "So this is where the Iron Hollow has its base."
|
||||||
|
|
||||||
show sara neutral at left
|
show sara neutral at left
|
||||||
with easeinright
|
with easeinright
|
||||||
|
|
||||||
"Two people are already here. A boy against the far wall, watching nothing. And a girl near the gate — moving like she already belongs."
|
thinking "Two others have arrived already. The boy over there is seems to know where to go, maybe I should ask him."
|
||||||
|
thinking "Looks like the other one noticed me."
|
||||||
|
|
||||||
show luno curious at right
|
show luno curious at right
|
||||||
with easeinright
|
with easeinright
|
||||||
|
|
||||||
"The girl notices Sara first."
|
|
||||||
jump luno_greeting
|
jump luno_greeting
|
||||||
|
|
||||||
label luno_greeting:
|
label luno_greeting:
|
||||||
luno "You're here for the recruitment?"
|
luno "You're here for the recruitment?"
|
||||||
sara "Yes. Where do I register?"
|
sara "Yes. Where do I register?"
|
||||||
luno "The man over at that table takes your name. Then we wait."
|
luno "The man over at that table takes your name. Then we wait."
|
||||||
|
thinking "Seems like she told him where to go."
|
||||||
luno "I'm Luno. Been here a few days already — helping with the wounded from last month's job. I know how things run here if you need anything."
|
luno "I'm Luno. Been here a few days already — helping with the wounded from last month's job. I know how things run here if you need anything."
|
||||||
"She doesn't say it like an offer. She says it like she's already taking notes."
|
thinking "That's a strong question right away."
|
||||||
luno "So. Money, glory, or are you just bored?"
|
luno "So. Money, glory, or are you just bored?"
|
||||||
jump choice_screen
|
jump choice_screen
|
||||||
|
|
||||||
|
label rewind_choice:
|
||||||
|
if not checkpoint_set:
|
||||||
|
jump kaeros_arrives
|
||||||
|
|
||||||
|
show screen rewind_prompt
|
||||||
|
menu:
|
||||||
|
"[[ Rewind ]":
|
||||||
|
hide screen rewind_prompt
|
||||||
|
$ rewind_used = True
|
||||||
|
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
|
||||||
|
thinking "Let's try this again."
|
||||||
|
jump choice_screen
|
||||||
|
"[[ Continue ]":
|
||||||
|
hide screen rewind_prompt
|
||||||
|
jump kaeros_arrives
|
||||||
|
|
||||||
label choice_screen:
|
label choice_screen:
|
||||||
$ branches_explored += 1
|
|
||||||
#show screen timer_bar(20)
|
|
||||||
|
|
||||||
menu:
|
menu:
|
||||||
"Why are you here?"
|
"Why are you here?"
|
||||||
"\[ Create Checkpoint \]" if not checkpoint_set:
|
"[[ Create Checkpoint ]" if not checkpoint_set:
|
||||||
$ checkpoint_set = True
|
$ checkpoint_set = True
|
||||||
hide screen timer_bar
|
|
||||||
scene black
|
scene black
|
||||||
with dissolve
|
with dissolve
|
||||||
"A flash. Sara's hand, signing something. A contract. The ink is red."
|
"A flash. Sara's hand, signing something. A contract. The ink is red."
|
||||||
"It could mean anything."
|
|
||||||
scene bg training_yard
|
scene bg training_yard
|
||||||
with dissolve
|
with dissolve
|
||||||
show sara neutral at left
|
show sara neutral at left
|
||||||
@@ -59,23 +82,21 @@ label choice_screen:
|
|||||||
jump choice_screen
|
jump choice_screen
|
||||||
|
|
||||||
"For the money, like anyone.":
|
"For the money, like anyone.":
|
||||||
hide screen timer_bar
|
if rewind_used:
|
||||||
jump branch_money
|
jump branch_money_post_rewind
|
||||||
|
else:
|
||||||
|
jump branch_money
|
||||||
|
|
||||||
"To find something worth doing.":
|
"To find something worth doing." if not purpose_chosen:
|
||||||
hide screen timer_bar
|
|
||||||
jump branch_purpose
|
jump branch_purpose
|
||||||
|
|
||||||
"I'd rather not say.":
|
"I'd rather not say.":
|
||||||
hide screen timer_bar
|
|
||||||
jump branch_silence
|
jump branch_silence
|
||||||
|
|
||||||
"[ You asked the others the same thing, didn't you. ]" if checkpoint_set and branches_explored >= 3:
|
"[[ You asked the others the same thing, didn't you. ]" if silence_chosen:
|
||||||
hide screen timer_bar
|
|
||||||
jump branch_sharp
|
jump branch_sharp
|
||||||
|
|
||||||
label branch_money:
|
label branch_money:
|
||||||
$ luno_suspicion += 1
|
|
||||||
sara "Same reason as everyone else, I'd assume."
|
sara "Same reason as everyone else, I'd assume."
|
||||||
luno "Honest. I can work with that."
|
luno "Honest. I can work with that."
|
||||||
show luno amused at right
|
show luno amused at right
|
||||||
@@ -85,10 +106,23 @@ label branch_money:
|
|||||||
luno "Sure."
|
luno "Sure."
|
||||||
"A pause. Just a half-beat too long."
|
"A pause. Just a half-beat too long."
|
||||||
luno "They can be."
|
luno "They can be."
|
||||||
"She doesn't push. But her eyes stay on Sara a moment after the conversation moves on."
|
"She doesn't push. But her eyes stay on Sara for another moment"
|
||||||
jump scene_continues
|
jump rewind_choice
|
||||||
|
|
||||||
|
label branch_money_post_rewind:
|
||||||
|
sara "Same reason as everyone else."
|
||||||
|
luno "Sure."
|
||||||
|
thinking "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
|
||||||
|
thinking "Probably nothing."
|
||||||
|
"But it wasn't nothing."
|
||||||
|
jump rewind_choice
|
||||||
|
|
||||||
label branch_purpose:
|
label branch_purpose:
|
||||||
|
$ purpose_chosen = True
|
||||||
sara "I'm not looking for money exactly. More... something to point myself at."
|
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."
|
"A beat. Something opens in Luno's expression — not warm, but something."
|
||||||
show luno curious at right
|
show luno curious at right
|
||||||
@@ -96,85 +130,28 @@ label branch_purpose:
|
|||||||
sara "What did you expect?"
|
sara "What did you expect?"
|
||||||
luno "Something about honour. Or family legacy."
|
luno "Something about honour. Or family legacy."
|
||||||
show luno tilted at right
|
show luno tilted at right
|
||||||
luno "The clothes suggest a script."
|
luno "The clothes tell me nobility, and nobles are always on the look for honour."
|
||||||
show sara pained at left
|
show sara pained at left
|
||||||
sara "The script didn't survive."
|
sara "Honour is pointless when everyone is dead."
|
||||||
"She doesn't mean to say it. Too true. Too fast. Too much."
|
thinking "I said too much."
|
||||||
"She can feel it land — can feel Luno actually {i}looking{/i} at her now, not just watching."
|
"She can feel it land — can feel Luno actually {i}looking{/i} at her now, not just watching."
|
||||||
show luno soft at right
|
show luno soft at right
|
||||||
luno "...Yeah. I know that feeling."
|
luno "...Yeah. I know that feeling."
|
||||||
"A real moment. Brief. Neither of them knows what to do with it."
|
thinking "I should go back. I told her way too much"
|
||||||
|
jump rewind_choice
|
||||||
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:
|
label branch_silence:
|
||||||
|
$ silence_chosen = True
|
||||||
sara "That's a fairly personal question for someone I've known thirty seconds."
|
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."
|
luno "Fair. I ask everyone. You don't have to answer."
|
||||||
sara "...Then I won't."
|
sara "...Then I won't."
|
||||||
luno "That's an answer too."
|
luno "That's an answer too."
|
||||||
"She's not unfriendly. But Sara just became a question mark in Luno's mental ledger."
|
"She's not unfriendly. But Sara just became a question mark in Luno's mental ledger."
|
||||||
$ luno_suspicion += 1
|
jump rewind_choice
|
||||||
jump scene_continues
|
|
||||||
|
|
||||||
label branch_sharp:
|
label branch_sharp:
|
||||||
sara "You asked him the same thing."
|
sara "You asked him the same thing."
|
||||||
"She nods toward Eron."
|
"She nods towards the guy who also arrived already."
|
||||||
sara "Before I arrived."
|
sara "Before I arrived."
|
||||||
"Luno goes still. Not alarmed — but recalibrating."
|
"Luno goes still. Not alarmed — but recalibrating."
|
||||||
show luno still at right
|
show luno still at right
|
||||||
@@ -189,35 +166,58 @@ label branch_sharp:
|
|||||||
show luno laugh at right
|
show luno laugh at right
|
||||||
"But her eyes are sharper now, not warmer."
|
"But her eyes are sharper now, not warmer."
|
||||||
show luno sharp at right
|
show luno sharp at right
|
||||||
"This is not a win. It's a different kind of exposure."
|
jump rewind_choice
|
||||||
$ luno_suspicion += 2
|
|
||||||
jump scene_continues
|
|
||||||
|
|
||||||
label scene_continues:
|
label kaeros_arrives:
|
||||||
"Before the silence can settle, footsteps at the gate."
|
"Before the silence can settle, footsteps at the gate."
|
||||||
"Two more arrivals. The scene continues..."
|
show kaeros guarded at right
|
||||||
|
show mira curious at left
|
||||||
|
kaeros "Is this the Iron Hollow?"
|
||||||
|
luno "Looks like quite a few people are interested. You are at the right place."
|
||||||
|
luno "Why do you want to join the Hollow?"
|
||||||
|
mira "To protect people from evil---"
|
||||||
|
kaeros "To make some money. Have to live off something around here."
|
||||||
|
show mira timit at left
|
||||||
|
show luno laughing at right
|
||||||
|
luno "I see, you have you priorities in order."
|
||||||
|
show luno neutral at right
|
||||||
|
luno "I like that. I am Luno, I arrived a while a go. Give the man over there your names and wait."
|
||||||
|
sara "I am Sara, not sure what else to say."
|
||||||
|
kaeros "I am Kaeros, and this is Mira."
|
||||||
|
luno "She also just arrived you can register together."
|
||||||
|
scene black
|
||||||
|
with dissolve
|
||||||
|
scene bg table
|
||||||
|
show sara at left
|
||||||
|
show iron_hollow_mercenary at right
|
||||||
|
sara "The three of us are here to register."
|
||||||
|
"Iron Hollow Mercenary" "Tell me your names and blessing."
|
||||||
|
show mira excited at left
|
||||||
|
mira "I'm Mira, and I have a fire blessing. I can do a lot of things with it, like make bursts---"
|
||||||
|
show kaeros guarded at left
|
||||||
|
kaeros "I'm Kaeros, and I have a wind blessing."
|
||||||
|
kaeros "..."
|
||||||
|
"Iron Hollow Mercenary" "Alright, what about you?"
|
||||||
|
show sara at left
|
||||||
|
sara "My name is Sara, I have a wind blessing, but its really weak. My expertise is more with strategy."
|
||||||
|
"Iron Hollow Mercenary" "It's rare to have a strategist join a band of mercenaries. I hope you can at least hold your own in combat."
|
||||||
|
"Iron Hollow Mercenary" "I think fo-- five people are enough for now, grab Luno and that guy over there and we'll get started."
|
||||||
|
jump first_test
|
||||||
|
|
||||||
|
label first_test:
|
||||||
|
scene black
|
||||||
|
with dissolve
|
||||||
|
scene bg training_yard
|
||||||
|
"Iron Hollow Mercenary" "It's time to prove you worth. We are gonna start with a simple test, so everyone gets a feel for each other."
|
||||||
|
"Iron Hollow Mercenary" "One-on-one fights, but since we are an uneven number, one person will have to fight twice."
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
# ── Screens ───────────────────────────────────────────────────────────────────
|
# ── 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():
|
screen rewind_prompt():
|
||||||
zorder 10
|
zorder 10
|
||||||
text "[ ↺ Rewind available ]":
|
text "Rewind available":
|
||||||
xalign 0.05
|
xalign 0.05
|
||||||
yalign 0.95
|
yalign 0.95
|
||||||
color "#4ab8b8"
|
color "#4ab8b8"
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"build_update": false,
|
||||||
|
"packages": [
|
||||||
|
"pc"
|
||||||
|
],
|
||||||
|
"add_from": true,
|
||||||
|
"force_recompile": true,
|
||||||
|
"android_build": "Release",
|
||||||
|
"tutorial": false,
|
||||||
|
"renamed_all": true,
|
||||||
|
"renamed_steam": true
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user