Gameplay Programmer

My name is Hassan and I am a recently graduated gameplay programmer with an Advanced Diploma and OCGC in the Computer Programmer Analyst and Game Development - Advanced Programming programs respectively from Fanshawe College. I am passionate about creating games and am excited to continue to improve my skills.

As my final project in the Game Development program, I created a 3D colony sim game called Arcane Settlers using my own C++ engine with OpenGL, PhysX, Assimp, and ImGUI. You can check out the game on itch.io or view the source code on GitHub. It was an incredible learning experience and I am proud of what I was able to create in just two weeks. Read more

I am constantly practicing and improving my skills and am always on the lookout for new opportunities. Feel free to browse my portfolio to see some of my other projects or get in touch with me if you have any inquiries or job opportunities. I am currently participating in game jams to gain more experience and learn how to use various engines like Unity, in addition to my own.

Third Person Controller

I created a Third Person Controller with a heavy focus on Character, Camera and Control (3C's). I used a state machine to facilitate those and to allow a modular approach to the player actions allowing for a system that can easily be extended to add more functionality. One of the major features implemented is the climbing system, it uses raycasts to detect where the player can climb to. The climbing animator uses the offsets alongside the current position of the player to determine where to put each limb which are modified with inverse kinematics.


Procedural Terrain Demo

This is a tool I worked on to get a feel for how procedural terrain generation is done. I opted for a more simple approach and just used perlin noise alongside a random seed, to offer more control, the algorithm also included the perlin stretch and a height multiplier. The terrain textures are done at runtime by comparing the height and steepness of the terrain and assigning values to the splatmap based on that, for example a sloped surface will be stone and anything at water level will be sand.


Tower Defense (Android)

I wanted to get something in for both Android and WebGL so I created a basic tower defense game. This included a total of 9 levels, with 6 towers, each having 4 upgrade paths including a custom "ultimate" upgrade for each. I created terrain specific towers so that for example you could have water on a map and place boats in it.


Multiplayer FPS Demo

My goal was to learn the basics of creating a multiplayer game in Unity. I used Fish-Net for the networking and Unity Relay to facilitate the peer-to-peer connections. I also created simple first person controller, with multiple guns, shooting, reloading and animations for that. The servers use Unity Relay to setup client-side hosts with peer-to-peer connections, and Fish-Net for the netcode.


Unreal 3rd Person Controller

For this project I just wanted to get a feel for Unreal Engine so I worked on a simple 3rd Person Controller. The included movement options were sprinting, jumping, wall jumps and double jumps. I used Blueprints, as I am already confident in my C++ skills and just wanted to understand how Blueprints fit into the unreal workflow, I plan on further working on Unreal at a later point in time.


Thief Gone Rogue

Thief Gone Rogue is an ARPG, set in the bustling city of Silverstone. Players will assume the role of Darius, a skilled thief who finds himself drawn into a world of danger and intrigue as he becomes a monster hunter to combat the recent surge in monstrous activity. The game features a small, detailed map for players to explore, complete with quests and enemies to battle. Throughout the game, players will immerse themselves in the captivating story and atmosphere of Thief Gone Rogue, showcasing various systems I've created for it.


Luck of the Coin

I developed a roguelite game prototype in Unity for the Roguelite Jam 5. The game features procedurally generated rooms and combat mechanics, with a twist on the jam's theme "Two Sides of the Same Coin". Each room contains a coin with two sides, representing different potential outcomes, and players need to strategically choose which rooms to enter based on the risk and reward of each side. The project showcases my skills in Unity game development, procedural generation, and gameplay mechanics design.


Arcane Settlers

Arcane Settlers is a 3D colony simulation game created by me as my final project in the Game Development - Advanced Programming program at Fanshawe. The game was built using my own C++ engine with OpenGL, PhysX, Assimp, and ImGUI. It was an incredible learning experience and I am proud of what I was able to create in just two weeks within my own engine. Throughout the development of the game, I focused on implementing various game development concepts and techniques, such as: