This week we discuss many new improvements and additions to essential player mechanics such as combat, movement, and the camera! Players will spend a lot of time travelling procedurally generated worlds so making sure the movement, camera, and combat feel right is essential.
I want to give a big thanks and a shoutout to LikeCasoar and Diego Garrido Martinez for supporting development via Patreon this week! Your contributions are very appreciated! 😊
Fight two procedurally generated zombies. More fluid and responsive combat and new strafing mechanics.
Combat has been improved to be more fluid and responsive. A couple of additions visually have also been made such as weapon drawing and an 'alert' effect that displays over the heads of mobs.
A big focus of this week was to make combat look and feel better. A few things were done to achieve this, they are detailed below:
- Animation interruptions
Striking consecutively will interrupt the animation of the previous swing. This prevents the player from going back to the idle animation after striking.
- Reduction in weapon wind up time
There was a slight reduction in the amount of frames the weapon wind up portion of an animation took up, this gives a more responsive feel to striking.
- Improved zombie attack animation
Made the animation more defined and noticeable. This is something that I'll be keeping in mind when working with future mob attack animations so that you can easily tell when an attack is coming.
- Mob damage delay
There is now a damage delay mechanism for mobs to correspond with a certain point in a mob attack animation. This makes it look more smooth and responsive when being attacked.
Combat Visual Additions
When undrawn swords are placed on the back. Weapons are drawn when striking.
Most weapons/tools will be placed on the back, but smaller weapons like daggers will be placed on the hip.
Mob alert effect. When mobs detect a target this will display over their head.
I'm not 100% sure if I'm sticking with this, I was just kind of experimenting to see how it would look. Would like to hear what you guys think!
Showcasing improved movement.
How the player moved around was pretty much completely redone to allow more freedom of movement and to feel more 'RPGish'. Mobility and freedom of movement are a priority when designing the player systems in Fableforge due to its nature of exploration and adventure. These additions and improvements (and future ones!) reflect this philosophy.
New Movement Mechanics
Previously the player would always face the direction of the camera and would move forward, strafe side to side (no animation), and move backwards. Now the rotation of the player and camera are independent. The player has 8 movement directions: left, right, forward, backwards, and diagonals. On close angles the player will smoothly rotate to that direction and continue moving forward, larger angles the player will immediately orientate himself in that direction.
When performing actions (striking, gathering, blocking, etc.) the player will immediately face the direction of the camera. The player will also now strafe when moving left, right, or diagonally, and move backwards (facing forward) when striking to always face in the direction of combat.
A subtle acceleration & deceleration mechanic has been added to movement to make movement feel less stiff and robotic. The base movement speed has also been increased, I found that this made movement actually feel better.
When striking the player strafes to preserve mobility while facing target.
Strafing has been in the game technically, but is now a fully implemented feature with animations and a small movement speed penalty (backwards movement also has a small movement speed penalty). This movement speed penalty was added because during combat I've found that it's easier to target and strike enemies while moving when you're moving slower. I still wanted to allow a good amount of mobility during combat so finding that middle ground was important here.
New jump animation and particle effect.
A jump animation and a particle effect when jumping and falling has been added. Jump height has also been increased slightly (player can jump 2 blocks high).
Player Camera Revamp
The camera is now independent from player rotation, meaning you can look and move in different directions. A good feature as you traverse your procedurally generated world and explore the many different regions you'll encounter!
Also some progress was made on making the camera feel smoother. The camera will smoothly transition on the y-axis, making going up and down appear smoother.
There's more work to be done in this area such as smoothing the mouse movements of the camera (to make the camera appear less 'snappy' and more fluid).
Next Week Preview
A lot of work has been done this week to improve essential features like movement, the camera, and combat. There's still a little bit left to do in this area that I'll be working on next week.
Another thing I want to do is revisit the mobs and possibly player models. I think some improvements can be made in their look and to their procedurally generated appearances. I'll also be improving and adding some of the mob's animations. I'll also be making some mob AI additions and improvements.
If I have time I'll be working on improving the UI (health bars, font, etc.), which is something I've disabled for now (you may have noticed in recent videos).
Pretty soon I'll be showcasing combat with other mobs!
If you have any questions, comments or feedback, let me know! You're feedback is important and I'd love to hear from you guys. You can email me at firstname.lastname@example.org, or by dropping a comment wherever you saw the link to this blog post! (twitter, reddit, discord, etc.)