Only finished one ending so far but oh did it ever have me crying at 5am... I love the bittersweet after taste of a love that can't be. Very finely crafted. Also deeply fond of the four-armed kabedon, hehe, I remember going to my friends and shouting, look! They're inventing new moves out there! It's a new frontier!!
Aside from my delight with the game, I just wanted to let you know I've been having this issue while trying to make saves and wanted to provide the rollback code. It um.... may have all stemmed from the fact that I tend to name my saves in a silly fashion when provided the opportunity and made a typo and broken something. My apologies.
[code]
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game/screens/save_load.rpy", line 18, in execute
File "game/screens/save_load.rpy", line 18, in execute
File "game/screens/save_load.rpy", line 29, in execute
File "game/screens/save_load.rpy", line 35, in execute
File "game/screens/save_load.rpy", line 37, in execute
File "game/screens/save_load.rpy", line 39, in execute
File "game/screens/save_load.rpy", line 44, in execute
File "game/screens/save_load.rpy", line 48, in execute
File "game/screens/save_load.rpy", line 64, in execute
File "game/screens/save_load.rpy", line 65, in execute
File "game/screens/save_load.rpy", line 66, in execute
File "game/screens/save_load.rpy", line 67, in execute
File "game/screens/save_load.rpy", line 70, in execute
Exception: String 'p[oo' ends with an open format operation.
-- Full Traceback ------------------------------------------------------------
Traceback (most recent call last):
File "renpy/common/00gamemenu.rpy", line 174, in script
$ ui.interact()
File "renpy/ast.py", line 1187, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/python.py", line 1273, in py_exec_bytecode
exec(bytecode, globals, locals)
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/common/00gamemenu.rpy", line 174, in <module>
$ ui.interact()
~~~~~~~~~~~^^
File "renpy/ui.py", line 306, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/core.py", line 2154, in interact
repeat, rv = self.interact_core(
~~~~~~~~~~~~~~~~~~^
preloads=preloads,
^^^^^^^^^^^^^^^^^^
...<4 lines>...
**kwargs,
^^^^^^^^^
)
^
File "renpy/display/core.py", line 2700, in interact_core
root_widget.visit_all(lambda d: d.per_interact())
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/displayable.py", line 457, in visit_all
d.visit_all(callback, seen)
~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "renpy/display/displayable.py", line 457, in visit_all
d.visit_all(callback, seen)
~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "renpy/display/displayable.py", line 457, in visit_all
d.visit_all(callback, seen)
~~~~~~~~~~~^^^^^^^^^^^^^^^^
[Previous line repeated 1 more time]
File "renpy/display/screen.py", line 503, in visit_all
callback(self)
~~~~~~~~^^^^^^
File "renpy/display/core.py", line 2700, in <lambda>
root_widget.visit_all(lambda d: d.per_interact())
~~~~~~~~~~~~~~^^
File "renpy/display/screen.py", line 514, in per_interact
self.update()
~~~~~~~~~~~^^
File "renpy/display/screen.py", line 715, in update
self.screen.function(**self.scope)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "game/screens/save_load.rpy", line 18, in execute
File "game/screens/save_load.rpy", line 18, in execute
File "game/screens/save_load.rpy", line 29, in execute
File "game/screens/save_load.rpy", line 35, in execute
File "game/screens/save_load.rpy", line 37, in execute
File "game/screens/save_load.rpy", line 39, in execute
File "game/screens/save_load.rpy", line 44, in execute
File "game/screens/save_load.rpy", line 48, in execute
File "game/screens/save_load.rpy", line 64, in execute
File "game/screens/save_load.rpy", line 65, in execute
File "game/screens/save_load.rpy", line 66, in execute
File "game/screens/save_load.rpy", line 67, in execute
File "game/screens/save_load.rpy", line 70, in execute
File "renpy/text/text.py", line 2313, in _scope
return self.set_text(self.text_parameter, scope, self.substitute, update)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/text/text.py", line 2350, in set_text
i, did_sub = renpy.substitutions.substitute(i, scope, substitute) # type: ignore
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "renpy/substitutions.py", line 355, in substitute
s = interpolate(s, variables) # type: ignore
~~~~~~~~~~~^^^^^^^^^^^^^^
File "renpy/substitutions.py", line 52, in interpolate
for lit, expr, conv, fmt in parse(s):
~~~~~^^^
File "renpy/substitutions.py", line 255, in parse
raise Exception("String {!r} ends with an open format operation.".format(s))
Exception: String 'p[oo' ends with an open format operation.
Windows-11-10.0.26200-SP0 AMD64
Ren'Py 8.5.2.26010301
Our Light Affliction: Spider's Covenant 1.0
Thu Jul 30 11:14:35 2026
[/code]