Modern video games can easily be as large as 50 GB or even 100 GB. Downloading such applications even with fast internet connections may take several hours. A game can only be launched on the local PC once the download is complete and installation has finished which takes additional time.
ROCKITPLAY FastStart is a progressive download technology that launches a game after downloading only a small fraction of the whole package (Preload). Depending on the game and the available network connection this preload may be on the order of only a few percent. While the game can be launched within seconds or minutes with ROCKIT, the download continues in the background until the entire title is locally available (see Tab.1).
Time-to-Play | Game | Standard | ROCKITPLAY |
---|---|---|---|
@100Mbit/s | Size | Time-to-Play | Time-to-Play |
The Elder Scrolls Online1 | 97 GB | 2 h 10 min | 90 sec |
AC Odyssey2 | 77 GB | 1 h 45 min | 28 sec |
Lost Ark3 | 76 GB | 1 h 44 min | 34 sec |
God of War4 | 68 GB | 1 h 31 min | 3 min |
Mafia III5 | 57 GB | 1 h 16 min | 34 sec |
Tab.1: Internal benchmark results comparing time-to-play for full game downloads to ROCKITPLAY.
ROCKIT can be applied to any game. It is not necessary to modify the game's source code. This is accomplished by resequencing the download data stream according to the expected loading order of the game. This sorting order is obtained by monitoring the loading behavior during actual gameplay sessions from multiple users, e.g., during QA or alpha/beta test phases. Each gameplay session generates a unique trace file describing the individual loading sequence. The more individual traces the more accurate the resequencing order. Trace files can be obtained from multiple users on multiple PCs using multiple game sessions.
Machine Learning. By using machine learning algorithms an optimized sequence of the data stream can be computed from the set of generated trace files. Together with the traced timing information a load profile can be created which is used to calculate a user specific application start point within the data stream. Depending on the game title typically a few ten traces suffice to obtain a suitable load profile with significant acceleration factors. Hundreds or more traces will further improve the load profile. The obtained optimized sequence of the data stream is used to launch the game before the download is completed. The ROCKIT preload size is dynamically evaluated from both the load profile of the game and the current download bandwidth measured on the user side. Statistical fluctuations of the network connection are taken into account. Faster network connections allow for launching a game with smaller preloads. ROCKIT's data stream representation allows for computing very small patch sizes compared to conventional general-purpose patch methods (see Tab. 2).
Standard | ROCKITPLAY | ||
---|---|---|---|
Game | Patch Size | Patch Size | Reduction |
Crime Boss Q2/236 | 4 300 MB | 717 MB | 83 % |
AC Valhalla DoR Q3/227 | 7 080 MB | 2 300 GB | 68 % |
Fortnite Q3/218 | 10 200 MB | 2 800 GB | 73 % |
Cyberpunk Q2/219 | 34 500 MB | 15 100 MB | 56 % |
Tab.2: Internal benchmark results comparing patch sizes for game store standard patches to ROCKITPLAY.
Performance. Once a game is fully downloaded ROCKIT can exploit the sequenced ROCKIT image data order to accelerate all subsequent game starts. In contrast to a native installation, ROCKIT's images are defragmented with respect to the loading behavior. Furthermore, application specific data prefetching can be applied. Even on PCs with low-performance spinning HDDs read performances equivalent to (or even higher than) SSD are possible, compared to the native installation.
ROCKITPLAY FastStart consists of
- a client-side component (provided as ROCKIT SDK or ROCKIT StreamInstaller) and
- the service-side component ROCKITPLAY Cloud Service.
This repository hosts the ROCKITPLAY Cloud Service.
Learn more about ROCKITPLAY FastStart: Contact DACSLABS.
ROCKITPLAY Cloud Service is organized in two parts ROCKIT Edge and ROCKIT Engine.
Both components are easy to deploy on the Oracle Cloud Infrastructure (OCI) using OCI Stacks.
The ROCKIT Edge service
- distributes ROCKIT images and ROCKIT patch files to CDN origins,
- accepts ROCKIT trace uploads from game launchers, and
- triggers ROCKIT image processing depending on the collected ROCKIT traces.
The ROCKIT Engine is managing the compute part of ROCKITPLAY. It fully automatically
- converts native game builds to ROCKIT images,
- computes patches between game builds, and optimizes the ROCKIT-experience by incorporating ROCKIT Trace data into new ROCKIT images.
The ROCKIT Engine is managed by the ROCKIT Edge instance(s). After the initial deployment no further interaction is required.
In order to deploy the ROCKIT Edge and ROCKIT Engine services the following prerequisites have to be met:
-
Oracle Cloud Infrastructure
$${\color{red}\rm{required:}}$$ provides compute and internal block and object storage resources for the ROCKITPLAY Cloud Service instances. -
MongoDB Atlas
$${\color{red}\rm{required:}}$$ distributed NoSQL database used for internal data management. -
Slack Workspace
$${\color{red}\rm{required:}}$$ ROCKITPLAY Cloud Services posts notifications to various Slack channels. - CDN Origin(s)
$${\color{red}\rm{required:}}$$ Currently the following origins are supported- Akamai NetStorage,
- S3-compatible object storage services such as
- Wildcard SSL Certificate
$${\color{green}\rm{optional:}}$$ If available, the endpoints of the ROCKIT Edge and Engine services can follow the companies domain name policy. Alternatively, generic hostname will be provided to access the services.
- Create a new organization:
- Register at least one destination CDN origin:
- Create a new App:
- Upload native game builds:
- Optionally, monitor the status of the app
and the ongoing processing tasks:
- As soon as ROCKITPLAY has uploaded the generated ROCKIT image play the game to obtain ROCKIT traces using a game launcher supporting ROCKITPLAY FastStart, e.g., ROCKIT StreamInstaller.
- ROCKITPLAY Cloud Service automatically optimizes the ROCKIT acceleration and redeploys the new ROCKIT images.
Additional Information
Please contact DACSLABS to obtain a license for ROCKITPLAY FastStart.
Note
A ROCKITPLAY Cloud Service instance can be deployed with a few mouse clicks in less than an hour:
-
Create a MongoDB Atlas account.
more...
- Sign up for a MongoDB Atlas account
- During the initial account setup dialog complete "Create a cluster" for Cluster0
- Set up a payment method
- Copy the MongoDB Atlas organization ID from the Organization overview page. It will be needed when setting up the Base Environment for the ROCKITPLAY Cloud Service.
- Create a new API key from the Access Manager. The generated public and secret keys will be needed when setting up the Base Environment for the ROCKITPLAY Cloud Service.
-
Setup a Slack bot.
more...
-
Create a new Slack workspace which will collect logs or simply choose the main workspace.
-
Create a Slack bot
(Workspace > Tools & settings > Manage apps > Build > Create an App > From Scratch)- use Create a pre-configured app from here for the new Slack workspace and follow the tutorial
- copy the Slack token that appears in the tutorial. It will be needed when setting up the Base Environment for the ROCKITPLAY Cloud Service.
-
Create slack channels for collecting info and/or error messages, such as
#info-rockit-edge
,#info-rockit-engine
,#error-rockit-edge
, and#error-rockit-engine
.
-
Test the setup:
curl -d "text=Hello World" -d "channel='#info-rockit-edge' -H "Authorization: Bearer <SLACK_TOKEN>" -X POST https://slack.com/api/chat.postMessage
-
-
Setup your OCI tenancy.
-
Deploy ROCKITPLAY Base Environment
In the dialog the following information have to be provided:Input Description OCI Vault Use an existing OCI Vault or let ROCKITPLAY setup a new one. SSL Certificate Should ROCKITPLAY use an existing enterprise wildcard certifacte or should it provide generic hostnames. MongoDB Atlas Organization Identifier of the MongoDB Atlas organization. MongoDB Atlas keys Public and secret keys to access the MongoDB Atlas account. Slack token Slack bot token to post notifications. -
Deploy ROCKITPLAY Cloud Service
The following information are required in the installation dialog:Input Description DACSLABS Access Link An access link can be obtained from DACSLABS. ROCKIT Base Link Copy the rockit_base_link
value from the latest successul job of the OCI Stack ROCKIT Base Environment.Instance Environment Select between prod
,stage
, andtest
to specify which resource classes will be deployed ranging from free-tier to production-grade cpnfigurations.Instance Identifier Identifier to be used as suffix to all resource names. MongoDB Atlas Region MongoDB Atlas home region. Slack Channels Name of Slack channels receiving notifications from ROCKITPLAY Cloud Service.
DACS Laboratories GmbH
Niermannsweg 11-15
40699 Erkrath
Germany
[email protected]
Footnotes
-
© 2024 ZeniMax Media Inc. Trademarks are the property of their respective owners. All rights reserved. ↩
-
© 2020 Ubisoft Entertainment. All Rights Reserved. Ubisoft and the Ubisoft logo are trademarks of Ubisoft Entertainment in the U.S. and/or other countries. ↩
-
© 2021-2024 Smilegate RPG, Inc. all rights reserved. Lost Ark and the Lost Ark logo are trademarks of Smilegate RPG ↩
-
© 2024 Sony Interactive Entertainment Europe Limited (SIEE) ↩
-
©2016-2024 Take-Two Interactive Software Inc. 2K, Firaxis Games, Civilization, and their respective logos are trademarks of Take-Two Interactive Software, Inc. All rights reserved. ↩
-
© INGAME STUDIOS, Crime Boss: Rockay City Copyright © INGAME STUDIOS a.s. All Rights Reserved. ↩
-
© 2021 Ubisoft Entertainment. All Rights Reserved. Assassin's Creed, Ubisoft and the Ubisoft logo are registered or unregistered trademarks of Ubisoft Entertainment in the U.S. and/or other countries. ↩
-
© 2024, Epic Games, Inc. Epic, Epic Games, the Epic Games logo, Fortnite, the Fortnite logo, Unreal, Unreal Engine 4 and UE4 are trademarks or registered trademarks of Epic Games, Inc. in the United States of America and elsewhere. All rights reserved. ↩
-
© 2024 CD PROJEKT S.A. All rights reserved. CD PROJEKT, the CD PROJEKT logo, Cyberpunk, Cyberpunk 2077 and the Cyberpunk 2077 logo are trademarks and/or registered trademarks of CD PROJEKT S.A. in the United States and/or elsewhere. ↩