Portfolio - Gameplay Programmer
Zubair Hittam
Dayne The Dino Hunter
Godot • GDScript • Turn-based • Card Battler • Roguelike
Developed modular card and status effect systems using Godot's custom resources.
Implemented responsive, animated UI and a satisfying card interface.
Programmed a Slay the Spire style procedural map generation algorithm.
The Relic Emporium
Unity • C# • User Interface • DOTween • Tech Demo
Set up clean and organized UI using the Model-View-Controller architecture to separate the raw data from the visuals.
Coded a custom scroll view script that uses object pooling and scriptable objects for improved performance.
Wrote customizable and reusable scripts for expressive UI animation using the DOTween package for Unity.
Trove Defenders
Godot • GDScript • Turn-based • TRPG • 2D • Isometric
Developed a grid-locked turn-based battle system using Godot's tile map focused API.
Used Resource-driven design and composition to separate character and attack data from the functionality, making it much easier to reuse that code across different systems in the game.
Developed a complex Utility AI that controls enemy units to keep the gameplay challenging but not fully predictable.
Procedural Creatures
Unity3D • C# • Procedural Animation • Inverse Kinematics • Animation Rigging • Tech Demo
Rigged models using the Animation Rigging package for Unity and configured them for animation using constraints and Inverse Kinematics.
Created procedural animation scripts to simulate realistic locomotion for multi-legged and serpentine creatures.
Coded humanoid procedural animation scripts to partially override keyframe animations and make them adapt to the environment. These include dynamic foot placement on slopes, turning the head to look at key objects in the environment, and occasionally reaching out to touch nearby surfaces.
Crimson Brawl
Godot • GDScript • 3D • Fighting • Multiplayer
Developed an input buffering system that records all inputs pressed within a single frame in the form of an input packet resource, and stores these packets in a history buffer.
Used a Finite State Machine to set up and organize the fighter's moveset and paired it with Godot's AnimationTree node for seamless transitions between animations.
Implemented online multiplayer using Godot's high-level multiplayer API.
Contact
Interested in working with me?
Send me an email!You can also find me on Discord or Twitter/X.
















