Skip to content

Conversation

@medwards
Copy link

Some tutorial use-cases benefit from repeating and having a reset button available (in particular public kiosks). Repeating tutorials was disabled in #2310 - start specific tutorial before autoconnect.

  • add a new preference "repeat_tutorial" to enable repeating tutorials
    • should leave tutorial-before-autoconnect usecase intact
  • store the tutorial filename when launching so it can be re-used when the tutorial is finished
  • support exitting the tutorial (via ESC)
  • unfixed: the tutorial repeat appears to pause the game on loop.

Some tutorial use-cases benefit from repeating and having a reset button
available (in particular public kiosks). Repeating tutorials was
disabled in daid#2310 - start specific tutorial before autoconnect.

- add a new preference "repeat_tutorial" to enable repeating tutorials
  - should leave tutorial-before-autoconnect usecase intact
- store the tutorial filename when launching so it can be re-used when
  the tutorial is finished
- support exitting the tutorial (via ESC)
- unfixed: the tutorial repeat appears to pause the game on loop.
@oznogon
Copy link
Contributor

oznogon commented Oct 17, 2025

The handling of tutorial and the Reset button in this PR are useful; however, this mostly makes me think #2310 inappropriately introduced a breaking change that should be reverted and reimplemented.

2310 should start a non-repeating TutorialGame only when autoconnect is set; it shouldn't change the default behavior of setting tutorial to always be non-repeating. Adding another Preferences File option is a rough way of working around 2310, when we could simply revert it and reimplement it to better fulfill its stated intent.

A tutorial kiosk mode would separately be useful, but I'm not sure that this PR gets us there. There are still many ways (especially with a keyboard attached) to escape the tutorials, and few ways (especially without a keyboard attached) to exit a tutorial in progress and return to the tutorials menu.

@medwards
Copy link
Author

I suspected the same about #2310 but don't have a means to notify folks in the community that I might be breaking their behaviour. Are we good if I just submit a fix for #2310 and then update this PR based on that?

Re: kiosk mode - isn't repeating mode intended for this? I'm curious what other use-cases tutorial repeating has

That said, it doesn't mean repeating mode can't be improved to better support kiosks - I would de-scope keyboard attachments (that's in general ripe for exploitation) - but how can people exit a tutorial /wo a keyboard? Should we add some additional config to close those gaps?

@oznogon
Copy link
Contributor

oznogon commented Oct 18, 2025

Filed #2552 which reimplements 2310 toward its stated objective, reverts the default behavior of non-autoconnect launches, and fixes the Reset button behavior. Don't have time to revisit the rest right now.

how can people exit a tutorial /wo a keyboard

A non-repeating tutorial exits to the main menu when completed. (On autoconnect, calls to exit to the main menu are automatically converted to connection attempts to the configured player screen.)

Re: kiosk mode - isn't repeating mode intended for this? I'm curious what other use-cases tutorial repeating has

In repeating mode, your only options are to reset the running tutorial, restart the same tutorial, or if you have a keyboard escape to the main menu via the Lua console.

A tutorial kiosk mode would lock down the Lua console, could limit ESC/Home key behavior to reaching the tutorial menu instead of the main menu, and would exit to the tutorial menu instead of repeating a tutorial or exiting to the main menu when a tutorial is completed.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants