I've been playing around with Lua and the LOVE game engine recently, and it is a lot of fun.

I am finding that there is something about this combination that is just fun. I can put together concepts quickly, get things on the screen, and iterate very quickly.

One of the fun things about LOVE is that it is so easy to get simple, geometric things on the screen. I missed being able to just draw on canvases in Unity.

The other fun thing is that it is so much easier to get a shader in place then other systems I've used (Unity, GameMaker, and the Elm language). This is great because shaders offer so much power to make fun visuals.

I've also enjoyed some of the libraries that are available. I especially like imgui- its got a really nice developer gui feel, its easy to use, and gives a lot of the abilities of the Unity editor, but in a way that you can put together yourself for your needs.

I also like love-toys, which is an entity component system. Its been interesting going from Unity, where everything is built-in, to LOVE where you can kind of assemble the peices you want. In the case of the entity system, its much more manual then it is in C# in Unity, but much better. I would rather do things programatically and be able to control how things work then offer up my code to a framework and try to figure out what it is doing.

The last thing is just the fun of using Lua. Its fun to use a new language, and its kind of a fun language by itself. Its dynamically typed, and has all the problems that come with that, but for simply fun programs that is fine. Its tables are quite strange, but are useful in a lot of cases. Hopefully I will write more about this in another post.

There is one game at http://github.com/nsmryan/lua-games, and one start of another.

The one game (first-game) happened organically while trying things out. It consists of dots that split periodically, and a cursor with certain powers to remove or effect the dots. There is no real point- you can remove the dots if you want, and try out different keyboard keys to see what happens, but there is objective or ending.

The second is just lots of experiments with shaders, flocking, cellular things, nearest neighbors, and cursors. Its not necessarily going anywhere, but its got some simple behaviors, growth, and flocking, which are things I'm interested in. It was partially an experiment in structuring code in Lua and LOVE- where the first game became unweldy, the entity system gives a way to structure data and code.

Anyway, I recommend Lua, LOVE, and imgui both for fun, and for work. You can put together tools pretty quickly, and get visuals on the screen with very little code. The LuaJit FFI also gives me ideas about visualizing information from embedded systems code.