Is Love2D really for me?

General discussion about LÖVE, Lua, game development, puns, and unicorns.
zingo
Citizen
Posts: 55
Joined: Mon Jan 16, 2023 7:34 am

Re: Is Love2D really for me?

Post by zingo »

Hugues Ross wrote: Tue Jul 18, 2023 2:49 pm Everyone else has already given some good takes, but why not throw mine in too: Try other engines for a bit.

The reason I chose to use Love is because I sat down with over half a dozen different assorted engines and frameworks, gave each one a week of my time, then decided which I felt most productive and comfortable in at the end. Everyone has different tastes and priorities, so I think this is a good approach to take in general when you're not sure what you want to work with.
That's excellent advice. I sort of did the same, and my conclusion is that Love2d has been a surprisingly simple framework, with an intuative language, yet also very poweful and fast, and instead of trying to work within a "template", you can create every component of your project the way you want. The limitation of what kind of game it can make depends on how much effort the user invests.

At first I was intimidated by the lack of a gui, with no "drag n' drop"/nodes or any other sort of visual interaction. I'm naturally a very visually-inclined individual, so staring at lines of code has been challenging for me (to say the least). However, taking it piecemeal, I've gotten much more comfortable with an api/basic text editor. Now, instead of asking a vague question such as "how do I make a pong clone", instead I would ask "how do I simulate physics, keep track of the score, handle input, draw the various shapes or sprites that represent the objects, play sound effects, etc." A game is more or less just a collection of problems, each requiring some sort of solution, and Love2d has helped me understand just how much is going on "behind the scenes" in even a very basic game.
User avatar
GVovkiv
Party member
Posts: 686
Joined: Fri Jan 15, 2021 7:29 am

Re: Is Love2D really for me?

Post by GVovkiv »

zingo wrote: Tue Jul 18, 2023 10:23 pm A game is more or less just a collection of problems, each requiring some sort of solution, and Love2d has helped me understand just how much is going on "behind the scenes" in even a very basic game.
Even if you keen more to frameworks, it's always good idea to use/check engines from time to time. Mostly as inspiration, because some engines might have good solutions for problems that you might come up with framework, which might save time and headache.
zingo
Citizen
Posts: 55
Joined: Mon Jan 16, 2023 7:34 am

Re: Is Love2D really for me?

Post by zingo »

GVovkiv wrote: Tue Jul 18, 2023 11:26 pm
zingo wrote: Tue Jul 18, 2023 10:23 pm A game is more or less just a collection of problems, each requiring some sort of solution, and Love2d has helped me understand just how much is going on "behind the scenes" in even a very basic game.
Even if you keen more to frameworks, it's always good idea to use/check engines from time to time. Mostly as inspiration, because some engines might have good solutions for problems that you might come up with framework, which might save time and headache.
That's very true. In the past, I began with earlier versions of "GameMaker", which gave me some foundation for most traditional 2d games, and supported a C-like language for expanding on the "drag n' drop" features. Later I also messed about with "Rpg Maker" for something that was tailored to a specific genre. There are advantages/disadvantages to both a framework and an engine, and I believe that anyone would greatly benefit from working in more than one, especially if they are "hitting a wall" when it comes to certain concepts/aspects of their project.
User avatar
Azzla
Prole
Posts: 43
Joined: Sun Mar 29, 2020 2:23 am

Re: Is Love2D really for me?

Post by Azzla »

GVovkiv wrote: Tue Jul 18, 2023 11:26 pm
zingo wrote: Tue Jul 18, 2023 10:23 pm A game is more or less just a collection of problems, each requiring some sort of solution, and Love2d has helped me understand just how much is going on "behind the scenes" in even a very basic game.
Even if you keen more to frameworks, it's always good idea to use/check engines from time to time. Mostly as inspiration, because some engines might have good solutions for problems that you might come up with framework, which might save time and headache.
Paradoxically, I feel like I devalue all the solutions that come with huge engines like Unity because I didn't discover them myself. They solved every problem before I ran into it, which is certainly convenient but not conducive to my growth as a developer. LOVE gives you space to discover fundamental game-design challenges on your own and at least attempt to solve them before resorting to a better/faster library from somebody else. You gain so much more understanding and appreciation in my opinion.

