What am I missing about Löve and Lua in general?

General discussion about LÖVE, Lua, game development, puns, and unicorns.
Post Reply
LinyeNinja
Prole
Posts: 2
Joined: Fri Apr 03, 2020 8:07 pm

What am I missing about Löve and Lua in general?

Post by LinyeNinja »

Hello and sorry for the long question, but this is something that is really bothering me.
I really enjoy electronics and have coded for quite a long time mainly in C for Arduino and in Java for Processing (which I used as a way of communicating with my pc). Some time ago I had a couple of ideas for some games, and, as I knew it very well, my language and ide of choice was Processing. Although I completed some projects with success and everything worked fine, online I kept seeing this language disregarded as a good tool for developing games. The main argument that I saw pointed out was that it was not really developed for that, so a dedicated tool would do a better job without requiring lots of libraries and stuff to make it work. For this reason around a week and a half ago I started looking into Lua programming and Löve, but thus far I have been slightly dissapointed by the experience. Firstly, searching online and while working on my first project I haven yet seen something that can be done with Löve that isnt easily doable with Processing, and the Lua language just seems a bit odd to me. Every single thing that I want to code is more difficult with just tables as a tool, and the solutions that I find to simplify this always involve loading up more and more libraries, which is not what I would call ideal because in the end I could have just done the exact same thing without installling anything in Processing. What am I missing? Is there something that is far superior, but cant really be seen until I get deeper into a project?
User avatar
pgimeno
Party member
Posts: 3544
Joined: Sun Oct 18, 2015 2:58 pm

Re: What am I missing about Löve and Lua in general?

Post by pgimeno »

I don't know anything about Processing, so it's possible that you're just not missing anything.

I can say, however, that LÖVE programs are easy to deploy, and that LuaJIT is blazing fast. I'm not sure how different Processing will be in each of these areas.

Lua is a pretty minimalistic language; you usually need libraries for some basic stuff like classes or timers.
User avatar
Varkas
Citizen
Posts: 83
Joined: Mon Mar 09, 2020 2:26 pm

Re: What am I missing about Löve and Lua in general?

Post by Varkas »

Maybe I'm not qualified to answer here, working with Love2D since only a few weeks. I came to Love2d from Java, but I never used Processing so I cannot really comment on that. Java itself is very powerful, but also huge. I like the fact that Love2d has a very small runtime, which starts super fast.

Unlike yours, my experience was good so far . Tables are very useful for the types of games that I want to make, performance is good too. Lua syntax ... well it's a Language of it's own, so while it might look weird for a Java or C coder, I think it's justified to give a language it's own syntax. I didn't suffer from the effect which you describe that everything is more complicated. Half my current project is in Java (the server) and half is in Lua/Love2d (the client) and I think, I'm am faster with Lua/Love2d, need to type less and can get done more with less code.

But I think you aren't missing anything particular. There is nothing magic you'll discover later and suddenly makes everything super easy. I liked Love2d from the first test, "Whoa, that was easy!", and so far this feeling stayed.

I didnt need any extra libraries so far ... graphics, audio, networking are all in the love2d core. Maybe that is why I think it's nice and you don't, because you need things that aren't provided?

Personally I also like the way OOP is done with tables. No classes, just groups of data and functions. I think it's very flexible, and easy to start with, but probably hard to handle in larger projects - which IMO is ok, because Lua was designed for small projects, so it does exactly what it was meant to do.

If you can work better with Processing, develop faster, make less mistakes ... I'll say just stay with it.
In soviet russia, code debugs you.
LinyeNinja
Prole
Posts: 2
Joined: Fri Apr 03, 2020 8:07 pm

Re: What am I missing about Löve and Lua in general?

Post by LinyeNinja »

Thank you very much for the answers! I think I will finish this project in Löve to test it a little bit more, then decide from that experience.
KayleMaster
Party member
Posts: 234
Joined: Mon Aug 29, 2016 8:51 am

Re: What am I missing about Löve and Lua in general?

Post by KayleMaster »

Lua and love2d is by definition the opposite of Processing. Processing is a 'batteries included' type of language, while Lua is "an extensible extension language". Don't get me wrong, Lua is amazing and once you get used to tables you'll never want to go back. But if you do, you can also use C structs and arrays directly in Lua using the built in FFI module from LuaJIT.
But processing is not made for game development. Just because you can doesn't mean you should. If you don't like the DIY/extendable nature of Lua/Love2D you can try out GameMaker Studio, Unity or other gamedev engines. Sure, the learning curve is higher, but at least you won't have to write your own Collision detection module - but that's why there's a ton of libraries to choose from the community :)
User avatar
NightKawata
Party member
Posts: 294
Joined: Tue Jan 01, 2013 9:18 pm
Location: Cyberspace, Room 6502
Contact:

Re: What am I missing about Löve and Lua in general?

Post by NightKawata »

LinyeNinja wrote: Fri Apr 03, 2020 8:26 pm the post you wrote
Hmmmm, I might have some input.
You're in the right mindset to want to create things. So, good job, life'll be good in the long run for you as long as you keep at it.

Processing is more of a sandbox. It gives you the toys, and the sand. The last response about the "batteries" included, is also good. Processing itself, Arduino programming, and what have you: They're usually best suited for modules and rapid prototyping.

LOVE itself also is, but to a different way of thinking. I think that's your biggest hurdle in this instance.

Every language is going to seem odd to you at first, and that's natural. It's a different language than what Processing uses, and Lua's a "slight" bit unique. But not entirely. There's a lot of things you'll get away with in Lua that you totally couldn't do in other languages. But the opposite also applies.

LOVE does not give you the sandbox. LOVE gives you the whole property, and asks you to make something of it. As I mentioned before, you'll have to change your mindset a little bit to tie everything together, and that may seem daunting, but it's nowhere near impossible. You're also running into resistance, and moving to a shortcut type of ordeal where it's like "but I could just do X in Y and it'd be so much easier." Which isn't wrong, to an extent.

The mind itself is the most powerful tool when you're making projects. You know that. So, all you're missing is a different perspective.

Different problems require different solutions. Lua and LOVE are great tools for making games, because there's a literal ton of flexibility with the language, and a ton of flexibility with the framework we're using here. But it's as bare bones for setting up a project as possible, to allow that. It's like trying to build a car, but all you have is the motor. With Processing and what have you, they give you a few more parts as well. Here, you'll have to order or manufacture your own. Which can either be seen as tedious, or highly rewarding.

Tables are super busted, super fun, and super versatile. I'd say give it all a fair chance without trying to compare Lua/LOVE to other things. If it's not your cup of tea, that's alright too.

Lua/LOVE programming is also fairly bit more high-level programming than low-level programming. So's Java to an extent, but Processing is kind of in the middle of that from what I've tinkered with it.

LOVE isn't a tool per se. It's a foundation, or the motor of a vehicle. You'll still have to develop the vehicle. It just makes it much more doable.

I hope this helps a bit.
"I view Python for game usage about the same as going fishing with a stick of dynamite. It will do the job but it's big, noisy, you'll probably get soaking wet and you've still got to get the damn fish out of the water." -taylor
User avatar
Varkas
Citizen
Posts: 83
Joined: Mon Mar 09, 2020 2:26 pm

Re: What am I missing about Löve and Lua in general?

Post by Varkas »

Love2d also gives you tires and gears ... but you'll find yourself in between lotsa car parts which you still need to put together. It's all there though. And definitely way easier to use than through Java.
In soviet russia, code debugs you.
Post Reply

Who is online

Users browsing this forum: No registered users and 55 guests