For this post I want to talk about some things we’ve done to refine Wyatt’s controls.
In the original Valdis Story demo that I created almost 6 years ago, Wyatt’s left/right motion was limited to two states. Running and Shadow Dash. Running was done by holding down left or right, and dashing was a short burst of speed activated by double tapping either direction. Its important to find a good horizontal speed to give the character in a side scrolling game because you want to give the player optimal control of their positioning for both combat and platforming.
The platforming in the original demo was very forgiving (once the pit falls were removed by popular demand) and you began the game with double jump. However once you are familiar with the game you may get a little impatient when traveling around the world. So if you’re like me and you constantly used the back dash to travel faster in SOTN you would end up double tapping all the time to travel in Valdis Story. I had this in mind very early in development so I gave Wyatt two modes of horizontal locomotion, walking and running. Walking for precise positioning and Running for rapid travel. Running is activated by double tapping but once you are running you can continue to run just by holding the key. A slide to stop animation was added as a delay to give players using a joy pad enough time to switch between left and right directions and maintain running mode. These controls also add variety to the platforming when combined with the variable jump height.
Another thing I learned from the original VS dealt with landing after jumping or falling. At first there was an animation of Wyatt landing that would delay him for a short time before he could act again. Many players found this disruptive to the flow of game play so it was eventually modified to only play the landing animation if the drop was sufficiently long enough. This design was implemented from the start when developing Valdis Story A.C. ,however a new issue arose dealing with the new running mode.
The new VS has much tighter designed platforming and so a problem occurred when landing on a small platform after a running jump. This problem really becomes noticeable when you are changing direction in mid air. For an Example, if you did a running jump and in mid air you realize that you may be overshooting your desired landing spot so you press the opposite direction to steer yourself. The problem is, upon landing you would then run in your new direction and fall off of the platform you so skillfully navigated to. To fix this I made a variable that checked whether or not you have changed direction at any point mid jump. If this variable returns that you have changed directions in air it will activate the hard landing animation regardless of fall distance. The pause of the hard landing animation allows the player enough time to realize they have landed and to let go of the direction keys so they don’t walk off of the smaller platforms.
-This is a reply to a question from Wyatt- (that sounds weird 🙂 )
We went with a fighting game sort of approach to animation behaviors. There are recoil and rest animations that stop you, but they can be canceled by specific actions. When attacking for example, Wyatt’s basic light slash attacks with his sword are on average about 8 frames long. At the end of any attack animation he goes into a sheathing or rest animation. These resting type animations are used as recovery time to prevent infinite combos and to open up your defenses slightly if you wiffed on an ill placed attack. This animation can be completely avoided by using specific. skills and commands.
He can not “Walk” out of this recovery animation, but if you have input another attack command at any point the attack will be cued up and you will skip the rest animation and perform another attack starting at frame 7 until you reach your combo limit (starts the game at a max combo of 3). If you hold down the attack button to do a heavy attack it will cancel the light attack animation after frame 5 (the frame right after a light attack makes contact) and perform the heavy attack animation. The heavy attack command can be input up to the combo max+1, so you can do your basic 3 hit combo and finish it with a heavy attack all in one flowing combo.
Jump commands also cancel animations and depending when you pressed jump it may change cancel type depending on current weapon. With the sword equipped pressing jump at any point before frame 8 will immediately cancel into a rising launcher attack. Pressing jump at any point after frame 8 will stop the rest animation and go into a normal jump
I have referred to this skill before as “Sheath Cancel” but it was changed to skill cancel when other weapons were added to the game. The basic idea of the skill cancel is derived from the “Roman cancel” skill from the Guilty Gear Series. A skill cancel can be used at any time by pressing the down key, provided you have available skill cancel charges. The skill cancel will immediately stop any animation you are currently in (including mid air) and place you on the ground in a ready position while refreshing you combo limit. This can be used in many ways to extend you combos or perform a defensive action mid attack, which is why it is limited by charges. The charges only begin to regenerate when you are not attacking.
So in short there are resting and recoil animations that act as minor hindrances after attacks, but we have given plenty of tools for players to avoid those animations, and give them a real sense of flowing combat and control achieved by their own knowledge and skill.