Our great sponsors
-
The day-by-day dev log[0] is worth a read on its own. It's impressive what a single developer can do with the right determination and discipline.
-
Another good beginner game dev framework is kaboom.js
Example project online: https://kaboomjs.com/examples#level
And just to add, if anyone has been using love2d or other frameworks like it, give GoDot a try.
I started using it a few weeks ago and it's amazing how much I'm getting done with my game.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
For anyone else looking to make a game in Lua + Love2D, a developer wrote an entire tutorial for how they made their game, which is also released on Steam: https://github.com/a327ex/BYTEPATH. Both the game and the tutorial are high quality, and provide really useful insights.
-
Thanks for this, will pick through it to see if we can pick up any better practices or patterns. My 11yr old son and I playing with Love for a few weeks, learning OO, LUA, and some game engine principles.
https://github.com/ppriest/love if interested.
-
> It's really odd to me Lua is only used for games. It could take the same place Python has and many other things. It's a nice platform for scripting.
I’ve written quite a bit of code in Fennel [1], a Lisp language which compiles to Lua, and enjoyed thoroughly the simplicity of Lua. I implemented map, filter and reduce by hand using Lua tables and genuinely experienced joy with how Lua tables are such a unifying concept throughout the language. I even enjoyed 1-based array indexing after a short while.
(Furthermore, I have to say Lua is meant to be a Lisp, insofar as homoiconicity is the simplest language syntax, and being Lua underneath removes all the esoterica from Lisp, making the end result even simpler.)
But Lua was designed from the very beginning with the assumption it would be embedded within a systems programming language like C. Lua lacks basic functionality other, more full-featured scripting languages ship support for out of the box, e.g. Lua doesn’t even have mkdir. Also, once you survey the landscape for argument parsing in Lua, or cross-platform statically linked binary compilation in Lua, you realize the Lua ecosystem itself expects you to be using Lua as an embedded scripting language.
I was able to get really far embedding Fennel in Rust, for example [2]. Rust is miles ahead of Lua in all the areas Lua is lacking. Instead of clumsily tacking on an object system on top of Lua, write Rust structs. Or instead of using ancient libraries for cross-platform filesystem and IO handling, leverage the native Rust ecosystem (see: dirs-next, clap).
My idea was to just embed Fennel in Rust, and write almost no Rust. And while it does certainly work, I’m increasingly of the belief you should use the language best for the task. Lua is best at being an embedded scripting language, good when you want to ship an interpreter on top of a C/Rust application for instance, or when you want something fancier than TOML or INI for config.
(In this department, see also the work being done on Starlark in the Bazel ecosystem [3].)
-
Exactly my thought when I started working on LadyLua https://github.com/tongson/LadyLua
-
I believe you would like https://janet-lang.org/
It is lisp-like language with Lua like semantic and implementation, but it is separate from them.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
conjure
Interactive evaluation for Neovim (Clojure, Fennel, Janet, Racket, Hy, MIT Scheme, Guile, Python and more!)
Janet is what introduced me to Fennel. Conjure [1] sold me on Fennel over Janet. The Neovim community is rallying around Lua.
(And in fact, what sold me on Rust was its truly excellent Lua FFI support [2].)
-
Janet is what introduced me to Fennel. Conjure [1] sold me on Fennel over Janet. The Neovim community is rallying around Lua.
(And in fact, what sold me on Rust was its truly excellent Lua FFI support [2].)