WIP: Remember threads between quest playthroughs - #2693
Conversation
|
How to test:
|
|
Play this branch at https://play.threadbare.game/branches/endlessm/wjt/store-collected-threads/. (This launches the game from the start, not directly at the change(s) in this pull request.) |
|
This is a work in progress. I am more interested in review of the gameplay than of the code. The incompatible requirements I am trying to square are:
In this branch, the behaviour of a previously-collected thread depends on whether the thread has a "next scene" configured:
The intuition is that optional threads should not link to another scene, while mandatory threads always do. (However I can already imagine cases where we might want to teleport the player after an optional thread...) |
|
One reference of optional collectible: the 10-flower coins in Mario Wonder. These are big purple flower-shaped collectibles. There are 3 per level. Once you collect them, they dissapear. The next time you play the same level, they appear stippled. If you re-collect them stippled, they dissapear again. |
|
Noting here the convo from the meeting: removing requirement 4 by having the teleporter interactable threads be "legacy" and new threads going forward just be collectables (with existing levels reworked to accommodate changes) Also noting, have collected threads on replaying level be replaced with bonus buttons to "mark" their collection and also give a slight bonus to players who backtrack to them. |
|
We discussed this in the build review. In summary:
Actually I think we could do the refactoring mechanically:
There are some edge cases to deal with here though:
|
14ed33f to
0982254
Compare
0982254 to
337c2e3
Compare
|
What I decided to do as a first step is to make the behaviour consistent as follows:
|
|
There are still some bugs in this patch but I ran out of time before my week of vacation so I've pushed what I have and tried to summarise what's left. |
TODO: - In two places we award threads in dialogue that aren't tagged with a scene + node. Seems bad, not sure what will happen. Put a non-revealed CollectibleItem in the scene, make the collectible_item.gd script make the TaggedItem when the item is set on it, then from dialogue award that? Or add `CollectibleItem.award()`? Or make it a playable scene? - Figure out the fray's end exit blocker issue. I think the problem is that I changed the Loom's "can deposit threads" condition to be "is on a quest" but there is no change notification for that.
337c2e3 to
e7e5f5d
Compare
Thanks! I can take it from here. |


TODO:
In two places we award threads in dialogue that aren't tagged with a
scene + node. Seems bad, not sure what will happen. Put a non-revealed
CollectibleItem in the scene, make the collectible_item.gd script make
the TaggedItem when the item is set on it, then from dialogue award
that? Or add
CollectibleItem.award()? Or make it a playable scene?Figure out the fray's end exit blocker issue. I think the problem is
that I changed the Loom's "can deposit threads" condition to be "is on
a quest" but there is no change notification for that.