So pretty, so Beta-5!
What's new in the game?
Menus evolved a lot, with special care for the transition.
Now the menus scroll to each other, and fade-out to start a game. Also, the clouds on the title screen are now animated, and move in a parallax way according to the menu transition.
It has nothing to do with transitions, but the character selection now shows a little bit of grass behind characters.
The running animation has been reworked, rubbing the scimitar, spawning sparkles. When Sinbad runs, he is more imposing than ever!
A spawn animation has been added. It delays a little the beginning of the match to let players warm-up their hand. More importantly, the presence of Sinbad on this island is now explained! He comes from a portal...
Finally, the end-game slowdown has been extended from one second to two. Occurring when one player loses its last stock, this slowdown lets the winner some time to taunt. And yes, it is super important to have the time to correctly humiliate the loser!
What's new under the hood?
Steady progress on the stblib
The Python library that allows storing and manipulating game's structures in Json is now perfectly able to manipulate animations. Actually the new spawn animation has been done entirely in Json instead of the obscure binary format compatible with the NES.
The original idea was that all menus in Super Tilt Bro where like independent games. When going from a menu to another, the previous game was stopped and a new one was initialized.
Implementing smooth transitions and, with more impact, clouds that continue to move from one menu to the next, challenged this design. So, now menus are able to communicate to each other some shared state without friction. The goal was not to rewrite entirely the menus implementation, so only a common chunk of code is able to manipulate this state. Previous code is not impacted, except that it calls the common code regularly.