Git Product home page Git Product logo

lei3d's Introduction

lei3D / SkyLei

skylei logo

About

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:

Features

lei3d logo

  • 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

Build

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.

Windows

  1. Download CMake. Ensure to set Cmake available on path to all users.
  2. Open CMake GUI tool. Select source code to be the root directory of this cloned repo
  3. Create a new folder called 'build'. Set this to be where we build our binaries
  4. Press generate
  5. Open the generated sln file with Visual Studio 2022
  6. Under the solution explorer, find lei3d_lib. Right click and press build. This builds the library for lei3d.
  7. 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.
  8. Right click on the same solution you want to run again, set it as the startup project.
  9. Run the project (top left).

Mac

  1. Navigate to the project folder
  2. Make a build folder mkdir build
  3. Enter the folder cd build
  4. Compile your project cmake ..
  5. Call make
  6. cd /src/engine
  7. ./LeiEditor_exe for the editor OR ./SkyLei_exe for the game

Linux

  1. Navigate to the project folder
  2. Make a build folder mkdir build
  3. Enter the folder cd build
  4. Compile your project cmake ..
  5. Call make
  6. cd /src/engine
  7. ./LeiEditor_exe for the editor OR ./SkyLei_exe for the game

Build Types

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.

requirements

Graphics card that support OpenGL 4.6

SkyLei - Surf The Sky Islands

Overview

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.

Controls:

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

Showcase

surfing.mov
add.color.with.sound.mp4
childlike_wonder.mp4

image

flower

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.