Re:Show HN: I open sourced a game I just released on Steam, ...
by canadianfella on Sunday May 23, 2021 @01:21PM
(#27256729)
> Neither functional constructs nor OOP are not included in Lua
That’s hard to read.
Re:Show HN: I open sourced a game I just released on Steam, ...
by Banana699 on Sunday May 23, 2021 @07:24PM
(#27259556)
I think they didn't mean the double negative, since they continue with "both can be brought with libraries" which implies they are not included in the core language, which is the opposite of this doubly negated statment.
Re:Show HN: I open sourced a game I just released on Steam, ...
by samatman on Monday May 24, 2021 @12:00AM
(#27260975)
It's very likely, given the occasional dropped article, that the poster in question is not a native English speaker, and probably from a language where 'double negative' is agreement, as in "we don't need no education".
Re:Show HN: I open sourced a game I just released on Steam, ...
by jmiskovic on Monday May 24, 2021 @04:15AM
(#27262093)
You are correct that I'm not a native speaker, and also that my language uses double negatives. Alas, this mistake was due to editing small part of sentence and neglecting to re-read the whole thing. I won't try to avoid not making this error never again.
Re:Show HN: I open sourced a game I just released on Steam, ...
by jmiskovic on Monday May 24, 2021 @03:41PM
(#27268793)
Also, thanks for pointing out the dropped articles. The gmail spell checker often wants to insert those into my texts. While in most cases it felt they were not necessary, obviously the omission gets noticed.
You can get fun things to happen with few lines of code. The whole API fits into your head, and together with Lua's simplicity this is a powerful combo. Any complexity in code comes from your side. With live reloading, development happens in tight loop with running environment, and this easily drags you into the zone.
At the same time the framework is low level. The included functions cover only interfacing HW and rendering graphical primitives. It's just a thin abstraction layer that greatly simplifies accessing OS features. Everything else like scene management, AI navigation, live code reloading, skeletal animation, common graphics shaders, tile maps, sound management, UI, that's all left out of the framework. Numerous Lua libraries were made to fill in the missing stuff.
You get to pick from different solutions and glue them together with script code. This is very consistent with general Lua mindset. Neither functional constructs nor OOP are not included in Lua, but both can easily be brought in with any of dozen libraries. It creates fractured space and it's kind of bazaar of different tech stacks that are same but different.
Other frameworks and engines (Defold, Solar2D, Roblox) that use Lua all take integrated approach where more of functionality is crammed into engine itself. This is a more closed solution where you aren't supposed to extend the engine much, just script inside it.