Swiftblade is a first-person movement-focused speedrunning game.
The game runs in a home-made engine that I call RayEngine, which I've built using Raylib, a C library for making games. Complete list of libraries / tools used:
- Raylib 5.0
- PhysX 5.1.0
- Nakama 3.20.1
- ImGui (docking branch)
- rapidjson
- Blender (for modelling)
- Rider (IDE)
Here are some features of the engine:
- Dense, single-threaded ECS
- Property serialization
- Deferred rendering
- A custom UI library
- Resource management with hot reloading
- Isolated engine instances
- Fixed tick rate
- A basic profiler
- An input manager with input mapping
- CMake
- A c++ compiler
- Call
RayEngine/gen.bat
- Open
RayEngine/build/RayEngine.sln
Or call CMake manually.
Code:
#define MACRO()
namespace Context
{
class ExampleClass
{
void Func(Var InParameter)
{
Var variable
}
Var Member;
}
enum ExampleEnum
{
VALUE_0,
VALUE_1,
...
}
}
Files:
content/Folder
FileName.h
FileName.cpp
FileName.hpp
No external dependencies Interactions limited to sandbox environments Examples:
- Resource wrappers
- Renderer converts MeshInstance data