Lina Engine is a lightweight and ECS based open-source game engine. Initially it's a research project and is aimed to be a basis of development for more open-source game engine projects. Lina's architecture is designed to be as modular as possible and it focuses on creating replacable modules to customize for project-specific needs, rather than stacking thousands of features into one framework.
Lina Engine is currently compatible to be compiled only with x64 architecture on Windows. If you would like to use it on different architectures & platforms, you need to compile the vendors for your target architecture and platform include them manually.
Lina is currently in active development so it's not stable on all platforms. It's being developed in Visual Studio 2019 in Windows 10 with x64 architecture, so that's the best setup to contribute to the project for now.
# Initialize git in your desired directory. git init # Clone Lina Engine git clone https://github.com/inanevin/LinaEngine # Alternatively you can clone recursively, this will download all the submodules if there exists any along with Lina Engine source code. git clone --recursive https://github.com/inanevin/LinaEngine
# You can define any options before generating project files. cmake -DLINA_ENABLE_LOGGING=OFF # You can define multiple options sequentially. cmake -DLINA_ENABLE_LOGGING=OFF -DLINA_ENABLE_PROFILING=OFF # It is recommended to declare the type of the option if multiple options are defined cmake -DLINA_ENABLE_LOGGING:BOOL=OFF -DLINA_ENABLE_PROFILING:BOOL=OFF -DCMAKE_CONFIGURATION_TYPES:STRING="Debug,Release" # Above commands will generate project files with default generator, you can specify a generator if you want. cmake -DLINA_ENABLE_LOGGING=OFF -G "Visual Studio 15 2017"
# Create a directory for binaries mkdir bin # Navigate to directory cd bin # Build the root project cmake ../ -G "Visual Studio 16 2019" -A "x64" # After the project files are built, you can build the project via cmake --build . --target ALL_BUILD
|LINA_ENABLE_EDITOR||Launches the sandbox in editor mode.||ON|
|LINA_ENABLE_LOGGING||Enables log features for core modules.||ON|
|LINA_ENABLE_PROFILING||Enables profiler integration & profile data serialization.||ON|
|LINA_PRODUCTION_BUILD||Disable debug error checking & reporting.||OFF|
|CMAKE_CONFIGURATION_TYPES||Config types that will be available on the IDE.||Debug, Release, MinSizeRel, RelWithDebInfo|
Check out Licence file.