Arguably the cutest version of LÖVE yet, version 0.9.0 codename Baby Inspector has been released, bringing LuaJIT, better multiplayer networking and much more. Rejoice!
The changelog for this version is big – really big. In fact, the developers claim that the changelog for this version is the biggest in LÖVE history by number of changes. This is good news, though it will take some time to read through all of them.
Be cautious, however: this release breaks compatibility with 0.8.0 games. This means that you will have to change your code to make your game run under 0.9.0. The changes aren’t likely to be very serious, with most of them being due to the renaming of some of the built-in functions. All right, onto the fun stuff now.
The coolest addition by far is the inclusion of LuaJIT in LÖVE. This means increased performance and unprecedented flexibility, in no small part thanks to the FFI library, which allows direct calls to C functions from within your code. However, this also means that you should take great care when running unknown LÖVE files – direct C calls can potentially cause very dire consequences.
Another cool new feature is ENet for better multiplayer networking. ENet has been integrated with LÖVE through the lua-enet wrapper, which is somewhat similar in its interface structure to LUBE, my go-to networking library for LÖVE games. I will probably stick with LUBE until I’m more familiar with ENet, at which point I’ll try to make a decision about what to use, but a native multiplayer networking is definitely a great addition.
Version 0.9.0 also adds three completely new modules.
love.math offers things like a new PRNG number generator, Bézier curve objects and more.
love.system provides a higher level of interaction with the user’s system, allowing you to get information like the current battery status and contents of the clipboard.
love.window adds a better interface for working with the game window, allowing you to dynamically set its title, icon, density-independent sizing and more.
Some of the old modules have been reworked as well.
love.graphics has been cleaned up and upgraded, both in terms of performance and in terms of features – LÖVE now has texturable 2D polygon meshes, support for compressed textures and mipmaps and more.
love.joystick has also been reworked, and
love.thread has been revamped completely.
To summarise, this update brings many increases in performance and some cool advanced engine features. The addition of high-density screen support leaves hope for eventual platform agnosticism, but let’s not get our hopes up too much. Big thanks to the development team for continued active support of their product, congratulations on another major release and best of luck in the future.