Skip to content

Overworld prototype#2046

Draft
wjt wants to merge 2 commits intomainfrom
wjt/overworld-prototype
Draft

Overworld prototype#2046
wjt wants to merge 2 commits intomainfrom
wjt/overworld-prototype

Conversation

@wjt
Copy link
Member

@wjt wjt commented Mar 11, 2026

Introduce a QuestTeleporter that, when entered, starts a quest. Add
staging areas representing the Song Sanctuary and Linenville with
QuestTeleporters to the musician quest and the void quest respectively.

Take the player back to a defined spawn point when they abandon a quest,
rather than to Fray's End. Save progress within each quest so that if a
quest is abandoned then resumed, the player picks up where they left
off.

Add an overworld, a zoomed-out space for fast travel between regions of
the world. Link Fray's End to the Song Sanctuary and Linenville.
Gate access to Linenville (represented by the temple) with a blocking
area of void, removed when you complete the musician quest. Gate access
to a third island by grappling, enabled only when the void quest is
complete. (Imagine that the placeholder quest can be accessed here.)

Remove the LoreQuest Elder's storybook. Have them give you directions to
the next quest.

Resolves #2021

wjt and others added 2 commits March 11, 2026 14:12
Previously the current scene was persisted as part of the quest state.
When you return to Fray's End after completing a trio of Sokobans, all
quest state is erased from the saved data, meaning that the current
scene path is lost.

As a result, if you:

- Complete a quest
- Complete all three Sokobans & return to Fray's End
- Exit the game
- Relaunch the game

then you were previously offered the chance to Continue. However this
would try to change scene to empty string, which fails and reloads the
title screen.

Fix this in two ways:

1. Persist the current scene as part of the global state, not as part of
   the quest state.
2. Only offer the chance to continue a saved game if the current scene
   is known.

Add some assertions at relevant points.

Resolves #1946
Introduce a QuestTeleporter that, when entered, starts a quest. Add
staging areas representing the Song Sanctuary and Linenville with
QuestTeleporters to the musician quest and the void quest respectively.

Take the player back to a defined spawn point when they abandon a quest,
rather than to Fray's End. Save progress within each quest so that if a
quest is abandoned then resumed, the player picks up where they left
off.

Add an overworld, a zoomed-out space for fast travel between regions of
the world. Link Fray's End to the Song Sanctuary and Linenville.
Gate access to Linenville (represented by the temple) with a blocking
area of void, removed when you complete the musician quest. Gate access
to a third island by grappling, enabled only when the void quest is
complete. (Imagine that the placeholder quest can be accessed here.)

Remove the LoreQuest Elder's storybook. Have them give you directions to
the next quest.

Resolves #2021
@github-actions
Copy link

Play this branch at https://play.threadbare.game/branches/endlessm/wjt/overworld-prototype.

(This launches the game from the start, not directly at the change(s) in this pull request.)

@wjt
Copy link
Member Author

wjt commented Mar 11, 2026

Some questions this poses for me:

  1. When you complete a quest, you are "supposed" to go back to Fray's End and collect your reward (3 sokobans!). But in this prototype there is nothing to stop you just walking straight back into the same quest, or a different quest. Should this be allowed? If not, how should we prevent it?

  2. The list of collected threads is global state. I didn't bother to make it be per-quest. So what should happen if I back out of quest 1 after collecting 1 thread, enter quest 2, collect 2 threads, go back out … and then return to quest 1? Where should the threads go? Should they be removed from the HUD (which effectively serves as a quest progress indicator) and instead go into an actual inventory?

  3. Is "walk off the edge of the screen" clear enough?

@manuq
Copy link
Collaborator

manuq commented Mar 11, 2026

This is awesome! Some thoughts:

I know this is a prototype, but it is a bit akwards to me that the overworld opens up by walking to the west in Fray's End (same place as you come from). I found it after talking to the Elder that hints "find the musician" and then exhausting all the east frontier.

This makes the game more linear. Previously, talking to the Lore Elder let you start any quest. With the player abilities change, I think there is an opportunity to make the game more replayable and less linear.

