2nd year student at Breda University of Applied Sciences in Creative Media and Game Technologies.
💼 Open for a 6-12 month internship starting September 2025
April 11, 2025
Fire Ant Engine is a continuation of my custom Terrain Editor. The team was joined by seven talented programmers. The project features a prefab system, a terrain editor, flow-fields for AI agent navigation, an in-engine UI editor, optimizations which allowed a support for a large terrain map and many units, and support on Windows and Nintendo Switch.
My Contributions: Terrain Editor | Terrain Rendering | Height Editing | Texture Editing | Prop Placement | Scene Serialization | Prefabs
Engine/Tools: C++, OpenGL, GLSL (Compute & Tesselation Shaders), EnTT, Cereal, ImGui
Team Size: 7 Programmers
Platforms: Windows | Nintendo Switch
Duration: 8 Weeks (Feb 2025 - Apr 2025)
The Terrain Editor is a real-time terrain editing toolkit built directly into a custom C++ game engine. It allows users to sculpt terrain height, paint textures, scatter props, and create plateaus—all in an interactive, visual editing environment. It also integrates tightly with a serialization system to allow scene saving/loading.
This tool was critical to the Fire Ant engine, forming its foundation for terrain-based gameplay and visual fidelity.
I restructured and extended the original Block B prototype into a robust, extensible tool using an object-oriented brush system built on a shared interface. Each brush (Height, Texture, Prop, Plateau) inherits from a common TerrainBrush
base class, allowing seamless expansion.
Key Features:
Challenges:
I implemented a custom rendering pipeline for terrain using OpenGL tessellation shaders, which dynamically displace geometry based on a height map texture. A new rendering pass was added, separate from other objects, with custom TerrainMaterial
and TerrainMeshRenderer
classes.
Key Features:
Challenges:
Rebuilt the existing CPU-based height tool into a compute-shader powered GPU brush capable of raising/lowering terrain. I added support for both circle-shaped and alpha-textured brushes.
Key Features:
Challenges:
This brush paints the terrain’s base albedo texture using tiled patterns or flat colors. Similar to the height brush, it’s compute-shader based and supports the same brush types.
Key Features:
Challenges:
The prop brush lets users scatter 3D assets (like trees and rocks) across the terrain using a visual brush. The brush respects terrain normals and supports random rotation and placement density.
Key Features:
Challenges:
A unique brush that flattens terrain toward a selected or user-defined height, allowing sculpting of roads, plateaus, or flat regions.
Key Features:
Challenges:
I developed a robust scene serialization system using Cereal + EnTT Meta, supporting recursive entity hierarchies and runtime component reflection.
Key Features:
EnTT Meta
.Challenges:
EnTT Meta
+ Cereal.My contributions enabled:
Without these contributions, the team wouldn’t have had editable terrain, reusable prefab systems, or the ability to save and iterate on scenes—making them foundational to both the engine and project scope.