The document below is a sample product for a Tech Art led interdisciplinary project.

It was developed to facilitate a meeting between team leads to “stack hands” prior to budgeting and planning. This represents a “scrappy” level of rigor, with a turn around time of 1 day between synthesis, conceptualization, and drafting.

Document Intent:

  • outlines a system according to the needs and concerns previously raised by art, design, and development teams

  • accommodates familiar workflows for input across different technical and creative disciplines

  • organize a proposed division of ownership and upkeep, explicitly defining roles and relationships

  • defines key system-related vocabulary to facilitate interdisciplinary communication

  • documents takeaways from preceding collaborative design session that informed the project and systems definitions

  • provides a glossary of terms that are likely to be unfamiliar across disciplines for technical, theoretical, or operational reasons

Systems Documentation and Dev Plan

System:

Notice for Teams Concerned:

Art Department - Animation Team

Art Department - Effects and Graphics

Design Department - Gameplay Systems Team

Design Department - Mechanics Design Team

Development Department - Gameplay Programming Team

Primary Point of Contact:

Manual Reload System

Chris Chung, Tech Art Team

Stated System Definition and Requirements:

  • Manual player control of reloading sequence

  • Gameplay Systems Design Team tunable base parameters for game feel and balance

  • Mechanics Design Team tunable upgrade and modifier [Interface]

  • Animation Team tunable procedural animation system

  • Effects Team [Effects Events] integration

  • The [Formal System] will manage input parsing, game-state, and parameter control

  • The [Representational System] will handle interpretation of [Formal System] parameters to procedurally animate the character

System Design Features:

  • Manual Reloading System will be divided into a [Formal System] and [Representational System]

  • The [Formal System] will have:

    • System Inspector Editor - an editor tool for systems designers to affect gameplay relevant state values (e.g. input rate scalars, success/fail rates, transition durations)

    • Modifiers Interface - an interface for mechanics designers to permit the game’s progression systems, items, status effects, etc. to modify base values using existing mechanical content tools

    • Animators and Effects Tools - a tool suite for artist to define positional targets on weapons, define secondary animation parameters and contextual secondary animations

  • The [Representational System] will be a "black box” design owned wholly by the Tech Art Team

  • Primary Animation will be driven by [IK Handles] to allow for contextual targeting irrespective of the weapon geometry

  • Animation Effects will be driven by Art Team controllable dynamic behaviors of [IK Targets] and [blendshape] behaviors

  • [Animation Map] allows artists to regain typically lost authorship of tweening between keyframes under typical procedural approaches and more nuanced timing and positioning of VFX events

