awesome-love2d
middleclass
awesome-love2d | middleclass | |
---|---|---|
28 | 9 | |
3,037 | 1,685 | |
1.3% | - | |
5.6 | 0.0 | |
6 days ago | about 1 year ago | |
Lua | ||
Creative Commons Zero v1.0 Universal | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
awesome-love2d
-
what should I use to create games in lua? raylib vs love 2d
I tried both and honestly the experience with love is better because it's actually made for lua. There's a vscode extension for love, a ton of lua libraries etc.
-
Beginner question: is there any coding standard for documenting Lua functions or tables emulating OOP?
For OOP, look into metatables. I got started with Lua through Love2D and through that I found some OOP modules that are pretty helpful. Here’s a full list of them: https://github.com/love2d-community/awesome-love2d (I’ve been using classic with my projects)
-
What are the first game engines/frameworks that come to mind when you hear "code only?"
Such a great Lua gamedev framework! And there's lots of libraries in GitHub. Many collected on awesome-love2d so you don't have to build everything yourself.
-
ECS engine in C++ in Lua
love2d is open source and runs on PC and phones. Someone's even ported it to Nintendo3DS/Switch homebrew. nata is the ECS I use, but you can also checkout more libraries on awesome-love2d. I really enjoy using love2d (especially if you enjoy the engine building parts), but one caveat is that major version number bumps will break compatibility. It's usually easy to port and they deprecate functions long in advance. But there's lots of old libraries out there for older versions that won't just work on the latest love2d (like the code for Harvard's CS50 course).
- What are some good libraries for UI and other common needs nowadays?
-
Question about game menus and ui
This is example is just the simple version, a state managers can be very powerful, some examples can be found here
-
Can one make a Stardew Valley clone with Love2D?
I've used tiny ECS a bit, and I like it a lot. Check out this list
- Love2D vs Solar2D
-
How to make apps for mobile?
It depends on what you want to display that will dictate the limitations on how you can adjust to different resolutions. There are probably libraries that can help you with this.
-
how would u do this
Once you've done a few tutorials, you can start doing your own thing. Use the LÖVE Wiki (first link) to your advantage. It has the whole love API documented, and you'll probably need to have it open while you work. At this point, you can also look at this GitHub repository for a list of cool libraries that work with LÖVE.
middleclass
-
Is there a way to create namespaces/hierarchy in the documentation with LDoc?
I am trying to document my code and I am using LDoc for that and for OOP I am using the library middleclass. All of my classes are in a main framework folder and inside that I have each namespace as a folder and then classes that are specific to that namespace in those folders.
-
Lua: The Little Language That Could
The ConTeXt typesetting system tightly integrates Lua. One aspect of Lua that I dislike is its inability to easily write OOP-ish code. What's impressive about the language is that it can be extended to do so in astonishingly little code:
* https://github.com/kikito/middleclass
With OOP in place, I was able to typeset a hexagonal grid and a symbolic representation of a neural network on top, using a more OOP-like approach. The classes are straightforward.
A vertex defines a point in 2D space:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
An edge connects two vertices:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
A graph connects edges:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
A priority queue serves for ordering graph edges by weight of adjoining vertices:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
With these concepts in hand, we can typeset a grid and a "neural network" on top:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
Here's an example of the output for chapter 1:
* https://i.ibb.co/19DCDZy/ch-1.png
And chapter 14, where the "network" has grown in complexity:
* https://i.ibb.co/ncf16vg/ch-2.png
This is for my near future hard sci-fi book on AGI. I'm looking for alpha readers to give me feedback. See profile for contact details.
- Doing what you love when the money won’t follow
-
To all plugin authors: standard class realization
To reduce the amount of boilerplate code, I created the fork of middleclass repo suitable for Neovim plugin managers: it just adds a symlink to middleclass.lua file in lua/ directory. middleclass is well known and tested, so I suggest using it as a standard class realization. I also open a pull request to merge it upstream.
-
Is doing OOP in lua considered bad practice?
Not exactly what op asked, but if you want classes in Lua definitely check out https://github.com/kikito/middleclass
- Alternative to Love2d
-
OOP in Love2d
Like /u/TheMightyHUG pointed out below, there are patterns you can use to do OOP without any extra help. In the past I have used some libraries to improve the ease of doing so, specifically middleclass: https://github.com/kikito/middleclass
-
A complete implementation of the Set data structure in Lua
Same, but when I do I like when authors include everything in one file so it's easy to manage. Here we have the library, some small 10 line file with helper functions that's required and we also need to remember about the licence. Take middleclass as an example, one file, license included, ready to plug and develop.
What are some alternatives?
classic - Tiny class module for Lua
awesome-lua - A curated list of quality Lua packages and resources.
awesome-playdate - A list of awesome resources for Playdate (https://play.date) game development and the Playdate SDK (https://play.date/dev/)
pyxel - A retro game engine for Python
helium
Slab - An immediate mode GUI for the Love2D framework.
TIC-80 - TIC-80 is a fantasy computer for making, playing and sharing tiny games.
love-nuklear - Lightweight immediate mode GUI for LÖVE games
moonscript - :crescent_moon: A language that compiles to Lua
CC-Tweaked - Just another ComputerCraft fork