LÖVE + Zerobrane for IDE is my single favorite to write software that puts pixels on the screen.
a few reasons why I love it
-Both the IDE and the framework are lightweight enough to run comfortably even on an RPI.
-The single best documentation I've ever used for any piece of development tool. Lots of examples, concise and made for max velocity.
-Excellent forum with friendly people. It has taken a bit of a backseat to project Discord, which I find a bit sad. But everyone is helpful there too.
-Great ecosystem of just about any library you can ask for.
It has kind of spoiled software development for me. I tried getting the hang of similar technologies many times without success. Atleast now I understand the people who still go on about how great their QuickBASIC / TurboPascal workflow was back in the days.
That being said there ARE a few areas in LÖVE that leave things to be desired:
- I feel like the devs are a bit too trigger happy to make API changes. Though fixing a big chunk of these are a matter of a few search + replaces.
- The rendering can feel oddly slow?? Especially on Android I kept bumping into weird scenarios where I felt like it should hit 60 FPS no problem, even with the Lua JIT inactive.
- There aren't many resources about how to make good use of threading features to speed up common performance problems. There is definetly room for a "LÖVE2D Performance Necronomicon" to be written by someone who is more knowledgeable in CompSci fundamentals than me. :^)
I personally believe that Love2d is the best modern framework to learn and teach game dev with.
The only drawback is that it is a little bit too minimalistic for situations like shorter game jams where people with more kitchen-sink engines like Godot will have a much easier time. For example there is no native way to support multiple resolutions/fullscreen as well as lack of accessibility features. These things can be easily implemented or you can find libraries but it is definitely a concern.
On the other hand, learning Love2d first, paid huge dividends in my game dev journey because I learned how to actually program instead of relying on cobbling together engine features. And for the right project, especially those where a predefined engine structure does not not fit, it can still be the most productive choice.
> And for the right project, especially those where a predefined engine structure does not not fit, it can still be the most productive choice.
Right on. While interning at an oil refinery, I developed an application in LÖVE that processes and displays data from spectrometers. In hindsight it may not have been the wisest choice, but hand rolling all the GUI elements I couldnt force out of the Nuklear[0] bindings for LÖVE gave me a strange sense of satisfaction.
You can also use Emacs and fennel-mode and then M-x fennel-repl to get a live repl from your Emacs session and then use lisp-eval-last-sexp, doc lookup and other Lisp conveniences.
Agree on the rendering speed, I was working on some experimental visualizers in LOVE which drew lots of individual pixels. I ended up having to rewrite a bunch of it in shader language to get decent FPS. This might be true with other frameworks too though, I understand graphics are not an easy thing to just automagically optimize.
Agreed! The LÖVE community could benefit from more advanced resources, especially on performance optimization. Perhaps it's an opportunity for experienced developers to contribute.
a few reasons why I love it
-Both the IDE and the framework are lightweight enough to run comfortably even on an RPI.
-The single best documentation I've ever used for any piece of development tool. Lots of examples, concise and made for max velocity.
-Excellent forum with friendly people. It has taken a bit of a backseat to project Discord, which I find a bit sad. But everyone is helpful there too.
-Great ecosystem of just about any library you can ask for.
It has kind of spoiled software development for me. I tried getting the hang of similar technologies many times without success. Atleast now I understand the people who still go on about how great their QuickBASIC / TurboPascal workflow was back in the days.
That being said there ARE a few areas in LÖVE that leave things to be desired:
- I feel like the devs are a bit too trigger happy to make API changes. Though fixing a big chunk of these are a matter of a few search + replaces.
- The rendering can feel oddly slow?? Especially on Android I kept bumping into weird scenarios where I felt like it should hit 60 FPS no problem, even with the Lua JIT inactive.
- There aren't many resources about how to make good use of threading features to speed up common performance problems. There is definetly room for a "LÖVE2D Performance Necronomicon" to be written by someone who is more knowledgeable in CompSci fundamentals than me. :^)