This is AWESOME!!!!!
Actor Revamp & Minor Features
Since the start of the month there've been lots of improvements in the Platform Template. See, the project received a lot of issues reports, and that's totally awesome this is how I know what you want from this template and how I can help you achieve the game you dream about.
The major and more urgent tasks were aiming for the Platform Actor so I made some milestones and all of them were achieved already!
So what was in these milestones, you might be asking yourself now, right? So let's start a small log
Platform Actor Hotfixes(Revamp)
- Exposed a lot of logic constants to the inspector (SLOPE_STOP_SPEED, FALL_THRESHOLD, etc...)
- Each state now contain all the properties in itself, instead of having everything in the Platform Actor
- Every state now has access to the previous state that transitioned to it (eases state transitions)
- Every state the Platform Actor could be at now is way cleaner to read and understand
- Platform Actor methods (jump, wall_slide, dash, walk...) now just handles transitions instead of also handling the logic, all the logic was moved to the states themselves
- Added some configuration variables to the Platform Actor in order to make it more flexible, e.g. you can decide through a bool exposed in the inspector if the character can perform a dash or can wall_slide
- The Platform Actor is not a plugin anymore, this will prevent some bugs that may happen with the revamp on Godot's plugins approach, also setup the ground for the new way to add scenes as nodes
- Moved all physics related passive transitions to the states they are meant to transition from, i.e. the actor itself just move, every condition is now self contained into each state
- Moved velocity calculation to each state, e.g. wall applies a actor.GRAVITY / wall.friction to the actor.velocity.y the actor just apply move_and_slide based on the resulting velocity calculated by each state
- Fixed actor being able to jump multiple times when coming from a wall
- Fixed actor getting stuck in the wall after dashing to it
Juiceness(New Features! \o/)
- Add PopLabel, good to use for score, damage and other visual feedbacks
- Implement ShakeCamera and RigShakeCamera
- ShakeCamera is meant to have its position controlled directly from inside a hierarchy (Actor, Level, Screen's hierarchy, etc...)
- RigShakeCamera is a RemoteTransform meant to control a Camera2D that is outside the Actor hierarchy
- CoyoteFall, a timer on the walk state that, when turned on, will give a threshold time to consider the player fell, e.g. when walking from a cliff and not touching the floor anymore, the Actor will have a small time to be able to do a normal jump (double jump, dash, etc...) as if it was still on the walk state
Well, that's it everyone. Thanks for you support! <3
Keep developing and until the next time!