Dual Mode Game Execution Server for MMO Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer game execution models either require immediate execution on a single device or remote server execution, lacking a dual mode approach that allows for immediate execution and client-side rendering, which limits flexibility and efficiency in game delivery and playback.
Innovation Solution
A dual mode model of program execution is implemented, where game logic is initially executed on a server to render video streams, which are then streamed to clients, while client-side game logic and content are downloaded in parallel, allowing a seamless transition from server-side to client-side rendering based on game state and bandwidth optimization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If game logic is executed on a single device, then immediate execution is achieved, but device complexity and user accessibility are limited
Solution Approach 1:
The game execution process is segmented into two distinct modes: server-side rendering mode where the game engine renders video frames and streams them to clients, and client-side rendering mode where the game engine executes locally on the client device. This segmentation allows the system to provide immediate execution experience through server-side rendering while enabling flexibility and accessibility through client-side execution, resolving the contradiction between execution speed and delivery flexibility.
2Adaptability or versatility
If game logic is executed on a remote server, then user accessibility is improved, but execution latency increases
Solution Approach 1:
The system dynamically switches between server-side rendering mode and client-side rendering mode based on real-time conditions such as network status, device capabilities, and game state. This dynamic adaptation allows the system to minimize execution latency by transitioning to client-side rendering when appropriate, while maintaining user accessibility through server-side rendering when needed, thus resolving the contradiction between accessibility and latency.
3Productivity
If client-side rendering is used, then execution efficiency is improved, but initial device requirements and setup complexity increase
Solution Approach 1:
The system performs preliminary actions by initially executing the game on the server and streaming rendered video frames to the client device. This allows the game to start immediately without requiring the client device to have full game execution capabilities pre-configured. The client device gradually downloads game logic and assets in the background, transitioning to client-side rendering progressively, thereby reducing initial setup complexity while maintaining execution efficiency.
4Loss of time
If server-side rendering is used, then immediate game playback is achieved, but bandwidth consumption increases
Solution Approach 1:
The system maintains continuous useful action by seamlessly transitioning from server-side rendering to client-side rendering without interrupting game playback. During the transition period, the client device continues to receive and display video frames from the server while simultaneously downloading and executing game logic locally. This continuous operation allows the system to achieve immediate game startup through server-side rendering while progressively reducing bandwidth consumption as client-side rendering takes over, resolving the contradiction between startup time and bandwidth usage.
Data Source
AI summary
Video server systems and methods for providing video streams to a plurality of remote clients are described. In one implementation, the video streams are based on game states received from a remote game server. The game states are dependent on game commands received by the video server system from the remote clients and forwarded to the remote game server. The video server system is configured to appear, from the point of view of the game server, as more than one client. For example, the video server system may receive game states from the remote game server at more than one different Internet Protocol address and each of these Internet Protocol addresses may be associated with a different game session.


