What do I think about Lua after shipping a project with 60k lines of code?
a year ago
- #Defold Engine
- #Game Development
- #Lua
- Lua was chosen for Craftomation 101 due to its integration with the Defold engine and lightweight builds for educational platforms like Chromebooks.
- Key surprises with Lua included the lack of increment operations, 1-based indexing, and functional programming influences.
- Lua's 'everything is a table' approach simplifies coding but can lead to bugs if references are misunderstood.
- Performance in Lua is generally good ('feels like fast'), with few cases requiring C++ optimization in Craftomation 101.
- Lack of static typing in Lua led to runtime errors, but QA processes helped stabilize the game.
- Future projects may stick with Lua but adopt better module organization and automated testing.
- Defold's fast build times (4 minutes for 60k lines) and CI efficiency were highlights.
- Alternative languages like TypeScript or Luau were considered but deemed less viable due to unofficial support in Defold.
- Defold is expanding language support with transpiler options (e.g., Teal) and native C# bindings, though Lua/C++ remain primary.