- Arkane Studios
- Gameplay Engineer
- June 2014 - June 2017
- Core gameplay feature heavily promoted in official marketing campaign.
- Built flexible component architecture to enable player possession of more than one hundred unique gameplay objects, from simple collision primitives to fully animated NPCs.
- Exhaustively iterated on impulse-driven rigid body locomotion to maximize integrity of physical simulation within safe tolerance of collision system.
- Created high-level entity/controller interface to bridge low-level AI and player input systems.
- Wrote deploy, idle and attack controllers for folding defense turret:
- Created ADS camera with smooth transition between search and attack states.
- Implemented player-controlled operators (flying robots), including:
- Locomotion controllers to enable unconstrained 3D movement outside of navigation mesh.
- Medical operator chain lightning attack with surface-based soft- and hard-lock targeting modes.
- Military operator continuous beam attack with ADS “smart” tracking camera.
- Engineering operator flame thrower attack with independent control arm and CQC camera.
- Designed and implemented fully-reactive 3rd-person camera system:
- Achieved excellent collision and clipping avoidance in classically challenging environments, including tight interior spaces with high density dynamic clutter.
- Combined efficient heuristics and amortization strategy to minimize frequency of physical world queries.
- Used local path finding to detect and circumvent partially occluding geometry, reducing frequency of hard camera cuts.
- Independently prototyped new player ability designed to enhance overall combat mobility and provide an effective stealth recovery option.
- Worked closely with lead systems designer to develop prototype into polished feature.
- Wrote lightweight character proxy to reduce run-time cost of spawning multiple player doppelgangers.
- Collaborated with animator to test and refine five unique poses for player doppelganger:
- Added support for transforming player blink vector into corresponding directional animation tag.
- Created key frame animation module to render exported material animations on 1st-person player model.
- Implemented remotely deployed cylindrical gravity volume.
- Used dependency injection to abstract special handling of player, NPCs and rigid bodies.
- Implemented player movement controller to satisfy feature mobility requirement:
- Created vertical boost maneuver (“canon shot”) via non-linear acceleration along uniform field normal.
- Developed surface-bound targeting mode:
- Leveraged AI navigation mesh to target behind partially occluding geometry.
- Implemented direct damage and AOE offensive abilities, including:
- Thermal Blast: proximity mine that erupts in pillar of fire.
- Electrostatic Burst: area attack that damages and disables electrified targets.
- Kinetic Blast: area-based concussion with strong knockback effect.
- Pyschoshock: devastating psionic damage against a single organic target.
- Wrote generic mediator framework to minimize code duplication for damage-related player abilities.
- Designed and implemented procedural ragdoll animation:
- Applied impulses to subset of human rig joints as a function of time and position.
- Significantly reduced feature development cost by eliminating key frame animation requirement.
- Built robust resource management layer to supplement CryEngine entity system:
- Employed sound RAII principals to simplify entity lifetime management in client code.
- Wrote opaque wrapper around global entity handle to enable unique_ptr usage and ownership semantics.
- Co-designed and implemented player time dilation mechanic:
- Added engine-level support for synchronous and asynchronous advancement of player and world timers.
- Coupled physical simulation time step to player movement; e.g. game is paused while player is stationary.
- Created direct, AOE and surface-constrained 3D targeting modes.
- Defined and implemented low-level data structures and client interface for player ability tree.
- Implemented auto-targeting behavior and reticle animation for player psychoscope.
- Wrote offline parser to generate dependency graphs and streamline debugging of visual scripting logic.
- Developed and maintained key quest system components:
- Implemented global entity position tracker to support discovery objective type.
- Decomposed objective data structure into hierarchical sub-tasks to enable multi-part quest advancement.
- Implemented in-world interactive terminal to display NPC status and accept new tracking quests.
- Added native support for player weapon and abilities wheel UI:
- Designed and implemented unique menu navigation behavior for multiple input sources.
- Wrote partially regenerative player health component.
- Implemented native UI events and flow logic for player death screen.
- Created bi-directional gravity elevator to smoothly transition player and gameplay objects across station and gravitational boundaries.