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.

module

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.

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.

module

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.

module

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.

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.

module

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

module

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.

module

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++.