High school capstone project · 2020
Lutsip LS3D Editor
A custom level editor for Hidden & Dangerous 2, powered by my own C# OpenGL-based 3D engine, developed as part of my high school capstone project.
The project required an in-depth analysis and partial reimplementation of the original game engine, as no official modding tools or documentation were available. Over the course of a year, I reverse engineered most relevant file formats and built an editor for creating and complete editing of game levels.
While some tools already existed, they lacked a 3D view and supported only a limited subset of features, making it effectively impossible to create new levels or significantly modify existing ones. The editor significantly improves the modding workflow, allowing creators to design levels in a more intuitive and efficient way. Its release marked a new era for Hidden & Dangerous 2 modding.
Technical insight
Working on Lutsip provided practical experience with real-time rendering techniques used in older game engines, such as the LS3D Engine.
The project involved implementing and understanding core concepts such as:
- Scene graph
- Gouraud/Phong shading
- View frustum culling
- Sector/portal/occluder occlusion culling
- Uniform spatial grids for collision detection
- Lightmapping
- Morph target animation
Many modern rendering systems still rely on these techniques, often in evolved forms.
Key features
Editing workflows
- Scene editing Models, lights, sounds, particle effects, and other objects, including collider creation or creation of animated paths for cameras and aircrafts
- Actors and AI Assigning 25+ actor types, including characters and vehicles; editing character inventories and AI navigation waypoint grids
- Graphics effects Configuring animated water, volumetric lighting, vegetation, and other special effects
Tech stack
Tools and their roles
- C# Implementation language
- OpenGL Rendering
- OpenTK OpenGL bindings for C#
- Windows Forms User interface with mostly custom-drawn components using GDI+