In february I kept improving the 2d tile engine, I've added quite some features, expecially the code for managing audio tracks and FXs, improved character controller and full code for the menus and settings. Minigames can now be put inside the narration, as seen in the video above.
settings are correctly serialized and deserialized, obfuscated by compression (like in this post, I will use the same serialize/deserialize functions for game saves).
full joystick support, the shown glyphs are switched on the fly between the keyboard keys and the correct buttons for PS / Xbox / Switch controllers (code taken from this gamepad guesser). Joystick rumble can be used!
collisions: stairs now have a direction to be traversed when going up, you can go down the stairs by holding down while walking (it actually invert the stair direction), added ladders.
text can now be aligned to the right or centered
big narrator* refactoring: added sequenced images and interactive widgets.
various minor tweaks: avatar and collision fixes, settable letterbox bands, an object representing triggerable animations, general cleaning (expecially for input bindings).
* narrator is the object managing all the overlays: text panel, image panels, interactive widgets.
I've also done some assets to test those functionality, like the ladder climb avatar animation and the breakout game elements, the TileD maps for the splash screen and the shown video and the relative music and sounds.
I've setted for a random change in the ball x/y speed on paddle hit but probably a more interesting behavior can be coded ( maybe based on getting and setting the vector angle ).
the ORCA patch for the level background loops and sound fx
For making both the music and the sound fx i've used the livecoding environment ORCA (the c version) together with my sampler/wavetable synth folderkit. It's a combination that i've used to play music live for a few years so it's really convenient (for me).