Skip to main content

PlayMagic: Experienced Programmer (XIII Remake)

ProfessionalDateAug 2020Duration3 monthsRoleExperienced Programmer
  • Unity
  • C#
  • Shipped title (XIII)
  • Debugging
  • Bug fixing
  • FMOD
  • Unreal Engine
XIII Remake cover art

In 2020 I joined PlayMagic as an Experienced Programmer for the last 3 months before the release of XIII, the remake of the 2003 Ubisoft cult cel-shaded shooter.

My job was to debug the game: track down and fix bugs so the team could ship on time.

What I did

Experienced Programmer · 3 months
  • Joined the XIII remake team at PlayMagic for the final 3 months before release
  • Tracked down and fixed bugs across the game to help it ship on time
  • After the release: refactored the FMOD sound system into small reusable building blocks
  • Extended the in-house spline plugin with trigger "chunks" usable by any controller
  • Researched sound diffraction, and ramped up on Unreal Engine (tools and gameplay)

After the release​

In early 2021, I kept working at PlayMagic on Unity tools and R&D:

  • Sound system refactor (FMOD): sounds were triggered in many different ways (Animator, Timeline, hard-coded events, and FMOD's StudioEventEmitter with its trigger, collision and mouse callbacks updating every frame), each with its own code and its own duplication. I merged them into a SoundManager and a lighter, adaptive SimpleSoundEmitter: small building blocks that work on their own.
  • Spline plugin: a chunks extension built on the spline's points, so that any controller can trigger actions when it enters, stays in or leaves a section of the spline.
  • Sound diffraction: research with a colleague on how it is usually done, and how Unreal handles it.
  • Unreal Engine: my 2021 objective was to reach the same level in Unreal as in Unity. First for tools: read the engine source, build small single-purpose tools, and be able to extend any part of the engine. Then for gameplay: save system, synchronous and asynchronous scene loading, an event system instead of singletons, and the core loop of a game.
Spline chunks in Unity
Spline chunks in Unity
First steps in Unreal Engine
First steps in Unreal Engine