Solution Tools and Terminology:

  • Tuning Profile

    • Allows for the external definition of base values for A-B testing, and transport across scenes

    • Exposes “modifier” layer values to simulate layered effects from upgrades, status effects, etc.

  • Animation Map

    • Variation of the Finite State Machine pattern’s state

    • Differentiated by different schedulable Update functions (e.g. InputUpdate(), ParametersUpdate(), AnimationEffectsProfilesUpdate(), etc.)

    • Each state manages a 0-1 progress value that can progress bidirectionally via InputUpdate() logic

    • Exposes, at the class level, the current state and associated progress value (for primary interpretation for animation)

    • Manages “Blackboard” style internally accessible parameters dictionary based on animation effects

    • Is pure data class constructed at runtime based on Animation Map Profile Scriptable Object

  • Animation Map Profile

    • Scriptable Object based object that allows for the construction of Animation Map (states) at runtime

    • Permits scheduling Pose Profiles along a 0-1 timeline to drive data for primary animation interpretation

    • Permits definition of [Easing] curves between Pose Profiles

    • Permits scheduling Animation Effects Profiles along 0-1 timeline to drive “Blackboard” dictionary parameter collection

    • Has independent collection for Animation Team and Effects team to simplify visual inspection and interference

  • Pose Profile

    • Scriptable Object based object that allows for the definition of multi-context positioning

    • Has “key” based context definition (e.g. “Player” would use the active player’s character transform’s position and orientation as a reference, but “Weapon” would use the weapon’s transform, and “PlayerPack” could reference the player’s backpack object’s transform.

    • Allows for the definition of a position, rotation, and scale in local space for each pose.

  • Animation Effects Profile

    • Scriptable Object based object that allows for the definition of support effects for animation tuning

    • Exposes a collection of “effects options” for scheduling — for example:

      • Blendshape - define blendshape by name, min and max value slider, and rule options like “simple remap” where the blendshape’s value range is mapped over the associated Animation Map’s 0-1 progress value

      • IK Target - define an IK Target by name, a transform reference for local space context, and desired local space position and orientation

      • Effects Events - define an visual or audio effect by name, and drop down rule options with editing options like “trip rate” which will fire the event if the Animation Map progress value crosses the trip value at a rate exceeding the defined value

Team-based Ownership Plan:

Gameplay Programming Team

  • Initial Design and Development of [Formal System]

    • Gameplay related functionality

    • Definition of base tuning parameters scriptable object for mechanical tuning

    • Integration into existing modifier systems (e.g. progression system, upgrades, status effects, etc.)

    • Definition of generic empty base class for Tech Art team to extend for Art Team usage (requirements below)

  • Upkeep of [Formal System]

    • Portions of the formal system that directly affects gameplay

    • Debugging of mechanical behavior

Animation Team

  • Meshes

    • Rigging, armature conventions, and deformation compensation blend shapes

  • Procedural Animation Posing and Targeting

    • Targeting of [IK Handles] on weapons and characters

  • Animation Map Profile Creation and Tuning - Secondary Animation Effects

    • Definition of profiles for blendshape parameters and behaviors along animation maps

    • Tuning of behaviors for animation quality

    • Bug reporting to Tech Art Team

Effects Team

  • Animation Map Profile Creation and Tuning - VFX Events

    • Definition of profiles for VFX events, including VFX event triggering timing, and firing/canceling logic

    • Bug reporting to Tech Art Team

Gameplay Systems Design Team

  • [Formal System] State Design

    • Definition of mechanical states, desired input schema, state transition relationships, and transition behavior (e.g. delays, cancelable, etc.)

    • Ownership of the tuning and upkeep of base values of the system

    • Definition of permissible behaviors in each state, as well as expected representational behavior (e.g. grabs magazine at 0, flare elbow at 0.25, extract magazine at 0.5, recovery from 0.5 - 1)

    • Bug reporting to the Tech Art Team

Mechanics Design Team

  • Mechanical Content Design

    • Bug reporting to Gameplay Programming Team

Tech Art Team

  • Initial design, development, and upkeep of the [Representational System]

    • Architecture and development of Manual Reloading System’s animation

    • Integration into animation systems complex

  • Upkeep of [Formal System]

    • Extension of existing system to interpret gameplay parameters for animation

  • Tooling

    • For Gameplay Systems Design Team:

      • Custom Inspector Editor for Scriptable Object Profiles to control Formal System base parameters

      • Custom Inspector Editor to inspect Formal System states

    • For Animation Team

      • Targeting tool for posing to store in Pose Profile Scriptable Objects

      • Scheduling and Definition tool for Secondary Animation Effects to visually script, edit, and modify Animation Effects Profiles

        • 0-1 timeline with numbered nodes

        • Associated node editing - plain language, numerical, and drop down based effects editing

    • For Effects Team

      • Scheduling and Definition tool for Animation Effects Map Effects to visually script, edit, and modify Animation Effects Profiles

        • 0-1 timeline with numbered nodes

        • Associated node editing - plain language, numerical, and drop down based effects editing

    • Simulation Scene

      • Customized Simulation scene to tune profiles and scheduling without interfering game systems


Research and Ideation Notes (Design Context):

Manual Reload System Design:

  • Manual Reload System (New Feature) was selected to enhance [Panic] and [Skill Ceiling]

  • Key referents include “Receiver”, “Far Cry 2”, “Metro”-series, and “Escape from Tarkov”

Referents Selection:

  • Receiver - procedural parametric animation system is expressive and light weight

  • Far Cry 2 - wear and tear weapon stats modification is inspiration for key formal mechanical parameters

  • Metro - ammo conservation and [Manual of Arms] variants can help create phenomenological variance between weapons

  • Escape from Tarkov - magazine management and vulnerability during reloading aligns with key aesthetic of [Panic] and is a vector for raising player [Skill Ceiling]

Key Features and Approaches:

  • Animation - a procedural approach was selected over baked animations for the following reasons:

    • Flexibility - Pre-production support via light-weight visual feedback for design teams

    • Cost - Production phase control by removing need for external animation out-sourcing

    • Expressiveness - Pose-blending allows for infinite variants along parametric spectrums

  • Designer-facing tooling concerns - workflow and scaling considerations for the design teams:

    • Weapons Prototyping - designers need to be able to define key spatial reference points on weapons, as well as parameters for animation system

    • Reloading Mechanical Feel - designers need flexibility to tune underlying values between 0-1 parametric values without breaking underlying animation algorithms (e.g. PID controls)

    • Systems Tuning - designers need to be able to easily create, modify, and destroy new status effects, abilities, and player progression stats that interface with reloading system

  • Artist-facing tooling concerns - workflow and iteration considerations for art teams:

    • Posing Workflow - artists require FK/IK tooltips to remind animators what parameters are allowed to be tuned for each animation layer to minimize errors

    • Blendshape Support - artists require hookups for [blendshape] interpolation and falloffs to control for rig deformations

    • Graphics and Effects Support - art team requires the ability to create events along [animation maps], and define selective conditions to cancel event calls

Interdisciplinary Terms Glossary:

  • Interface - Programming term for standardized defined exposed functions

  • Effects Events - Art team reserved technical term for event system’s event class; used to drive VFX events and pass essential event data [Dev Team Note: not tied to gameplay event manager]

  • Panic - Key game aesthetic — not used in Game Design MDA Framework usage of “aesthetic”

  • Skill Ceiling - Game design term for how far player skill can be used to formally affect play outcomes

  • Manual of Arms - Borrowed keyword referring to the standardized trained actions associated with the operation of a specific weapon platform — Game design term for mechanics associated with firing, reloading, unjamming, etc.

  • Blendshape - A 3D model affordance where a mesh can be deformed using string-based name keyed 0-1 parameters; does not use but can be modified by armature/rig/bones

  • Animation Map - Tech art team reserved term defining new procedural animation system paradigm; defined above

  • Formal System - In programming terms, the “controller” that manages the logic behind the mechanic

  • Representational System - Systems responsible for interpreting the game state into relevant output — in this case procedural animation

  • IK Handle - Animation tech concept; the in-engine spatial transform (position, rotation, scale) reference that defines where end effectors (hands, feet, eyes, etc.) will be placed

  • IK Targets - Animation tech concept; the in-engine spatial transform (position, rotation, scale) reference that is used by the solver to define FK joint rotations necessary to calculate discrete solution for end effector (i.e. the position the elbow should be closest to when the hand is at the desired position