Object Environment Engine (OEE) for the LÖVE framework.
MIT License
Love Universe is an object environment engine for the LVE framework. What is an object environment engine? An object-oriented system is used to handle game object's individual ancestry, properties, information and data. Very similarly roblox's framework works like this, the engine is intentionally designed to mimick roblox's own framework and libraries with some differences.
Solely for fun. Also the game engine I'm writing it for is a bit new and odd to me, so as a learning experience I thought it would be enjoyable to do this in-order to learn about it.
The skeleton of the engine is complete, the skeleton being object management, custom types, and events (called Ripples). The old-skeleton of the engine can be found at /OldCode, but the more recent version outside of it is more optimized, stable and takes less space. Although things like physics, rendering, camera systems, and all their events will take awhile to program.
The repository is usable, but you would have to finish writing the objects and their properties yourself, OEE_Import.lua
contains the registration of custom objects and types, along with their properties.
You can see updates here When a version is suitable for usage, there will be a new release on the releases page.
Intentionally, no, it will not. Love2D has different ways of how the engine works compared to Roblox's engine. For instance, Love2D does not have a thread yielding wait()
function similar to Roblox's wait()
function, I have actually tried a bit to replicate it into Love2D but yielding actually freezes the entire program/game, unlike Roblox's where wait()
only yields the thread of the script. It's not impossible however to program one that yields the script, but it would not be the same way as you would write the syntax in Roblox.
Vector3.new()
in Roblox would be Vector.new()
in Love Universe instead.Vector.x = 5
, instead of calling Vector.new(5, 0)
just to change the x value. This is intentional for memory purposes.game:GetService('HttpService')
you could do World:GetUtility('Http')
.