Gigantic: Rampage Edition

2024 · 5v5 MOBA Hero Shooter · Commercial Project (1+ years) · Unreal Engine 3 / C++ / UnrealScript / ActionScript / Scaleform / Flash

During my internship and Jr. programming role at Abstraction Games, I had the opportunity to work on the re-release of Gigantic (original release by Motiga in 2017) where I was part of the core code team from March 2023 until July 2024. Released as Gigantic: Rampage Edition in April 2024, Abstraction provided many improvements and additions such as entire UI overhauls, more guided tutorials, a new game mode called Rush, two new maps, and two new heroes, namely Roland and Kajir.

My responsibilities mostly consisted of UI programming to increase accessibility and usability despite the technical debt warranted by Unreal Engine 3 and Flash. Later, I also worked on other game programming aspects to fix and create combat and attack behaviour for single heroes.

UI Programming

Gameplay HUD:

  • introduced a new skill interval counter 🔸 for when a certain skill can execute a timed effect, e.g., Wu can do a buffed Kick every 3s on its primary attack.
  • general HUD change to a more blue-green and gradient-based palette for contrast.
  • Shield and Health UI:
    • rework of shield bar to display absolute segmentation for any hero, no matter whether shield is permanent (Rutger) or temporary only (HK, Zandora).
    • regeneration feedback with pulsing frame indication.
    • remove "extra health" buff (prior display as separate bar) and include in usual health.

Footer Action Bar:

  • introduced support for dynamic animations, i.e., a ring-like "filling-up" animation around button images to indicate held buttons of in-progress actions (e.g., purchase actions).
  • enabled consistent spacing and enumerations of elements, including:
    • option for loading in button images anywhere in-between text, accounting for the chosen language or input type (gamepad / mouse).
    • contextual positioning that horizontally moves the footer bar, based on distances to other near objects, e.g., to prevent overlaps with party member block in bottom corner.

Character Builds:

  • custom controls by introducing a drag'n'drop system to better manage order of a hero character's upgrade build:
    • detect targeted items of current drag by using a two-pointer system (i.e, find closest item to current mouse coordinates) for placement and hover feedback.
    • gamepad navigation.
    • instant feedback what combinations and modifications are possible while editing:
      • indications that some upgrades require other base upgrades.
      • "move up" upgrades after deleting a preceding upgrade of lower index to prevent gaps.

Voice Chat UI:

  • unified updates to the voice chat UI based on delegates and events:
    • custom voice UI for the party block, hero selection screen and scoreboard.
    • general UI solutions for gameplay, transition screens and other.
  • support for mute and block actions as well as joining or leaving players to refresh session states.

End of Match:

  • Rush mode: due to the new feature of changing heroes mid-match, I added an internal counting system to display the most played hero by each player.
  • MPR grade calculation by comparing player's performance with other players' data who played the same hero:
    1. retrieve JSON data to find average and standard deviation values for each stat and playstyle.
    2. find percentile for each value by normal distribution and a modified error function.
    3. calculate final rating from percentiles.
    4. PlayFab task: update JSON data with player's new performance.
    • PlayFab task: generate default JSON data for each hero to fulfill circular dependency.

And many other UI implementions:

  • rework and visual overhaul of the hero selection screen.
  • rework of AoE outlines with contrast colors and limiting visibility to only affected players.
  • certification fixes: tutorial hint displays, gamepad navigations, and many other UI bugfixes!

Gameplay Programming

AI Programming and Character Skills / Upgrades:

  • Roland:
    • drone: improved rotation and gliding physics of drone that auto-approaches enemies.
    • grapple: add event and payload data from hook's success state for AoE debuffs.
  • Kajir:
    • crew: added sprinting and improved approach behaviour for clone instances.
    • smoke: reworked continous damage instancing and replication.
  • Polymorph counter:
    • introduced polymorph breaker to cancel immobile state (Ezren Ghal, Tripp).
    • rework "blocked" UI layer for skill icons to enable exceptions and highlight icons.
  • many other fixes to attacks and upgrades of heroes from the original roaster!

Developer: Abstraction Games (original release by Motiga)
Publisher: Arc Games