Self-hosting Löve2d Environment for Educational Purposes

General discussion about LÖVE, Lua, game development, puns, and unicorns.
nagydani
Prole
Posts: 5
Joined: Mon Jul 31, 2023 12:56 pm

Re: Self-hosting Löve2d Environment for Educational Purposes

Post by nagydani »

zorg wrote: Wed Aug 02, 2023 5:05 am (for audio: wav/mp3/ogg/all formats modplugtracker supports loading/importing)
(for images: jpg,png,bmp,tga,hdr/pic,exr plus compressed(-on-gpu) formats i.e. dxt/bc/etc/eac/pvr/astc variants)
Thank you!

Given that löve2d is resolution-independent, I would have expected some vector-graphic format to be supported as well. Or is vector graphics always programmed as a sequence of löve2d drawing functions?

As for audio, is midi not supported somehow? I have found some midi extension for löve2d, but it seems to only communicated with connected midi devices, but cannot play midi files on the host computer.
User avatar
zorg
Party member
Posts: 3465
Joined: Thu Dec 13, 2012 2:55 pm
Location: Absurdistan, Hungary
Contact:

Re: Self-hosting Löve2d Environment for Educational Purposes

Post by zorg »

nagydani wrote: Wed Aug 02, 2023 5:59 pm
zorg wrote: Wed Aug 02, 2023 5:05 am (for audio: wav/mp3/ogg/all formats modplugtracker supports loading/importing)
(for images: jpg,png,bmp,tga,hdr/pic,exr plus compressed(-on-gpu) formats i.e. dxt/bc/etc/eac/pvr/astc variants)
Thank you!

Given that löve2d is resolution-independent, I would have expected some vector-graphic format to be supported as well. Or is vector graphics always programmed as a sequence of löve2d drawing functions?

As for audio, is midi not supported somehow? I have found some midi extension for löve2d, but it seems to only communicated with connected midi devices, but cannot play midi files on the host computer.
There is a library for the first one, if i recall correctly (TOVE), but there might be other solutions for it too, like using shaders to implement SDF-s; the usual solution, however, is either just have one internal resolution and scale that, or you can have your assets have a postfix of "@Nx" where N is an integer >=2 which would be a pixel density scale factor... whatever that means, i haven't really used it so i don't exactly know how it works... and yes, you can also use the primitive drawing functions as well, if you want to; those don't have uv (texture) coordinates though, so they can't be textured; if you would want that, you can use a custom mesh.

Edit: Löve's not resolution independent, last i checked... it allows you to specify a resolution, but that's not what that means. The graphics backend (OpenGL now, Vulkan/Metal later) also needs to rasterize the shapes one uses in the end.

Midi file playback is only supported through the fact that libmodplug supports loading it... but due to that, and the fact that most people don't have timidity (which libmodplug needs), it will not find its configuration file, hence it will use sine waves for all instruments in the file, melodic or drumkits, which will sound like absolute ass. I've been trying to make a midi parser and a simple replayer library in lua myself to overcome this, but the format's a bit complicated for me, so i haven't been able to fix all the issues with it yet.
Me and my stuff :3True Neutral Aspirant. Why, yes, i do indeed enjoy sarcastically correcting others when they make the most blatant of spelling mistakes. No bullying or trolling the innocent tho.
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests