Giang’s Portfolio

Arena of Survivors (Android, iOS)

with Hiker Games, 2018

  • Development process used Unity 2017, Photon Unity SDK, Photon Quantum SDK.
  • Take the main responsibility for input handler, core mechanics, network replication algorithms and data structures.
  • Lead the learning and adapting process of Exit Games’ Photon Unity Network SDK, and later, Quantum Deterministic SDK for the team.
  • Build a successful workflow based on git branching and Jenkins automated builds.
  • Get myself familiar with a wide range of concepts along the way, including (notably) the Entity-Component-System (ECS) programming model, C# unsafe code, network optimization, and CI/CD environment.
  • Perform network and gameplay optimization.

FZ9: Timeshift (Android, iOS)

with Hiker Games, 2018

  • Development process used Unity 5.6.
  • Fix legacy bugs and refactor spaghetti code pieces.
  • Work closely with game designers to deliver new features and content.
  • Design and develop data structures to store configurations of new PvP mode, where players build their base to store their gold and get more of that by invading others’ bases.
  • Expand the replay feature for the new PvP mode, where players can check how did other ones solve their formation.
  • Design and program new features with code cleanness in mind.
  • Using FSM and State pattern to create the boss of the story mode’s chapter 7.

Galaxy Gunner: Adventure (Android)

with Tofu Games, 2017

  • Development process used Unity 5.6.
  • Refactor old ugly code base.
  • Develop gameplay systems: player combat system, enemy system and weapon system.
  • Develop a simple 2D timeline system to play 2D cutscenes that can be triggered by various conditions.
  • Create a data-oriented behaviour tree system for NPCs.
  • Design and program data structures for storing player progress and inventories.
  • Apply the git-branching model and train other teammates to use that.
  • Assist other programmers when they need technical advice or a solution.
  • Perform game optimizations