Data-Driven Animation Building Blocks for Game Locomotion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional video game systems face challenges in scaling character movements, requiring numerous animation trees for each character and scenario, leading to computational complexity and memory usage issues, making it difficult to deliver a detailed and immersive gaming experience.

Innovation Solution

A locomotion system utilizing data-driven animation building blocks that define character movements, allowing for a smaller set of stock resources and a flexible code structure, where motions are characterized by inputs like direction and velocity, and selection criteria can be defined separately from the game engine, enabling archetypes and motion types to adapt to various situations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If individual animation trees are created for each character and movement scenario, then character movement precision and realism are improved, but device complexity and memory usage increase significantly

Engineering Contradiction:
Improvecharacter movement precisionVSAvoidanimation system complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent implements a universal animation tree structure that can be reused across multiple characters and movement scenarios. Instead of creating separate animation trees for each character type (human, animal, robot) and each movement scenario (walking on hill, walking on stairs), a single animation tree system handles all cases by accepting different input parameters such as movement direction, velocity, curvature, and surface type. This universal structure reduces device complexity while maintaining character movement precision through parameterized control.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The animation tree system uses parameter changes to adapt to different movement scenarios without requiring separate animation trees. By modifying input parameters such as movement speed, direction, curvature, and surface characteristics, the same animation tree can produce varied and realistic character movements. This approach maintains manufacturing precision through detailed parameter control while avoiding the complexity of creating multiple duplicate animation systems.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If separate animation trees are created for different movement scenarios (walking on hill, stairs, etc.), then adaptability of character movements is improved, but productivity and ease of maintenance deteriorate

Engineering Contradiction:
Improvemovement scenario adaptabilityVSAvoidanimation creation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

A single universal animation tree structure serves multiple movement scenarios including walking on hills, stairs, and various surfaces. The system achieves scenario adaptability not by creating separate animation trees for each case, but by using one reusable structure that responds to different input parameters describing the movement context. This dramatically improves productivity by eliminating the need to create and maintain multiple duplicate animation systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The animation tree system is designed to be dynamic and responsive to changing input parameters rather than static and scenario-specific. The same animation tree adapts to different movement scenarios dynamically by receiving updated parameters such as slope angle, surface type, and movement velocity. This dynamic approach maintains high adaptability while improving creation efficiency, as the system responds to variations rather than requiring pre-configured scenarios.

Inventive Principle:
Principle #15Dynamics

3Reliability

If multiple animation trees are replicated for different characters and movements, then reliability of specific movement scenarios is improved, but loss of time for system maintenance increases

Engineering Contradiction:
Improvemovement scenario reliabilityVSAvoidsystem maintenance time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By implementing a universal animation tree structure, the system maintains reliability across different movement scenarios without requiring multiple replicated systems. The single reusable animation tree has been designed to handle various scenarios reliably through parameterized control, eliminating the need to maintain multiple copies. This reduces maintenance time significantly while preserving scenario reliability through robust parameter handling and validation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent merges multiple separate animation tree requirements into a single unified animation tree system. By combining the functionality of what would otherwise require separate systems into one unified structure, the patent maintains reliability for all movement scenarios while reducing maintenance overhead. The merged system handles diverse scenarios through a common codebase, eliminating redundant maintenance efforts associated with managing multiple separate animation trees.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11620781B1System and method for virtual character locomotion
Publication Date: 2023.04.04 TAKE TWO INTERACTIVE SOFTWARE INC
  • US11620781B1 patent drawing
  • US11620781B1 patent drawing
  • US11620781B1 patent drawing

AI summary

A system and method for controlling the animation and movement of in-game objects. In some embodiments, the system includes one or more data-driven animation building blocks that can be used to define any character movements. In some embodiments, the data-driven animation blocks are conditioned by how their data is described separately from any explicit code in the core game engine. These building blocks can accept certain inputs from the core code system (e.g., movement direction, desired velocity of movement, and so on). But the game itself is agnostic as to why particular building blocks are used and what animation data (e.g., single animation, parametric blend, defined by user, and so on) the blocks may be associated with.