This library enables to create 2D or 3D games with lua scripts. The engine is linked to an entity system component. The image below show the possibilities of the library.
For the moment, the FarenEngine can :
- Camera system
- Display simple shapes
- Sound
- Physics
- Lua scripting
- Forward
- Light effects (basic)
- Serialization system
To install the whole project:
- Clone the project with git clone https://github.com/F4r3n/FarenMediaLibrary.git
mkdir build
cd build
cmake ..
make
It will create a static lib and the exe FarenEngine.
The engine needs different libraries to work:
- Box2D
- Bullet
- glew
- openal
- sdl2
- lua 5.3
- ECS (Custom)
- Opengl
The dependencies are all in the folder extlib.
fm::Config config;
config.name = "FML Engine";//Name of the window
config.fpsWanted = 60;//Fps wanted
config.width = 800;
config.height = 600;
fm::Application app(config);
app.Init();//Init then engine
fm::Window *window = app.GetWindow();
fm::Engine *engine = app.GetEngine();
while (!window->isClosed())
{
app.Update();
window->swapBuffers();
}
app.DeInit();