Lich Engine
Pitch
Lich Engine is a horror video game engine made in C++ in 4 months. Our goal with this engine was to put the player in the best atmosphere possible, and this is why we focused our engine on rendering features such as PBR, Deferred Rendering, HDR, Shadow Mapping, and some others. We also worked on the sound design with 3D spatialized audio.
At the end of the project, we made a small demonstration game called Saturnine in which you need to escape a ship and stay discreet to avoid monsters.
My Tasks
- Render pipeline (Physically Based Rendering, Deferred Rendering, Shadow Mapping, Normal/Parallax Mapping, HDR, Ambiant Occlusion, and every other graphics feature)
- Component System
- Animator component using Skeletons and Animations. Allow to play different animations on your skeletal mesh and make transitions between them.
- Mesh component
- Multi-threaded resources loading including Models, Textures, Skeletons, Animations, Fonts...
- Material System: albedo, roughness, metalness, shadow generation... You can also edit the albedo, normal, height, metalness, roughness, and ambient occlusion maps.
- Text and Image components. Display texts with different fonts and images on the screen as UI
- Project Architecture
- Technical Design Document
Additional Information
Our engine works with components such as Unity. You can add many components to a game object, such as a Mesh, an Animator, a Collider, a Rigidbody, a Sound Event, a Text, or even a Script. Our Editor has a GameViewport, a Hierarchy, an Inspector, a file browser, and even a Console.
For this project, we had to choose different libraries to help us, and in our case, we chose:
• OpenGL 4.5 - The graphics API
• GLFW - For the software window
• PhysX - This is the library that manages our engine physics. This library is from Nvidia
• FreeType - This library is used to handle font files.
• RapidObj & Assimp - These libraries manage the loading of game models in our engine
• STBImage - Load images and textures
• Refureku - Library that allows the reflection on our engine
• ImGui - Editor UI interface library
Information
- Genre: Custom Game Engine
- Platform: Windows
- Engine: Custom
- Duration: 4 months • March - June 2023
- Team Size: 4 members
- Role: Engine Programmer
- Skills: C++ Engine Rendering Pipeline: OpenGL - GLSL Animation system Code Architecture Project Management