Fix townies walking speed issue #2620 - #2809
Conversation
manuq
left a comment
There was a problem hiding this comment.
Before I continue with the review, I would like to see the unneeded changes reverted.
| ## Call [member RetellingTownie.go_to_the_loom()] on each townie so they join. | ||
| ## Call [member EternalLoom.show_retelling_dialogue()] when all townies have joined. | ||
| ## May call [member RetellingTownie.become_helper()] on one townie (at random). | ||
| ## Call [member RetellingTownie.leave_the_loom()] on each townie so they leave. | ||
| ## Call RetellingTownie.go_to_the_loom() on each townie so they join. | ||
| ## Call EternalLoom.show_retelling_dialogue() when all townies have joined. | ||
| ## May call RetellingTownie.become_helper() on one townie (at random). | ||
| ## Call RetellingTownie.leave_the_loom() on each townie so they leave. |
There was a problem hiding this comment.
Please explain why you changed the documentation comments.
There was a problem hiding this comment.
Hi! My apologies for that. I slightly modified the format of the comments just to make them easier to read while I was working on the code, but I didn't mean to change them. I'll fix them so they're back to their original version.
There was a problem hiding this comment.
Actually I believe both the old and new formats were wrong - based on https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_documentation_comments.html#bbcode-and-class-reference the () should not be included and since these are methods they should be e.g. [method RetellingTownie.go_to_the_loom] rather than [member RetellingTownie.go_to_the_loom()]
|
|
||
| ## The Eternal Loom, for listening to signals and calling | ||
| ## [member EternalLoom.show_retelling_dialogue()]. | ||
| ## EternalLoom.show_retelling_dialogue(). |
| eternal_loom.retelling_started.connect(_on_eternal_loom_retelling_started) | ||
| eternal_loom.retelling_finished.connect(_on_eternal_loom_retelling_finished) | ||
| eternal_loom.give_retelling_upgrade.connect(_on_eternal_loom_give_retelling_upgrade) | ||
|
|
||
| eternal_loom.retelling_started.connect( | ||
| _on_eternal_loom_retelling_started | ||
| ) | ||
| eternal_loom.retelling_finished.connect( | ||
| _on_eternal_loom_retelling_finished | ||
| ) | ||
| eternal_loom.give_retelling_upgrade.connect( | ||
| _on_eternal_loom_give_retelling_upgrade | ||
| ) |
There was a problem hiding this comment.
Why change the format here? Check https://github.com/endlessm/threadbare/actions/runs/33290260227/job/99564258513?pr=2809 and please consider installing pre-commit like our Contributing guide mentions.
There was a problem hiding this comment.
I'm sorry.
I thought the code was too densely packed,
and I usually tend to break it up in my classes,
so I didn't think it would affect the design :((
I hadn't checked carefully enough to see that it didn't include the precommit; I've already added it to comply with the rules.
|
Play this branch at https://play.threadbare.game/branches/Nickssssss-del/fix-townies-speed-clean/. (This launches the game from the start, not directly at the change(s) in this pull request.) |
Update 1 — Adjusting the Townies' Speed
Tests were conducted with different speed ranges to improve the pacing of the retelling scene, as the townies could move too slowly and make the scene feel drawn out. After comparing different values, the 175–264 px/s range was selected, as it provided smoother, more appropriate movement without making the characters feel too fast.
Evidence:
175-264.mp4
Update 2 — Arrival Synchronization
A system was implemented to synchronize the townies’ arrival at the Eternal Loom. The distance traveled, assigned speed, and estimated travel time are calculated individually for each character. Then, the longest travel time is used as a reference, and a start delay is calculated for the other townies.
Evidence:
Sincronizacion.1.mp4