Cloud game queueing
Some cloud gaming and other remote game environments require a user to wait in a queue before playing a game. During this time, the user may be concerned that they will lose their place in the queue if they close the window displaying the game to do another task on the computing device. If the user decides to do something away from the computing device while waiting in the queue, it is possible that the user will be unaware when they progress out of the queue and miss their opportunity to play the game. This can be a frustrating experience for the user. The embodiments presented herein can be used to address this situation.
1 . A computing device comprising:
one or more processors;
a non-transitory computer-readable medium; and
program instructions stored on the non-transitory computer-readable medium that, when executed by the one or more processors, cause the one or more processors to perform functions comprising:
displaying a browser on the computing device to launch a game on a cloud streaming service in response to a request from a user, wherein the cloud streaming service places the user in a queue prior to allowing the user to play the game;
receiving, from the cloud streaming service, a web page comprising a location containing information about the user's wait in queue;
receiving, from a server, additional program instructions after the server has monitored a layout of the web page and determined the location that, when executed by the one or more processors, further cause the one or more processors to perform functions comprising scraping the information about the user's wait in the queue from the location in the web page, wherein without the additional program instructions, the computing device would not know the location in the web page from which to scrape the information about the user's wait in the queue;
receiving a signal from a game controller in communication with the computing device indicating actuation of a user input element of the game controller; and
in response to receiving the signal from the game controller:
hiding a display of the browser without closing the browser so the user's position in the queue is not lost;
scraping the information about the user's wait in the queue from the location in the web page using the additional program instructions received from the server; and
displaying the information about the user's wait in the queue.
2 . The computing device of claim 1 , wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to perform functions comprising:
receiving a dynamically-updated version of the additional program instructions from the server to account for a change in the location that contains information about the user's wait in the queue.
3 . The computing device of claim 1 , wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to perform functions comprising:
informing the server of an identification of the game that was launched on the cloud streaming service, wherein the server is configured to use the identification of the game to select the additional program instructions to send to the computing device.
4 . The computing device of claim 1 , wherein the information about the user's wait in the queue comprises the user's position in the queue.
5 . The computing device of claim 1 , wherein the information about the user's wait in the queue is displayed using a notification, a persistent indicator, an icon, a dynamic island, and/or a live activity notification.
6 . The computing device of claim 1 , wherein the additional program instructions comprise embedded code.
7 . The computing device of claim 1 , wherein the additional program instructions are part of a single payload.
8 . The computing device of claim 1 , wherein the additional program instructions are part of an event-based payload.
9 . The computing device of claim 1 , wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to perform functions comprising:
in response to the user progressing out of the queue, re-displaying the browser to allow the user to play the game.
10 . The computing device of claim 1 , wherein the information about the user's wait in the queue comprises an estimated remaining time in the queue.
11 . A method comprising:
performing by a computing device coupled with a mobile game controller:
launching a game from a remote game service, wherein a user is placed in a queue prior to being able to play the game;
receiving, from the remote game service, a web page comprising a location containing information about the user's wait in the queue;
receiving, from a server, program instructions after the server has monitored a layout of the web page and determined the location for obtaining information about the user's wait in the queue from a location in the game, wherein without the program instructions, the computing device would not know the location from which to obtain the information about the user's wait in the queue;
receiving a signal from the mobile game controller; and
in response to receiving the signal from the game controller:
removing a display of the game without causing the user's position in the queue to be lost;
obtaining the information about the user's wait in the queue from the location; and
displaying the information about the user's wait in the queue.
12 . The method of claim 11 , wherein the information about the user's wait in the queue is obtained using an application program interface.
13 . The method of claim 11 , wherein the information about the user's wait in the queue is obtained by using an algorithm to estimate the information.
14 . The method of claim 11 , further comprising performing the method for a plurality of queues.
15 . The method of claim 11 , further comprising:
providing an upsell option to allow the user to skip the queue.
16 . A non-transitory computer-readable medium storing program instructions that, when executed by one or more processors in a server, cause the one or more processors to perform functions comprising:
receiving, from a computing device, an identification of a game that a user of the computing device is attempting to play, wherein the game places the user in a queue prior to allowing the user to play the game;
monitoring a layout of a web page comprising a location that contains information about a user's wait in queue;
generating program instructions configured to scrape the queue wait information from the location; and
sending, to the computing device, program instructions that, when executed by one or more processors in the computing device, cause the one or more processors in the computing device to perform functions comprising scraping information about the user's wait in the queue from the location in the web page, wherein without the program instructions, the computing device would not know the location in the web page from which to scrape the information about the user's wait in the queue.
17 . The non-transitory computer-readable medium of claim 16 , wherein the program instructions, when executed by the one or more processors in the server, further cause the one or more processors to perform functions comprising: sending, to the computing device, a dynamically-updated version of the program instructions to account for a change in the location.
18 . The non-transitory computer-readable medium of claim 16 , wherein the program instructions, when executed by the one or more processors in the server, further cause the one or more processors to perform functions comprising:
receiving, from the computing device, the information about the user's wait in the queue; and
sending, to the computing device, a notification to display to the user regarding the information about the user's wait in the queue.
19 . The non-transitory computer-readable medium of claim 16 , wherein the program instructions comprise embedded code.