State Machine Scripting for Game Development Complexity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current game development technologies require extensive programming for each action and event in multi-player online games, leading to increased complexity and development time, especially in managing game states and user interactions.

Innovation Solution

The implementation of data-driven state machines that use scripting expressions to control in-game objects, allowing for the definition and interpretation of states and actions without specialized programming, simplifying the representation of complex scenarios and reducing development complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If extensive programming is used for each action and event in multi-player online games, then the game functionality and complexity can be enhanced, but the development time and system complexity increase significantly

Engineering Contradiction:
Improvegame functionalityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the game system into distinct state machines, each responsible for specific game objects or entities. Each state machine is further divided into states, events, and actions, creating a modular structure that reduces overall system complexity and enables independent development and testing of individual components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces state machine definition files as an intermediary layer between designers and the game engine. These files contain scripting expressions that define game logic without requiring programmers to write code, thus reducing development time while maintaining game functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If extensive programming is used for each action and event, then the game can handle complex scenarios, but the device complexity and programming requirements increase

Engineering Contradiction:
Improvescenario complexityVSAvoidprogramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

State machine definition files serve as an intermediary that translates designer-friendly scripting expressions into executable game logic. This intermediary layer eliminates the need for programmers to write complex code for each game scenario, reducing programming complexity while maintaining the ability to handle complex game scenarios.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The state machine system is self-descriptive, with each state machine containing its own definition file that specifies its states, events, and actions. This self-service approach allows the system to manage its own complexity internally without requiring external programming intervention, thereby reducing overall device complexity.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If specialized programming is required for each game state and action, then precise control can be achieved, but the ease of manufacture and development simplicity decrease

Engineering Contradiction:
Improvestate control precisionVSAvoiddevelopment simplicity
Core Design Contradiction:
Manufacturing precisionVSEase of manufacture

Solution Approach 1:

The state machine definition files act as an intermediary that preserves precise state control through scripting expressions while shielding developers from programming complexity. The definition files maintain the precision needed for state control through structured data formats while being editable by designers without programming expertise.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent uses template-based state machine definitions that can be copied and reused across different game objects. Once a state machine is defined, it can be instantiated multiple times with minimal modification, maintaining precise control over state behavior while dramatically simplifying the development process through repetition rather than reprogramming.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9463386B1State machine scripting in computer-implemented games
Publication Date: 2016.10.11 ZYNGA INC
  • US9463386B1 patent drawing
  • US9463386B1 patent drawing
  • US9463386B1 patent drawing

AI summary

A gaming environment may be established, by executing a game engine module to provide an interactive game instance, and instantiating a state machine instance using one or both of a state machine client module or a state machine server module. In an example, during execution of the game engine module, scripting commands within a state machine definition may be parsed and executed to obtain information indicative of one or more of a state of an in-game object or a state transition of an in-game object. An in-game object may be controlled within the game instance via the state machine using at least a portion of the information obtained from parsing and executing the scripting commands. Use of the state machine definitions in conjunction with the scripting commands may enable representation of complex scenarios for virtual objects and events in the gaming environment in a simplified format.