My Projects

My Projects

My Projects

Take a look at some projects I've worked on.

Take a look at some projects I've worked on.

Take a look at some projects I've worked on.

Isometric Rogue-like Game with Procedural Level Generation Made in Unity C#

I created "Dash & Slash," an isometric rogue-like game in Unity, I started with a procedural level generation system using Cellular Automata, i wanted the level to change after each run, To make sure the enemies could navigate these levels, I implemented a Finite State Machine (FSM) for behavior control and Unity's NavMeshAgent for pathfinding, I also developed a combat system that includes different enemy types—from melee to ranged—and added specialized mechanics like homing projectiles.

Throughout the project, I tackled some tricky technical challenges head-on, like fixing inverted mesh normals and debugging the real-time scoring system to ensure it was always accurate. This project really showcases my ability to build systems from the ground up and my commitment to clean architecture and problem-solving.

Isometric Rogue-like Game with Procedural Level Generation Made in Unity C#

I created "Dash & Slash," an isometric rogue-like game in Unity, I started with a procedural level generation system using Cellular Automata, i wanted the level to change after each run, To make sure the enemies could navigate these levels, I implemented a Finite State Machine (FSM) for behavior control and Unity's NavMeshAgent for pathfinding, I also developed a combat system that includes different enemy types—from melee to ranged—and added specialized mechanics like homing projectiles.

Throughout the project, I tackled some tricky technical challenges head-on, like fixing inverted mesh normals and debugging the real-time scoring system to ensure it was always accurate. This project really showcases my ability to build systems from the ground up and my commitment to clean architecture and problem-solving.

Isometric Rogue-like Game with Procedural Level Generation Made in Unity C#

I created "Dash & Slash," an isometric rogue-like game in Unity, I started with a procedural level generation system using Cellular Automata, i wanted the level to change after each run, To make sure the enemies could navigate these levels, I implemented a Finite State Machine (FSM) for behavior control and Unity's NavMeshAgent for pathfinding, I also developed a combat system that includes different enemy types—from melee to ranged—and added specialized mechanics like homing projectiles.

Throughout the project, I tackled some tricky technical challenges head-on, like fixing inverted mesh normals and debugging the real-time scoring system to ensure it was always accurate. This project really showcases my ability to build systems from the ground up and my commitment to clean architecture and problem-solving.

Advanced Shader Programming

Advanced Shader Programming

Advanced Shader Programming

2024

2024

2024

Made Using C++

Developed a 3D rendering project featuring terrain generation using heightmaps and tessellation shaders, with dynamic level-of-detail adjustments based on camera distance. Implemented the Phong lighting model for realistic lighting, enhanced by normal mapping and the Central Difference Method (CDM). Created billboards with a geometry shader for objects like trees and built an immersive skybox with a cubemap texture. Integrated a real-time GUI using ImGui for dynamic parameter adjustments, balancing performance and visual quality.

This project honed my skills in real-time rendering, shader programming, and optimization, deepening my understanding of graphics programming.

Made Using C++

Developed a 3D rendering project featuring terrain generation using heightmaps and tessellation shaders, with dynamic level-of-detail adjustments based on camera distance. Implemented the Phong lighting model for realistic lighting, enhanced by normal mapping and the Central Difference Method (CDM). Created billboards with a geometry shader for objects like trees and built an immersive skybox with a cubemap texture. Integrated a real-time GUI using ImGui for dynamic parameter adjustments, balancing performance and visual quality.

This project honed my skills in real-time rendering, shader programming, and optimization, deepening my understanding of graphics programming.

Made Using C++

Developed a 3D rendering project featuring terrain generation using heightmaps and tessellation shaders, with dynamic level-of-detail adjustments based on camera distance. Implemented the Phong lighting model for realistic lighting, enhanced by normal mapping and the Central Difference Method (CDM). Created billboards with a geometry shader for objects like trees and built an immersive skybox with a cubemap texture. Integrated a real-time GUI using ImGui for dynamic parameter adjustments, balancing performance and visual quality.

This project honed my skills in real-time rendering, shader programming, and optimization, deepening my understanding of graphics programming.

Fuzzy System for Autonomous Maintenance Machine in Space

Fuzzy System for Autonomous Maintenance Machine in Space

Fuzzy System for Autonomous Maintenance Machine in Space

2024

2024

2024

Made Using MatLab

In the Fuzzy Logic & Knowledge-Based Systems (AI) module, I developed a Fuzzy Inference System (FIS) for an autonomous maintenance machine in space. The system evaluates dynamic inputs like distance, velocity, altitude, and battery levels to make decisions such as rendezvous, repair, or abort. After identifying inefficiencies in the initial version, I streamlined the system by reducing inputs from 14 to 6 and consolidating outputs into a single decision variable, improving efficiency and interpretability. Using Gaussian and Bell-shaped membership functions, I enhanced the system’s ability to handle imprecise data and nonlinear systems, showcasing my skills in designing intelligent, adaptive solutions for complex environments.

Made Using MatLab

