In April the work on gamedev was mostly slow, as i'm putting a lot of time on improving my art fundamentals. I've just taken the previous maps and built two aseprite / tiled map template from that to use a starting point.
For improving my drawing skill (and hopefully my pixel art) I've studied a bit of lessons from drawabox. In the past months I got up to lesson 3 ( including drawing 250 boxes ) and now trying other resources, expecially Marc Brunet videos on youtube. I've seen some improvement but there's still a lot of work to do ( leading to probably more months with less coding and few things to show ).
The feature added to the engine i'm building with love2d are:
Correct rendering of top down rectangular tiles. The engine physics is based on square tiles but the graphics are rendered with the tileset ratio.
Top down character controller, with featuring dashing and some tweaks for automatically navigating around near corners. Different tipes of working walls and stairs.
Refactoring for both the top down and platformer avatar, functionality divided between a movement controller and an animation component.
More refactoring and cleaning.
I also researched a bit for a good workflow for animating sprites, this time i used as reference an animation downloaded from Mixamo and rendered by Blender:
blender can render 3d models in orthographic projection instad of using perspetive
i always animate the skeleton moving before putting it in place, making it travel a constant amount of pixels ( 4px here )
I've also scrapped a good amount of stuff, here it is the first character / tile design, the tiles were ispired by Ricardo Bofill's Muralla Roja :
we heard you like games, so we put a game inside your game
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).