My new baked torch-flame animation. Much more efficient than dynamically creating flame particles on-the-fly. |
What happened last week?
Note: Just to clarify things a bit, each "level" in Inner-Tube Climber consists of a series of "tiers". If you fall, you will restart on the latest tier that you have reached. So "level" creation, is really mostly just "tier" creation.
I fixed a lot of little bugs!
- Fixed a performance issue with a very slow frame when reaching a new tier.
- Replaced individually defined inner-wall tiles with a more-efficient single large non-collidable colored rectangle.
- Replaced dynamically rendered torch particles with much more-efficient "baked" particles.
- Fixed a confusingly reported bug where my CameraController would reference the already `queue_freed` (deallocated) camera, but the reference wasn’t null yet.
- Godot would throw an error saying the camera is null, despite having just passed a null check in an `if` statement.
- Apparently, Godot has multiple, inconsistent types of null. Yay...
- Adjusted player collision width, so that they can squeeze through one-tile-wide gaps.
- Deferred my Audio calls until the next frame, since the calling frame is usually pretty busy.
- Slightly increased the mobile-control-v1 reverse-direction distance threshold.
- Added a guard preventing movement past tier-start bounds when still jumping from previous tier.
- Before, it was pretty easy to be bouncing side-to-side out of control from the end of the previous tier, and then fly right off the edge of the new tier.
- Fixed a bunch of issues with snow transitions when reaching a new tier.
- Updated the debug panel to show on all screens, not just the game-play screen.
- Fixed a long-standing bug where max-height indicators would sometimes not align correctly.
- This was due to an annoying bug in Godot's Tween system, where the property or method would not always be set with the final end state; so when I was sliding the indicator upward, it would sometimes stop short.
- Replace all native GDScript `print` invocations to now print to my custom DebugPanel instead.
- `print` statements are surprisingly expensive.
- Also, `print` statements aren't as usable on mobile devices, or in non-local releases.
- Refactor the music sequence to now be encoded as part of level configurations.
- This gives me more control of which music is played during which tier.
- Fix when the rate-app screen is shown.
- It was being shown too early, after the player clears their first level.
- I want the player to instead clear a few levels before pestering them with this.
- Fix a bug that would flash a newly unlocked level-select item as unlocked briefly before starting the animation to show it being unlocked.
- Enlarged the LevelSelect button on the game-over screen to make it more prominent.
- Adjust mobile-control jump-tap region to be only a third of the screen width.
- The drag-sideways region needed more space.
- Added better screen-size configuration for debugging.
- Adjusted in-air player movement to be more responsive to wind.
- Disabled screen inputs while screen navigations are in progress.
- I was seeing occasional bugs when clicking on a button from a screen that wasn't quite ready to handle clicks yet.
- Added a jump-with-right-hand option, for left-handers.
- Fixed max-height indicators for horizontally-scrolling tiers.
- They weren't following the horizontal camera pan before.
- Fix fog screen opacity and wind speed.
- Fix one-way collisions in ice-wall tiles.
- Fix the sound effects toggling setting.
- Refactored OpennessType to be assigned within the top-level tier-configurations file rather than on individual Tier scene.
- Added a new open-sided tier base.
- Replaced the pause-screen Home button with a Quit button, which instead sends you to the game-over screen and saves your score.
- Added support for clicking on an About button in a labeled-control-list row in order to open a screen showing more information.
- This is useful for explaining how changing the difficulty mode will affect gameplay.
- Added support for removing extra lives in HARD mode.
- Fix an issue with overlapping music fade transitions.
- Added support for playing each individual tier in its own separate level, to make playtesting easier.
What's next?
- Create even more tiers!
- Polish my level progression.
- I need to make some of the early tiers easier.
- And I need to design things so that the player can easily learn new mechanics bit by bit.
- A few more bug fixes.
🎉 Cheers!
> "Apparently, Godot has multiple, inconsistent types of null. Yay..."
ReplyDeleteUndefined vs Null haunts you in a new language :)
There's no escape!
DeleteNice, it's looking good! The wind mechanic reminds me of Celeste. :)
ReplyDeleteOh yeah, I forgot all about the wind in Celeste! I should probably go replay that game...
Delete