Page 1 of 1

Welcome and initial impressions on Love2D

Posted: Thu May 29, 2014 11:08 am
by gestaltist
Hi everyone,

I have been toying with game development for a few weeks now. I started with Python and pygame/pyglet/cocos2D, as I already know Python. However, after my repeated frustration with the aforementioned libraries, I have decided to give Love2D a try.

Some initial impressions:
- Lua is awesome. I have basically learned it in two days and I am not even a professional programmer. I can tell the language design stems from real-world usage and it is great.
- Love2D is awesome, as well. I am very happy with the clean design and with the active development (all Python tools I have tried are more or less dead when it comes to development). I have written a complete Pong game in one afternoon at the first try. This speaks both to the good documentation and well thought-out behaviors of Love2D and Lua itself.
- I don’t know why so many people claim that the love.physics module is complicated. I have included it in my Pong game and haven’t had any trouble with it. And I have never worked with a physics engine before.

One question/rant: why does Love2D use Lua 5.1? Lua 5.2 has been around for 2.5 years now! I have installed the newest Lua distribution and it is annoying to have some things fail either in Love2D or in the CLI. E.g., unpack vs. table.unpack.

So anyway: welcome everyone. I hope to be visiting often.

Re: Welcome and initial impressions on Love2D

Posted: Thu May 29, 2014 1:18 pm
by Roland_Yonaba
gestaltist wrote: - Lua is awesome.
gestaltist wrote: - Love2D is awesome, as well
And you're awesome, too. Welcome around.
gestaltist wrote: One question/rant: why does Love2D use Lua 5.1? Lua 5.2 has been around for 2.5 years now!
This has been discussed many times on the forums.
Let me redirect you to those threads.

Re: Welcome and initial impressions on Love2D

Posted: Thu May 29, 2014 1:53 pm
by slime
Hi!

LÖVE actually uses LuaJIT by default, which is based on Lua 5.1 but also has a few of Lua 5.2's features enabled as well. LuaJIT can be up to hundreds of times faster than regular Lua when running identical code, and it has a really nice FFI which lets you write even more efficient code as well as easily use C functions in Lua. Those qualities make it an ideal upgrade from regular Lua in the context of gameplay code.

Re: Welcome and initial impressions on Love2D

Posted: Thu May 29, 2014 4:28 pm
by gestaltist
Thank you, slime, this is a very helpful explanation. The link you gave suggests that table.unpack should actually work, which it doesn't. Weird.

Re: Welcome and initial impressions on Love2D

Posted: Thu May 29, 2014 5:24 pm
by slime
table.pack/table.unpack are listed in the section of Lua 5.2 features which are only enabled when LuaJIT is built with explicit Lua 5.2 compatibility support (which isn't done with the LuaJIT builds distributed with LÖVE, for now.)

Re: Welcome and initial impressions on Love2D

Posted: Fri May 30, 2014 7:18 am
by gestaltist
Thanks slime. Are there any specific reasons why this is so? Not that it is a serious issue. I’m just curious.