NPC Pathfinding Using Player Movement History

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional 3D game pathfinding algorithms, such as A* and JPS, result in unnatural NPC movements on complex maps, leading to a sense of unfairness and lack of realism, as they primarily focus on shortest paths without considering human-like movement strategies.

Innovation Solution

A system that determines NPC movement paths by analyzing player movement history to select paths with higher frequency usage, combining global human movement paths with local shortest path finding algorithms, and adjusting based on player attributes and game progress.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If shortest path finding algorithms (A*, JPS) are used for NPC movement, then movement efficiency is improved, but naturalness of behavior deteriorates

Engineering Contradiction:
Improvemovement efficiencyVSAvoidnaturalness of behavior
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent copies human player movement patterns by recording and analyzing actual player paths through the map. Instead of calculating optimal paths algorithmically, the system replicates human-like routing decisions by selecting paths that were actually taken by players, thereby achieving natural-looking NPC behavior while maintaining efficient movement.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If map complexity increases to create various strategies, then game excitement is improved, but path finding difficulty increases

Engineering Contradiction:
Improvegame excitementVSAvoidpath finding complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system uses player-generated data to automatically build pathfinding models. As players explore the complex map, their movement patterns are recorded and used to create probability-based path selections. This self-service approach allows the game to adapt to map complexity without requiring manual configuration of pathfinding parameters, maintaining ease of use while supporting exciting complex maps.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If fuzzy control or agent model is applied to weight shortest path finding, then naturalness is improved, but applicability to complex maps deteriorates

Engineering Contradiction:
Improvenaturalness of behaviorVSAvoidapplicability to complex maps
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent changes the fundamental parameter from weighted path costs to path selection probabilities based on historical frequency. Instead of adjusting weights in shortest path algorithms, the system uses probability distributions derived from player behavior data to select among multiple valid paths. This approach maintains naturalness while scaling to complex maps because it relies on observed patterns rather than manual parameter tuning.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10828568B2Game system, etc. performing path finding of non-player character on the basis of movement history of player
Publication Date: 2020.11.10 CYGAMES INC
  • US10828568B2 patent drawing
  • US10828568B2 patent drawing
  • US10828568B2 patent drawing

AI summary

A system according to the present invention includes a server and electronic devices and, in this system, characters operated by players are placed in a common game field and the game progresses. The system determines a movement start position and a movement target position for moving an NPC, determines, on the basis of history information of global movement paths represented by orders of positions of log blocks from the movement start position to the movement target position of a player character that is operated by players, a global movement path having the highest frequency at which the global movement path is selected by the players, determines a path from the determined movement start position or a sub-destination position to a sub-destination position in the next log block or to the determined movement target position on the determined global movement path, and moves the NPC according to the determined path.