These days I start every project by default with a bunch of libraries (my own and others' that I like) but it was that process of problem->attempt-to-solve->library that makes them meaningful. One by one, you build up a personal repertoire of tools, and you have a good grasp why they exist and how they function. To me, a big engine is sort of like require()-ing every public love2d library on github at the top of your main.lua file when you don't even know what problems half of them are addressing.
libraries: Stalkpile
electronic music stuff: https://soundcloud.com/azzlamusic
User avatar
GVovkiv
Party member
Posts: 686
Joined: Fri Jan 15, 2021 7:29 am

Re: Is Love2D really for me?

Post by GVovkiv »

Azzla wrote: Thu Aug 03, 2023 9:30 pm Paradoxically, I feel like I devalue all the solutions that come with huge engines like Unity because I didn't discover them myself.
Well, too bad. It's like imposter syndrome but backwards, lol?
Or something like that...
They solved every problem before I ran into it, which is certainly convenient but not conducive to my growth as a developer.
I don't know, honestly. I prefer to use something (like engine or library) and learn, if it somehow limits me or miss something. Like: wow, this X engine has cool Y feature, but I feel like if it had W, it would be better!
It's just faster and usually smarter to learn from someone else's mistakes and idea, rather then banging your head against wall from scratch, just to end up with same scene manager, bad scaling manager (wink-wink), etc that would be ultimately shittier version of already existing stuff, that you better of learn from actually using it and then decide if it good enough.
LOVE gives you space to discover fundamental game-design challenges on your own and at least attempt to solve them before resorting to a better/faster library from somebody else.

I mean, if you not some already experienced developer, you probably don't know any of this concepts. It will be just faster and better to learn how someone else done this, make notes about it (what works, what doesn't and why) and then attempt make solution.
You gain so much more understanding and appreciation in my opinion.
I don't think I'm very competent in this, but...:
I made my own shitty scaling manager (there was at time when I started already good managers, that I didn't acknowledged existed), there was also scene manager (that was later removed since even I myself didn't used it and opted to library made by someone else) and animation manager (that was never published nor do really finished) and you know what? I learned some stuff about all of this, like what pixel perfect scaling, how to deal with animations, how to scene manager. And... I never used all of this knowledge later. Yeah, it's cool and stuff, I made it myself but what now? I wish I just used someone else library from start and then updated it if necessary or rethink.
Ultimately, I ended up with same result, that I would get from engine or something like that, but I wasted time trying to learn all of this mostly from scratch.
These days I start every project by default with a bunch of libraries (my own and others' that I like) but it was that process of problem->attempt-to-solve->library that makes them meaningful.
Nothing stops you from trying other ways of problem solving. And sometimes, it's worth looking on how others might accomplished same problem, who knows, they fix it better then you do. It's not like you mighty-mastermind that always knows how to achieve better result, someone else might know better.
One by one, you build up a personal repertoire of tools, and you have a good grasp why they exist and how they function.
It's not like you can do same with engines, especially if they very open about how they work.
To me, a big engine is sort of like require()-ing every public love2d library on github at the top of your main.lua file when you don't even know what problems half of them are addressing.
And to me, making everything from scratch is like trying to reinvent wheel, when you not sure how wheel actually looks and why it was named "wheel" but you want to find out it in hard way, instead of looking on already existing, trying to use it so you know how wheel might work and THEN try to make it better, if it not round enough.
User avatar
Azzla
Prole
Posts: 43
Joined: Sun Mar 29, 2020 2:23 am

Re: Is Love2D really for me?

Post by Azzla »

GVovkiv wrote: Fri Aug 04, 2023 12:06 am...
Well, I certainly didn't intend to start a debate here. I'm not asserting that there is an objectively superior method of game development, or that my preferences should apply to everyone (hence "in my opinion","to me","from my view"). I'll respond to a few of your points though.

I'm someone who likes to code things, I like to dig into the weeds, I like to learn about how things work under the hood. I truly value the process of "banging my head against walls from scratch" because I feel it strengthens my abilities not just as a game developer, but as a programmer and problem-solver more generally. It is not "too bad" that I want to discover solutions on my own, because that's a big part of the fun and satisfaction I get out of making games in the first place. I genuinely wouldn't have it any other way.

Why do you see all those videos and livestreams of people making games from scratch, writing their own engines, or otherwise making the process as difficult as possible? It's because they find the challenge fun and rewarding, not because they can write a better engine than what's already out there, or do it faster or something.
I mean, if you not some already experienced developer, you probably don't know any of this concepts. It will be just faster and better to learn how someone else done this, make notes about it (what works, what doesn't and why) and then attempt make solution.
Faster, yes, better, that is subjective. I find it has been better (for me) to run head-first into problems that I can't immediately solve, because then I can properly contextualize the solutions that others have come up with.
And... I never used all of this knowledge later.
That may be true in some respects, but I will push back a bit. Even if you no longer apply that knowledge directly, indirectly you gained a whole host of intuitive programming skills that you benefit from. You can probably identify and fix bugs related to scaling faster, you can probably alter a scaling library to better suit your needs without being lost in their codebase. If you had to re-write an entire scaling manager today, you would probably create it better, cleaner, and faster than your first attempt. Would it have saved you time to use someone else's work from the start? Sure. Would you be as knowledgeable in scaling matters? I suspect not. ;)