@JoniCeceri
Copy link

Some questions this poses for me:

1. When you complete a quest, you are "supposed" to go back to Fray's End and collect your reward (3 sokobans!). But in this prototype there is nothing to stop you just walking straight back into the same quest, or a different quest. Should this be allowed? If not, how should we prevent it?

2. The list of collected threads is global state. I didn't bother to make it be per-quest. So what should happen if I back out of quest 1 after collecting 1 thread, enter quest 2, collect 2 threads, go back out … and then return to quest 1? Where should the threads go? Should they be removed from the HUD (which effectively serves as a quest progress indicator) and instead go into an actual inventory?

3. Is "walk off the edge of the screen" clear enough?
  1. For this prototype, I think just dumping the player right back into Fray's End is fine. I think past that, we should have a couple options available since I feel the ending to quests are going to be very case-by-case:

    • Default option should be the player is sent to the staging area, and they can enter the quest area again or reset it. (Make it replayable, but anything unlocked by it doesn't reset.) We had talked about the idea of being able to replay quests when you have more abilities to do new things, but I think that might be another discussion if we go down that road.
    • If there are events (meaning, cutscenes, interactions, sokobans, etc.) that are conditional on the quest completion we should have the player sent to the scene those events are in, and have some kind of environmental blocker until the player completes the event. So like, if the player has to complete the sokoban on finishing the quest, they are sent to the eternal loom, but are surrounded by townies and they are forced to interact with the loom to continue.

    There may be better ways to go about that as we develop out the quests, but at the very least I feel its just easy enough to just force the player to complete the sequence if we need them to do that.

  2. Mechanically, I think that the collected threads should now be per-quest and tracked that way to just keep it easier for managing quest conditionals. (Possibly an amorphous object?.... In case we ever have a quest not just be retrieving threads?) Basically like, the progress with threads are only relevant inside of the quest, and outside in the overworld you either have them (completed the quest) or don't (haven't finished.) So any UI or anything that is relevant would only be active inside that quest.

    • I'll add that narratively, it was a little confusing to me that the threads seemed to be refereed to as very singular objects, but you had to keep collecting them over and over in each quest. So I feel we'll have to have some kind of rewrite or explanation there if we want the player to only collect threads.
  3. Mechanically I think walking off the edge works fine, I would add some signage that you're exiting the quest at least. (And later on, maybe a UI popup that lets the player know they're exiting the quest but progress will be saved.)

@JoniCeceri
Copy link

This is awesome! Some thoughts:

I know this is a prototype, but it is a bit akwards to me that the overworld opens up by walking to the west in Fray's End (same place as you come from). I found it after talking to the Elder that hints "find the musician" and then exhausting all the east frontier.

This makes the game more linear. Previously, talking to the Lore Elder let you start any quest. With the player abilities change, I think there is an opportunity to make the game more replayable and less linear.

Yeah I do think the overworld exit possibly right next to the elder would make things less awkward, it's findable but we should have it in the player's eyeline as soon as they're told to find it.

@manuq
Copy link
Collaborator

manuq commented Mar 11, 2026

Yeah I do think the overworld exit possibly right next to the elder would make things less awkward, it's findable but we should have it in the player's eyeline as soon as they're told to find it.

I'm pretty sure Will avoided redesigning Fray's End as that's not part of the prototype. I would have done the same :)

@manuq
Copy link
Collaborator

manuq commented Mar 11, 2026

I did a playtest and found one issue:

  • Started a new game
  • Went straight to the west and used the overworld (nice!) to get involved in the Musician quest.
  • Abandoned/resumed the Musician quest twice:
    • during ink combat round 2
    • during stealth level, after progressing a bit (resuming from the last checkpoint works like a charm!)
  • Finished the Musician quest and was teleported next to the loom.
  • When interacting with the loom, it says "You are lacking the threads...".
image

Is this issue part of the per-quests threads being discussed above?

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.

Prototype an overworld

3 participants