Gleipnir as modular as it gets...

Gleipnir is entirely based on what i call “modules”. Everything is a module except two things, a print function (to be removed) and the module system. Modules are placed in a lame kind of sandbox, which allows them to read and run functions from the global envoirment but not write. Modules can contain other modules, they can depend on modules, they can conflict with modules, and they can use other modules.

Modules can be loaded, unloaded and reloaded at runtime.

What does a module look like?
All modules are placed in a directory named after their name, always containing a file named info.lua to be valid. This file specifies all the files of the modules, it’s submodules, it’s name, and it’s dependencies.
A basic example looks like this:
Name = “Randomshizz”
Dependencies = {
{name = “hud”}
Files = {
Client = {
Shared = {
Server = {

All files specificed are dealt with accordingly.

You could call Fenrir a test of what Gleipnir can do. It is an RP “gamemode”, with a few hundred lines of code written. It’s pretty bare of fancy stuff. Some screenshots:
If you press USE the boxes on the top left appear, each representing a seat. If you press down the corresponding numpad key you will enter that seat. If you press USE again you will enter first available seat. (I have no fucking idea where that car models comes from, i just had it one day)
Needs a lot of tweaking, moving along…

So far Fenrir is nothing fancy, but i would love implementing your ideas into it!
I really need some motivation to keep me going, so i would love to hear your opinions.
Both Gleipnir and Fenrir will be released under the zlib license when i feel like they are ready.

Happy to answer any questions :wink:

Looks amazing!
I think it will be awesome to see what modules people can make with this.