ROLE: Engine Programmer
DEV TIME: Sep 2022 - Present
LANGUAGES: C++, HLSL
TOOLS: Visual Studio, DirectX11, RenderDoc
THIRD PARTY: FMOD, TinyXML2, std_image, ImGui
The Custom Game Engine is a self-built C++ game engine that is integrated with a DX11 renderer pipeline, mouse keyboard, and Xbox controller input. It also includes math classes, image & OBJ loader, FMOD for audio, an XML loader, a development console, a debug render system, a job system that supports multi-threading, a network system, and ImGui.
Current features
DX11 Renderer Pipeline Integration
The Custom Game Engine incorporates a DirectX 11 renderer pipeline, facilitating advanced graphics and rendering capabilities
Input System
It supports inputs from mouse, keyboard, and Xbox controllers, offering versatile control options for players
Math Classes
The engine includes a suite of math classes such as Vec2, Vec3, Mat44, AABB2, etc, essential for various calculations and game mechanics
Image & obj loaders
Image and OBJ loaders are integrated for easy importing and handling of graphical assets within the engine
FMOD Audio Support
FMOD is used for audio processing, allowing for high-quality sound effects and music integration
XML Loader
The engine features an XML loader, simplifying data management and configuration
Development Console
A built-in development console aids in debugging and testing during game development
Debug Render System
This system helps developers visualize and debug various aspects of their game during development
Multi-threading Job System
The engine’s job system supports multi-threading, enhancing performance and efficiency, particularly in resource-intensive tasks
Network System
It includes a network system for managing LAN interactions and multiplayer functionalities
ImGui Integration
ImGui is integrated for creating user interfaces, aiding in both game development and providing in-game menus
Related projects
Fluid Simulation
Aug 2023 - Present
- Custom game engine creation
- Physics simulation with position-based fluid dynamics
- With screen-spaced rendering using DX11
- Simulation optimized via compute shaders
Stylized Rendering tool
Feb 2024 - May 2024
- 6 post-processing effects: Kuwahara, glitch, and pixelization effects
- Shader manager in personal game engine for loading/saving variables from XML, with API for applying effects
- ImGui menu for real-time variable tweaking
Doomenstein
Mar 2023 - July 2023
- A 3D Doom-like FPS game
- Vertical maps using basic 3D collision detection
- Spline based map selection UI
- Billboard sprite animation
Simple Miner
May 2023 - July 2023
- 3D Minecraft clone game
- World generation with Perlin noise and seed system
- Multi-threaded performance optimization
Vaporum
Oct 2023 - Nov 2023
- 3D tank strategy turn-based LAN game
- Hexagon tile based map population
- Map, tile, unit definition from xml files
- Client and server set by network config