Oooooooh, fancy slow-motion effects! |
tl;dr: I added dynamic slow-motion and animation-state prediction during navigation preselection!
What happened last week?
Highlights
- I added dynamic slow-motion when pressing down while selecting a new navigation target.
- This makes it a lot easier to accurately plan the player's movement.
- Also, it looks really cool!
- I added navigation-preselection animation-state prediction.
- This consists of rendering a ghost of a player in their future position and in their future pose (animation frame) for a given future time.
- This is useful during navigation-preselection, so you can see where the computer player will be when your human player gets to their destination.
Laundry list
- Add support for scaling individual checkboxes.
- Reduce inspector checkbox size.
- Fix a couple ScaffolderTween issues.
- Replace usages of the normal Tween with my new custom ScaffolderTween.
- Update LevelSelectScreen to auto-expand the last level played.
- Fix some issues with how focus is handled with the level-select-screen up/down support.
- Add support for slowing-time while showing navigation pre-selection.
- Add a desaturation effect when in slow-motion mode.
- Fix a bug when ScaffolderTween objects are freed.
- Update PlayerAnimator playback speed to match slow-motion speed.
- Scale min-velocity-to-maintain-collision-hack values to account for velocity-scaling for current slow-motion rate.
- Refactor where PlayerAnimator params get configured.
- Add navigation-preselection animation-state prediction.
- Create a new HTML build.
- Spent some time debugging window-resize events in the HTML build.
- :( Seeing some slow performance in the HTML build that I’ll need to take a look at.
- Fix an issue with occasional negative edge durations.
- Make predictions not desaturated.
- Fix prediction animation position to account for animation speed.
- Update predictions to face the player in the correct direction.
- Fix a rare movement-calculation epsilon bug.
- Fix squirrel prediction animations.
- Fix a rare waypoint calculation epsilon edge-case bug.
- Fix initial visibility of predictions.
- Fix squirrel prediction directions when at rest.
- Fix animation speeds to match movement speeds.
- Fix an issue with the animation speed stacking on itself.
- Render computer-player navigation trajectories during slow-motion; make this configurable.
- Make nav-trajectory annotations configurable per-player.
- Tween navigation prediction state as the preselect path changes.
- Create a path-segment draw utility.
- Start implementing a navigation trajectory pulse animation.
- Finish implementing a navigation trajectory pulse animation.
- Spent an embarrassing amount of time stuck on a simple bug where I was using modulus instead of division...
- Fix a bug with invalid playback.get_elapsed_time_scaled when the instruction set is empty.
- Fix an issue with the border width shrinking around the destination-marker cone-end-point.
- Fix kinks in path annotations.
- Add support for configuring whether the nav-pulse animation grows from start to finish, or remains as a small sub-segment that slides from start to finish.
- Add a fade-in tween for new nav trajectory annotations.
- Add a fade-out tween for nav trajectory annotations when toggling them on/off with slow-motion mode.
- Add a fade-out tween for nav pulse animations.
What's next?
Next, I'll probably be doing a subset of the following:
- Add support for in-air navigation destinations if the click position is far enough from any surface.
- Add support for auto-zooming-out and panning the camera when the user is trying to navigate close to the edge of the game region (and back in if not).
- Add support for lazy-loading platform graph files separately from the rest of the game file.
- I suspect this might fix some memory issues I'm seeing in the HTML build...
I'll be doing a little less the next couple weeks, since I'll be spending time with family.
🎉 Cheers!
Comments
Post a Comment