Naev LÖVE

ON MARCH 14TH, 2021

This post is about development on Naev 0.9.0.

LÖVE Logo.

Disclaimer: the LÖVE project has nothing to do with Naev. We just thought their API was cool and decided to implement it.

As you may know, the Naev scripting engine is written in Lua. Since the original releases of Naev, the Lua ecosystem has seen an incredible growth, being using in notable games and software. One of these great frameworks is LÖVE, which is a 2D game API. While we haven’t rewritten Naev in LÖVE, what we have done is implement a subset of the LÖVE API in Naev. In combination with the dialogue systems we had already implemented in Naev, we were able to extend it such that LÖVE games could be launched inside of Naev using the Naev engine. Since a picture says a thousand words, let us see some examples taken from simplegametutorials.

Flowers demo running in Naev

We can see the game is being run inside a dialogue window inside of Naev. Mouse input is passed and it reacts to user input.

Snake demo running in Naev

An independent game loop can also be run inside of Naev, along with keyboard input to create a snake game.

Of course what game is complete without a Sokoban minigame?

Sokoban demo running in Naev

Since Naev itself has asteroids, it seems like the next logical steps is to run an asteroids clone inside of Naev.

Asteroids demo running in Naev

Although we haven’t shown any original mini-games. The LÖVE API has a nearly infinite potential for creation. In future posts we will show some of the different ways it is being used in Naev.