Adaptive Video Game Canvas Prefetching for Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional online video games require users to download large files upfront, leading to delayed access and frustrating experiences due to the need for entire game downloads and subsequent updates, which can be tens of gigabytes in size.

Innovation Solution

The method involves breaking down the video game map into sectors or canvases, predicting player movement to pre-load adjacent canvases, and prioritizing data download based on criteria such as object type, distance, and memory pressure, allowing for on-demand data streaming and efficient unloading of unnecessary data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the entire game is downloaded upfront, then all game files are present on the file system making development easier, but the end-user has to download the entire game before being able to play

Engineering Contradiction:
Improvedevelopment processVSAvoiddownload time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The game content is segmented into multiple canvases or levels, where only the first canvas is downloaded upfront. Subsequent canvases are downloaded on-demand as the player progresses through the game, eliminating the need to download the entire game before playing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first canvas containing essential game elements is prepared and downloaded in advance, allowing immediate gameplay. Additional canvases are prepared and downloaded beforehand only when needed based on player progression, optimizing both development ease and download time.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If large updates and patches are distributed, then game content is kept up to date, but delays in accessing updated game content frustrate users

Engineering Contradiction:
Improvegame content currencyVSAvoidupdate access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Game updates are segmented by canvas, allowing incremental updates where only specific canvases or portions of the game are updated and downloaded, rather than requiring full game re-downloads for updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Only the necessary portions of the game (specific canvases) are updated and downloaded based on player needs, rather than distributing complete game updates, reducing update size and access time.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If all game data is loaded into memory, then complete game functionality is available, but memory pressure on end-user devices increases

Engineering Contradiction:
Improvegame functionalityVSAvoidmemory usage
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

Game data is segmented by canvas, with only the current and potentially needed canvases loaded into memory at any given time. As players move between canvases, memory is dynamically allocated and freed, reducing overall memory pressure while maintaining complete game functionality.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240307768A1Methods and devices for supporting device adaptive online video games
Publication Date: 2024.09.19 BRIGHT STAR GAMING LLC
  • US20240307768A1 patent drawing
  • US20240307768A1 patent drawing
  • US20240307768A1 patent drawing

AI summary

A device operates by receiving prefetch data associated with a video game, wherein the prefetch data includes an amount of first video gaming data to be prefetched that is determined based on performance parameters; executing the video game via the end user device; receiving user input at a user interface associated with controlling movement of a player in a first region of the video game; predicting, based on the movement of the player in the first region, a movement of the player to a second region of the video game; lazy loading second video gaming data and prior to the player entering the region, wherein the lazy loading is adapted based on the performance parameters to a bandwidth that is a predetermined amount less than the connection speed; and continuing executing the video game on the end user device based at least in part on the second video gaming data.