Ko-Fi Engine
Ko-Fi Engine is a videogame engine develop to create Dune Special Spice Ops. It's development started 3 months earlier and has been improving in parallel to the development of the game.
Custom Layouts
Our engine features a custom layout which you can adapt to your needs as well as save it and use it when you see fit.
Resource Manager
Ko-Fi is optimized with a resource manager that handles all the assets on memory so you can work fast and smooth.
SkyBox
A beautiful skybox will wrap your scene providing ambience to your level designs.
NavMesh
You can add a navmesh to create your own AIs.
Animation
The animation module accepts fbx with animations inside them. You can create and delete your custom clips to take just a segment of the animation and use the clips in the scripting module.
Physics
The physics module includes components such as rigidbody, sphere, box and capsule colliders and features like raycasting, collision and triggering detection. It is implemented using React Physics 3D, a lightweight library that has everything needed and can be implemented in a really easy way.
Shaders
All the engine is rendered using shaders. There is also a component where you can add your own shaders, customize it with the in-engine text editor and apply the changes at realtime compilation. We accept only glsl shaders along with our custom syntax.
User Interface
The UI module allows the user to add 2D graphic elements to the game. The module features a canvas which performs as a coordinate system for the rest of the objects to be placed. At the moment we support buttons, images and text, but you can create your own custom items such as sliders or checkboxes using the scripting module.
Particles
With our particle system you will be able to create your own custom particles by using alphas and lots of the properties that this module brings to the users.
Audio
The engine has an audio module.It has been developed using OpenAl and supports varius of the most used audio extensions (mp3,wav,ogg,etc). You can use the audio source component and the audio switch component
Camera
The engine camera has been optimized a lot to be able to run the engine and any game as smooth as posible. We use the frustum to perform 3 types of culling that can be used individually or together. These are: A sphere culling, a frustum culling and an occlusion culling which is done on the renderer. Every culling filters the objects processed by the next culling on the pipeline to ensure a low processing power usage.
Scripting
Ko-Fi engine supports Lua as its scriping language due to its speed, ease of use and popularity. We also support Javascript with basic functionality. With the scriping module you can access any property of the game objects such as its transform, its components and the component properties. You can access some internal features of the engine such as the time or the settings.
Libraries
Assimp
A library to import and export various 3d-model-formats including scene-post-processing to generate missing render data.
Brofiler
Brofiler is an external profiling tool developed by Vadim Slyusarev. The Author describes the tool as a Super Lightweight C++ Profiler for Games.
Recast and Detour
Detours is a software package for monitoring and instrumenting API calls on Windows. Recast is state of the art navigation mesh construction toolset for games.
DrWav
dr_wav is an open source library for decoding WAV files
DrWav
dr_wav is an open source library for decoding WAV files
Glew
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library.
ImGui
Dear ImGui is a bloat-free graphical user interface library for C++.
ImGuizmo
ImGizmo is a small (.h and .cpp) library built ontop of Dear ImGui that allow you to manipulate(Rotate & translate at the moment) 4x4 float matrices.
JsonParser
An Open Source Json parser for modern c++
Sol
A fast, simple C++ and Lua Binding
MathGeolib
A C++ library for linear algebra and geometry manipulation for computer graphics.
OpenAL
OpenAL is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications.
Optik
Optick is a super-lightweight C++ profiler for Games.
ReactPhysics3D
ReactPhysics3D is a C++ physics engine library that can be used in 3D simulations and games.
SDL
Simple DirectMedia Layer is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components.
STBImage
single-file public domain (or MIT licensed) libraries for C/C++.