A 3D flight simulation mini-game built with C# and Silk.NET. This project serves as both a fun landing challenge and a practical demonstration of advanced OpenGL rendering techniques.
Dive into the fascinating world of graphics programming! This project utilizes the Silk.NET library to create a high-performance OpenGL application.
The game places you in the cockpit of a plane with a simple but difficult objective: Land the plane safely. Along the way, the project demonstrates core computer graphics concepts, making it an excellent resource for developers looking to understand the "how" and "why" behind game engines.
- Language: C# (.NET 6/7/8)
- Graphics API: OpenGL 3.3+ (Core Profile)
- Windowing & Input: Silk.NET
- High-Fidelity Graphics: Renders 3D models with custom vertex and fragment shaders.
- Advanced Lighting: Implements realistic lighting models (Ambient, Diffuse, Specular).
- Texture Mapping: High-quality texture support for terrain and vehicle assets.
- Flight Mechanics: Physics-based movement for realistic plane handling.
- Smooth Controls: Responsive keyboard and mouse integration using Silk.NET's Input API.
- The Challenge: Navigate the environment and execute a precision landing.
This codebase is structured to help you learn:
- Shaders: How to write GLSL vertex and fragment shaders.
- Matrices: Understanding Model, View, and Projection (MVP) transformations.
- Camera: How to implement a 3D Euler-angle camera system.
| Input | Action |
|---|---|
| A / D | Roll Left / Right |
| Space | Plane landing |
- .NET SDK: Version 6.0 or higher.
- Graphics Card: Must support OpenGL 3.3 or higher.
- IDE (Optional): JetBrains Rider (Recommended) or Visual Studio.
You can run the simulation via the command line or your preferred IDE.
- Clone the Repository
git clone https://github.com/levilevente/hijacking.git
- Navigate to the Folder
cd hijacking - Run the Game
dotnet run
- Open the Project
- Launch Rider.
- Click Open and select the
.sln(Solution) file inside the cloned folder.
- Run the Game
- Wait for Rider to restore the NuGet packages (Silk.NET dependencies).
- Select the correct Run Configuration (usually the project name) in the top toolbar.
- Click the green Play button (or press
Shift+F10/^R).