Primary Role: Platform Engineer
Development: ARC Squadron: May 2011 - January 2013, Redux: May 2013 - October 2013, Redux for Fire TV: February 2014
Website: ARC Squadron Website
Engine: Unreal Engine 3
Platforms: iOS, Android, Fire OS

Along with supporting general gameplay development on ARC Squadron, I was responsible for the following items:

  • 3rd party integration (Gamecenter, Google Play, Amazon, etc.) and engine modification for supported platforms (iOS, Android, Fire OS)
  • Developed object-based UI system specifically for mobile titles
  • Developed multiplatform client code for a custom internal analytics solution
  • Developed custom multiplatform solution for music playback on mobile titles
  • In charge of final framerate optimization and memory reduction of levels, materials, and other art assets

Noteworthy:

Details:

  • UI system branched off Epic's UE3 mobile menu object system with support for the following functionality:
    • Pivot pinning support both within the full screen space and for subobject attachment. Position offsets in relative coordinates based on pivots.
    • Fixed aspect ratio support per-widget to avoid object scaling issues on numerous aspect ratios of mobile devices
    • Animation support for various attributes (position, color, opacity, scale, number text, etc)
    • Controller input support
    • Support for automated runtime asset path conversion at various screen resolutions (ex: standard vs. retina iOS)
    • Rewrite of render stack to add support for:
      • Previous items
      • Off-screen culling of menu objects
      • Stretched tile support
      • Support for Multifonts
      • Support for wrapped strings
      • Vertical kerning support for fonts used in wrapped strings
  • Hardware music player to allow for hardware-accelerated playback of streamed background music for platforms that supported it
    • Integrated using the platform interface system in UE3
    • Support for Android, iOS, mac OS, Windows (standard and RT)
    • Supported cross fading between songs, looping, seeking, etc
    • Allowed us to store and play audio in formats not supported by the engine with smallest cost to performance and storage space
  • Android support
    • Support for the 64-bit NDK
    • Support for GDB debugging of the Android binary
    • Support for Kindle, Ouya as a separate cook platform from stock Android
    • Support for splitting Android texture formats into independent builds instead of a unified .pak
    • Support for deploying to mulitple Android devices through Unreal Frontend with selectable texture format
  • Other miscellaneous enhancements to mobile UE3 engine
    • Support for mobile gamepads on iOS and Android
    • Cloud storage support on non-iOS platforms
    • In-app purchase restoration and consumption for non-iOS platforms
    • Support for OpenFeint/GREE platforms, Google GameServices, Amazon GameCircle SDK and purchasing, and Facebook SDK for Android/iOS
    • Support for AppsFlyer analytics on iOS
    • Horizontal mirroring support in the view matrix stack for simple, cheap mirror mode gameplay effect
    • Support for looping sounds on Android using the base UE3 sound system
    • Integration and support for a Metro-based version of the engine for Windows RT devices
    • Client code for internal custom analytics system