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).
small tile engine demo, everything still a bit rough
In december and january i started coding a small "engine" for rapidly making some 2d games. It's made for making tile-based pixel art games, loading maps made with the TileD editor. I made some tiles and animations with aseprite, but it's still everything rough to get fast with the workflow.
I also started making some studies to improve my skills at pixel art, they have a page here.
The engine is made with love2d, loading TileD maps exported to lua. After fully coding a game in c, I found coding in lua really comfortable, it's a language built around a very flexible table container, and luaJIT is fast. This tutorial helped me to both refresh my lua and swiftly learn love2d.
For now the "engine" feature:
Rendering tilemaps from the .lua level file, including mirrored or animated tiles (this tutorial was very helpful to understand how to use tilesets in love2d).
Rendering image layers from the .lua level file with parallax scrolling.
Basic collisions, built around the HC love2d library.
a character controller code suitable for an action-platformer, the jump code is based on this GDC talk (still a bit glitchy).
A dialog module, also retrofitted to manage simple menus.
A module to draw strings with some fancy fx (based on input characters), obviusly ispired by bitsy games.
Rectangle areas that can trigger camera change or a dialog section, camera can be set to fixed or dynamic indipendently for x and y axis, camera movement is smoothed with a settable amount. Leaving the area exit the dialog, even though each line can be set to exclusively catch the input (for forcing the player to choose an option or to listen everything).
making the tileset
working on the TileD map for the demo
There is still some work to do (audio code, gamepad support, level loading/switching, configurable settings, etc) but it could be ready for some game jams soon.