Hello, I'm Hafiz

A Unity Developer from Malaysia

SKILLS

Unity Generalist with specialisation in gameplay and UI programming

C#, Git, PlasticSCM

portfolio

Cramped ROOm of death

Publisher: Nicalis, Inc

Responsible for developing the whole game in Unity including gameplay, UI programming.

Responsible for game design and mechanics as well as more than 100 puzzle levels design.

Lead the visual art direction by working with another artists and specifying and overseeing art implementation for the art style to be cohesive.

cramped room of death game design and implementation

Responsible for implementing unconventional grid-based movement mechanic, where instead of conventional one square object moving and occupying one grid at at time, it support movement of two squares object occupying two grids at a time, that also support rotation of the mover. Every movement and action is undoable.

Implement various gameplay mechanics such as slippery floor, pushable object, fence while still applying the core mechanic where obstacle interaction is different based on player facing direction and movement direction.

Implement remaining game system such as but not limited to:

  1. Simple inventory system and multiple unlockable skins for the main character.

  2. Robust menu management system and using DOTween to support performant menu animation.

  3. Robust audio management system that can handle music, sound effects, UI sound effects separately whilst still managed under one singleton.

  4. Simple achievement system with Steam achievement support.


cramped room of death level design workflow

Create level generator tooling in Unity to significantly reduce level building time.

  1. Initially, level is designed and sketched on paper before transferred into puzzlescript.net for interactive testing.

  2. ASCII based level layout is then exported and prepared to be fed into the level generator.

  3. Level Generator is used to generate the level by placing all of the prefabs/gameobjects required based on the layout. All of the core gameobject that handle the game mechanic, physics interaction etc is placed at this stage. The exact prefab used is configureable.

  4. Finally, SuperTiled2Unity is used to import level art asset from Tiled. This is then overlayed on top of everything and the visual and mechanic part of the level is completely abstracted. Thus we can change how the level looks without messing with the level design/logic anymore.

[Redacted] menu system

Responsible in programming the menu system including menu managements and UI animations for an unnannounced metroidvania.

Hexplore it companion app

Hired as contract Unity generalist to help with new feature implementation, UI optimisation and bugfixes.

Worked on existing project codebase and utilising PlasticSCM version control.

Worked on improving existing app design UI and UX by ensure the UI scale correctly across multiple device resolution and at the same time still respecting screen safe area.

Followed industry standard found in Apple Human Interface design and Material Design in implementing new app features.

about me

I was a hobbyist Unity game developer and was a licensed aircraft engineer until the 2019 pandemic hit the airline industry hard. I started making game as a hobby since 2012 using Unity game engine but now I am a full time Unity game developer working on my own project and other client project.

My specialty in Unity is as a generalist and gameplay programmer. I have experience in game and level design by working on my own puzzle games and as a contract level designer for another client. I work primarily in 2D but that knowledge can be easily translated to a 3D environment if necessary.


Get in touch at

Email: hafizmrozlan@gmail.com

Discord: hafizmrozlan#2489