TLDR; Everyone has their own values and priorities. If you care more about just getting a game made as painlessly as possible, by all means you should use all the convenient tools and libraries out there, that is totally valid. Perhaps love2D isn't for you. If you care more about the process of game-making, and enjoy the coding aspect enough to dig deeper, perhaps you will gain more satisfaction from trying to be self-reliant and resorting to others' solutions only when you are truly stuck. That is where I believe love2D shines above the rest.
libraries: Stalkpile
electronic music stuff: https://soundcloud.com/azzlamusic
User avatar
GVovkiv
Party member
Posts: 686
Joined: Fri Jan 15, 2021 7:29 am

Re: Is Love2D really for me?

Post by GVovkiv »

Well, I certainly didn't intend to start a debate here.
And this is not really debate or something
That's just how I feel about all of this engine or framework stuff
You can probably identify and fix bugs related to scaling faster, you can probably alter a scaling library to better suit your needs without being lost in their codebase
That's the best part:
I don't
I just rely on someone's else work because it's better
indirectly you gained a whole host of intuitive programming skills that you benefit from
I'll better spend this time to learn how to program via actual games instead of wasting time on this library nonsense, honestly
So I would get more programming and game design skill, rather than this
Why do you see all those videos and livestreams of people making games from scratch, writing their own engines, or otherwise making the process as difficult as possible?
I would rather to watch trailer and gameplay video of good game that I will enjoy playing then watching how yet another cool framework or engine is developing and never actually used to make game
If you had to re-write an entire scaling manager today, you would probably create it better, cleaner, and faster than your first attempt.
That the thing: I wouldn't because with all of this information I will stop myself and will go doing something more productive or download library made by someone else
Would you be as knowledgeable in scaling matters?
But with that saved time I'll be much better in other matters

Like, maybe it's just me and nobody else is weird like that, but the more and complex game that I want to make, the less I care about "inner things" and "how things works" the more I want just "click here and stuff will work" and luckily engines cover this for me.
It's just become tiresome for me to start doing some gameplay stuff only to face that my cool framework glued together by my own piss-poor libraries and hacks lacks entire system that I need to learn how to make, iterate on it 10 times and after that realise that I suck and something doesn't work because I didn't taked it into account.
So, yeah, I'm more on engine side of things
Perhaps love2D isn't for you
That why I recommend to always keep up with engines, even if you think that you more into frameworks
Who knows what might happens that will change your mind
If you care more about the process of game-making,
I mean, trying to implement game on top of engine is already kinda hard if you want achieve something good
Now image me doing this from scratch
My monke brains just can't
duaner
Prole
Posts: 41
Joined: Thu May 07, 2020 6:43 pm
Contact:

Re: Is Love2D really for me?

Post by duaner »

GVovkiv wrote: Fri Aug 04, 2023 1:53 amI just rely on someone's else work because it's better
Unwarranted assumption. Most of the libraries I make are provably better for my projects because they focus on what I need to do. They are better optimized and much easier to maintain, plus I'm much more familiar with them. Using someone else's library would only save me time in the short term.
So I would get more programming and game design skill, rather than this
Since no one uses the same tools at every phase of their career, this is not necessarily true. Skills you gain with one tool may or may not carry over to another. The tools you're using now may not exist ten years from now, so either general programming knowledge will help you in the future or you're wasting your time anyway.

One of the reasons I don't like engines is because I have to keep relearning the api repeatedly. Godot changed just about every aspect of their api recently for... reasons. It was hard enough trying to figure out what the programmers were thinking in version 3. Now I have to do it again for version 4?

Of course this happens to all software, but the more complex the system, the greater the changes will be, and the harder they'll be to document and relearn. Strangely enough, I hardly ever have to completely rewrite my own libraries. We'll see what happens in the next version of love -- I'm betting it won't be the cf godot made of theirs.
User avatar
GVovkiv
Party member
Posts: 686
Joined: Fri Jan 15, 2021 7:29 am

