Decision Streams for Visual Script Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for synchronizing logic states between networked computers in real-time applications, such as online video games, face challenges due to latency introduced by round trip network communications with centralized game servers, leading to undesirable lag and reduced gameplay responsiveness.
Innovation Solution
The implementation of decision streams for synchronizing visual script language processing between networked computers, where clients can process private nodes locally and send private decision streams to a server for synchronization, allowing for near-instantaneous feedback and reduced latency by designating certain nodes as 'private' or 'master' for global synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If centralized game server processes all logic scripts, then logic state consistency is maintained, but network latency increases
Solution Approach 1:
The patent segments logic script processing into two categories: deterministic logic processed locally by each client and non-deterministic logic processed by the centralized server. This segmentation allows clients to execute private nodes immediately without waiting for server responses, reducing network latency while maintaining consistency for critical game logic through server arbitration.
Solution Approach 2:
The patent implements local quality by allowing each client to have private graphs with private nodes that can be processed locally. Different nodes are assigned different processing locations based on their requirements: private nodes for local processing and master nodes for server processing. This enables clients to process local effects immediately while maintaining overall logic state consistency.
2Speed
If clients process logic locally, then responsiveness improves, but logic state synchronization becomes complex
Solution Approach 1:
The patent applies preliminary action by having clients pre-process private nodes locally before server arbitration is needed. Clients execute deterministic logic immediately and only send results to the server for non-deterministic logic, rather than waiting for server instructions. This reduces responsiveness latency while simplifying synchronization by only requiring server intervention for critical paths.
Solution Approach 2:
The patent uses decision streams as an intermediary mechanism to synchronize state between clients and server. Instead of complex direct peer-to-peer synchronization, clients send their private decision streams to the server, which reconciles them with master decision streams. This intermediary approach simplifies the synchronization complexity by providing a centralized coordination point.
3Stability of the object's composition
If all nodes are synchronized through server, then state coherence is maintained, but feedback latency increases
Solution Approach 1:
The patent implements dynamics by making the processing location of nodes flexible rather than fixed. Nodes can be dynamically designated as private or master based on whether they require synchronization. This dynamic assignment allows the system to optimize between state coherence and feedback latency by routing appropriate nodes to appropriate processing locations based on their specific requirements.
Solution Approach 2:
The patent segments decision streams into private decision streams (processed locally) and master decision streams (processed by server). This segmentation allows immediate feedback for private nodes while maintaining state coherence through server processing of master nodes. The segmentation reduces feedback latency for local effects while preserving state coherence for critical game logic.
Data Source
AI summary
A method is provided for decision streams for synchronizing visual script language processing between networked computers. A master computing device may receive a remote kickoff stream indicating master nodes to be processed on a master graph, create a master decision stream using the remote kickoff stream, process master nodes of the master graph to populate the master decision stream with states and actions during the processing, and distribute the master decision stream to clients for synchronization of private graphs. The master and private graphs may be copies of the same visual script for implementing game logic, which may be created and edited using a graphical user interface (GUI). Nodes of the graphs can be marked as master, requiring global synchronization, or private, allowing immediate local processing with reduced latency. Thus, online game designers are empowered to balance the competing concerns of state synchronization and latency.


