Game Programmer
Fly Me Hard is a fast-paced, physics-driven action game where you play as a jetpack-wielding cowboy fighting through waves of goblins, skeletons, and magical foes across medieval landscapes. As the Sole Developer, I built core mechanics such as active ragdoll physics, dynamic enemy AI, and more.
This project began as a personal learning experiment—I just wanted to get a better grasp of physics concepts in Unity. But as development progressed, I stumbled upon a pretty unique mechanic that felt like it could evolve into a full-fledged game.
As a solo developer, I handled everything from programming and design to art direction. This gave me a deeper appreciation for the challenges faced in each area—especially how tough design and artistic decisions can be. The experience gave me a holistic understanding of game production, which later helped me collaborate and communicate more effectively with my team at work.
To top it off, the game was picked up by CrazyGames publishers, and my inbox was soon filled with feedback and love from players—which was an incredibly rewarding moment.
Games like human fall flat, Gang beasts uses this mechanic to create hilarious, unpredictable physics based moments and I wanted kind of same fun interative experience for my game. Characters use Configurable Joints between each bone, with proper spring and damping settings after lot of trail to follow animator pose but with flexible physics based movement.
To improve loading efficiency and make the development pipeline smoother, I implemented a multi-scene workflow in my game. Instead of loading entire levels as a single scene, I broke the game into modular scene groups:
Using this system, I built a custom Scene Group Loader Tool that allows quick switching between levels directly in the editor. This gave me:
In some levels, there are 15–25 enemies, each having multiple rigidbodies and joints with IK animations, causing performance bottlenecks—especially on the web platform.
To solve this, I built a custom grid-based optimization system that automatically stores playable objects based on their position in the grid. Each cell contains playable objects (enemies, props, etc.) and they are only activated when the player enters the cell, as shown in the picture above.
Red cells in the grid represent unvisited areas (objects are inactive), and green areas represent visited ones (objects are active).
There are lot of others systems as well made to polish and finish the game