In the Fuzzy Logic & Knowledge-Based Systems (AI) module, I developed a Fuzzy Inference System (FIS) for an autonomous maintenance machine in space. The system evaluates dynamic inputs like distance, velocity, altitude, and battery levels to make decisions such as rendezvous, repair, or abort. After identifying inefficiencies in the initial version, I streamlined the system by reducing inputs from 14 to 6 and consolidating outputs into a single decision variable, improving efficiency and interpretability. Using Gaussian and Bell-shaped membership functions, I enhanced the system’s ability to handle imprecise data and nonlinear systems, showcasing my skills in designing intelligent, adaptive solutions for complex environments.

Made Using MatLab

In the Fuzzy Logic & Knowledge-Based Systems (AI) module, I developed a Fuzzy Inference System (FIS) for an autonomous maintenance machine in space. The system evaluates dynamic inputs like distance, velocity, altitude, and battery levels to make decisions such as rendezvous, repair, or abort. After identifying inefficiencies in the initial version, I streamlined the system by reducing inputs from 14 to 6 and consolidating outputs into a single decision variable, improving efficiency and interpretability. Using Gaussian and Bell-shaped membership functions, I enhanced the system’s ability to handle imprecise data and nonlinear systems, showcasing my skills in designing intelligent, adaptive solutions for complex environments.

Game Engine Architecture

2024

In this project, I developed a custom game engine using C++, OpenGL, and GLFW, focusing on 3D rendering, user input handling, and event management. The engine supports rendering 3D objects (cubes, pyramids) with textures and basic lighting, alongside a robust event system for handling keyboard, mouse, and window events. I used Google Test for unit testing and NVIDIA Nsight for GPU debugging, optimizing shaders and resolving performance bottlenecks. Despite time constraints, the project deepened my understanding of game engine architecture, real-time rendering, and the importance of early testing and performance optimization.

Game Engine Development

2024

In this project, I developed a custom game engine using C++ with an Entity-Component-System (ECS) architecture, integrating libraries like EnTT, Renderer2D, and Box2D to create a 2D pinball game. The engine featured entities with components such as Transform, Physics, and custom components like Paddle and Ball, managed by systems like PhysicsSystem and RenderSystem. A key challenge was synchronizing physics (Box2D) with rendering (Renderer2D), which was resolved by ensuring the TransformComponent updated in sync with the physics simulation. Custom components enabled unique behaviors for paddles, balls, and bumpers, while extensive logging helped debug complex interactions. Despite shifting from Agile to a linear development approach due to team challenges, the project deepened my understanding of ECS architecture, physics-rendering integration, and the importance of debugging and early testing in game engine development.

Game Engine Architecture

2024

In this project, I developed a custom game engine using C++, OpenGL, and GLFW, focusing on 3D rendering, user input handling, and event management. The engine supports rendering 3D objects (cubes, pyramids) with textures and basic lighting, alongside a robust event system for handling keyboard, mouse, and window events. I used Google Test for unit testing and NVIDIA Nsight for GPU debugging, optimizing shaders and resolving performance bottlenecks. Despite time constraints, the project deepened my understanding of game engine architecture, real-time rendering, and the importance of early testing and performance optimization.

Game Engine Development

2024

In this project, I developed a custom game engine using C++ with an Entity-Component-System (ECS) architecture, integrating libraries like EnTT, Renderer2D, and Box2D to create a 2D pinball game. The engine featured entities with components such as Transform, Physics, and custom components like Paddle and Ball, managed by systems like PhysicsSystem and RenderSystem. A key challenge was synchronizing physics (Box2D) with rendering (Renderer2D), which was resolved by ensuring the TransformComponent updated in sync with the physics simulation. Custom components enabled unique behaviors for paddles, balls, and bumpers, while extensive logging helped debug complex interactions. Despite shifting from Agile to a linear development approach due to team challenges, the project deepened my understanding of ECS architecture, physics-rendering integration, and the importance of debugging and early testing in game engine development.

Game Engine Architecture

2024

In this project, I developed a custom game engine using C++, OpenGL, and GLFW, focusing on 3D rendering, user input handling, and event management. The engine supports rendering 3D objects (cubes, pyramids) with textures and basic lighting, alongside a robust event system for handling keyboard, mouse, and window events. I used Google Test for unit testing and NVIDIA Nsight for GPU debugging, optimizing shaders and resolving performance bottlenecks. Despite time constraints, the project deepened my understanding of game engine architecture, real-time rendering, and the importance of early testing and performance optimization.

Have a project in mind?

Let's build something great. Whether it's complex gameplay mechanics, intelligent AI, or beautiful shaders, I'm ready to bring your vision to life.

Have a project in mind?

Let's build something great. Whether it's complex gameplay mechanics, intelligent AI, or beautiful shaders, I'm ready to bring your vision to life.

Have a project in mind?

Let's build something great. Whether it's complex gameplay mechanics, intelligent AI, or beautiful shaders, I'm ready to bring your vision to life.

© 2025 Portfolio

Chaouki Mabrouki

Porftolio

© 2025 Portfolio

Chaouki Mabrouki

Porftolio

© 2025 Portfolio

Chaouki Mabrouki

Porftolio

Create a free website with Framer, the website builder loved by startups, designers and agencies.