Re: Is Love2D really for me?

Post by GVovkiv »

The tools you're using now may not exist ten years from now, so either general programming knowledge will help you in the future or you're wasting your time anyway.
And that's why I better spent time on actually making game, then all of this, honestly
I spent more time trying to "learn how internals works" instead of making actual game that people would enjoy. What the point in learning all of this internals if you not focusing on actual game?
Especially considering that there so much other things that you need to learn outside of programming (and people would actually appreciate better graphics and design rather then "look, my game has better programming then some engine has!") unless you have team of people, like: art, music, graphics design, sounds, game design, localisation, etc.
One of the reasons I don't like engines is because I have to keep relearning the api repeatedly. Godot changed just about every aspect of their api recently for... reasons. It was hard enough trying to figure out what the programmers were thinking in version 3. Now I have to do it again for version 4?
Considering that most of systems was entirely changed and rewritten that makes sense. Added support of Vulkan, support for Wayland is might be added soon, support for compiling games on other platforms such as arm becoming much easier, tons of new features in godot language + c# binding, better performance and big updates to 3D, making everything much better, and more, much more.
Yeah, why big updates changes how things works?

And if you on this side of things, why not use LTS Godot 3.5? They going to backport stuff there, if 4 for you is not yet for you. And most engines have this option.
Of course this happens to all software, but the more complex the system, the greater the changes will be, and the harder they'll be to document and relearn.
That's why entire community works on all of this, quite big community. On day when 4 dropped, there was already most documentation available.
While almost no frameworks provide documentation to new changes that quick, unless you count jumping into source code to get documentation.
Strangely enough, I hardly ever have to completely rewrite my own libraries.
Not strange at all. I highly doubt, that you often or at all sits there and rethink how you library works. And as result, you don't change much stuff around, while engine devs do, that's why they developing engine on first place.
I did this at least once in span of 1 year with my scaling library that I mentioned. At one point, I sit there and rethinked internals and rewrite them, making better and added pixel perfect scaling mode. Not everything was compatible, so re-learning was required a bit.
So, no, I think it has to do more with how you treat all of this, rather then "engine or framework" stuff

At some point, I become tunnel visioned on all this "internals" that I forgot that I want to make game.
If I remember, somewhere Brot even said this in one of threads where we were talking about... Uh, some advice for newbie where I mentioned my scaling library?
While Brot said that in kinda mean way, now, after some time looking at all what I did in perspective, he was right.

Frameworks is good way of developing games, but in my opinion, you should be prepared that they will require much more of you, then you can bite. Especially if you want to make bigger game.
funtikar
Prole
Posts: 1
Joined: Fri Sep 29, 2023 5:21 pm

Re: Is Love2D really for me?

Post by funtikar »

MaxGamz wrote: Sat Jul 15, 2023 11:34 pm I have coding experience and I do love the idea of making games even if I rarely play them, but I feel like I’m stressing myself because I want to sharpen my skills but it feels daunting trying to understand everything from the ground up. Especially since Love2D is more coding intensive. I like programming but there are still concepts that I need to learn and improve on but I feel like a regular game engine would suit me best for now, I’m not sure if I should continue on.

I can relate to this, I'm not a professional programmer only doing it for fun but I've yet to be somewhat proficient in making games(2D).
My story is somewhat related.
I've dabbled in GameMaker, Unity, and bunch of other stuff for 2D, but I always forget how to develop in those platform because I would usually only tinker with it some time and comeback to them again sometime.
Love2D is definitely not for everyone. Love2D is not even trying to beat GameMaker and the likes.

Thing is in tutorials of game engines like GameMaker,Defold or Unity or any that is I notice that the people who taught the tutorial seems to know stuff a lot lower level method from previous coding experience or they just straight out coded games in low level like C or C++.

For example they seem to just know that the tickbox of "Solid" of an object would allow certain behavior or allow certain kind of code, its as if they know it from somewhere and not just from reading the documentation alone. For me, these didn't made any sense and I would only usually memorize it and pretend I would understand it.

I noticed that after dabbling in LOVE2D and some decent LOVE2D tutorials, I began to understand much better where they are coming from in the making of things you might find in Gamemaker or Unity. The concepts are much clearer.
So I'm going to continue in Love2D even if its a lot slower.

Another good comment I found on the internet was it's going to learn low level 2D game dev without actually doing low level coding like C.

I feel like , later when I'm able to translate my ideas to a Love2D game easily that time I would seek better/faster tools from the Higher game engine and won't struggle learning there.
Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 7 guests