Overview
Fist of the Samuari was my first self built engine for a game, developed from the ground up using Vulkan API and C++. Leveraging Vulkans low level control allowed me
to achieve high performance rendering capabilites which built an optimized engine for a 2.5D game inspired by Samurai Master on the Nitendo 64. This project marked a big milestone
in my development processes, showcasing my ability to integrate modern rendering and graphic technicques with retro game design mechanics.
As for the game itself, it required a lot iteration and creative problem solving to reach its final form. Our two-person team, myself and another developer, were not allowed to use
third party plugins for engine features like animation support. One of the biggest challenges I tackled was simulating sprite like animations using 3D models. To achieve this,
I designed a system that transitions character poses based on gameplay states, effectively mimicking sprite animation through mesh swapping. Using our custom-built ECS and entity system,
we efficiently managed these transitions in real time. In addition to this, I also implemented core game systems such as physics and responsive input handling to ensure the gameplay felt
smooth and engaging, allowing for player to combo different movesets together like a real arcade brawler.
Technical Implentation
- Custom built engine from scratch, using Vulkan API and C++
- Low level rendering technicques - image swapchains, shaders and rendering
- Create a Pose-Transition system to simulate sprite like animations
- ECS (Entity Component System) to effectively manage all the game states and level transitions
- Physics systems - Collision, movement and responsive input
- Input handling system for real-time combo chaining
- collaborated with another dev in agile workflow, using jira board management
What I learned
- Deepened my understanding of Vulkan's graphics pipeline and its advantages for low-level rendering control
- Gained hands-on experience architecting a game engine from scratch with C++ and rendering techniques
- Improved my ability to optimize performance and memory management for real time Games
- Learned how to design and implement a custom ECS architecture for scalable game logic
- Developed problem-solving skills by working around limitations such as no plugin or animation library support
- Enhanced my knowledge of 3D math and physics
- Strengthened collaboration and communication while working in a small team under creative constraints