Hasty Briefsbeta

Bilingual

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.