Ever since I gave up on making my own game engine through C++ and Libretro bindings, I took another thorough look at Lua and LÖVE.
What I found was amazing.
First, I found Moonscript, a language that compiles to and simplifies the already pleasantly simple Lua language. One big benefit is its adding support of classes. I mean, while I am still concerned with how this object-oriented programming is actually a pseudo-functionality, that this feature is built in this simplifying language is just great! Also, because Moonscript compiles to Lua, I can write PICO-8 programming in Moonscript, classes and all, before pasting the code in the cartridge! I do not have to worry about a separate function that simulates object-oriented programming in PICO-8! Indeed, there is already a way of inputting Moonscript in the PICO-8. My only real concern that I would not be able to mix regular Lua with Moonscript or use regular Lua libraries with .moon files.
Going back to the LÖVE forums had me reacquainted with several libraries and introduced to a lot of new ones:
- bump.lua adds simple collision detection.
- cargo efficiently loads resources.
- il8n helps organise localisation.
- locco generates documentation based on Markdown-formatted comments.
- lovekit gives a lot of functionality and is based on Moonscript. While I do not know what each sublibrary does, I like tilemap, which draws the game setting from a small pixel image.
- lyaml parses .yaml files.
- material-love provides Material Design to GUIs in LÖVE.
- push manages the different possible solutions a game might have.
- sodapop is an animation library.
- SUIT is an immediate GUI.
All this made me actually eager towards game development!