Step into the gritty world of Beautiful Light, an intense PvPvP extraction shooter developed by an independent studio, Deep Worlds. Grow as a member of the Quick Reaction Force or invade other players’ raids as a monstrous anomaly. With stunning visuals, Beautiful Light puts a strong emphasis on immersion, horror, and tactical gameplay. The game is designed to push players to their limits and test their abilities in a thrilling experience with a steep learning curve.

Responsibilities

DevOps

  • Setup an automated build system for Deep Worlds’ custom Unreal Engine fork. The CI build server automatically creates an installed build (like the Epic Games Launcher does) and uploads it to our Perforce repositories.
  • Implemented an automatic editor binary build, which allows non-programmers to simply update their binaries from Perforce and open the editor without ever needing to compile the project.
    • This build configuration automatically fires when a programmer pushes a new commit on our Git repository’s main branch.
  • Added support for mixing multiple version control systems together (Perforce for binary assets, Git for source code). This gives programmers the full power of Git with Perforce’s simplicity for game assets.
  • Using JetBrains TeamCity for CI.

Gameplay Programming

  • Helped with integrating the game’s shooting netcode through the GMC (General Movement Component). As such, shooting is predicted by players and simulated on proxies the same way movement is.
  • Reworked environmental actors such as lights and windows to replicate in a lightweight manner through a single replicated network manager.
  • Added support for looting players while they are DBNO (down but not out) or dead.
  • Miscellaneous fixes to our custom fork of the GMAS (General Movement Ability System), which is a GAS equivalent for the GMC.

Editor Tooling

  • Added custom tools for level designers upon their request, such as a shortcut to specific manager actors in the level through the editor toolbar.
  • Implemented some engine fixes relating to invalid foliage actors not re-attaching to a surface when the “Snap to Floor” button was pressed.

Updated: