Back

Fist of The Samuari

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