Foxer Engine

Status Ongoing
Language C++/Lua

3D, data-driven, multiplayer, cross-platform engine developed during final year of University.


Lua integration is one of the biggest features of this engine, with it effecting everything from rendering and physics, to entity and level definitions. Entities are defined by components which are defined in Lua. Callbacks and event handlers can also be created in Lua on entities and levels allowing a high degree of flexibility and freedom.

View Entity Example
return {
    name = "Portal",
    position =,
    renderComponent = {
        mesh = 2795621949,
        shader = 2946951896
    physicsComponent = {
        type = 1,
        shape = 1,
        isSensor = true,
        halfWidth = 2,
        halfHeight = 2,
        centreX = -5,
        centreZ = 2,
        beginContact = function(self, other)
            if ( then
                engine.level.getActive().portalHit(self:getEntity():id(), other:getEntity():id())

The asset database itself is also in Lua to support adding custom assets to it with their own properties without needing to know any form of SQL.


Using the Enet library, multiplayer is supported in the engine however it is an optional component and you are not forced to use it.