Compare commits

...
20 Commits
Author SHA1 Message Date
Dynamitos 1d9b7cf133 starting test scene
Build and Deploy Ren'Py Web / deploy (push) Successful in 22s
2026-06-20 00:44:12 +02:00
Dynamitos d142151c06 asdf
Build and Deploy Ren'Py Web / deploy (push) Successful in 30s
2026-06-18 21:01:55 +02:00
Dynamitos c18cd4eead Separate narrator and thinking
Build and Deploy Ren'Py Web / deploy (push) Successful in 28s
2026-06-18 20:50:52 +02:00
Dynamitos 7fc93b1a9c fixing rewind flow
Build and Deploy Ren'Py Web / deploy (push) Successful in 21s
2026-06-16 22:30:24 +02:00
Dynamitos e1255b7cbe removing timer
Build and Deploy Ren'Py Web / deploy (push) Failing after 25s
2026-06-16 21:50:12 +02:00
Dynamitos a2fcccfaf6 change channel to html5
Build and Deploy Ren'Py Web / deploy (push) Successful in 27s
2026-06-10 14:41:52 +02:00
Dynamitos c292ebd4f1 again
Build and Deploy Ren'Py Web / deploy (push) Successful in 27s
2026-06-10 14:40:32 +02:00
Dynamitos 97b7b65356 Fix deploy path
Build and Deploy Ren'Py Web / deploy (push) Failing after 28s
2026-06-10 14:34:50 +02:00
Dynamitos d4fd0e4b8a Use dedicated itch io butler action
Build and Deploy Ren'Py Web / deploy (push) Failing after 19s
2026-06-10 14:32:40 +02:00
Dynamitos 8ea09980ee update butler deploy destination
Build and Deploy Ren'Py Web / deploy (push) Failing after 26s
2026-06-10 12:15:54 +02:00
Dynamitos e2be6a728d using itch io butler
Build and Deploy Ren'Py Web / deploy (push) Failing after 25s
2026-06-10 12:13:38 +02:00
Dynamitos f9c1338154 use correct renpy launcher
Build and Deploy Ren'Py Web / deploy (push) Failing after 22s
2026-06-10 11:44:21 +02:00
Dynamitos 9034bfecf4 using setup renpy workflow
Build and Deploy Ren'Py Web / deploy (push) Failing after 35s
2026-06-10 11:42:29 +02:00
Dynamitos 9d3b52193e Create folder before web build
Build and Deploy Ren'Py Web / deploy (push) Failing after 46s
2026-06-10 11:37:09 +02:00
Dynamitos 7deb048135 Create web-dist folder
Build and Deploy Ren'Py Web / deploy (push) Failing after 41s
2026-06-10 11:32:19 +02:00
Dynamitos ce3dd4e79f Update .github/workflows/deploy.yml
Build and Deploy Ren'Py Web / deploy (push) Failing after 30s
2026-06-10 11:29:33 +02:00
Dynamitos 4f8da8e4a9 Fixing renpy command
Build and Deploy Ren'Py Web / deploy (push) Failing after 33s
2026-06-10 11:25:06 +02:00
Dynamitos f14cc43bb2 install renpy dependencies before renpy build
Build and Deploy Ren'Py Web / deploy (push) Failing after 37s
2026-06-10 11:22:38 +02:00
Dynamitos 13085d6cfe Adding web deploy workflow
Build and Deploy Ren'Py Web / deploy (push) Failing after 53s
2026-06-10 11:20:15 +02:00
Dynamitos d56769625e fixing rewind flow 2026-06-10 11:12:58 +02:00
10 changed files with 166 additions and 111 deletions
+43
View File
@@ -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
+1 -1
View File
@@ -5,6 +5,6 @@
"**/*.rpymc": 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"
}
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
View File
@@ -1,15 +1,16 @@
# The Iron Hollow — Chapter 1 PoC
# Scene 2: Sara Arrives
define sara = Character("Sara", color="#c8a882")
define luno = Character("Luno", color="#82b4c8")
define narrator = Character(None, kind=nvl)
define sara = Character("Sara", color="#5acbd5")
define thinking = Character("Sara", color="#1d9fa4", what_italic=True)
define luno = Character("Luno", color="#1b449d")
define narrator = Character(None)
# ── Persistent flags ──────────────────────────────────────────────────────────
default checkpoint_set = False
default rewind_used = False
default branches_explored = 0
default luno_suspicion = 0
default purpose_chosen = False
default silence_chosen = False # here Sara learns that Luno asks everyone the same question
# ── Entry point ───────────────────────────────────────────────────────────────
label start:
@@ -17,41 +18,63 @@ label start:
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."
"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
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
with easeinright
"The girl notices Sara first."
jump luno_greeting
label luno_greeting:
luno "You're here for the recruitment?"
sara "Yes. Where do I register?"
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."
"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?"
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:
$ branches_explored += 1
#show screen timer_bar(20)
menu:
"Why are you here?"
"\[ Create Checkpoint \]" if not checkpoint_set:
"[[ Create Checkpoint ]" if not checkpoint_set:
$ checkpoint_set = True
hide screen timer_bar
scene black
with dissolve
"A flash. Sara's hand, signing something. A contract. The ink is red."
"It could mean anything."
scene bg training_yard
with dissolve
show sara neutral at left
@@ -59,23 +82,21 @@ label choice_screen:
jump choice_screen
"For the money, like anyone.":
hide screen timer_bar
jump branch_money
if rewind_used:
jump branch_money_post_rewind
else:
jump branch_money
"To find something worth doing.":
hide screen timer_bar
"To find something worth doing." if not purpose_chosen:
jump branch_purpose
"I'd rather not say.":
hide screen timer_bar
jump branch_silence
"[ You asked the others the same thing, didn't you. ]" if checkpoint_set and branches_explored >= 3:
hide screen timer_bar
"[[ You asked the others the same thing, didn't you. ]" if silence_chosen:
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
@@ -85,10 +106,23 @@ label branch_money:
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
"She doesn't push. But her eyes stay on Sara for another moment"
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:
$ purpose_chosen = True
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
@@ -96,85 +130,28 @@ label branch_purpose:
sara "What did you expect?"
luno "Something about honour. Or family legacy."
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
sara "The script didn't survive."
"She doesn't mean to say it. Too true. Too fast. Too much."
sara "Honour is pointless when everyone is dead."
thinking "I said 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
thinking "I should go back. I told her way too much"
jump rewind_choice
label branch_silence:
$ silence_chosen = True
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
jump rewind_choice
label branch_sharp:
sara "You asked him the same thing."
"She nods toward Eron."
"She nods towards the guy who also arrived already."
sara "Before I arrived."
"Luno goes still. Not alarmed — but recalibrating."
show luno still at right
@@ -189,35 +166,58 @@ label branch_sharp:
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
jump rewind_choice
label scene_continues:
label kaeros_arrives:
"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
# ── 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 ]":
text "Rewind available":
xalign 0.05
yalign 0.95
color "#4ab8b8"
+12
View File
@@ -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
}