This is a dual repo to support the game SkyLei, and bespoke game engine Lei3D that it was built on.
If you wanted to know more about our process, and/or want to learn more about the engine, please check out:
- Our design docs
- Our technical docs
- Core
- Build System for Windows, Mac, Linux - CMake
- Physics, Quake-like air strafing, surfing, and bunny hopping. Rigid Body Collisions - Bullet3
- GUI and dev tools - imgui
- Level Editor
- Frames Per Second (FPS) counter
- Level Switching
- Scene Edit/Play mode & Pausing/Resetting Levels
- Player Controller / Input System
- Entity Component System (ECS)
- Includes naming for entities
- Modify transform of entities from GUI
- Forward Lighting
- Physically Based Material System
- Directional Lights
- Cascaded Shadows
- Skybox Rendering
- Stencil Masking
- Post Effects
- Desaturation
- Screen Space Reflections (SSR)
- Distance Based Fog
lei3d has originally been created using Visual Studio 2022 on Windows. We currently have two build targets, one contains the level editor and one is the game on it's own. It has been tested on other platforms, to compile, please follow the instructions below to use CMake to create a build for whatever system you are currently running on. You can consult alternative building instructions for other IDEs on the technical docs.
- Download CMake. Ensure to set Cmake available on path to all users.
- Open CMake GUI tool. Select source code to be the root directory of this cloned repo
- Create a new folder called 'build'. Set this to be where we build our binaries
- Press generate
- Open the generated sln file with Visual Studio 2022
- Under the solution explorer, find lei3d_lib. Right click and press build. This builds the library for lei3d.
- Under the solution explorer, find either LeiEditor_exe for the game OR SkyLei_exe for the game. Right click and press build on the respective solution you want.
- Right click on the same solution you want to run again, set it as the startup project.
- Run the project (top left).
- Navigate to the project folder
- Make a build folder
mkdir build
- Enter the folder
cd build
- Compile your project
cmake ..
- Call
make
- cd
/src/engine
./LeiEditor_exe
for the editor OR./SkyLei_exe
for the game
- Navigate to the project folder
- Make a build folder
mkdir build
- Enter the folder
cd build
- Compile your project
cmake ..
- Call
make
- cd
/src/engine
./LeiEditor_exe
for the editor OR./SkyLei_exe
for the game
Depending on your needs with the engine, there are multiple ways you can build the engine. If you want to build a Debug build, include
cmake -DCMAKE_BUILD_TYPE=Debug
when you first run CMake. You can specify the same cmake parameter for Release builds.
Graphics card that support OpenGL 4.6
- GLFW library - https://www.glfw.org
- GLAD library - https://glad.dav1d.de/
- GLM library - https://glm.g-truc.net
- stb image library - https://github.com/nothings/stb/blob/master/stb_image.h
SkyLei is a game that presents a unique twist in the world of speed running games by focusing on slowing down.
In a world that is shattered to pieces and taken to islands in the sky, SkyLei follows the exhilarating plight of Leilani Leaf through a colorless, once beautiful world. Primary gameplay consists of racing around and exploring a surreal-dreamlike world with physics-based movement. The levels of the world add new features that inspire new routes and discovery of the world. This adds challenge and enjoyment to players of any skill-level. At the very end of each level, Leilani brings color back to the world when she discovers the beauty of all that surrounds her.
Keys | Action |
---|---|
WASD | Movement |
tab | Open Debug GUI |
q | Lower Camera in Fly Mode |
e | Raise Camera in Fly Mode |
r | Reset Scene |
p | Toggle Between Pause and Play |
space | jump in play mode |