Skip to content

Runtime errors with some of my games #170

Closed

Description

@smwhr

Jumping on the inkcpp bandwagon to leverage the opportunity to publish my stories for the eenk platform.

Not having much luck so far.
Some errors I'm having:

  • The simplest to describe: Running the "Storylet" example from Inky
    Source: Storylets.ink.zip
    Error: No 'done' point recorded before finishing choice output

  • This one is trickier, it only happens after the first choice
    Source: PaniqueAMandonez.zip

    • Error Case 1:
      To reproduce: choose "Commencer" (1) and then "Observer le village" (choice 1)
      Error Output should be empty after getline!
    • Error Case 2:
      To reproduce: choose "Commencer"(1) and then "Descendre" (choice 2)
      Error something looking like it's going on an infinite loop, cpu at 100% but no output

All these run fine in inky, inklecate, and inkjs/web.

Activity

  1. JBenda commented on Sep 13, 2026

    @JBenda
    Owner

    Thanks for opening the issues.

    I can reproduce the first issue (different error, but still an error, so I will start there investigating)

    The second one I cannot reproduce since I think there are files missing in the .zip (there is just one .ink file)

    I will update if I find a trace.

  2. smwhr commented on Sep 13, 2026

    @smwhr
    Author

    My bad, here is the complete ink project PaniqueAMandonez.zip

    And thank you for looking into it !

  3. JBenda commented on Sep 17, 2026

    @JBenda
    Owner

    This was a fun chase. I found many edge cases we did not encounter yet. Would you mind checking out PR #173 and validating that it solves your problems?

  4. smwhr commented on Sep 17, 2026

    @smwhr
    Author

    I've not been so eager to test a PR in ages!

  5. smwhr commented on Sep 17, 2026

    @smwhr
    Author
    • Storylets : 🟢
    • Mandonez : 🟠
      • Abovementionned errors fixed : 🟢
      • But I've hit a new bumps in the road after a handful of turns :

    To reproduce, using the PaniqueAMandonez project :

    echo "11111433232214" | fold -w1 | inkcpp_cl/inkcpp_cl -p PaniqueAMandonez.ink
    gives Unhandled ink runtime exception: Trying to access output stream prior to save point!

    echo "1232322142" | fold -w1 | inkcpp_cl/inkcpp_cl -p PaniqueAMandonez.ink
    gives Unhandled ink runtime exception: Cannot insert data before last save point.

    🤔 They look like twin errors.
    (tbh, this very much look like errors I had when I made tinta and I had to resort to comparing listing of bytecodes executed between the reference implem and the new one and it took ages, and if I knew C++ I'd offer my help 🙇🏼‍♂️ )

  6. JBenda commented on Sep 17, 2026

    @JBenda
    Owner

    Ok, back in the tranches it goes. Thanks for providing the examples and an direction to check ^^

    This looks funny;
    If I execute it under UNIX I can reproduce your error
    But if I execute it under Windows, I get: So yeah seems like undefined behavior
    echo "x" | folud -w1 under windows results in

    "
    x
    "
    

    :(

  7. JBenda commented on Sep 17, 2026

    @JBenda
    Owner

    I updated #173 now your examples run. There was an error in the rollback.
    Until now, inkcpp was not allowed to access data before a rollback point if not for printing, but tags and string values use the same mechanism, so they need to be allowed too to access data before a rollback point.

    So I hope you can verify that it is fixed, and I'm thrilled if you find the next input sequence to break inkcpp.

  8. smwhr commented on Sep 17, 2026

    @smwhr
    Author

    You're going to hate me :
    add a "2" at the end of the first sequence (111114332322142) and you get the Cannot insert data before last save point. error again.

    But, I've found that:
    with inklecate at that point, you get
    Image

    while, with inkcpp, you get
    Image

    Notice the coma?

    Are all my problems coming from my usage of tags ? If that's just so, we can call it a day and I can totally live without them for the forseeable future!

  9. smwhr commented on Sep 17, 2026

    @smwhr
    Author
    -> title
    
    === title
    + Play
        -> act1 -> playloop
    
    === act1
    -> act_1_sc_1 ->
    ->->
    
    === act_1_sc_1
    
    * Express Joy
    * Express Sadness
    
    -
    ->->
    
    === playloop
    
    The PLAYLOOP
    ->END
    

    Annnnd 🥹 I also stumbled upon a Unhandled ink runtime exception: _ref_stack and _stack should be in frame sync! with that minimal code.

  10. JBenda commented on Sep 18, 2026

    @JBenda
    Owner

    Currently I'm still thankful for the rigorous testing

    I think I fixed your current bugs, so it's time for round 4. ^^
    (see #173 for the new commit)

  11. smwhr commented on Sep 19, 2026

    @smwhr
    Author

    I've managed to finish the game ! 🎉

  12. JBenda commented on Sep 20, 2026

    @JBenda
    Owner

    Fixed in #173

  13. t0mg commented on Sep 21, 2026

    @t0mg
    Contributor

    (I can confirm the Storylets example now works in the e-ink simulator of eenky IDE at https://github.com/t0mg/eenky/releases/tag/eenky-nightly-20260920-54)

  14. smwhr commented on Sep 23, 2026

    @smwhr
    Author

    Just ran some more exotic tests and everything is running smoothly!

    Thank you for your hard work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions