BR102013033136A2 - method for generating a playable limited version of a video game; and method for providing a user's remote control of the game - Google Patents

method for generating a playable limited version of a video game; and method for providing a user's remote control of the game Download PDF

Info

Publication number
BR102013033136A2
BR102013033136A2 BR102013033136A BR102013033136A BR102013033136A2 BR 102013033136 A2 BR102013033136 A2 BR 102013033136A2 BR 102013033136 A BR102013033136 A BR 102013033136A BR 102013033136 A BR102013033136 A BR 102013033136A BR 102013033136 A2 BR102013033136 A2 BR 102013033136A2
Authority
BR
Brazil
Prior art keywords
game
user
video
video game
recorded
Prior art date
Application number
BR102013033136A
Other languages
Portuguese (pt)
Other versions
BR102013033136B1 (en
Inventor
David Perry
Nathan Gary
Philippe Yong
Victor Octav Suba Miura
Original Assignee
Sony Comp Entertainment Us
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/831,178 external-priority patent/US9352226B2/en
Priority claimed from US13/831,190 external-priority patent/US9364743B2/en
Priority claimed from US13/839,382 external-priority patent/US9345966B2/en
Application filed by Sony Comp Entertainment Us filed Critical Sony Comp Entertainment Us
Publication of BR102013033136A2 publication Critical patent/BR102013033136A2/en
Publication of BR102013033136B1 publication Critical patent/BR102013033136B1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/88Mini-games executed independently while main games are being loaded
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/47Controlling the progress of the video game involving branching, e.g. choosing one of several possible scenarios at a given point in time
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/69Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/497Partially or entirely replaying previous game actions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/554Game data structure by saving game or status data
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player

Abstract

método para gerar uma versão limitada que pode ser jogada de um videogame; e método para proporcionar controle remoto do jogo de um usuário. é proporcionado um método para gerar uma versão limitada que pode ser jogada de um videogame. um jogo de usuário de uma versão integral do videogame é gravado. o jogo gravado do usuário é analisado para determinar uma região de interesse. são definidas fronteiras dentro de um contexto de jogo do videogame com base na região de interesse determinada. a versão limitada do videogame é gerada com base nas fronteiras definidas.method for generating a playable limited version of a video game; and method for providing remote control of a user's game. A method for generating a playable limited version of a video game is provided. A user game of a full version of the video game is recorded. The user's recorded game is analyzed to determine a region of interest. boundaries are defined within a videogame game context based on the given region of interest. The limited version of the video game is generated based on the defined borders.

Description

"GERAÇÃO AUTOMÁTICA DE MINIGAMES SUGERIDOS PARA JOGOS EM NUVEM COM BASE EM JOGO GRAVADO" Campo da Invenção A presente invenção refere-se a métodos e sistemas para geração automática de minigames sugeridos com base em jogo gravado, geração de minigames em múltiplas porções para jogo em nuvem com base em jogo gravado, compartilhar jogo gravado em um gráfico social, e controle remoto de um primeiro jogo de usuário por um segundo usuário.Field of the Invention The present invention relates to methods and systems for automatic generation of suggested minigames based on recorded game play, multi-portion minigame generation for in-game play. cloud-based recorded game, share recorded game on a social graph, and remote control of a first user game by a second user.

Descrição do Estado da Técnica A indústria de videogames passou por muitas mudanças ao longo dos anos. À medida que o poder dos computadores aumentou, desenvolvedores de videogames criaram igualmente software de jogos que se aproveitam desses aumentos no poder dos computadores. Com essa finalidade, os fomentadores de videogames têm codificado jogos que incorporam operações sofisticadas e matemática para produzir uma experiência de jogo muito realista.State of the art description The video game industry has undergone many changes over the years. As the power of computers has increased, video game developers have also created gaming software that takes advantage of these increases in computer power. To this end, video game developers have encoded games that incorporate sophisticated operations and math to produce a very realistic gaming experience.

Plataformas de jogo exemplificativas podem ser o Sony Playstation®, Sony Playstation2® (PS2), e Sony Playstation3® (PS3), cada um dos quais é vendido na forma de um console de jogo. Como é bem sabido, o console de jogo é projetado para se conectar a um monitor (normalmente uma televisão) e permitir a interação do usuário através de controladores manuais. O console de jogo é projetado com um hardware de processamento especializado, incluindo uma CPU, um sintetizador gráfico para processar operações gráficas intensivas, ' uma unidade de vetor para executar transformações geométricas, e outros tipos de hardware, firmware e software para fazer a ligação. O console de jogo é projetado ainda com uma bandeja de disco óptico opcional para receber CDs de jogos no local através do console de jogos. Jogar on-line também é possível, onde um usuário pode jogar interativamente contra ou com outros usuários pela internet. Como a complexidade dos jogos continua a despertar a curiosidade dos jogadores, fabricantes de jogos e de hardware continuam a inovar para permitir uma maior interatividade e outros programas de computador.Exemplary gaming platforms may be the Sony Playstation®, Sony Playstation2® (PS2), and Sony Playstation3® (PS3), each of which is sold in the form of a game console. As is well known, the game console is designed to connect to a monitor (usually a television) and allow user interaction through manual controllers. The game console is designed with specialized processing hardware, including a CPU, a graphics synthesizer for processing graphic intensive operations, a vector unit for performing geometric transformations, and other types of hardware, firmware, and software to make the connection. The game console is also designed with an optional optical disc tray for receiving on-site game CDs through the game console. Playing online is also possible where a user can play interactively against or with other users over the internet. As the complexity of games continues to pique gamers' curiosity, game and hardware manufacturers continue to innovate to enable greater interactivity and other computer programs.

Uma tendência que vem crescendo na indústria de jogos por computador é a do desenvolvimento de jogos que aumentam a interação do usuário com o sistema de jogos. Uma maneira de se conseguir uma experiência interativa mais rica é a utilização de controladores de jogo sem fio cujo movimento é rastreado pelo sistema de jogos com a finalidade de rastrear os movimentos do jogador e usar esses movimentos como informações para o jogo. Falando de uma maneira geral, o feed de entrada por meio de gestos se refere a fazer com que um dispositivo eletrônico tal como um sistema de computação, console de videogame, um utensílio inteligente, etc., reaja a algum gesto feito pelo jogador e capturado pelo dispositivo eletrônico.A growing trend in the computer games industry is the development of games that increase user interaction with the gaming system. One way to achieve a richer interactive experience is to use wireless game controllers whose motion is tracked by the game system for the purpose of tracking the player's movements and using these movements as information for the game. Generally speaking, gesture input feed refers to having an electronic device such as a computer system, video game console, smart gadget, etc., react to some gesture made by the player and captured by the electronic device.

Outra tendência crescente na indústria envolve o desenvolvimento de sistemas de jogo com base em nuvem. Esses sistemas podem incluir um servidor de processamento remoto que executa um aplicativo de jogo, e se comunica com um cliente magro local que pode ser configurado para receber informações de usuários e apresentar vídeo em um mostrador. É nesse contexto que surgem as configurações da invenção .Another growing trend in the industry involves the development of cloud based gaming systems. These systems may include a remote processing server that runs a game application, and communicates with a local thin client that can be configured to receive user information and display video on a display. It is in this context that the configurations of the invention arise.

BREVE DESCRIÇÃO DA INVENÇÃOBRIEF DESCRIPTION OF THE INVENTION

Configurações da presente invenção proporcionam métodos e sistemas para geração automática de minigames sugeridos com base no jogo gravado, geração de minigames em múltiplas porções para jogo em nuvem com base no jogo gravado, compartilhamento do jogo gravado em um gráfico social, e o controle remoto de um primeiro jogo de usuário por um segundo usuário. Deve ser apreciado que a presente invenção pode ser implementada de diversas maneiras, tais como um processo, um aparelho, um sistema, um dispositivo ou um método em um meio legivel por computador. Diversas configurações inventivas da presente invenção são descritas abaixo.Configurations of the present invention provide methods and systems for automatically generating suggested game-based minigames, generating multiple-portion minigames for cloud-based gameplay, sharing the gameplay recorded on a social graph, and the remote control of a first user game by a second user. It should be appreciated that the present invention may be implemented in a variety of ways, such as a process, apparatus, system, device or method in a computer readable medium. Several inventive embodiments of the present invention are described below.

Em uma configuração, um método para gerar uma versão limitada que pode ser jogada de um videogame é proporcionado, incluindo as seguintes operações de método: gravar o jogo de um usuário de uma versão integral do videogame; analisar o jogo gravado do usuário para determinar uma região de interesse; definir fronteiras dentro de um contexto de jogo do videogame com base na região de interesse determinada; e gerar a versão limitada do videogame com base nas fronteiras definidas; em que o método é executado por um processador.In one embodiment, a method for generating a playable limited version of a video game is provided, including the following method operations: recording a user's game of a full version of the video game; analyze the user's recorded game to determine a region of interest; set boundaries within a videogame game context based on the given region of interest; and generate the limited version of the video game based on the defined boundaries; where the method is executed by a processor.

Em outra configuração, um método para gerar uma versão limitada que pode ser jogada de um videogame é proporcionado, incluindo as seguintes operações de método: gravar o jogo de um usuário de uma versão integral do videogame; analisar o jogo gravado do usuário para determinar uma ou mais regiões de interesse; apresentar cada uma das regiões para seleção; receber uma entrada de seleção indicando uma região selecionada de interesse; para a região de interesse selecionada, definir fronteiras dentro de um contexto de jogo do videogame com base na região de interesse selecionada; e gerar a versão limitada do videogame com base nas fronteiras definidas; em que o método é executado por um processador.In another embodiment, a method for generating a playable limited version of a video game is provided, including the following method operations: recording a user's game of a full version of the video game; analyze the user's recorded game to determine one or more regions of interest; present each of the regions for selection; receive a selection entry indicating a selected region of interest; for the selected region of interest, set boundaries within a videogame game context based on the selected region of interest; and generate the limited version of the video game based on the defined boundaries; where the method is executed by a processor.

Em outra configuração, um método para gerar uma versão limitada que pode ser jogada de um videogame é proporcionado, incluindo as seguintes operações de método: gravar o jogo de um jogador de uma versão integral do videogame, em que a gravação do jogo do usuário inclui gravar um ou mais dentre dados alimentados pelo usuário ou dados do estado do jogo; analisar o jogo gravado do usuário para determinar uma ou mais regiões de interesse, em que cada região de interesse é automaticamente identificada com base na correspondência com um ou mais limites; apresentar cada uma das regiões de interesse para seleção; receber uma entrada de seleção indicando uma região selecionada de interesse; para a região selecionada de interesse, definir fronteiras dentro de um contexto de jogo do videogame com base na região selecionada de interesse; gerar a versão limitada do videogame com base nas fronteiras definidas; em que o método é executado por um processador.In another embodiment, a method for generating a playable limited version of a video game is provided, including the following method operations: recording a player's game of a full version of the video game, wherein the user's game recording includes save one or more of user-fed data or game state data; analyze the user's recorded game to determine one or more regions of interest, where each region of interest is automatically identified based on matching one or more thresholds; present each of the regions of interest for selection; receive a selection entry indicating a selected region of interest; for the selected region of interest, set boundaries within a game's game context based on the selected region of interest; generate the limited version of the video game based on the defined boundaries; where the method is executed by a processor.

Em uma configuração, um método para gerar uma versão que pode ser jogada de um videogame é proporcionado, incluindo as seguintes operações de método: gravar o jogo de um usuário de uma versão integral do videogame; determinar uma pluralidade de porções definidas pelo usuário do jogo gravado do usuário; para cada porção definida pelo usuário, definir fronteiras dentro de um contexto de jogo do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; posicionar cada uma das porções com que se pode jogar do videogame em uma série para definir a versão limitada do videogame; era que o método é executado por um processador.In one embodiment, a method for generating a playable version of a video game is provided, including the following method operations: recording a user's game of a full version of the video game; determining a plurality of user-defined portions of the user's recorded game; for each user-defined portion, define boundaries within a game context of the video game based on the user-defined portion, and generate a playable portion of the video game based on the defined borders; position each of the video game's playable portions in a series to define the limited version of the video game; was that the method is executed by a processor.

Em outra configuração, é proporcionado um meio legivel por computador tangível tendo instruções de programa incorporadas no mesmo para gerar uma versão limitada que pode ser jogada de um videogame, incluindo: instruções de programa para gravar o jogo de um usuário de uma versão integral; instruções de programa para determinar uma pluralidade de porções definidas pelo usuário do jogo gravado do usuário; instruções de programa para, para cada porção definida pelo usuário, definir fronteiras dentro de um contexto de jogo do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; instruções de programa para posicionar cada uma das porções que podem ser jogadas em uma série para definir a versão limitada do videogame.In another embodiment, a tangible computer readable medium having program instructions incorporated therein is provided for generating a playable limited version of a video game, including: program instructions for recording a user's game of a full version; program instructions for determining a plurality of user-defined portions of the user's recorded game; program instructions for, for each user-defined portion, to define boundaries within a game context of the video game based on the user-defined portion, and to generate a playable portion of the video game based on the defined borders; program instructions for positioning each of the portions that can be played in a series to define the limited version of the video game.

Em outra configuração, é proporcionado um sistema, incluindo: pelo menos um dispositivo de computação servidor tendo lógica para gerar uma versão limitada que pode ser jogada de um videogame, incluindo lógica para gravar o jogo de um usuário de uma versão integral do videogame; lógica para determinar uma pluralidade de porções definidas pelo usuário do jogo gravado do usuário; lógica para, em cada porção definida pelo usuário, definir fronteiras dentro de um contexto de jogo do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; lógica para posicionar cada uma das porções que pode ser jogada do videogame em uma série para definir a versão limitada do videogame.In another embodiment, a system is provided, including: at least one server computing device having logic for generating a playable limited version of a video game, including logic for recording a user's game of a full version of the video game; logic for determining a plurality of user-defined portions of the user's recorded game; logic for, in each user-defined portion, defining boundaries within a game context of the game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; logic to position each of the video game's playable portions in a series to define the limited version of the video game.

Em uma configuração, um método para compartilhar o jogo gravado em um gráfico social é proporcionado, incluindo as seguintes operações de método: gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; em resposta à recepção do comando, entrar em um estado pausado da sessão de jogo e apresentar uma interface de compartilhamento; processar a entrada recebida pela interface de compartilhamento para determinar uma seleção definida pelo usuário do video gravado; compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário; retomar o estado ativo da sessão de jogo; em que o método é executado por um processador.In one embodiment, a method for sharing the game recorded on a social graph is provided, including the following method operations: videoing a user's game during an active state of a game session; receive a command to initiate a sharing operation during the active state of the gaming session; in response to receiving the command, entering a paused state of the game session and presenting a sharing interface; process input received by the sharing interface to determine a user-defined selection of recorded video; share the user-defined selection of recorded video in a user social graphic; resume the active state of the gaming session; where the method is executed by a processor.

Em outra configuração, um método para compartilhar jogo gravado em um gráfico social é proporcionado, incluindo as seguintes operações de método: gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; em resposta à recepção do comando, determinar uma seleção definida pelo usuário do video gravado; compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário; em que o método é executado por um processador.In another embodiment, a method for sharing game recorded on a social graph is provided, including the following method operations: videoing a user's game during an active state of a game session; receive a command to initiate a sharing operation during the active state of the gaming session; in response to receiving the command, determining a user-defined selection of the recorded video; share the user-defined selection of recorded video in a user social graphic; where the method is executed by a processor.

Em outra configuração, é proporcionado um meio legível por computador não-transitório tendo instruções de programa definidas no mesmo para compartilhar jogo gravado em um gráfico social. As instruções de programa incluem: instruções de programa para gravar em vídeo o jogo de um usuário durante um estado ativo de uma sessão de jogo; instruções de programa para receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; instruções de programa para, em resposta à recepção do comando, determinar uma seleção definida pelo usuário do vídeo gravado; instruções de programa para compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário.In another embodiment, a non-transient computer readable medium is provided having program instructions defined therein for sharing game recorded on a social graph. Program instructions include: program instructions for video recording a user's game during an active state of a game session; program instructions for receiving a command to initiate a sharing operation during the active state of the gaming session; program instructions to, in response to the command being received, determine a user-defined selection of recorded video; Program instructions for sharing the user-defined selection of recorded video in a user social graph.

Em uma configuração, é fornecido um método para proporcionar controle remoto do jogo de um usuário, o método incluindo as seguintes operações de método: apresentar um feed em vídeo ao vivo do jogo de um primeiro usuário para um segundo usuário remoto; processar uma solicitação para transferir o controle do jogo do primeiro usuário para o segundo usuário; iniciar o controle do jogo do primeiro usuário pelo segundo usuário; em que o método é executado por pelo menos um processador.In one embodiment, a method is provided for providing a user's remote game control, the method including the following method operations: presenting a live video feed of a first user's game to a second remote user; process a request to transfer game control from the first user to the second user; initiate game control of the first user by the second user; wherein the method is executed by at least one processor.

Em outra configuração, é proporcionado um meio legível por computador não-transitório tendo instruções de programa incorporadas no mesmo para proporcionar controle remoto do jogo de um usuário, as instruções de programa incluindo: instruções de programa para apresentar um feed em vídeo ao vivo do jogo de um primeiro usuário para um segundo usuário remoto; instruções de programa para processar uma solicitação para transferir o controle do jogo do primeiro usuário para o segundo usuário; instruções de programa para iniciar o controle do jogo do primeiro usuário pelo segundo usuário.In another embodiment, there is provided a non-transient computer readable medium having program instructions incorporated therein to provide a user's remote game control, program instructions including: program instructions for displaying a live video feed of the game. from a first user to a second remote user; program instructions for processing a request to transfer game control from the first user to the second user; Program instructions for starting control of the first user's game by the second user.

Outros aspectos da invenção se tornarão aparentes a partir da descrição detalhada a seguir, tomada em conjunto com os desenhos anexos, ilustrando a titulo de exemplo os princípios da invenção.Other aspects of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.

BREVE DESCRIÇÃO DOS DESENHOS A invenção pode ser melhor entendida com referência à seguinte descrição tomada em conjunto com os desenhos anexos nos quais: A Figura IA ilustra um usuário jogando um videogame com base em nuvem, de acordo com configurações da invenção. A Figura 1B ilustra múltiplos usuários em múltiplos locais engajados no jogo de videogames com base em nuvem. A Figura 2A ilustra um sistema de jogo em nuvem, de acordo com uma configuração da invenção. A Figura 2B ilustra conceitualmente a acumulação de titulos de jogo através de várias gerações de consoles de jogo, de acordo com configurações da invenção. A Figura 3 ilustra um método para proporcionar demonstrações de jogos para um usuário, de acordo com uma configuração da invenção. A Figura 4A ilustra a organização hierárquica de várias porções de um videogame, de acordo com uma configuração da invenção. A Figura 4B ilustra uma interface para selecionar uma porção de uma linha do tempo do jogo para a geração de um mínigame ou fatia de jogo, de acordo com uma configuração da invenção. A Figura 4C ilustra uma interface para selecionar uma porção de uma linha do tempo do jogo para a geração de um minigame, de acordo com uma configuração da invenção. Δ Figura 5 ilustra uma série de capturas de tela demonstrando um método para gerar um minigame a partir de um videogame por solicitação existente, de acordo com uma configuração da invenção. A Figura 6 ilustra um sistema para gerar um código de fatia de jogo, de acordo com uma configuração da invenção. A Figura 7A ilustra a modificação de um espaço virtual com o propósito de gerar uma fatia de jogo de um videogame, de acordo com uma configuração da invenção. A Figura 7B ilustra a modificação de um gráfico de cena com o propósito de gerar uma fatia de jogo, de acordo com configurações da invenção. A Figura 8 ilustra um método para gerar uma fatia de jogo, de acordo com uma configuração da invenção. A Figura 9A ilustra uraa interface para navegar em fatias de jogo associadas a vários títulos de jogo, de acordo com uma configuração da invenção. A Figura 9B ilustra uma página de informação de fatia de jogo, de acordo com uma configuração da invenção. A Figura 10 ilustra uma visualização da informação sobre a conta de um usuário, incluindo visualizações ao vivo de amigos em uma rede social de jogo em nuvem, de acordo com uma configuração da invenção. A Figura 11 ilustra um método para apresentar feeds de jogo ao vivo de amigos do usuário naquele momento, de acordo com uma configuração da invenção. A Figura 12 ilustra um sistema incluindo um sistema de jogo em nuveme uma rede social, de acordo com uma configuração da invenção. A Figura 13 é um gráfico ilustrando várias variáveis sobre estado de jogo ao longo do tempo, de acordo com configurações da invenção. A Figura 14A ilustra um método para gerar uma fatia de jogo para um videogame do tipo linear, de acordo com uma configuração da invenção. A Figura 14B ilustra um método para gerar uma fatia de jogo para um videogame do tipo mundo aberto, de acordo com uma configuração da invenção. A Figura 14C ilustra um método para gerar uma fatia de jogo para um videogame de esportes, de acordo com uma configuração da invenção. A Figura 15 ilustra conceitualmente a formação de um jogo em fatias com múltiplos jogos, de acordo com uma configuração da invenção. A Figura 16 ilustra conceitualmente a geração de um minigame em fatias com múltiplos jogos, de acordo com uma configuração da invenção. A Figura 17 ilustra uma interface para compartilhar o jogo, de acordo com uma configuração da invenção. A Figura 18 ilustra uma interface 1800 para selecionar uma porção de vídeo de jogo gravado para compartilhamento, de acordo com uma configuração da invenção . A Figura 19 ilustra uma interface 1900 para ver uma naquele momento de video ao vivo do jogo de um jogador, de acordo com uma configuração da invenção. A Figura 20 ilustra hardware e interfaces de usuário que podem ser usados para proporcionar interatividade com um videogame, de acordo com uma configuração da presente invenção. A Figura 21 ilustra hardware adicional que pode ser usado para processar instruções, de acordo com uma configuração da presente invenção. A Figura 22 é uma ilustração exemplificativa da cena A até a cena E com o respectivo usuário de A a E interagindo com clientes 1102 que estão conectados a um processamento de servidor via internet, de acordo com uma configuração da presente invenção. A Figura 23 ilustra uma configuração de uma montagem de um Provedor de Serviço de Informação.BRIEF DESCRIPTION OF THE DRAWINGS The invention may be better understood with reference to the following description taken in conjunction with the accompanying drawings in which: Figure 1A illustrates a user playing a cloud based video game according to embodiments of the invention. Figure 1B illustrates multiple users in multiple locations engaged in the cloud-based video game. Figure 2A illustrates a cloud gaming system according to one embodiment of the invention. Figure 2B conceptually illustrates the accumulation of game titles across multiple generations of game consoles according to embodiments of the invention. Figure 3 illustrates a method for providing game demos to a user in accordance with one embodiment of the invention. Figure 4A illustrates the hierarchical arrangement of various portions of a video game according to one embodiment of the invention. Figure 4B illustrates an interface for selecting a portion of a game timeline for generating a game minigame or slice according to one embodiment of the invention. Figure 4C illustrates an interface for selecting a portion of a game timeline for generating a minigame according to one embodiment of the invention. Δ Figure 5 illustrates a series of screenshots demonstrating a method for generating a minigame from an existing on-demand video game according to one embodiment of the invention. Figure 6 illustrates a system for generating a game slice code according to an embodiment of the invention. Figure 7A illustrates the modification of a virtual space for the purpose of generating a game slice of a video game according to an embodiment of the invention. Figure 7B illustrates the modification of a scene graph for the purpose of generating a game slice according to embodiments of the invention. Figure 8 illustrates a method for generating a game slice according to one embodiment of the invention. Figure 9A illustrates an interface for navigating game slices associated with various game titles in accordance with one embodiment of the invention. Figure 9B illustrates a game slice information page in accordance with one embodiment of the invention. Figure 10 illustrates a view of a user's account information, including live views of friends on a cloud gaming social network, in accordance with one embodiment of the invention. Figure 11 illustrates a method for displaying live game feeds of user friends at that time, in accordance with one embodiment of the invention. Figure 12 illustrates a system including a cloud gaming system and a social network, in accordance with one embodiment of the invention. Figure 13 is a graph illustrating various game state variables over time, according to embodiments of the invention. Figure 14A illustrates a method for generating a game slice for a linear type video game according to an embodiment of the invention. Figure 14B illustrates a method for generating a game slice for an open world video game according to an embodiment of the invention. Figure 14C illustrates a method for generating a game slice for a sports video game according to one embodiment of the invention. Figure 15 conceptually illustrates the formation of a multiplayer sliced game according to one embodiment of the invention. Figure 16 conceptually illustrates the generation of a multiplayer sliced minigame according to one embodiment of the invention. Figure 17 illustrates an interface for sharing the game according to one embodiment of the invention. Figure 18 illustrates an interface 1800 for selecting a portion of game video recorded for sharing according to one embodiment of the invention. Figure 19 illustrates an interface 1900 for viewing one at that time live video of a player's game according to one embodiment of the invention. Figure 20 illustrates hardware and user interfaces that can be used to provide interactivity with a video game in accordance with one embodiment of the present invention. Figure 21 illustrates additional hardware that can be used to process instructions in accordance with one embodiment of the present invention. Figure 22 is an exemplary illustration of scene A through scene E with the respective user A through E interacting with clients 1102 that are connected to server processing via the internet, in accordance with a configuration of the present invention. Figure 23 illustrates a configuration of an Information Service Provider assembly.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

As seguintes configurações descrevem métodos e aparelho para geração automática de minigames sugeridos com base no jogo gravado, geração de minigames em múltiplas porções para jogo em nuvemcom base em jogo gravado, compartilhar jogo gravado em um gráfico social, e controle remoto de um primeiro jogo de usuário por um segundo usuário.The following configurations describe methods and apparatus for automatically generating suggested game-based minigames, generating multi-portion minigames for cloud-based gameplay, recording game sharing on a social graph, and remote control of a first game of user by a second user.

Ficará óbvio, entretanto, para um especialista na técnica, que a presente invenção pode ser praticada sem alguns desses detalhes específicos ou sem todos eles. Em outros casos, operações de processo bem conhecidas não foram descritas em detalhe para não ocultar desnecessariamente a presente invenção. A Figura IA ilustra um usuário jogando um videogame com base em nuvem, de acordo com configurações da invenção. Como mostrado, um usuário UI joga um. videogame com base em nuvem em um mostrador 100. Um videogame com base em nuvem é um videogame que é primeiramente executado em um servidor remoto. Um servidor, em uma configuração, pode incluir servidores individuais ou servidores que são executados em centro de dados de máquina virtual, onde muitos servidores podem ser virtualizados para proporcionar o processamento solicitado. Na configuração ilustrada, o(s) servidor(es)de jogo em nuvem 104 executam o videogame que está apresentado no mostrador 100. Um cliente 101 está situado no local do usuário para receber e processar informações alimentadas e comunicá-las para os servidores de jogo em nuvem 104, e também receber dados de video e áudio dos servidores de jogo em nuvem 104. 0 cliente 101 e os servidores de jogo em nuvem 104 se comunicam por uma rede 102, tal como a internet. Em outras configurações, o cliente pode ser qualquer dispositivo, seja portátil ou não, contanto que o cliente possa se comunicar com uma rede e proporcionar acesso a um mostrador para apresentar jogo e permitir o feed por porção de um usuário para favorecer a interatividade. Em uma configuração, o cliente é um cliente magro. Entretanto, em outras configurações, o cliente pode ser um computador de uso geral, um computador de uso especifico, um console para jogos, um computador pessoal, um laptop, um tablet, um dispositivo de computação móvel, um dispositivo de computação portátil, um telefone celular, um conversor, uma interface/dispositivo de mídia de fluxo contínuo, uma televisão inteligente ou mostrador ligado a rede, ou qualquer outro dispositivo de computação capaz de ser configurado para atender à funcionalidade de um cliente como definido aqui. Em uma configuração, o servidor de jogo em nuvem é configurado para deter o tipo de dispositivo de cliente que está sendo utilizado pelo usuário, e proporcionar uma experiência de jogo em nuvem apropriada para o dispositivo de cliente do usuário. Por exemplo, ajustes de imagem, ajustes de áudio e outros tipos de ajustes podem ser otimizados para o dispositivo de cliente do usuário.It will be obvious, however, to one skilled in the art that the present invention may be practiced without some or all of these specific details. In other cases, well known process operations have not been described in detail so as not to unnecessarily conceal the present invention. Figure 1A illustrates a user playing a cloud based video game according to embodiments of the invention. As shown, a UI user plays one. cloud-based video game on a dial 100. A cloud-based video game is a video game that first runs on a remote server. A server, in one configuration, can include individual servers or servers that run in virtual machine data center, where many servers can be virtualized to provide the requested processing. In the illustrated embodiment, the cloud game server (s) 104 play the video game shown in display 100. A client 101 is located at the user's location to receive and process information fed and communicate it to the video game servers. cloud gaming 104, and also receiving video and audio data from cloud gaming servers 104. Client 101 and cloud gaming servers 104 communicate over a network 102, such as the internet. In other configurations, the customer may be any device, whether portable or not, as long as the customer can communicate with a network and provide access to a display for game play and allow a user portion feed to enhance interactivity. In one configuration, the customer is a thin customer. However, in other configurations, the customer may be a general purpose computer, a special purpose computer, a gaming console, a personal computer, a laptop, a tablet, a mobile computing device, a portable computing device, a mobile phone, a converter, a streaming media interface / device, a smart television or networked display, or any other computing device capable of being configured to accommodate a client's functionality as defined herein. In one configuration, the cloud game server is configured to hold the type of client device being used by the user, and provide an appropriate cloud game experience for the user's client device. For example, image adjustments, audio adjustments, and other types of adjustments can be optimized for the user's client device.

Em várias configurações, o grau de processamento desempenhado pelo cliente pode variar com relação ao processamento de entrada e saída. Entretanto, de uma maneira geral, o estado do videogame é substancialmente mantido e executado nos servidores de solicitação de jogo 104, com o cliente funcionando principalmente para receber e comunicar informações alimentadas por usuários, e receber vídeo/áudio para apresentação. O cliente 101 pode ser um dispositivo isolado que está conectado ao mostrador 100 e proporciona dados de vídeo para apresentação no mostrador 100. Em outras configurações, o cliente pode estar integrado no mostrador 100. Em uma configuração, o mostrador 100 é um mostrador ligado à rede que proporciona um sistema operando por plataforma para aplicativos ou "apps" que usam a conectividade de rede do mostrador. Em uma configuração como essa, o cliente pode ser definido por um aplicativo executado na plataforma proporcionada pelo sistema de operação do mostrador. Δ Figura 1Β ilustra múltiplos usuários em núltiplos locais engajados no jogo de videogames com base sm nuvem. O usuário UI é mostrado em um primeiro local interagindo com um videogame apresentado no mostrador 100. Ds usuários U2 e U3 são mostrados em um segundo local interagindo com um videogame apresentado em um mostrador 106. Um usuário U4 é mostrado em um terceiro local jogando um videogame apresentado em um mostrador 108. Os usuários □ 5, U6, e U7 são mostrados em um quarto local interagindo com um videogame apresentado em um mostrador 110.In various configurations, the degree of processing performed by the customer may vary with respect to input and output processing. However, in general, the state of the video game is substantially maintained and executed on game request servers 104, with the client primarily operating to receive and communicate user-fed information, and to receive video / audio for presentation. Client 101 may be an isolated device that is connected to display 100 and provides video data for display on display 100. In other configurations, customer may be integrated into display 100. In one embodiment, display 100 is a display connected to the display. network that provides a platform operating system for applications or "apps" that use display network connectivity. In such a configuration, the client may be defined by an application running on the platform provided by the display operating system. Δ Figure 1Β illustrates multiple users in multiple locations engaged in the sm cloud based video game. User UI is shown at a first location interacting with a video game shown on display 100. Users U2 and U3 are shown at a second location interacting with a video game presented on a display 106. A user U4 is shown at a third location playing a video game presented on a display 108. Users □ 5, U6, and U7 are shown in a fourth location interacting with a video game presented on a display 110.

Em cada um do primeiro, segundo, terceiro e quarto locais, pelo menos um dispositivo de computação é proporcionado para processar a entrada alimentada pelos vários usuários e apresentar um videogame com base em nuvem em seus respectivos mostradores. Deve ser apreciado que o dispositivo de computação pode estar integrado em um mostrador, ou pode ser um dispositivo isolado como um computador pessoal, um conversor, um console de jogos, ou qualquer outro tipo de dispositivo tendo pelo menos um processador e memória para processar e armazenar dados. O dispositivo de computação pode executar ou definir um cliente, como foi descrito acima. Os dispositivos de computação se encontram em rede, e se comunicam por uma rede, tal como a internet 102, com servidores de jogo em nuveml04.At each of the first, second, third and fourth locations, at least one computing device is provided for processing input fed by the various users and presenting a cloud based video game on their respective displays. It should be appreciated that the computing device may be integrated into a display, or may be an isolated device such as a personal computer, converter, game console, or any other type of device having at least one processor and memory to process and store data. The computing device may execute or define a client as described above. Computing devices are networked, and communicate over a network, such as the internet 102, with cloud game servers04.

Os servidores de jogo em nuvem 104 executam os vários videogames que estão sendo jogados pelos usuários, definindo um dado estado de jogo do videogame a cada momento, e enviando dados de video (inclusive dados de imagem e dados de áudio) para um dispositivo de computação em um local especifico. O dispositivo de computação em um dado local processa a entrada alimentada pelo (s) usuário (s) que está(estão) jogando o videogame, e transmite dados de entrada para o servidor de solicitação de jogos, o qual por sua vez processa os dados de entrada para afetar o estado de jogo do videogame. Deve ser apreciado que o jogo em nuvem facilita o jogo por múltiplos jogadores de jogadores localizados em diferentes locais ao proporcionar a execução do videogame em um servidor remoto que é acessível por todos os jogadores em uma rede. Dessa maneira, a execução do videogame não depende do hardware ou da condutividade na rede de nenhum jogador em particular, embora isso vá afetar a experiência do usuário para aquele dado jogador. A Figura 2A ilustra um sistema de jogo em nuvem, de acordo com uma configuração da invenção. Como mostrado, um usuário 200 opera um controlador 202 para proporcionar entrada para um videogame com base em nuvem. O controlador 202 pode incluir qualquer um dentre vários tipos de dispositivos de feed, tais como botões, joysticks, touchpad, TrackBall, e hardware sensível a movimento tal como acelerômetros, e magnetômetros, e giroscópios. Em uma configuração, o controlador 202 pode incluir um objeto iluminado que pode ser rastreado para determinar a localização do controlador 202. O controlador 202 pode se comunicar sem utilização de fio com um cliente de jogo magro 204. O cliente 204 se comunica por uma rede 208 com um serviço de jogo em nuvem 210. O cliente 204 processa dados do controlador 202 para gerar dados de feed que são comunicados para um videogame executado pelo serviço de jogo em nuvem 210. Além disso, o cliente 204 recebe dados de video do serviço de jogo em nuvem 210, para apresentação no mostrador 206. Em uma configuração, o cliente 204 pode processar os dados de video recebidos de modo a proporcionar uma naquele momento de video em um formato compatível com o mostrador 206. Em uma configuração, o cliente 204 pode incluir uma câmera para rastrear um dispositivo controlador ou um objeto localizado no dispositivo controlador. Como foi notado, o objeto pode ser iluminado para facilitar ainda mais o rastreamento com base na análise de quadros de imagem capturados pela câmera. O serviço de jogo em nuvem 210 inclui recursos para proporcionar um ambiente no qual um videogame pode ser executado. Falando de maneira gerai, recursos podem incluir vários tipos de hardware de servidor de computador, incluindo processadores, dispositivos de armazenamento, e equipamento de rede, que podem ser utilizados para facilitar a execução de um aplicativo de videogame. Na configuração ilustrada, uma biblioteca de videogame 212 inclui vários títulos. Cada titulo define um código executável e também dados associados e bibliotecas de implementos que são utilizados para representar um videogame. O hospedeiro 214 pode ser um dispositivo de computação avulso que define uma plataforma para representar máquinas virtuais 216. Em outra configuração, o hospedeiro 214 pode operar por um ou mais dispositivos de computação de servidor, manipulando a alocação e o uso dos recursos definidos pelos dispositivos de computação do servidor, ao mesmo tempo em que apresenta uma plataforma unificada na qual máquinas virtuais 216 podem ser representadas.Cloud game servers 104 play the various video games being played by users, setting a given game state of the video game at any given time, and sending video data (including image data and audio data) to a computing device. in a specific location. The computing device at a given location processes input fed by the user (s) playing the video game, and transmits input data to the game request server, which in turn processes the data. to affect the game state of the game. It should be appreciated that cloud gaming facilitates multiplayer gameplay from players located in different locations by providing video game play on a remote server that is accessible to all players on a network. Thus, video game execution does not depend on any particular player's hardware or network conductivity, although this will affect the user experience for that particular player. Figure 2A illustrates a cloud gaming system according to one embodiment of the invention. As shown, a user 200 operates a controller 202 to provide input to a cloud based video game. The controller 202 may include any of several types of feed devices, such as buttons, joysticks, touchpad, TrackBall, and motion-sensitive hardware such as accelerometers, and magnetometers, and gyros. In one embodiment, controller 202 may include an illuminated object that can be tracked to determine the location of controller 202. Controller 202 can communicate wirelessly with a thin game client 204. Client 204 communicates over a network 208 with a cloud game service 210. Client 204 processes data from controller 202 to generate feed data that is communicated to a video game run by cloud game service 210. In addition, client 204 receives video data from the service 210, for display on display 206. In one configuration, client 204 may process the received video data to provide one at that time of video in a format compatible with display 206. In one configuration, the customer 204 may include a camera for tracking a controller device or an object located on the controller device. As noted, the subject can be illuminated to make tracking even easier based on the analysis of image frames captured by the camera. Cloud game service 210 includes features to provide an environment in which a video game can be played. Generally speaking, features can include various types of computer server hardware, including processors, storage devices, and networking equipment, which can be used to make running a video game application easier. In the illustrated embodiment, a video game library 212 includes several titles. Each title defines executable code as well as associated data and implement libraries that are used to represent a video game. Host 214 may be a standalone computing device that defines a platform for representing virtual machines 216. In another configuration, host 214 may operate on one or more server computing devices, manipulating the allocation and use of device-defined resources. while presenting a unified platform on which virtual machines 216 can be represented.

Cada máquina virtual 216 define um ambiente de recursos que pode suportar um sistema de operações, no qual um aplicativo de videogame 218 pode ser rodado. Em uma configuração, uma máquina virtual pode ser configurada para emular o ambiente de recurso de hardware de um console de jogo, com um sistema operacional associado ao console de jogo sendo rodado na máquina virtual para ajudar a rodar os titulos que foram desenvolvidos para aquele console de jogos. Em outra configuração, o sistema operacional pode ser configurado para emular um ambiente de sistema operacional nativo de um console de jogos, embora a máquina virtual subjacente possa ser configurada ou não para emular o hardware do console de jogos. Em outra configuração, um aplicativo emulador é rodado por cima do sistema operacional de uma máquina virtual, o emulador sendo configurado para emular o ambiente de sistema operacional nativo de um console de jogos de modo a suportar videogames projetados para aquele console de jogos. Deve ser apreciado que uma variedade de consoles de jogos atuais e legados podem ser emulados me um sistema de jogos com base em requisição. Dessa maneira, um usuário pode acessar titulos diferentes a partir de diferentes consoles de jogos pelo sistema de solicitação de jogos.Each virtual machine 216 defines a resource environment that can support an operating system, in which a video game application 218 can be run. In one configuration, a virtual machine can be configured to emulate the hardware resource environment of a game console, with an operating system associated with the game console running on the virtual machine to help run the titles that were developed for that console. of games. In another configuration, the operating system may be configured to emulate a native operating system environment from a game console, although the underlying virtual machine may or may not be configured to emulate the game console hardware. In another configuration, an emulator application is run over the operating system of a virtual machine, the emulator being configured to emulate the native operating system environment of a game console to support video games designed for that game console. It should be appreciated that a variety of current and legacy game consoles can be emulated on a request-based game system. This way, a user can access different titles from different game consoles through the game request system.

Quando o usuário 200 pede para jogar um titulo especifico de videogame, o videogame é recuperado da biblioteca 212. Se uma máquina virtual compatível já não foi representada ou não está disponível para uso, então uma nova máquina virtual compatível é representada no hospedeiro 214. O título recuperado é então executado como aplicativo 218 na máquina virtual disponível ou recentemente representada 216. Em uma configuração, isso pode acarretar na determinação da plataforma apropriada para o videogame (por exemplo, qual console de jogo ou sistema operacional o jogo requer para rodar) e atribuir o titulo a uma máquina virtual apropriada para execução, por exemplo, uma tendo um aplicativo emulador capaz de cuidar da execução do titulo. O videogame em execução se comunica com o cliente do jogo 204 para proporcionar uma experiência de jogo interativa para o usuário 200. Mais especificamente, o aplicativo de videogame em execução 218 recebe dados de feed do cliente 204 pela rede 208. O aplicativo 218 processa os dados de entrada para atualizar o estado de jogo do aplicativo em execução. À medida que o estado do jogo muda, o aplicativo 218 emite dados de video que são enviados para o cliente 204 para apresentação no mostrador 206. Além disso, o aplicativo 218 também pode emitir dados de retorno para o cliente 204 que são utilizados para proporcionar um mecanismo de retorno adicional para o usuário. A título de exemplo, o controlador do usuário 202 pode incluir um mecanismo de retorno de vibração tátil que pode ser ativado com base nos dados de retorno de saída do aplicativo de videogame.When user 200 requests to play a specific video game title, the video game is retrieved from library 212. If a compatible virtual machine is no longer represented or unavailable for use, then a new compatible virtual machine is represented on host 214. The retrieved title is then run as application 218 on the available or newly represented virtual machine 216. In one configuration, this may result in determining the appropriate platform for the video game (for example, which game console or operating system the game requires to run) and assigning the title to an appropriate virtual machine for execution, for example, one having an emulator application capable of handling title execution. The running video game communicates with game client 204 to provide an interactive gaming experience for user 200. More specifically, the running video game application 218 receives feed data from client 204 over network 208. Application 218 processes the input data to update the game state of the running application. As the state of play changes, application 218 outputs video data that is sent to client 204 for display on display 206. In addition, application 218 may also output return data to client 204 which is used to provide an additional feedback mechanism for the user. By way of example, user controller 202 may include a tactile vibration feedback mechanism that can be activated based on the output feedback data from the video game application.

Em uma configuração, o sistema de jogo em nuvem é configurado para detectar o tipo de dispositivo de cliente associado ao usuário, e também um tipo de controlador disponível para o usuário para proporcionar entrada para o videogame com base em nuvem. Por exemplo, em uma configuração, quando um usuário se conecta no sistema de jogo em nuvem, ele/ela pode ser apresentado a uma opção para designar o tipo de dispositivo de cliente com o qual o sistema de jogo em nuvem está sendo acessado. Em uma configuração, uma série de opções de dispositivo de cliente é apresentada a partir das quais o usuário pode selecionar uma que corresponda ao dispositivo do cliente. Pode ser apresentada também ao cliente uma opção para designar o tipo de dispositivo de controlador que será usado para reproduzir um videogame. Em uma configuração, uma série de opções do controlador pode ser apresentada ao usuário, a partir das quais pode selecionar designar um tipo de controlador que corresponda ao seu hardware de controlador. Em outras configurações, o sistema de jogo em nuvem pode ser configurado para detectar automaticamente o tipo de dispositivo do cliente e/ou o tipo de dispositivo do controlador.In one configuration, the cloud gaming system is configured to detect the type of client device associated with the user as well as a type of controller available to the user to provide input to the cloud based video game. For example, in one configuration, when a user connects to the cloud gaming system, he / she may be presented with an option to designate the type of client device with which the cloud gaming system is being accessed. In a configuration, a number of client device options are presented from which the user can select one that matches the client device. The customer may also be offered an option to designate the type of controller device that will be used to play a video game. In a configuration, a series of controller options may be presented to the user from which to select a controller type that matches their controller hardware. In other configurations, the cloud gaming system may be configured to automatically detect the client device type and / or controller device type.

Por tempo, no momento de se conectar, o dispositivo do cliente pode enviar informações para o servidor de jogo em nuvem se identificando e identificando também um dispositivo controlador conectado (por exemplo, em resposta a uma solicitação do servidor de jogo em nuvem) . Com base nessa informação, o servidor de jogo em nuvem pode determinar uma configuração de saida de videogame apropriada e uma configuração de parâmetro de feed para proporcionar uma experiência de jogo otimizada para dispositivo de cliente do usuário e dispositivo de controlador. Em uma configuração, uma tabela de consulta é empregada para determinar a configuração do videogame e a configuração do parâmetro de feed com base em um dispositivo de cliente detectado e um dispositivo controlador detectado.For time, at the time of connecting, the client device may send information to the cloud game server by identifying itself and also identifying a connected controller device (for example, in response to a request from the cloud game server). Based on this information, the cloud game server can determine an appropriate video game output configuration and feed parameter configuration to provide a user client device and controller device optimized gaming experience. In one configuration, a lookup table is employed to determine the video game configuration and feed parameter setting based on a detected client device and a detected controller device.

Deve ser apreciado que um determinado videogame pode ser desenvolvido para uma plataforma especifica e um dispositivo controlador associado especifico. Entretanto, quando um jogo como esse é disponibilizado por um sistema de jogo em nuvem como apresentado aqui, o usuário pode estar acessando o videogame com um dispositivo controlador diferente. Por exemplo, um jogo pode ter sido desenvolvido para um console de jogo e seu controlador associado, enquanto o usuário pode estar acessando uma versão do jogo com base em nuvem a partir de um computador pessoal utilizando um teclado e um mouse. Em tais condições, a configuração do parâmetro de entrada pode definir um mapeamento que variam de informações que podem ser geradas pelo dispositivo de controlador disponível (nesse caso, um teclado e um mouse) até informações que são aceitáveis para a execução do videogame.It should be appreciated that a particular video game may be developed for a specific platform and a specific associated controller device. However, when such a game is made available by a cloud gaming system as presented here, the user may be accessing the video game with a different controller device. For example, a game may have been developed for a game console and its associated controller, while the user may be accessing a cloud-based version of the game from a personal computer using a keyboard and mouse. Under such conditions, the input parameter setting can define a mapping ranging from information that can be generated by the available controller device (in this case, a keyboard and mouse) to information that is acceptable for playing the video game.

Em outro exemplo, um usuário pode acessar o sistema de jogo em nuvem por um tablet, um smartphone com tela de toque, ou outro dispositivo acionado por tela de toque. Nesse caso, o dispositivo do cliente e o dispositivo controlador são integrados em conjunto no mesmo dispositivo, sendo as informações proporcionadas por meio de informações/gestos detectados na tela de toque. Para um dispositivo como esse, a configuração de parâmetro de feed pode definir feeds pela tela de toque específicos correspondentes a informações sobre o jogo para o videogame. Por exemplo, botões, um Dpad, ou outros tipos de elementos de feed poderíam ser mostrados ou sobrepostos ao se rodar o videogame para indicar locais na tela de toque nos quais o usuário pode tocar para gerar uma entrada de jogo. Gestos tais como golpes em direções específicas ou movimentos de toque específicos também podem ser detectados como informações para o jogo. Em uma configuração, uma orientação pode ser proporcionada ao usuário indicando como proporcionar entrada via tela de toque para o jogo, por exemplo, antes de se começar a jogar o videogame, de modo a ambientar o usuário com a operação dos controles na tela de toque.In another example, a user can access the cloud gaming system from a tablet, touchscreen smartphone, or other touchscreen powered device. In this case, the client device and the controller device are integrated together in the same device, the information being provided by means of information / gestures detected on the touch screen. For such a device, the feed parameter setting can set specific touch screen feeds corresponding to game information for the video game. For example, buttons, a Dpad, or other types of feed elements could be shown or overlaid by rotating the video game to indicate places on the touch screen that the user can touch to generate a game input. Gestures such as specific direction strikes or specific touch movements can also be detected as information for the game. In one configuration, guidance may be provided to the user indicating how to provide touch screen input to the game, for example, before starting to play the game so as to suit the user by operating the controls on the touch screen. .

Em algumas configurações, o dispositivo do cliente serve como ponto de conexão para um dispositivo do controlador. Isto é, o dispositivo controlador se comunica por uma conexão sem fio ou com fio com o dispositivo do cliente para transmitir informações do dispositivo controlador para o dispositivo do cliente. O dispositivo do cliente pode por sua vez processar essas informações e então transmitir dados de feed para o servidor de jogo em nuvem via uma rede (por exemplo, acessado por um dispositivo de rede local tal como um roteador) . Entretanto, em outras configurações, o próprio controlador pode ser um dispositivo em rede, com a capacidade de comunicar informações diretamente pela rede para o servidor de jogos por solicitação, sem que se requeira que tais informações sejam comunicadas primeiramente através do dispositivo do cliente. Por exemplo, o controlador poderia se conectar a um dispositivo de rede local (tal como o já mencionado roteador) para enviar e receber dados do servidor de jogos por solicitação. Assim, embora ainda possa se exigir do cliente que ele receba emissões de vídeo do videogame com base em solicitações e apresente as mesmas em um mostrador local, a latência da entrada pode ser reduzida permitindo-se que o controlador envie informações diretamente pela rede para o servidor de jogos por solicitação, pulando o dispositivo do cliente.In some configurations, the client device serves as the connection point for a controller device. That is, the controller device communicates over a wireless or wired connection with the client device to transmit information from the controller device to the client device. The client device may in turn process this information and then transmit feed data to the cloud game server via a network (for example, accessed by a local network device such as a router). However, in other configurations, the controller itself may be a networked device, with the ability to communicate information directly over the network to the game server upon request, without requiring that such information be communicated primarily through the client device. For example, the controller could connect to a local area network device (such as the aforementioned router) to send and receive game server data upon request. Thus, while the customer may still be required to receive video broadcasts from the request-based video game and display them on a local display, input latency may be reduced by allowing the controller to send information directly over the network to the game server on request by skipping the client device.

Em uma configuração, um controlador em rede e o dispositivo do cliente podem ser configurados para enviar certos tipos de informações diretamente do controlador para o servidor de jogos por solicitação, e outros tipos de informações pelo dispositivo do cliente. Por exemplo, informações cuja detecção não depende de qualquer hardware ou processamento adicional que não seja o próprio controlador podem ser enviadas diretamente do controlador para o servidor de jogo em nuvem pela rede, pulando o dispositivo do cliente. Essas informações podem incluir informações por botão, informações por joysticks, informações por detecção de movimento embutida (por exemplo, acelerômetro, magnetômetro, giroscópio, etc.). Entretanto, informações que utilizam hardware adicional ou requerem processamento pelo dispositivo do cliente podem ser enviadas pelo dispositivo do cliente para o servidor de jogos por solicitação. Essas podem incluir video ou áudio capturado do ambiente de jogo que pode ser processado pelo dispositivo do cliente antes do envio para o servidor de jogos por solicitação. Além disso, informações a partir de um hardware de detecção de movimento do controlador podem ser processadas pelo dispositivo do cliente em conjunto com video capturado para detectar a posição e o movimento do controlador, que seriam em seguida comunicados pelo dispositivo do cliente para o servidor de jogos por solicitação. Deve ser apreciado que o dispositivo controlador de acordo com várias configurações também pode receber dados (por exemplo, dados de retorno) do dispositivo do cliente ou diretamente do servidor de jogos por solicitação. A Figura 2B ilustra conceitualmente a acumulação de titulos de jogo através de várias gerações de consoles de jogo, de acordo com configurações da invenção. Na indústria de videogames, os videogames são desenvolvidos para consoles de jogo específicos. Ao longo do tempo uma biblioteca de títulos de jogos é acumulada para um console de jogos específico. Por exemplo, no diagrama ilustrado, um console de primeira geração 220 tem uma coleção de títulos de jogo 228 que foi desenvolvido para isso. Um console de segunda geração 222 tem associado ao mesmo uma coleção de títulos de jogo 230 que foi desenvolvida para o mesmo. E um console de terceira geração 224 também é mostrado, tendo uma coleção de títulos de jogo 232 desenvolvida para o mesmo. Em outras configurações, pode haver uma coleção de títulos de jogo 234 que foi desenvolvida especificamente como jogos com base em nuvem e coletada para distribuição em um sistema de jogo em nuvem, como está descrito aqui. Será apreciado que os títulos de jogo de diferentes gerações de consoles de jogo podem ser coletados e consolidados na biblioteca de jogo em nuvem 212. Como mostrado, a biblioteca 212 inclui uma biblioteca de console de primeira geração 236 que inclui os títulos de jogo que foram desenvolvidos para o console de primeira geração 220. De maneira similar, a biblioteca 212 também inclui uma biblioteca de console de segunda geração 238 e uma biblioteca de console de terceira geração 240 que contém videogames que foram desenvolvidas para os consoles de segunda e terceira geração respectivamente. Jogos que foram desenvolvidos para o cliente 226 e outros tipos de jogos como jogos da internet também podem ser incluídos na biblioteca de jogos 212. Como pode ser visto, um grande número de títulos de jogos que atravessam várias gerações de consoles de jogos de vídeo pode ser reunido e disponibilizado por uma biblioteca de jogos por solicitação. Como foi descrito, cada um desses jogos pode ser executado em uma máquina virtual que simula o ambiente do sistema de operação associado a um determinado console de jogos para o qual um jogo foi desenvolvido. Dessa maneira, usuários que acessam o sistema de jogo com base em solicitações são capazes de acessar com facilidade e jogar jogos vindos de muitos consoles diferentes bem como jogos de outros contatos tais como jogos da internet e jogos que foram desenvolvidos especificamente para uso com o sistema de jogos com base em nuvem. A Figura 3 ilustra um método para proporcionar demonstrações do jogo para um usuário, de acordo com uma configuração da invenção. Uma interface 300 é mostrada proporcionando vinhetas ou icones 302, 304, 306, 308, 310 e 312 de vários títulos de jogos que estão disponíveis para demonstração. Cada icone pode ser configurado para proporcionar uma imagem indicativa do jogo que ele representa. Em uma configuração, quando um usuário navega até um determinado ícone, o ícone pode ser ativado para mostrar uma animação ou videoclipe que é representativo do videogame ou que proporciona de alguma outra forma informação adicional para o usuário sobre o conteúdo do videogame. Na configuração ilustrada, um usuário navegou até o icone 302, que está, portanto, destacado e exibe uma animação ativa mostrando uma cena do videogame. Quando um usuário seleciona um ícone, um video de apresentação prévia pode ser mostrado de acordo coma operação de método 314. Se o usuário continua a selecionar o jogo na operação de método 316, então, na operação de método 318, o código de jogo para a demonstração é iniciado. Na operação de método 320, a demonstração de jogo é disponibilizada instantaneamente para jogo pelo usuário. Deve ser observado que pelo fato da demonstração de jogo se basear em nuvem, ela pode ser disponibilizada instantaneamente a partir de uma representação pré-carregada da demonstração de jogo no sistema com base em nuvem. Quando a demonstração de jogo é iniciada, a representação de jogo é acionada para execução. Na operação de método 322, é determinado se o usuário deseja continuar a jogar a demonstração do jogo ou jogar uma outra demonstração do videogame, se houver alguma disponível. Em caso afirmativo, então o método volta para a execução contínua da demonstração do jogo na operação 322 ou executa uma nova demonstração de jogo para o videogame. Em caso negativo, então, no método de operação 324, é apresentada ao usuário uma opção de adquirir uma miniversão do videogame. Além disso, no método de operação 326, pode ser apresentada ao usuário ou uma opção de adquirir uma miniversão ou uma versão integral do jogo, então na operação de método 328 esta versão do jogo é adicionada na conta do usuário. Deve ser observado que, pelo fato dos jogos serem disponibilizados em um sistema de jogos com base em nuvem, o acréscimo de um jogo a uma conta do usuário pode simplesmente acarretar na associação de privilégios de acesso à versão específica do jogo com a conta do usuário. Além disso, uma vez adquirido, o jogo pode ser disponibilizado praticamente instantaneamente a partir do sistema com base em nuvem para jogo pelo usuário, especialmente uma vez que o jogo pode ser pré-representado no sistema com base em nuvem. A Figura 4A ilustra a organização hierárquica de várias porções de um videogame, de acordo com uma configuração da invenção. A titulo de exemplo, um videogame pode ser organizado em várias seções 400. Na configuração ilustrada, essas podem inclui uma seção de configuração, uma seção de introdução, várias seções de nivel, e uma seção de saída. Um determinado nível pode ser dividido ainda em várias cenas. Como mostrado, a seção de nível 3 é partida em várias cenas 402. Â medida que o usuário joga em uma determinada cena, uma linha de tempo do jogo desta cena pode ser gravada, incluindo vídeo gravando o jogo do usuário e também dados de entrada e estados de jogo gravados do aplicativo de jogo executado. Na configuração ilustrada, a linha de tempo de jogo 404 é representativa do jogo dos usuários da cena 2 de nível 3 do jogo. De acordo com configurações da invenção, um usuário pode selecionar porções de seu jogo gravado a partir das quais gera um minigame ou minifatia. Por exemplo, na configuração ilustrada a linha do tempo do jogo 404 tem um tempo de início T0 e um tempo de finalização Tz. Uma porção da linha do tempo do jogo de um Tempo Tx a um tempo Ty foi selecionada a partir da qual se gera um minigame. A Figura 4B ilustra uma interface para selecionar uma porção de uma linha do tempo do jogo para a geração de um minigame ou fatia de jogo, de acordo com uma configuração da invenção. Na configuração ilustrada, a interface 412 é apresentada em uma tela de toque 411 de um dispositivo 410. Em uma configuração, o dispositivo 410 é um tablet. A interface 412 inclui uma linha do tempo do jogo que pode ser escolhida. Em uma visualização expandida 430 da linha do tempo do jogo 414, pode ser visto que em uma configuração da linha do tempo do jogo 414 é representada por uma tira de película com marcadores ajustáveis 416 e 418. O marcador 416 designa o ponto de partida ao longo da linha do tempo do jogo 414 da seleção, enquanto que o marcador 418 designa o ponto final ao longo da linha do tempo do jogo da seleção. Além disso, um marcador 419 pode estar posicionado dentro da porção da linha do tempo do jogo 414 que foi estabelecida pelo marcador inicial 416 e pelo marcador final 418. Para facilidade de uso e para proporcionar ao usuário um entendimento visual de qual porção do seu jogo está sendo selecionada, um quadro inicial 420 pode ser mostrado que corresponde ao ponto ao longo da linha do tempo do jogo em que o marcador 416 foi posicionado. O quadro inicial 420 é uma imagem do vídeo de jogo gravado correspondente ao momento em que o marcador inicial 416 está posicionado. De maneira similar, um quadro final 424 representativo pode ser mostrado correspondendo ao ponto ao longo da linha do tempo do jogo em que o marcador 418 foi posicionado. De maneira similar, o quadro final 424 é uma imagem do vídeo de jogo gravado correspondente ao momento em que o marcador final 418 é posicionado. Além disso, um quadro representativo 422 pode ser mostrado correspondendo à posição do marcador 419 ao longo da linha do tempo do jogo. O quadro representativo 422 pode ser utilizado como uma imagem representativa para o minigame que é criado com base na porção selecionada da linha do tempo do jogo. Deve ser apreciado que embora na configuração ilustrada uma interface de tela de toque seja proporcionada e descrita, em outras configurações vários outros tipos de alimentador de entrada podem ser utilizados para selecionar pontos de começo e fim para definir uma porção de jogo para a criação de um minigame. Por exemplo, a entrada pode ser proporcionada por um controlador de jogo, um teclado, via entrada de gesto, entrada de voz, e de acordo com outros tipos de dispositivos e mecanismos de feed de entrada de modo a permitir a seleção de uma porção de jogo juntamente com a seleção de um quadro de imagem representativa do video de jogo gravado.In one configuration, a network controller and the client device may be configured to send certain types of information directly from the controller to the game server upon request, and other types of information by the client device. For example, information whose detection does not depend on any additional hardware or processing other than the controller itself can be sent directly from the controller to the cloud game server over the network by skipping the client device. This information may include button information, joystick information, built-in motion detection information (eg accelerometer, magnetometer, gyro, etc.). However, information that uses additional hardware or requires processing by the client device may be sent by the client device to the game server upon request. These may include video or audio captured from the gaming environment that may be processed by the client device prior to sending to the game server upon request. In addition, information from a controller motion detection hardware may be processed by the client device in conjunction with captured video to detect the position and motion of the controller, which would then be communicated by the client device to the video server. games on request. It should be appreciated that the controller device according to various configurations may also receive data (e.g. return data) from the client device or directly from the game server upon request. Figure 2B conceptually illustrates the accumulation of game titles across multiple generations of game consoles according to embodiments of the invention. In the video game industry, video games are designed for specific game consoles. Over time a library of game titles accumulates for a specific game console. For example, in the diagram illustrated, a first generation console 220 has a collection of game titles 228 that was developed for this. A second generation console 222 has associated with it a collection of 230 game titles that has been developed for it. And a third generation console 224 is also shown, having a collection of 232 game titles developed for it. In other configurations, there may be a collection of 234 game titles that was developed specifically as cloud-based games and collected for distribution on a cloud game system, as described here. It will be appreciated that game titles from different generations of game consoles can be collected and consolidated in the cloud game library 212. As shown, library 212 includes a first generation console library 236 that includes game titles that have been similarly, library 212 also includes a second generation console library 238 and a third generation console library 240 that contain video games that were developed for the second and third generation consoles respectively. . Customer-developed games 226 and other types of games like internet games can also be included in the 212 game library. As can be seen, a large number of game titles spanning several generations of video game consoles can be collected and made available by a game library upon request. As described, each of these games can be run on a virtual machine that simulates the operating system environment associated with a particular game console for which a game was developed. In this way, users who access the request-based gaming system are able to easily access and play games from many different consoles as well as games from other contacts such as internet games and games that have been specifically developed for use with the system. of cloud based games. Figure 3 illustrates a method for providing game demos to a user in accordance with one embodiment of the invention. An interface 300 is shown providing stickers or icons 302, 304, 306, 308, 310 and 312 of various game titles that are available for demonstration. Each icon can be configured to provide a picture indicative of the game it represents. In a configuration, when a user navigates to a particular icon, the icon may be activated to show an animation or video clip that is representative of the video game or otherwise provides the user with additional information about the video game's content. In the illustrated configuration, a user navigated to icon 302, which is therefore highlighted and displays an active animation showing a video game scene. When a user selects an icon, a preview video can be displayed according to method operation 314. If the user continues to select the game in method operation 316, then in method operation 318, the game code for The demo starts. In method 320 operation, the game demo is instantly available for play by the user. Note that because the game demo is cloud based, it can be made instantly available from a preloaded representation of the game demo on the cloud based system. When the game demo is started, the game representation is triggered for execution. In method operation 322, it is determined whether the user wishes to continue playing the game demo or playing another demo of the video game, if any are available. If so, then the method goes back to running the game demo continuously in operation 322 or running a new game demo for the video game. If not, then in operation method 324, the user is presented with an option to purchase a minigame from the video game. In addition, in operation method 326, the user may be presented with either an option to purchase a miniversion or a full version of the game, so in method operation 328 this version of the game is added to the user account. It should be noted that because games are made available on a cloud-based gaming system, adding a game to a user account may simply result in access privileges for the specific version of the game being associated with the user account. . In addition, once purchased, the game can be made available almost instantly from the cloud-based system for user gaming, especially since the game can be pre-represented on the cloud-based system. Figure 4A illustrates the hierarchical arrangement of various portions of a video game according to one embodiment of the invention. By way of example, a video game may be organized into several sections 400. In the illustrated configuration, these may include a configuration section, an introduction section, various level sections, and an output section. A certain level can be further divided into several scenes. As shown, the level 3 section is broken into several scenes 402. As the user plays in a particular scene, a game timeline of this scene can be recorded, including video recording the user's game as well as input data. and recorded game states of the game application you run. In the illustrated embodiment, the game timeline 404 is representative of the game of users of the game's level 3 scene 2. According to embodiments of the invention, a user may select portions of their recorded game from which to generate a minigame or miniface. For example, in the illustrated configuration the game timeline 404 has a start time T0 and an end time Tz. A portion of the game timeline of a Tx tempo at a time ty was selected from which a minigame is generated. Figure 4B illustrates an interface for selecting a portion of a game timeline for generating a game minigame or slice according to one embodiment of the invention. In the illustrated embodiment, interface 412 is presented on a touch screen 411 of a device 410. In one configuration device 410 is a tablet. Interface 412 includes a selectable game timeline. In an expanded view 430 of the game timeline 414, it can be seen that in a game timeline configuration 414 is represented by a film strip with adjustable markers 416 and 418. Marker 416 assigns the starting point to the along the timeline of the selection game 414, while marker 418 designates the end point along the selection game's timeline. In addition, a marker 419 may be positioned within the portion of the game timeline 414 which was set by the starting marker 416 and the final marker 418. For ease of use and to provide the user with a visual understanding of which portion of their game. being selected, an initial frame 420 may be shown that corresponds to the point along the game timeline at which marker 416 was positioned. The start frame 420 is an image of the recorded game video corresponding to the time the start marker 416 is positioned. Similarly, a representative final frame 424 may be shown corresponding to the point along the game timeline at which marker 418 was positioned. Similarly, the final frame 424 is an image of the recorded game video corresponding to the moment the final marker 418 is positioned. In addition, a representative frame 422 may be shown corresponding to the position of marker 419 along the game timeline. Representative board 422 can be used as a representative image for the minigame that is created based on the selected portion of the game's timeline. It should be appreciated that while in the illustrated configuration a touch screen interface is provided and described, in other configurations various other types of input feeders may be used to select start and end points to define a game portion for creating a mini game. For example, the input may be provided by a game controller, a keyboard, via gesture input, voice input, and according to other types of input devices and mechanisms to allow selection of a portion of together with the selection of a representative picture frame of the recorded game video.

Em algumas configurações os marcadores de seleção podem não ser continuamente ajustáveis ao longo da linha do tempo do jogo, mas podem ser configurados, ao invés disso, para encaixar em pontos no tempo predefinidos ao longo linha do tempo do jogo. Por exemplo, pontos no tempo predefinidos podem ser definidos para corresponder a eventos específicos ocorrendo na linha do tempo do jogo. Os eventos específicos de uma determinada linha do tempo do jogo para os quais pontos no tempo predefinidos serão atribuídos podem ser gerados com base na análise do jogo dos usuários, e vai depender da arquitetura específica do jogo do videogame. Em uma configuração, pontos no tempo predefinidos podem ser atribuídos com base na localização geográfica de um personagem dentro de um mundo virtual definido pelo videogame, Por exemplo, pontos no tempo predefinidos podem ser atribuídos aos momentos específicos nos quais um personagem se moveu de um local geográfico para outro local geográfico, por exemplo, o movimento de um local de cena para outro local de cena, o movimento de uma cidade para outra cidade, entrar em uma estrutura, entrar em uma sala dentro de uma estrutura, entrar no veículo, entrar em um tipo diferente de ambiente, ou qualquer outro tipo de transição geográfica significativa. Em outra configuração, os pontos no tempo predefinidos podem ser atribuídos com base no desenvolvimento de um personagem ou entidade de um usuário que seja controlada no videogame. Por exemplo, pontos no tempo predefinidos podem ser atribuídos quando um personagem ou entidade controlada pelo usuário realiza uma tarefa, adquire uma habilitação, adquire um objeto, passa de nível ou completa de alguma outra forma uma porção do videogame, ou realiza ou consegue qualquer outro tipo de atividade significativa no videogame. A Figura 4C ilustra uma interface para selecionar uma porção de uma linha do tempo do jogo para a geração de um minigame, de acordo com uma configuração da invenção. Uma linha do tempo do jogo 414 ilustra graficamente uma linha do tempo ao longo da qual o usuário pode configurar marcadores de inicio e fim 416 e 418, de modo a designar uma seleção do jogo a partir a qual gerar um minigame. Um quadro inicial 410 que corresponde à posição do marcador de início 416 é mostrado, assim como um quadro final 424 que corresponde à posição do marcador de fim 418. Será observado que os quadros podem ser identificados a partir do vídeo gravado do jogo do usuário. Um número de quadros candidatos 440, 442, 444 e 446 são apresentados, a partir dos quais o usuário pode selecionar um para ser utilizado como quadro representativo para o minigame. Os quadros candidatos podem ser determinados de acordo com uma variedade de métodos. Por exemplo, quadros candidatos podem ser apresentados a partir de intervalos fracionados da porção selecionada da linha do tempo do jogo. Os intervalos podem ser equivalentes, de modo que os quadros candidatos dão igualmente espaçados ao longo da linha do tempo do jogo, ou os intervalos podem ser não-equivalentes, de modo que alguns quadros estão mais próximos um do outro que outros ao longo da linha do tempo do jogo. Em uma configuração, uma densidade mais alta de quadros candidatos é gerada a partir de porções mais iniciais da linha do tempo do jogo. Em uma configuração, uma densidade mais alta dos quadros candidatos é gerada tanto de regiões iniciais quanto posteriores da linha do tempo do jogo, enquanto que uma densidade menor de quadros candidatos é gerada a partir de porções centrais da porção selecionada da linha do tempo do jogo.In some configurations the selection markers may not be continuously adjustable along the game timeline, but may instead be set to fit predefined time points along the game timeline. For example, predefined time points can be set to match specific events occurring on the game's timeline. The specific events of a given game timeline to which predefined time points will be assigned can be generated based on users' game analysis, and will depend on the game's specific game architecture. In a setting, predefined time points can be awarded based on a character's geographic location within a virtual world defined by the video game. For example, predefined time points can be assigned to specific times when a character has moved from a location. geographic to another geographic location, for example, moving from one scene location to another scene location, moving from city to city, entering a structure, entering a room within a structure, entering the vehicle, entering in a different type of environment, or any other kind of significant geographic transition. In another configuration, predefined time points can be awarded based on the development of a user character or entity that is controlled in the video game. For example, predefined time points may be awarded when a user-controlled character or entity accomplishes a task, acquires a skill, acquires an object, level-ups or otherwise completes a portion of the video game, or performs or achieves any other. type of significant activity in the video game. Figure 4C illustrates an interface for selecting a portion of a game timeline for generating a minigame according to one embodiment of the invention. A game timeline 414 graphically illustrates a timeline along which the user can set start and end markers 416 and 418 to designate a game selection from which to generate a minigame. A start frame 410 that corresponds to the start marker position 416 is shown, as well as an end frame 424 that corresponds to the end marker position 418. It will be appreciated that the frames can be identified from the recorded video of the user's game. A number of candidate frames 440, 442, 444, and 446 are presented from which the user can select one to be used as a representative frame for the minigame. Candidate boards can be determined by a variety of methods. For example, candidate frames may be presented from fractional intervals of the selected portion of the game's timeline. The intervals may be equivalent, so that candidate frames are equally spaced along the game's timeline, or the intervals may be non-equivalent, so that some frames are closer together than others along the line. of the game time. In one configuration, a higher density of candidate frames is generated from earlier portions of the game's timeline. In one configuration, a higher density of candidate frames is generated from both early and later regions of the game timeline, while a lower density of candidate frames is generated from central portions of the selected portion of the game timeline. .

Após um usuário ter escolhido uma porção do jogo a partir da qual cria um minigame, configurações da presente invenção proporcionam sistemas e métodos para criar um minigame que pode ser jogado com base na porção selecionada do jogo. Mais especificamente, o minigame permite a outro usuário jogar substancialmente a mesma porção do videogame que o usuário original jogou, e possivelmente substancialmente sob as mesmas condições e parâmetros. Nesse sentido, o minigame é mais que simplesmente um video repetido do jogo do usuário original {embora uma repetição em videoclipe do jogo do usuário original possa ser apresentada em conjunto com o minigame), mas é uma porção que pode ser jogada do próprio videogame que foi designada com base na seleção do usuário de seu próprio jogo. Um segundo usuário pode, dessa maneira, experimentar uma experiência de jogo substancialmente similar àquela do usuário original. A Figura 5 ilustra uma série de capturas de tela demonstrando um método para gerar um minigame a partir de um videogame em nuvem existente, de acordo com uma configuração da invenção. A captura de tela 500 mostra o jogo em videogame de um usuário. Na configuração ilustrada, o usuário joga o nivel 3 de um videogame. Ao completar o nivel, é oferecida ao usuário uma opção de gerar uma fatia de jogo ou minigame com base no jogo do usuário daquele nivel. Quando o usuário opta por gerar uma fatia de jogo, então no então na captura de tela 504 é apresentada ao usuário uma interface para selecionar um ponto de partida para a fatia de jogo a partir do jogo gravado do usuário. Como foi descrito, uma representação da linha do tempo do jogo pode ser mostrada com um slider ajustável que o usuário pode mover para designar um ponto de partida para a fatia de jogo. Após o usuário ter definido o ponto de partida, então na captura de tela 506 é apresentada ao usuário a interface configurada para permitir a seleção de um ponto final para a fatia de jogo. Mais uma vez, um slider ajustável é movido pelo usuário para designar o ponto final ao longo da linha do tempo do jogo na interface. Após os pontos de inicio e fim da linha do tempo do jogo do usuário serem designados, a fatia de jogo ou minigame é gerada pelo sistema, como descrito aqui em outro ponto. Na captura de tela 508, podem ser apresentadas ao usuário opções adicionais, tais como uma opção para compartilhar a fatia de jogo recém-criada com outros usuários ou então informar de outra maneira outros usuários da fatia de jogo recém-criada, uma opção de gerar outra fatia de jogo a partir da mesma linha do tempo do jogo, uma opção de continuar o jogo do videogame naquele momento, uma opção de ver as fatias de jogo existentes do usuário, etc. Se o usuário escolher ver suas fatias de jogo existentes, então, na captura de tela 510, uma interface é mostrada exibindo as fatias de jogo anteriormente criadas. Na configuração ilustrada, o usuário pode selecionar uma das fatias de jogo anteriormente criadas, e ver informação e estatísticas relacionadas à fatia de jogo, como mostrado na captura de tela 512. A informação e as estatísticas relacionadas a uma determinada fatia de jogo podem incluir qualquer um dentre: um titulo da fatia de jogo, o videogame a partir do qual a fatia de jogo foi criada originalmente, a data em que a fatia de jogo foi criada, o número de vezes em que a fatia de jogo foi jogada por outros usuários, uma percentagem de finalização indicando uma porcentagem média da fatia de jogo que é completada por usuários que se propõem a jogar a fatia de jogo, comentários deixados por outros usuários, etc.After a user has chosen a portion of the game from which to create a minigame, configurations of the present invention provide systems and methods for creating a minigame that can be played based on the selected portion of the game. More specifically, the minigame allows another user to play substantially the same portion of the video game as the original user played, and possibly substantially under the same conditions and parameters. In this sense, the minigame is more than just a repeating video of the original user's game (although a replay of the original user's game may be presented in conjunction with the minigame), but it is a playable portion of the video game itself that was assigned based on user selection of your own game. A second user can thus experience a gaming experience substantially similar to that of the original user. Figure 5 illustrates a series of screenshots demonstrating a method for generating a minigame from an existing cloud video game according to one embodiment of the invention. Screenshot 500 shows a user's video game. In the illustrated configuration, the user plays level 3 of a video game. Upon completion of the level, the user is offered an option to generate a game slice or minigame based on the user's level game. When the user chooses to generate a game slice, then at the then 504 screenshot the user is presented with an interface for selecting a starting point for the game slice from the user's recorded game. As described, a representation of the game's timeline can be shown with an adjustable slider that the user can move to designate a starting point for the game slice. After the user has set the starting point, then in screenshot 506 the user is presented with the interface configured to allow the selection of an end point for the game slice. Again, an adjustable slider is moved by the user to designate the endpoint along the game's timeline in the interface. After the start and end points of the user's game timeline are assigned, the game slice or minigame is generated by the system, as described here elsewhere. In screenshot 508, the user may be presented with additional options, such as an option to share the newly created game slice with other users or otherwise inform other users of the newly created game slice, an option to generate another slice of play from the same timeline as the game, an option to continue playing the game at that time, an option to view the user's existing slice of play, etc. If the user chooses to view their existing game slices, then in screenshot 510, an interface is shown displaying the previously created game slices. In the illustrated configuration, the user can select one of the previously created game slices, and view information and statistics related to the game slice, as shown in screenshot 512. Information and statistics related to a particular game slice can include any one of: a game slice title, the video game from which the game slice was originally created, the date the game slice was created, the number of times the game slice was played by other users , a percentage of completion indicating an average percentage of the game slice that is completed by users proposing to play the game slice, comments left by other users, etc.

Embora na configuração descrita naquele momento seja apresentada uma opção de gerar uma fatia de jogo para um usuário em seguida à finalização de um nível do videogame, deve ser observado que em outras configurações o usuário pode gerar uma fatia de jogo em qualquer outro momento durante ou fora do jogo do videogame, contanto que exista jogo gravado do videogame a partir da qual uma seleção possa ser definida pelo usuário para uma fatia de jogo. Por exemplo, em uma configuração pode ser apresentada uma interface que proporciona acesso a vários jogos gravados a partir de vários videogames que são associados ao usuário. O usuário pode selecionar o jogo de um videogame especifico e gerar uma fatia de jogo selecionando uma porção do jogo gravado a partir da qual vai gerar a fatia de jogo de acordo com as configurações descritas aqui . A Figura 6 ilustra um sistema para gerar código de fatia de jogo, de acordo com uma configuração da invenção. Os termos fatia de jogo e minigame são usados alternadamente aqui para definir uma porção destacada e que pode ser jogada de um videogame que é gerado com base na seleção do usuário de jogo gravado existente. Na configuração ilustrada, o jogo de usuário 600 conceitualmente representa um usuário que interage com uma versão integral de um videogame. O código de jogo principal 602 é executado para definir a versão integral do videogame mostrada pelo usuário, À medida que o videogame é jogado, ele gera vários tipos de emissão de jogo, incluindo dados de video, dados sobre o estado do jogo, e dados alimentados pelo usuário. Esses podem ser gravados de modo a definir o jogo gravado pelo usuário. Na configuração ilustrada, uma corrente de imagem 604 representa conceitualmente os dados de video emitidos pelo videogame. Metadados de estado do jogo 606 e dados alimentados pelo usuário 608 também são mostrados. Os dados do estado do jogo 606 incluem dados que definem o estado de jogo do videogame em execução a cada momento durante o jogo. Os dados de estado do jogo podem incluir os valores de quaisquer variáveis que definam o estado de execução do videogame. Os dados alimentados pelo usuário são dados gerados pela captura de ações iniciadas pelo usuário que ocorrem durante a interatividade com o videogame, tais como aqueles que podem ser proporcionados via ativação de dispositivos de feed em dispositivos controladores, detecção de dados de sensor (por exemplo, sensores de movimento), entrada de áudio capturada, e similares.Although in the configuration described at that time an option to generate a game slice for a user following the completion of a video game level is presented, it should be noted that in other configurations the user can generate a game slice at any other time during or out of video game play, as long as there is recorded video game play from which a user-definable selection for a slice of the game. For example, in one configuration an interface may be presented that provides access to various games recorded from various video games that are associated with the user. The user can select the game from a specific video game and generate a game slice by selecting a portion of the recorded game from which to generate the game slice according to the settings described herein. Figure 6 illustrates a system for generating game slice code according to one embodiment of the invention. The terms game slice and minigame are used interchangeably here to define a highlighted and playable portion of a video game that is generated based on the existing recorded game user selection. In the illustrated embodiment, user game 600 conceptually represents a user who interacts with a full version of a video game. Main game code 602 is executed to define the full version of the video game shown by the user. As the video game is played, it generates various types of game output, including video data, game state data, and data. powered by the user. These can be recorded to define the user-recorded game. In the illustrated embodiment, an image stream 604 conceptually represents the video data output from the video game. Game state metadata 606 and user-fed data 608 are also shown. Game state data 606 includes data that defines the game state of the video game running at any time during the game. Game status data can include the values of any variables that define the game's execution state. User-fed data is data generated by capturing user-initiated actions that occur during interactivity with the video game, such as those that may be provided via activation of feed devices on controller devices, sensor data detection (for example, motion sensors), captured audio input, and the like.

Como foi descrito, uma interface de usuário pode mostrar graficamente o jogo gravado do usuário para facilitar a seleção pelo usuário de uma porção do jogo do usuário a partir da qual é gerada uma fatia de jogo. Na configuração ilustrada, o usuário definiu uma seleção 610 de seu jogo gravado. Essa seleção do jogo gravado pelo usuário é utilizada por um gerador de fatia de jogo para gerar código de fatia de jogo 622 que define um jogo limitado com base na porção selecionada do jogo do usuário. O gerador de fatia de jogo 612 inclui um analisador de estado de jogo 614 que analisa o estado de jogo da seleção gravada 610. Com base na análise do estado de jogo da seleção gravada, um processador de ponto de interrupção do jogo determina pontos de interrupção apropriados para definir o começo e o fim da fatia de jogo. Pontos de interrupção podem ser definidos com base na geografia, tempo, realização de tarefa ou meta, fronteiras da cena (fisica ou temporal), ou qualquer outro aspecto de um videogame de acordo com o qual o jogo do videogame possa ser segmentado para gerar uma fatia de jogo. Uma breve descrição de algumas configurações ilustrativas irá servir para destacar certas possibilidades para determinação de um ponto de interrupção.As described, a user interface can graphically display the user's recorded game to facilitate user selection of a portion of the user's game from which a game slice is generated. In the illustrated configuration, the user has defined a 610 selection of their recorded game. This user-recorded game selection is used by a game slice generator to generate game slice code 622 that defines a limited game based on the selected portion of the user's game. The game slice generator 612 includes a game state analyzer 614 that analyzes the game state of the recorded selection 610. Based on the game state analysis of the recorded selection, a game breakpoint processor determines breakpoints appropriate to define the beginning and end of the game slice. Breakpoints can be set based on geography, time, task or goal accomplishment, scene boundaries (physical or temporal), or any other aspect of a video game whereby the video game game can be segmented to generate a Game slice. A brief description of some illustrative configurations will serve to highlight certain possibilities for determining a breakpoint.

Por exemplo, alguns videogames acarretam controle de um personagem que pode ser movido de uma cena ou local geográfico para outra cena ou local geográfico. A porção selecionada do jogo do usuário pode ser determinada para ser gerada a partir do jogo em uma determinada cena. Em uma configuração como essa, as fronteiras da cena em particular pode definir o ponto de interrupção geográfico para a fatia de jogo, selecionando a cena para a exclusão de outras cenas, o que pode acarretar a exclusão de outras cenas adjacentes ou acrescentadas, bem como de cenas que não são adjacentes ou acrescentadas ou então menos relacionadas ou não relacionadas à cena especifica. Deve ser observado que a seleção de jogo gravado 610 pode acarretar jogo a partir de múltiplas cenas, e nesse caso o processador de ponto de interrupção do jogo 616 pode ser configurado para definir pontos de interrupção de acordo com os limites das cenas múltiplas que são utilizadas para a seleção de jogo gravado.For example, some video games entail control of a character that can be moved from one scene or geographic location to another scene or geographic location. The selected portion of the user's game can be determined to be generated from the game in a given scene. In such a setting, the boundaries of the particular scene can set the geographical breakpoint for the game slice by selecting the scene to exclude other scenes, which may lead to the deletion of other adjacent or added scenes, as well as scenes that are not adjacent or appended or less related or unrelated to the specific scene. It should be noted that the selection of recorded game 610 may cause play from multiple scenes, in which case the game breakpoint processor 616 may be set to set breakpoints according to the limits of the multiple scenes that are used. for the selection of recorded game.

Deve ser notado que uma cena pode ser tanto geográfica quanto temporal em sua natureza. Isto é, a cena pode não apenas definir uma região geográfica dentro de um espaço virtual definido pelo videogame, mas também pode ser configurada para existir durante um determinado tempo ou em um ponto cronológico determinado dentro do contexto mais amplo do videogame. Uma cena como essa pode ter objetivos ou metas definidos que devem ser conseguidos pelo jogador. ãssim, pontos de interrupção do jogo podem ser definidos tom base na cronologia ou outros aspectos temporais tonforme definido pelo videogame.It should be noted that a scene can be both geographic and temporal in nature. That is, the scene can not only define a geographic region within a virtual space defined by the video game, but can also be configured to exist for a certain time or at a certain time point within the broader context of the video game. Such a scene can have definite goals or objectives that must be achieved by the player. Thus, game breakpoints can be set based on chronology or other temporal aspects as defined by the video game.

Além disso, uma determinada cena pode ter objetos ou características associados que são apresentados como porção da cena durante o jogo. Esses objetos ou características podem ser analisados para definir outros pontos de interrupção de acordo com a sua inclusão. Por exemplo, os objetos na cena podem ser retirados de um subconjunto de biblioteca de implementos e nesse caso o subconjunto de biblioteca de implementos pode ser definido para a fatia de jogo pelo processador de ponto de interrupção do jogo 616, excluindo-se outros objetos na biblioteca de implementos que não são utilizados na(s) cena(s) associada(s) com a seleção de jogo gravado. Deve ser entendido que objetos e características podem ser elementos dinâmicos de uma determinada cena, com mecanismos associados definindo sua mudança em resposta a eventos que estão ocorrendo no videogame. Por exemplo, um objeto poderia ter um módulo modelador contra danos que determina e ajusta a aparência do objeto quando ele é danificado (por exemplo, quando atingido por uma arma). Ou uma característica poderia ser um veículo que é disponibilizado durante a cena, com o veículo tendo lógica associada que define sua aparência durante o jogo, bem como sua operação e resposta à entrada do usuário. Essa lógica ou modelador contra danos podem definir ainda pontos de interrupção do jogo para a geração da fatia de jogo. Vários aspectos de um videogame que definem ou são utilizados de outra maneira para uma porção selecionada de um videogame podem ser a base para definir um ponto de interrupção do jogo. Os exemplos presentemente descritos são proporcionados apenas a titulo de exemplo e não a titulo de limitação. Deve ser apreciado que em outras configurações, outros aspectos de um videogame podem formar a base para definir pontos de interrupção para gerar uma fatia de jogo.In addition, a given scene may have associated objects or features that are presented as a portion of the scene during the game. These objects or characteristics can be analyzed to define other breakpoints according to their inclusion. For example, objects in the scene may be taken from a subset of implement libraries, in which case the subset of implements library may be set to the game slice by the game breakpoint processor 616, excluding other objects in the game. library of implements that are not used in the scene (s) associated with the selected game selection. It should be understood that objects and features can be dynamic elements of a given scene, with associated mechanisms defining their change in response to events occurring in the video game. For example, an object could have a damage shaping module that determines and adjusts the appearance of the object when it is damaged (for example, when struck by a weapon). Or a feature could be a vehicle that is made available during the scene, with the vehicle having associated logic that defines its appearance during the game as well as its operation and response to user input. This damage logic or modeller can also set game breakpoints for game slice generation. Various aspects of a video game that define or are otherwise used for a selected portion of a video game can be the basis for setting a game breakpoint. The presently described examples are provided by way of example only and not by way of limitation. It should be appreciated that in other configurations, other aspects of a video game can form the basis for setting breakpoints to generate a game slice.

Em alguma configuração, um videogame pode ser organizado em várias cenas que têm de ser completadas de maneira linear, de modo que uma cena subseqüente não pode ser experimentada até que sua cena precedente tenha sido completada primeiramente. Cada cena pode incluir um número qualquer de objetivos ou metas, alguns dos quais podem ser exigidos para completar a cena e alguns dos quais podem ser opcionais para completar a cena. Objetivos podem incluir navegar de um local de partida para um local de término predefinido dentro da cena, sobreviver por uma extensão predefinida de tempo, destruir um número predefinido de inimigos, adquirir um determinado número de pontos, derrotar um inimigo em particular, ou qualquer outra atividade que pode definir um objetivo dentro do jogo. Uma cena pode ter vários pontos de finalização predefinidos, isto é, pontos em que o usuário, uma vez tendo alcançado o ponto de finalização, é capaz de retornar àquele ponto se o usuário se torna impedido de continuar o jogo por alguma razão (por exemplo, usuário deixa o jogo, o personagem do jogo do usuário morre ou esgota suas vidas ou saúde, o veiculo do usuário bate, etc.). Em pontos de finalização predefinidos, um videogame pode ser configurado para salvar automaticamente o progresso do usuário, ou apresentar uma opção para o usuário salvar seu progresso.In some configuration, a video game can be organized into multiple scenes that have to be completed linearly, so that a subsequent scene cannot be experienced until its previous scene has been completed first. Each scene may include any number of objectives or goals, some of which may be required to complete the scene and some of which may be optional to complete the scene. Objectives may include navigating from a starting location to a predefined ending location within the scene, surviving for a predefined length of time, destroying a predefined number of enemies, acquiring a certain number of points, defeating a particular enemy, or any other. activity that can set a goal within the game. A scene may have several predefined endpoints, that is, points at which the user, having reached the endpoint, is able to return to that point if the user is prevented from continuing the game for any reason (for example). , user leaves the game, user game character dies or depletes their lives or health, user vehicle crashes, etc.). At predefined endpoints, a video game can be set to automatically save user progress, or present an option for the user to save their progress.

Em uma configuração, o processador de ponto de interrupção de jogo 616 é configurado para definir um ponto de interrupção de jogo em pontos de finalização predefinidos. Em uma configuração, isso se consegue encontrando-se os pontos de finalização mais próximos dos pontos de inicio e fim da seleção de jogo gravado do usuário, e utilizando-se esses pontos de finalização mais próximos para definir os pontos de interrupção do jogo para a fatia de jogo. Em outra configuração, o ponto de finalização mais próximo que ocorre antes do ponto de partida selecionado da seleção de jogo gravado é utilizado para definir um ponto de interrupção de partida, enquanto que um ponto de finalização mais próximo que ocorre após o ponto final selecionado da seleção de jogo gravado é utilizado para definir um ponto de interrupção final para a criação da fatia de jogo. Em mais outra configuração, se um ponto de finalização se encontra dentro de um raio predefinido (por exemplo, antes ou depois) dos pontos de inicio ou fim da seleção de jogo gravado, então esse ponto de finalização é utilizado para definir um ponto de interrupção de jogo inicial ou final correspondente. Ao passo que se nenhum ponto de finalização se encontra dentro do raio predefinido, então é definido um ponto de interrupção de jogo que corresponde mais proximamente ao ponto inicial ou final selecionado pelo usuário para a seleção gravada. Em outras configurações, o raio predefinido para os pontos inicial e final pode diferir com o propósito de determinar se é possível utilizar um ponto de finalização existente para definir um ponto de interrupção de jogo.In one configuration, the game breakpoint processor 616 is configured to set a game breakpoint at predefined endpoints. In one configuration, this is accomplished by finding the endpoints closest to the start and end points of the user's recorded game selection, and using these closest endpoints to set the game breakpoints for the game. Game slice. In another configuration, the nearest ending point that occurs before the selected game selection's selected starting point is used to set a starting breakpoint, while a closest ending point that occurs after the selected game selection's starting point. Recorded game selection is used to set a final breakpoint for game slice creation. In another embodiment, if an endpoint is within a predefined radius (for example, before or after) of the start or end points of the recorded game selection, then that endpoint is used to set a breakpoint. corresponding starting or ending game Whereas if no endpoint is within the predefined radius, then a game breakpoint is set that most closely matches the user-selected start or end point for the recorded selection. In other configurations, the default radius for the start and end points may differ for the purpose of determining whether an existing endpoint can be used to set a game breakpoint.

Como foi discutido, o processador de ponto de interrupção de jogo 616 determina pontos de interrupção apropriados aplicáveis a vários aspectos do videogame com base na análise da seleção de jogo gravado dos usuários. Os pontos de interrupção definidos pelo processador 616 servem para definir o campo limitado da fatia de jogo que será produzida com base na seleção de jogo gravado dos usuários. Em uma configuração, um processador de sobreposição 617 é proporcionado para gerar sobrecamadas que podem contribuir para uma experiência de usuário melhor ao jogar a fatia de jogo gerada pelo gerador de fatia de jogo 612. Por exemplo, em uma configuração o processador de sobreposição 617 define dados de fatia pré-jogo que definem informações de video ou jogo adicionais que podem ser proporcionadas como introdução para a fatia de jogo antes do jogo efetiva da fatia de jogo. Um exemplo de dados de fatia pré-jogo é um video introdutório que pode proporcionar um contexto a um usuário que inicia o jogo de fatia pré-jogo. Em outra configuração, os dados de fatia pré-jogo podem definir jogo introdutório para a fatia de jogo, que pode proporcionar a um usuário uma oportunidade de aprender técnicas que podem ser úteis ou exigidas para jogar o jogo da fatia. Em outra configuração, os dados de fatia pré-jogo podem definir uma série de uma ou mais telas ou imagens informativas que fornecem informações sobre a fatia de jogo para o usuário. Tais informações podem incluir configuração do controlador, informações sobre os fundamentos da história, objetivos ou metas, mapas, ou qualquer outro tipo de informações relativas à fatia de jogo que possam ser úteis para o usuário ou melhorar de outra maneira a experiência do usuário de jogar a fatia de jogo. O processador de sobreposição 617 também pode ser configurado para definir dados de fatia pós-jogo. Em algumas configurações, os dados de fatia pós-jogo podem definir video ou imagens a serem mostradas em seguida à finalização do jogo da fatia de jogo. Por exemplo, um video de congratulações poderia ser mostrado após um usuário completar a fatia de jogo. Esse vídeo pode ser customizado com base no jogo do usuário da fatia de jogo, por exemplo, mostrando informações ou imagens que se baseiam no jogo do usuário. Em uma configuração, os dados de fatia pós-jogo podem definir um mecanismo de reprodução para reproduzir porções gravadas do jogo do usuário da fatia de jogo após sua finalização. Em outra configuração, os dados de fatia pós-jogo podem ser configurados para exibir estatísticas sobre o jogo dos usuários da fatia de jogo, e podem indicar uma comparação do jogo dos usuários com a de outros usuários ou a do criador original da fatia de jogo. Em outras configurações, os dados de fatia pós-jogo podem definir elementos interativos adicionais a serem apresentados para o usuário mediante a finalização da fatia de jogo. Esses podem incluir opções para adquirir parcialmente ou completamente o videogame no qual a fatia de jogo se baseia, redirecionar opções para fontes adicionais de informações relacionadas ao videogame, etc.As discussed, the game breakpoint processor 616 determines appropriate breakpoints applicable to various aspects of the video game based on analysis of users' recorded game selection. Breakpoints set by processor 616 serve to define the limited field of the game slice that will be produced based on users' recorded game selection. In one embodiment, an overlay processor 617 is provided to generate overlays that can contribute to a better user experience by playing the game slice generated by the gaming slice generator 612. For example, in one configuration the overlay processor 617 defines Pre-game slice data that defines additional video or game information that may be provided as an introduction to the game slice prior to actual game slice play. An example of pre-game slice data is an introductory video that can provide context to a user who starts the pre-game slice game. In another embodiment, the pre-game slice data may define introductory game for the game slice, which may provide a user with an opportunity to learn techniques that may be useful or required to play the slice game. In another configuration, pre-game slice data can define a series of one or more informational screens or images that provide game slice information to the user. Such information may include controller configuration, story background information, objectives or goals, maps, or any other game-piece information that may be helpful to the user or otherwise improve the user's gaming experience. The game slice. The overlay processor 617 may also be configured to define post game slice data. In some configurations, post-game slice data may define video or images to be displayed following game-slice termination. For example, a congratulatory video could be shown after a user completes the game slice. This video can be customized based on the game player's game, for example by displaying information or images that are based on the user's game. In one configuration, postgame slice data can define a playback mechanism for playing back recorded portions of the game slice user game upon completion. In another configuration, the postgame slice data may be configured to display gameplay statistics for gameplayer users, and may indicate a comparison of users' gameplay with that of other users or that of the original gameplayer creator. . In other configurations, postgame slice data may define additional interactive elements to be presented to the user upon completion of the game slice. These may include options for partially or completely acquiring the video game on which the game slice is based, redirecting options to additional sources of video game-related information, and so on.

Em algumas configurações, o processador de sobreposição 617 pode ser configurado para definir elementos que estão sobrepostos na fatia de jogo. Esses podem incluir elementos que podem ser customizados por um usuário que está jogando a fatia do jogo, tal como customização de personagens, objetos, propriedades, e outros tipos de opções de customização. Em algumas configurações, o processador de sobreposição 617 pode ser configurado para definir elementos simplificados para uma fatia de jogo de modo a reduzir a complexidade do código da fatia de jogo e a quantidade de recursos exigida para executar a fatia de jogo. A titulo de exemplo, muitos videogam.es incluem entidades de inteligência artificial (AI) tais como personagens, veículos, inimigos, etc. Essas entidades com AI podem no videogame integral ser governadas por modelos de inteligência artificial que definem a reação e a atividade das entidades com AI com base em eventos que ocorrem no videogame. Entretanto, no contexto de uma fatia de jogo que é e de escopo limitado, pode ser aceitável simplesmente definir a atividade de uma entidade de AI através de definição por hardcode ou extrapolações simplificadas, ao invés de modelar completamente a atividade da entidade AI como aconteceria no videogame integral.In some configurations, the overlay processor 617 may be configured to define elements that are overlaid on the game slice. These can include elements that can be customized by a user who is playing the game slice, such as customization of characters, objects, properties, and other types of customization options. In some configurations, the overlay processor 617 may be configured to define simplified elements for a game slice to reduce the complexity of the game slice code and the amount of resources required to execute the game slice. By way of example, many video games include artificial intelligence (AI) entities such as characters, vehicles, enemies, etc. These AI entities can be governed by the integral video game by artificial intelligence models that define the reaction and activity of AI entities based on events that occur in the video game. However, in the context of a narrow-scope game slice, it may be acceptable to simply define the activity of an AI entity through hardcode definition or simplified extrapolations, rather than completely modeling the activity of the AI entity as it would in full video game.

Por exemplo, no jogo gravado do videogame completo um determinado personagem AI se move de uma determinada maneira de acordo com seu modelo de AI que provavelmente não vai mudar na fatia de jogo, então ele pode ser mais eficiente para definir uma aproximação do movimento do personagem de AI para a fatia de jogo. Essa aproximação não iria exigir que o modelo de AI completo fosse incluído como porção do código de fatia de jogo, no entanto proporcionaria ao usuário jogando a fatia de jogo uma experiência substancialmente similar com relação àquele personagem de AI à do jogo original do usuário da qual a fatia de jogo foi gerada. A economia de recursos realizada através da aproximação de atividade das entidades com AI pode ser ainda mais significativa quando múltiplas entidades com AI estão presentes e interagindo na seleção de jogo gravado pelo usuário. Porque cada uma das entidades com AI pode ter modelos de AI que dependem da emissão daqueles das outras entidades de AI. Entretanto, ao se gravar o jogo a atividade de cada uma dessas entidades com AI é conhecida, e, portanto, pode ser reproduzida na fatia de jogo através de mecanismos simplifiçados tais como codificação direta de suas variáveis de controle e aproximação de sua atividade.For example, in the complete videogame recorded game a particular AI character moves in a certain way according to his AI model that is unlikely to change in the game slice, so he can be more efficient at defining an approximation of the character's movement. AI to the game slice. This approach would not require the full AI model to be included as a portion of the game slice code, but would provide the user playing the game slice with a substantially similar experience with that AI character to that of the user's original game of which the game slice has been generated. The resource savings achieved by approximating the activity of AI entities can be even more significant when multiple AI entities are present and interacting with user-recorded game selection. Because each of the AI entities may have AI models that depend on the emission of those of the other AI entities. However, when recording the game the activity of each of these entities with AI is known, and therefore can be reproduced in the game slice through simplified mechanisms such as direct coding of their control variables and approximation of their activity.

Continuando a referência à Figura 6, um processador de estado de configuração de jogo 618 é proporcionado para determinar um estado inicial da fatia de jogo. Com base na operação do analisador de estado de jogo 614, do processador de ponto de interrupção de jogo 616, e do processador do estado de configuração de jogo 618, um gerenciador de conjunto de código 620 monta várias porções de código para definir o código de fatia de jogo 622. Quando o código de fatia de jogo 622 é executado, o jogo do usuário 624 proporciona informações para definir o estado de execução do código de fatia de jogo, que produz emissão de jogo dados de video e dados de retorno para apresentar a fatia de jogo para o usuário. Os dados de video podem incluir video sobreposto de fatia de pré-jogo 622, video de fatia de jogo 624 que é o video resultante do jogo da fatia de jogo, e video sobreposto de fatia pós-jogo 626.Continuing with reference to Figure 6, a game configuration state processor 618 is provided for determining an initial game slice state. Based on the operation of the game state analyzer 614, the game breakpoint processor 616, and the game configuration state processor 618, a code set manager 620 mounts several portions of code to set the code game slice 622. When game slice code 622 is executed, user game 624 provides information for defining the execution state of the game slice code, which produces game output video data and return data to display the game slice for the user. Video data may include pre-game slice overlay video 622, game slice video 624 which is the resulting game slice video, and post-game slice overlay video 626.

Deve ser apreciado que em uma configuração, o código de fatia de jogo 622 é totalmente autossuficiente, incluindo todas as porções de código que são exigidas para executar a fatia de jogo. Entretanto, em outras configurações, o código de fatia de jogo 622 pode incorporar referências ou indicadores para porções de código existentes no código de jogo principal do videogame integral. Além disso, o código de fatia de jogo 622 pode incluir referência ou utilizar implementos existentes em bibliotecas de implementos do código de jogo principal do videogame integral. Entretanto, em outras configurações, novas bibliotecas de implementos podem ser geradas para o código de fatia de jogo. A Figura 7A ilustra a modificação de um espaço virtual com propósitos de gerar uma fatia de video de um videogame, de acordo com uma configuração da invenção. O mapa 7 00 representa uma cena ou porção geográfica de um videogame. O mapa como mostrado é uma representação bidimensional que pode ser representativa de um espaço virtual tridimensional que é navegado e experimentado durante o jogo efetiva do videogame. Como mostrado, o mapa 700 ilustra uma região 702, e diversos trajetos 794, 706, 708, e 710. No jogo gravado do videogame, o personagem 712 de um usuário se move da região 702 para o trajeto 710. Com base nesse movimento gravado e em outra análise do videogame, pode ser determinado que os trajetos adicionais 704, 706 e 708 não são necessários para a geração da fatia de jogo. Os trajetos podem representar escolhas incorretas se comparados ao trajeto 710, ou podem levar a áreas que não são relevantes para a fatia de jogo, ou podem prejudicar a capacidade do jogador de uma fatia do jogo de seguir o trajeto e experimentar um jogo similar àquele do usuário original. Além disso, se as áreas às quais os trajetos 704, 706 e 708 levam não forem suportadas pela fatia de jogo, então a inclusão de tais trajetos podería causar confusão entre os jogadores, ou pelo menos ser uma experiência desinteressante para o usuário. Portanto, em um mapa modificado 720, os trajetos 704, 706 e 708 não estão disponibilizados para jogo na fatia de jogo, enquanto que o trajeto 710, e também a região 702, permanecem inalteradas. Então, quando um usuário joga a fatia de jogo que incorpora a topografia definida pelo mapa 720, ele vai experimentar um espaço virtual no qual os trajetos 704, 706 e 708 não estão disponíveis para passagem. O usuário então mais provavelmente irá passar pelo trajeto 710 como o usuário original, experimentando assim jogo similar.It should be appreciated that in one configuration, the game slice code 622 is fully self-contained, including all the code portions that are required to execute the game slice. However, in other configurations, game slice code 622 may incorporate references or pointers to code portions in the main game code of the full video game. In addition, the game slice code 622 may include reference to or use existing implements in full video game main game code implement libraries. However, in other configurations, new implement libraries may be generated for the game slice code. Figure 7A illustrates the modification of a virtual space for purposes of generating a video slice of a video game according to an embodiment of the invention. Map 700 represents a scene or geographical portion of a video game. The map as shown is a two-dimensional representation that can be representative of a three-dimensional virtual space that is navigated and experienced during the actual video game play. As shown, map 700 illustrates a region 702, and various routes 794, 706, 708, and 710. In the videogame recorded game, a user's character 712 moves from region 702 to path 710. Based on this recorded motion and in another analysis of the video game, it can be determined that additional paths 704, 706, and 708 are not required for game slice generation. Paths may represent incorrect choices compared to path 710, or may lead to areas that are not relevant to the game slice, or may impair a player's ability to follow a path and experience a game similar to that of original user. In addition, if the areas to which routes 704, 706, and 708 lead are not supported by the game slice, then the inclusion of such paths could cause confusion among players, or at least be an uninteresting user experience. Therefore, on a modified map 720, routes 704, 706, and 708 are not available for play at slice of play, while route 710, as well as region 702, remain unchanged. So when a user plays the game slice that incorporates map-defined 720 topography, they will experience a virtual space in which routes 704, 706, and 708 are not available for passage. The user will then most likely go through path 710 as the original user, thus experiencing a similar game.

Será observado que a porção de um espaço virtual definida para uma fatia de jogo ou minigame pode ser definida por fronteiras que são determinadas com base no jogo gravado do usuário. As fronteiras vão definir uma sub-região do espaço virtual maior, e incluem um subconjunto das características que estão disponíveis no espaço virtual maior. Em algumas configurações, fronteiras espaciais virtuais podem ser determinadas determinando-se locais no espaço virtual definido pelo jogo do usuário, e determinando-se a seguir fronteiras predefinidas associadas ao espaço virtual que estão mais próximas daqueles locais e organizadas de modo a abrangê-los. Por exemplo, o jogo de um usuário pode definir um trajeto atravessado por um personagem de videogame de um usuário. Esse trajeto pode ser analisado e baseado na localização do trajeto no espaço virtual, um conjunto de fronteiras predifinidas pode ser escolhido de modo a definir uma região que abrange o trajeto. Em algumas configurações, fronteiras predefinidas podem ser definidas por características específicas que definem inerentemente porções do espaço virtual, por exemplo, portas, janelas, paredes, quartos, entradas, cercas, estradas, interseções, corredores, etc. A Figura 7B ilustra a modificação de um gráfico de cena com o propósito de gerar uma fatia de jogo, de acordo com configurações da invenção. Um gráfico de cena 730 ilustra conceitualmente a organização de várias cenas A a G de um videogame. Deve ser apreciado que cenas como as descritas aqui podem ser de natureza geográfica e/ou temporal, e cada uma pode representar uma porção que pode ser jogada de um videogame, tal como um estágio, um nivel, uma seção, um local, ou qualquer outra unidade organizacional dentro do videogame de acordo com a qual um jogador possa progredir de uma cena para outra cena. No gráfico de cena 730 vários nós são mostrados representativos das cenas A a G. Como mostrado, um jogador pode progredir da cena A para a cena B, e da cena B para uma das cenas D ou E. O jogador também pode progredir da cena A para cena C, e da cena C para qualquer das cenas F ou G. O gráfico de cena 730 é ilustrativo da organização de cena do videogame integral. Entretanto, para propósitos de criar uma fatia de jogo, nem todas as cenas disponíveis podem ser exigidas para a fatia do jogo. Assim, a título de exemplo, um gráfico de cena 732 ilustra a organização das cenas para uma fatia de jogo. Como mostrado, o gráfico de cena 732 inclui as cenas A, B, C, e D, mas não as outras cenas que estavam incluídas no gráfico de cena 739 do videogame integral. Assim, um usuário pode progredir da cena A para qualquer das cenas B ou C, e da cena C para a cena F. Entretanto, as outras cenas do gráfico de cena do videogame integral 730 não estão disponíveis para jogo na fatia de jogo. Como foi descrito, sistemas de acordo com configurações da invenção podem ser configurados para limitar a inclusão de cenas quando se gera uma fatia de jogo. Dessa maneira, a fatia de jogo não inclui cenas que não são exigidas para o contexto limitado de seu jogo e propósito pretendido. A Figura 8 ilustra um método para gerar uma fatia de jogo, de acordo com uma configuração da invenção. Na operação de método 800, o jogo de um usuário de um videogame é gravado, incluindo a gravação em video do jogo dos usuários e dados de entrada e dados de estado de jogo do videogame. Na operação de método 802, uma interface de usuário é apresentada para seleção de jogo gravado para gerar uma fatia de jogo. A interface define mecanismos para receber entrada de usuário para definir pontos de partida e finais a partir do jogo gravado. Por exemplo, uma interface para verificar o video do jogo gravado pode ser proporcionada de modo a permitir ao usuário que defina pontos de partida e finais dentro do video de jogo com base na navegação ou reprodução do vídeo de jogo. Na operação de método 804, é recebida a seleção definida pelo usuário de video de jogo. Na operação de método 806, pontos de interrupção de videogame são identificados com base na seleção definida pelo usuário recebida de video de jogo. Em uma configuração, há pontos de interrupção predefinidos para o videogame. Com base na seleção definida pelo usuário de video de jogo, os pontos de interrupção do jogo que estão mais próximos dos pontos de partida e finais da seleção definida pelo usuário podem ser escolhidos como pontos de interrupção do jogo para que a fatia de jogo seja gerada. Na operação de método 808, o código de jogo é definido para a seleção de fatia como definido pelos pontos de interrupção identificados. Essa operação de método 810, o estado de configuração de jogo é definido para a seleção de fatia. Em uma configuração, o estado de configuração de jogo se baseia em um estado de jogo que existia durante o jogo gravado do usuário. Operação de método 812, o código de fatia de jogo é gerado, e na operação de método 814, o código de fatia de jogo é armazenado em uma biblioteca de fatia de jogo e associado à conta do usuário.It will be appreciated that the portion of a virtual space defined for a game slice or minigame may be defined by boundaries that are determined based on the user's recorded game. Borders will define a subregion of the larger virtual space, and include a subset of the features that are available in the larger virtual space. In some configurations, virtual spatial boundaries can be determined by determining locations in the user's game-defined virtual space, and then determining predefined boundaries associated with the virtual space that are closest to those locations and arranged to encompass them. For example, a user's game might define a path traversed by a user's video game character. This path can be analyzed and based on the path location in virtual space, a set of predefined boundaries can be chosen to define a region that covers the path. In some configurations, predefined borders can be defined by specific characteristics that inherently define portions of the virtual space, for example doors, windows, walls, rooms, entrances, fences, roads, intersections, corridors, etc. Figure 7B illustrates the modification of a scene graph for the purpose of generating a game slice according to embodiments of the invention. A scene graph 730 conceptually illustrates the arrangement of several scenes A through G of a video game. It should be appreciated that scenes such as those described herein may be geographic and / or temporal in nature, and each may represent a playable portion of a video game, such as a stage, level, section, location, or any other. another organizational unit within the video game whereby a player can progress from scene to scene. In scene graph 730 several nodes are shown representative of scenes A through G. As shown, a player can progress from scene A to scene B, and from scene B to one of scenes D or E. The player can also progress from scene A for scene C, and scene C for either scene F or G. Scene 730 is illustrative of the scene organization of the full video game. However, for the purpose of creating a game slice, not all available scenes may be required for the game slice. Thus, by way of example, a scene graphic 732 illustrates the arrangement of the scenes for a game slice. As shown, scene graph 732 includes scenes A, B, C, and D, but not the other scenes that were included in the full-game scene graph 739. Thus, a user can progress from scene A to either scene B or C, and scene C to scene F. However, the other scenes in the 730 integral video game scene scene are not available for play at the slice of play. As has been described, systems according to embodiments of the invention may be configured to limit the inclusion of scenes when generating a slice of play. Thus, the game slice does not include scenes that are not required for the limited context of your game and intended purpose. Figure 8 illustrates a method for generating a game slice according to one embodiment of the invention. In method 800 operation, a user's game of a video game is recorded, including video recording of the users' game and input data and game state data of the video game. In method operation 802, a user interface is presented for game selection recorded to generate a game slice. The interface defines mechanisms for receiving user input to define starting and ending points from the recorded game. For example, an interface for checking recorded game video may be provided to enable the user to define starting and ending points within the game video based on the navigation or playback of the game video. In method operation 804, the user-defined selection of game video is received. In method 806 operation, video game breakpoints are identified based on the user-defined selection received from game video. In one configuration, there are predefined breakpoints for the video game. Based on the user-defined selection of game video, game breakpoints that are closest to the starting and ending points of the user-defined selection can be chosen as game breakpoints so that the game slice is generated. . In method operation 808, the game code is set for slice selection as defined by the breakpoints identified. In this method 810 operation, the game configuration state is set for slice selection. In one configuration, the game configuration state is based on a game state that existed during the user's recorded game. Method operation 812, the game slice code is generated, and in method operation 814, the game slice code is stored in a game slice library and associated with the user account.

Em uma configuração, o método pode incluir a operação de método 816, em que as seleções de video de fatia de jogo são geradas com base no video e dados de jogo gravados do usuário. Seleções sugeridas do jogo dos usuários podem ser determinadas com base na análise do jogo gravado do usuário. Por exemplo, porções do jogo em que um alto nível de atividade (por exemplo, um nível de atividade que excede um limite predefinído) é detectado poderíam ser sugeridas como possíveis seleções de vídeo de fatia de jogo. Na operação de método 818, a interface de usuário mencionada para a seleção de fatia de jogo pode apresentar as seleções de vídeo de fatia de jogo sugeridas para o usuário. Em uma configuração, uma captura de tela representativa de cada seleção de vídeo de fatia de jogo sugerida pode ser apresentada ao usuário. Na operação de método 820, uma seleção pelo usuário de uma das seleções de video de fatia de jogo sugeridas é recebida. Com base na seleção do usuário, o código de fatia de jogo pode ser gerado e armazenado como foi descrito anteriormente. A Figura 9A ilustra uma interface para navegar em fatias de jogo associadas a vários títulos de jogo, de acordo com uma configuração da invenção. Na configuração ilustrada, a interface é organizada em uma série de abas, incluindo as abas 900, 902 e 904, as quais quando selecionadas proporcionam acesso a várias páginas correspondentes a diferentes títulos de jogo. Na configuração ilustrada, a aba 900 está sendo selecionada, de modo que a página apresentada fornece informações sobre fatias de jogo que foram criadas para um título de jogo específico TI. Uma lista de fatia de jogo 904 lista as várias fatias de jogo que foram criadas a partir do título de jogo Tl. Em uma configuração, a lista de fatia de jogo 904 também identifica o usuário que criou a fatia de jogo (por exemplo, mostra um nome de usuário do usuário que criou a fatia de jogo) . Em uma configuração, a lista de fatia de jogo 904 pode ser explorada ou navegada de modo a destacar fatias de jogo diferentes daquelas listadas na lista de fatia de jogo 904. Na configuração ilustrada, uma fatia de jogo A criada por um usuário A está então destacada, o que faz com que detalhes 906 sejam mostrados, os quais se relacionam à mesma fatia de jogo A. Os detalhes 906 podem incluir vários tipos de informações relacionadas à fatia de jogo A, tais como o nível ou estágio a partir do qual a fatia de jogo foi gerada, um detalhe de jogo que proporciona informações mais específicas sobre o local a partir do qual a fatia de jogo foi criada, comentários do usuário A que criou a fatia de jogo, comentários de terceiros, um número de vezes em que a fatia de jogo foi jogada, ou qualquer outro tipo de informação sobre a fatia de jogo que possa ser proporcionada quando a listagem da fatia de jogo está destacada. A Figura 9B ilustra uma página de informações de fatia de jogo, de acordo com uma configuração da invenção. A página de informações sobre fatia de jogo é para a fatia de jogo A discutida com referência à Figura 9A, e pode ser alcançada quando o usuário seleciona a lista da fatia de jogo A como mostrado na Figura 9A. Continuando a referência à Figura 9B, a página de informações sobre fatia de jogo proporciona vários tipos de entrada relacionada à fatia de jogo. Além das informações bibliográficas sobre a fatia de jogo (por exemplo, titulo, nome de usuário do usuário que criou a fatia de jogo, data de criação, etc.), pode ser mostrado um video 910 da fatia de jogo. Em uma configuração, o video 910 é o video de jogo gravado do usuário original que criou a fatia de jogo. Em outra configuração, o video 910 podería ser vídeo de jogo gravado de outros usuários, tal como um usuário que alcançou o placar mais alto na fatia de jogo, ou um usuário que jogou mais recentemente a fatia de jogo. Em uma configuração, o vídeo 910 poderia ser um feed ao vivo de um usuário que está jogando a fatia de jogo naquele momento. Em outras configurações, ao invés de um vídeo uma imagem representativa de fatia de jogo poderia ser mostrada. A página de informações sobre fatia de jogo pode incluir ainda um botão selecionável 912 para iniciar o jogo da fatia de jogo. A página de informações sobre fatia de jogo pode incluir também uma seção de detalhes 914, que pode apresentar vários detalhes e informações estatísticas sobre a fatia de jogo, tais como o número de jogadas, a velocidade de finalização em média, etc. A página de entrada sobre a fatia de jogo pode incluir também uma seção de comentários 916, apresentando comentários deixados pelos usuários. Um botão de seleção 918 pode ser proporcionado para selecionar várias opções para separar os comentários (por exemplo, ordem cronológica, ordem cronológica inversa, mais popular, por classificação, por relação com o usuário naquele momento (por exemplo, comentários de amigos do usuário em um gráfico social são priorizados), etc.). A Figura 10 ilustra uma visualização de informações da conta do usuário, incluindo visualizações ao vivo em uma rede social de jogo em nuvem, de acordo com uma configuração da invenção. Uma seção de biblioteca 1002 mostra vários títulos de jogo na biblioteca de usuário. Esses podem ser títulos de jogo que o jogador comprou ou adquiriu de alguma outra maneira. A mostra de um título de jogo pode incluir a mostra de gráficos representativos, além de informações sobre o título. Será apreciado que jogos podem ser títulos de jogos em versões integrais, mas também miniversões de versões limitadas, cada uma das quais pode ser uma porção de um título de jogo em versão integral ou ser limitada em alguma capacidade se comparada ao título de jogo em versão integral. Uma lista de amigos 1004 lista amigos do usuário naquele momento em uma rede social associada ao sistema de jogo em nuvem (isto é, outros usuários no gráfico social do usuário naquele momento). A rede social pode ser uma rede social que é especifica para o sistema de jogo em nuvem, ou pode ser uma rede social (de terceiros) que existe independente do sistema de jogo em nuvem, com o qual o sistema de jogo em nuvem se comunica para obter informações sobre o gráfico social do usuário. A lista de amigos 1004 pode incluir informações adicionais sobre os amigos do usuário, tais como a exibição de jogos que são de propriedade de cada um dos amigos, a identificação do status on-line do amigo (por exemplo, online, off-line, inativo, etc.), a última conexão do amigo e a sua duração, o último jogo jogado pelo amigo, etc.In one embodiment, the method may include method operation 816, wherein game slice video selections are generated based on video and recorded user game data. Suggested user game selections can be determined based on the user's recorded game analysis. For example, portions of the game where a high level of activity (for example, an activity level that exceeds a predefined threshold) is detected could be suggested as possible game slice video selections. In method operation 818, the user interface mentioned for the game slice selection may present the suggested game slice video selections to the user. In one configuration, a representative screenshot of each suggested game slice video selection can be presented to the user. In method operation 820, a user selection of one of the suggested game slice video selections is received. Based on user selection, game slice code can be generated and stored as previously described. Figure 9A illustrates an interface for navigating game slices associated with various game titles according to one embodiment of the invention. In the illustrated embodiment, the interface is organized into a series of tabs, including tabs 900, 902, and 904, which when selected provide access to multiple pages corresponding to different game titles. In the illustrated configuration, tab 900 is being selected, so the displayed page provides information about game slices that were created for a specific TI game title. A game slice list 904 lists the various game slices that were created from the game title T1. In one configuration, game slice list 904 also identifies the user who created the game slice (for example, shows a username of the user who created the game slice). In one configuration, the game slice list 904 may be explored or navigated to highlight game slices other than those listed in the game slice list 904. In the illustrated configuration, a game slice A created by a user A is then highlighted, which causes details 906 to be shown which relate to the same game slice A. Details 906 may include various types of information related to game slice A, such as the level or stage from which the game slice was generated, a game detail that provides more specific information about where the game slice was created, user comments A who created the game slice, third party comments, a number of times The game slice has been played, or any other information about the game slice that may be provided when the game slice listing is highlighted. Figure 9B illustrates a game slice information page according to one embodiment of the invention. The game slice information page is for game slice A discussed with reference to Figure 9A, and can be reached when the user selects the list of game slice A as shown in Figure 9A. Continuing the reference to Figure 9B, the game slice information page provides various types of game slice related input. In addition to the bibliographic information about the game slice (for example, title, username of the user who created the game slice, creation date, etc.), a video 910 of the game slice can be shown. In one embodiment, video 910 is the original game's recorded game video that created the game slice. In another embodiment, video 910 could be recorded game video from other users, such as a user who reached the highest score in the game slice, or a user who most recently played the game slice. In one configuration, video 910 could be a live feed of a user who is playing the game slice at that time. In other configurations, instead of a video a representative game slice image could be shown. The game slice information page may further include a selectable button 912 to start game of the game slice. The game slice information page may also include a detail section 914, which can display various details and statistical information about the game slice, such as number of plays, average finishing speed, etc. The game slice entry page may also include a 916 comments section, featuring comments left by users. A 918 select button may be provided to select various options for separating comments (eg chronological, reverse chronological, most popular, by rating, by user relationship at that time (for example, comments from user friends on a social graph are prioritized), etc.). Figure 10 illustrates a view of user account information, including live views on a cloud gaming social network, in accordance with one embodiment of the invention. A library section 1002 shows various game titles in the user library. These may be game titles that the player has purchased or otherwise acquired. The display of a game title may include the display of representative graphics, as well as information about the title. It will be appreciated that games may be full version game titles, but also limited version minions, each of which may be a portion of a full version game title or may be limited in some capacity compared to the full version game title. integral. A friend list 1004 lists the user's friends at that time on a social network associated with the cloud game system (that is, other users on the user's social graph at that time). The social network may be a social network that is specific to the cloud gaming system, or it may be a (third party) social network that exists independently of the cloud gaming system with which the cloud gaming system communicates. for information about the user's social graph. Friend list 1004 may include additional information about the user's friends, such as displaying games owned by each friend, identifying the friend's online status (e.g., online, offline, inactive, etc.), the friend's last connection and its duration, the friend's last game, etc.

Em uma configuração, uma seção de usuário ativa transmitida ao vivo 106 proporciona visualizações ao vivo do jogo de amigos que estão on-line naquele momento e podem estar jogando um videogame. Em uma configuração, cada usuário tem uma opção de definir se torna ou não seu jogo ao vivo disponível para ser visto ao vivo por outros usuários. Em uma configuração como essa, visualizações ao vivo são apresentadas apenas daqueles usuários que têm a opção designada para permitir que seu jogo possa ser visto ao vivo por outros usuários. Na configuração ilustrada, a seção de usuário ativo ao vivo 1006 inclui uma visualização ao vivo 1008 do jogo naquele momento de um amigo A, bem como uma visualização ao vivo do jogo naquele momento de um amigo B. Em uma configuração, o usuário naquele momento pode navegar ou percorrer os amigos da lista de amigos 1004 e/ou navegar as visualizações ao vivo que estão disponíveis na seção de usuário ativo ao vivo 1006. Em uma configuração, uma visualização ao vivo pode ser destacada guando o usuário naquele momento navega para ela, e pode ser apresentada de uma maneira distinta de outras visualizações ao vivo. Por exemplo, visualizações ao vivo podem ser exibidas em um esquema de cor não-saturada por default, mas serem exibidas em um esquema de cor completamente saturada quando destacadas ou selecionadas. Visualizações ao vivo também poderíam ser exibidas em uma resolução menor, velocidade de quadro, ou tamanho por default, mas quando selecionadas serem exibidas a uma resolução mais alta, velocidade de quadro, ou tamanho. Dessa maneira, a largura de banda pode ser alocada para uma visualização ao vivo especifica com base na seleção de usuário, para apresentar uma visualização ao vivo que o usuário está interessado era ver com maior fidelidade que outras visualizações ao vivo que podem estar ativas simultaneamente. Deve ser apreciado que a visualização ao vivo pode exibir não apenas o jogo especifico de um videogame, mas também outra atividade de uma amiga no sistema de jogo em nuvem, tal como sua navegação através de menus ou outros tipos de atividade relacionada à sua sessão de jogo em nuvem.In one configuration, a live stream live user section 106 provides live game views of friends who are currently online and may be playing a video game. In one configuration, each user has an option to set whether or not their live game is available to be viewed live by other users. In such a setting, live views are presented only to those users who have the option designed to allow their game to be viewed live by other users. In the illustrated configuration, the live active user section 1006 includes a live preview 1008 of the friend A's game at that time, as well as a live preview of the friend A's game at that time. In one configuration, the user at that time You can browse or browse friends from the 1004 friend list and / or browse the live views that are available in the live active user section 1006. In one configuration, a live view can be highlighted when the user navigates to it. , and may be presented differently from other live views. For example, live views may be displayed in an unsaturated color scheme by default, but may be displayed in a fully saturated color scheme when highlighted or selected. Live previews could also be displayed at a lower resolution, frame rate, or size by default, but when selected they would be displayed at a higher resolution, frame rate, or size. In this way, bandwidth can be allocated to a specific live view based on user selection, to present a live view that the user is interested in seeing more faithfully than other live views that may be active simultaneously. It should be appreciated that live view can display not only the specific game of a video game, but also other activity of a friend in the cloud game system, such as her browsing through menus or other types of activity related to her video session. Cloud game.

Em uma configuração, visualizações ao vivo estão disponíveis apenas para aqueles usuários que estão naquele momento engajados ativamente no jogo de um videogame. Em outras palavras, nenhuma visualização ao vivo de um determinado usuário está disponível quando aquele usuário está ou off-line, ou on-line, mas não ativamente engajado no jogo de um videogame. Assim, quando um usuário está desempenhando outra atividade que não o jogo no sistema de jogo em nuvem (por exemplo, navegar uma interface gráfica do sistema de jogo em nuvem enquanto conectado no sistema), essa atividade não é disponibilizada em um feed ao vivo para outros verem. Em outra configuração, a visualização ao vivo pode incluir toda a atividade de um usuário que está conectado no sistema de jogo em nuvem, incluindo tanto o jogo do usuário bem como outra atividade que não o jogo.In one setting, live previews are only available to those users who are currently actively engaged in a video game game. In other words, no live view of a particular user is available when that user is either offline or online, but not actively engaged in a video game game. Thus, when a user is performing activity other than gaming on the cloud gaming system (for example, navigating a cloud gaming system graphical interface while logged in), that activity is not available in a live feed for others see. In another configuration, live view may include all activity of a user who is logged into the cloud game system, including both the user's game as well as other activity than the game.

Em uma configuração, a visualização ao vivo de um determinado usuário pode ser filtrada de modo a não expor informações potencialmente delicadas ou pessoais para ser vista por outros. Por exemplo, o sistema de jogo em nuvem pode suportar uma função de bate-papo. Como alguns usuários podem desejar que seus bate-papos permaneçam particulares, pode ser proporcionada uma opção que exclui conexões ao bate-papo quando se apresenta uma visualização ao vivo. Deve ser apreciado que uma função de bate-papo pode ser implementada durante a ati\ridade de jogo bem como durante uma atividade não ligada a jogo, e pode ser filtrada a partir de visualizações ao vivo de uma ou de ambas essas circunstâncias. Em outra configuração, aspectos de um videogame podem ser filtrados de uma visualização ao vivo. Por exemplo, um usuário pode desejar manter determinadas configurações definidas pelo usuário em segredo, pois elas podem conferir uma vantagem para aquele usuário durante o jogo. Assim, uma opção pode ser proporcionada para atividade relacionada a configurações que não devem ser exibidas como porção do feed ao vivo (por exemplo, quando um usuário acessa uma interface de configurações do videogame). Em outra configuração, a visualização ao vivo pode ser configurada para evitar que se veja entrada pessoal (por exemplo, evitar que ela seja vista quando um usuário acessa uma página de informações pessoais, entre em informações sobre pagamento, entre com uma senha, etc.).In one setting, a user's live view can be filtered so as not to expose potentially sensitive or personal information for others to see. For example, the cloud game system may support a chat function. Since some users may want their chats to remain private, an option may be provided that excludes connections to chat when presenting a live view. It should be appreciated that a chat function may be implemented during game activity as well as during a non-game activity, and may be filtered from live views of one or both of these circumstances. In another configuration, aspects of a video game can be filtered from a live view. For example, a user may wish to keep certain user-defined settings secret, as they may confer an advantage on that user during gameplay. Thus, an option may be provided for activity related to settings that should not be displayed as a portion of the live feed (for example, when a user accesses a video game settings interface). In another setting, live view can be configured to prevent personal input (for example, prevent it from being viewed when a user accesses a personal information page, enters payment information, enters a password, etc.). ).

Em uma configuração, a interface proporciona uma opção para que o primeiro usuário peça para entrar na sessão de jogo de um segundo usuário que está on-line naquele momento. Por exemplo, o primeiro usuário pode ver a entrada de jogo ao vivo do segundo usuário e desejar entrar no jogo do segundo usuário. Em uma configuração, a ativação da opção envia uma solicitação para o segundo usuário notificando o segundo usuário de que o primeiro usuário deseja entrar na sessão deles. Se o secundário aceita a solicitação, então um modo de vários jogadores do videogame é iniciado, facilitando o jogo com múltiplos jogadores pelo primeiro e segundo jogadores. Em outra configuração, dois ou mais usuários secundários já podem estar engajados em um jogo com múltiplos jogadores. Em uma configuração como essa, o primeiro usuário pode enviar um pedido para entrar no jogo com múltiplos jogadores. Mediante aceitação do pedido por um dos usuários secundários (por exemplo, um hospedeiro designado da sessão de jogo), o primeiro usuário é habilitado a se juntar à sessão com múltiplos jogadores do videogame. Deve ser apreciado que a interface mencionada mostrando feeds de jogo ao vivo de usuários secundários facilita ao primeiro usuário entrar no jogo de usuários secundários após ser habilitado a ver o jogo deles.In one configuration, the interface provides an option for the first user to ask to join the gaming session of a second user who is currently online. For example, the first user can view the second user's live game entry and wish to enter the second user's game. In one configuration, enabling the option sends a request to the second user notifying the second user that the first user wants to join their session. If the secondary accepts the request, then a multiplayer video game mode is started, making it easier for first and second players to play multiplayer. In another configuration, two or more secondary users may already be engaged in a multiplayer game. In such a configuration, the first user may submit a request to enter the multiplayer game. Upon acceptance of the request by one of the secondary users (for example, a designated game session host), the first user is able to join the multiplayer session of the video game. It should be appreciated that the aforementioned interface showing live game feeds from secondary users makes it easier for the first user to join the secondary users game after being able to view their game.

Em uma configuração, a opção de pedir para entrar no jogo do segundo usuário é declarada mediante a determinação de um status de propriedade do videogame pelo primeiro usuário. Se o primeiro usuário não possui o videogame, então nenhuma opção pode ser apresentada, enquanto que se o primeiro usuário possui o mesmo videogame que o segundo usuário, então a opção de pedir para se juntar ao jogo do segundo usuário é disponibilizada como porção da interface. Em uma configuração, quando o primeiro usuário é determinado como não sendo proprietário do videogame, então o primeiro usuário pode ainda se juntar ao segundo usuário em um modo de mult icamadas, mas em uma capacidade limitada, sendo, por exemplo, limitada em termos de duração do jogo, cenas/níveis/estágios/etc. disponíveis, opções de customização, capacidades, técnicas, armas, personagens, veículos, ou qualquer outro aspecto do videogame que possa ser limitado. Em uma configuração, em seguida ao jogo da versão limitada do videogame, é proporcionada ao primeiro usuário uma opção de compra de uma porção adicional do videogame. 107 Continuando com a referência à Figura 10, as informações mostradas podem incluir também as informações sobre a história do jogo 1012 dos amigos do usuário. As informações sobre a história do jogo 1012 pode proporcionar informações sobre a história de jogo de um determinado amigo, tais como os jogos jogados mais recentemente, a duração das sessões de jogo, estatísticas relativas ao jogo, etc. 108 Será apreciado que muitos métodos e configurações para apresentar uma interface de jogo em nuvem são possíveis de acordo com várias configurações da invenção. Em uma configuração como essa, um método para exibir um status de jogo naquele momento de usuários de um sistema de jogo em nuvem é proporcionado, incluindo as seguintes operações de método: apresentar uma interface de jogo em nuvem de um primeiro usuário; determinar um ou mais usuários secundários que são amigos do primeiro usuário; determinar um status de naquele momento de cada um dos usuários secundários, o status naquele momento sendo um dentre on-line ou off-line; para pelo menos um segundo usuário on-line, apresentar um feed ao vivo de uma sessão de jogo ocorrendo naquele momento do segundo usuário na interface de jogo em nuvem do primeiro usuário, o feed ao vivo inclui proporcionar uma opção para o primeiro usuário de se juntar à sessão de jogo do segundo usuário que está acontecendo on-line; em que iniciar o modo em múltiplas camadas inclui determinar um status de propriedade primeiro usuário com relação a um videogame que define a sessão de jogo que está acontecendo do segundo usuário on-line; em que é determinado que o primeiro usuário é proprietário do videogame, então o modo de múltiplas camadas proporciona para ser jogada uma versão integral do videogame; em que quando é determinado que o primeiro usuário não é proprietário do videogame, então o modo de múltiplos jogadores proporciona condições de jogo de uma versão limitada do videogame.In one configuration, the option to request to join the second user game is declared upon the determination of a video game ownership status by the first user. If the first user does not have the video game, then no options can be presented, while if the first user has the same video game as the second user, then the option to ask to join the second user game is provided as a portion of the interface. . In a configuration, when the first user is determined to not own the video game, then the first user can still join the second user in a multilayer mode, but in a limited capacity, for example being limited in terms of game duration, scenes / levels / stages / etc. available, customization options, capabilities, techniques, weapons, characters, vehicles, or any other aspect of the video game that may be limited. In one configuration, following the game's limited version game, the first user is given an option to purchase an additional portion of the video game. Continuing with the reference to Figure 10, the information shown may also include information about the user's friends 1012 game history. Game history information 1012 can provide information about a friend's game history, such as the most recently played games, the duration of the game sessions, game statistics etc. It will be appreciated that many methods and configurations for presenting a cloud gaming interface are possible according to various embodiments of the invention. In such a configuration, a method for displaying a game status at that time for users of a cloud gaming system is provided, including the following method operations: presenting a first-user cloud gaming interface; determine one or more secondary users who are friends with the first user; determine a status of at that time for each of the secondary users, the status at that time being one of online or offline; For at least one second online user to submit a live feed of a game session occurring at that time of the second user in the first user's cloud gaming interface, the live feed includes providing an option for the first user to sign in. join the second user game session that is happening online; wherein initiating multilayer mode includes determining a first user ownership status with respect to a video game that defines the second user's online gaming session; where it is determined that the first user owns the video game, then multi-layer mode provides a full version of the video game to be played; where when it is determined that the first user does not own the video game, then multiplayer mode provides playing conditions for a limited version of the video game.

Em uma configuração, a versão limitada do videogame define uma redução, se comparada à versão integral do videogame, em um ou mais dos niveis disponíveis, cenas disponíveis, características disponíveis, limite de tempo, espaço virtual, duração da campanha, número de vidas, ou um número de repetições.In a configuration, the limited version of the video game sets a reduction, compared to the full version of the video game, by one or more of the available levels, available scenes, available features, time limit, virtual space, campaign length, number of lives, or a number of repetitions.

Em uma configuração, o método inclui ainda uma operação de método de apresentar quando o videogame não é de propriedade do primeiro usuário, uma opção para que o primeiro usuário adquira pelo menos uma porção do videogame.In one configuration, the method further includes a method operation of presenting when the video game is not owned by the first user, an option for the first user to purchase at least a portion of the video game.

Em uma configuração, o feed ao vivo do segundo usuário on-line é apresentado em uma primeira resolução; e selecionar o feed ao vivo aciona a apresentação do feed ao vivo do segundo usuário on-line em uma segunda resolução mais alta que a primeira resolução.In one configuration, the second online user's live feed is presented at a first resolution; and selecting the live feed triggers the second online user's live feed to appear at a higher resolution than the first resolution.

Em uma configuração, o feed ao vivo do segundo usuário on-line é apresentado em um modo de cor não-saturada; e a seleção do feed ao vivo aciona a apresentação do feed ao vivo do segundo usuário on-line em um modo de cor saturado.In one configuration, the second online user's live feed is presented in an unsaturated color mode; and selecting the live feed triggers the second online user's live feed presentation in a saturated color mode.

Em uma configuração, apresentar a interface de jogo em nuvem inclui apresentar uma biblioteca de títulos de jogo associados a cada um dos usuários secundários.In one configuration, presenting the cloud game interface includes presenting a library of game titles associated with each of the secondary users.

Em uma configuração, determinar um ou mais usuários secundários inclui acessar um gráfico social associado ao primeiro usuário. Em uma configuração, acessar o gráfico social inclui acessar uma API de uma rede social.In one configuration, determining one or more secondary users includes accessing a social graph associated with the first user. In one configuration, accessing the social graph includes accessing an API from a social network.

Em uma configuração, apresentar a interface de jogo em nuvem do primeiro usuário inclui apresentar uma lista de cada um dos usuários secundários em uma ordem de prioridade, a ordem de prioridade se baseando em um ou mais dentre status naquele momento, quão recente é a conexão, ou a propriedade de jogos em comum de jogos com o primeiro usuário. A Figura 11 ilustra um método para apresentar feeds de jogo ao vivo de amigos do usuário naquele momento, de acordo com uma configuração da invenção. Na operação de método 1100, um usuário naquele momento se conecta a um sistema de jogo em nuvem. Na operação de método 1102, os amigos do usuário naquele momento são identificados a partir de um gráfico social do usuário naquele momento. Conforme foi notado, o gráfico social do usuário naquele momento pode ser de uma rede social que é específica para o sistema de jogo em nuvem ou talvez de uma rede social que existe separadamente do sistema de jogo em nuvem. Na operação de método 1104, as informações da biblioteca sobre os amigos do usuário são recuperadas. As informações da biblioteca sobre os amigos do usuário podem identificar títulos de jogo nas bibliotecas dos amigos do usuário. Na operação de método 1106, os status atuais dos amigos do usuário naquele momento são identificados. Se o status naquele momento de um determinado amigo está on-line então na operação de método 1108 é determinado se o determinado amigo está naquele momento engajado em um jogo de um videogame no sistema com base em nuvem. Caso esteja, então na operação de método 1112, é obtido um feed de jogo ao vivo para aquele usuário. Na operação de método 1110, os amigos do usuário naquele momento são priorizados para exibição com base em vários fatores ou preferências. Na operação de método 1114, os amigos do usuário naquele momento e as informações sobre seus status e os feeds de histórico de jogos são apresentados em ordem de prioridade. Em uma configuração, amigos do usuário que estão on-line naquele momento podem ser priorizados em relação a amigos que estão off-line. Em uma configuração, amigos do usuário naquele momento que estão correntemente engajados em um jogo ativo podem ser priorizados em relação a amigos que não estão correntemente engajados em um jogo ativo. Em uma configuração, amigos podem ser priorizados com base em quão recentemente eles se conectaram ao sistema de jogo em nuvem. Em outra configuração, amigos podem ser priorizados com base na propriedade comum de videogames. Os exemplos apresentados de priorizaçâo de amigos são fornecidos meramente a titulo de exemplo e não a titulo de limitação. Será apreciado pelos especialistas na técnica que em outras configurações os amigos do usuário naquele momento podem ser priorizados e apresentados de acordo com a ordem de prioridade com base em qualquer outro fator relevante.In one configuration, presenting the first user's cloud gaming interface includes presenting a list of each of the secondary users in a priority order, the priority order based on one or more statuses at that time, how recent the connection is. , or joint ownership of games with first user games. Figure 11 illustrates a method for displaying live game feeds of user friends at that time, in accordance with one embodiment of the invention. In method 1100 operation, a user at that moment connects to a cloud gaming system. In method operation 1102, the user's friends at that time are identified from a user's social graph at that time. As noted, the user's social graphic at that time may be from a social network that is specific to the cloud gaming system or perhaps a social network that exists separately from the cloud gaming system. In method operation 1104, library information about the user's friends is retrieved. Library information about user friends can identify game titles in user friend libraries. In method operation 1106, the current statuses of the user's friends at that time are identified. If the status at that time of a given friend is online then in method operation 1108 it is determined whether the given friend is currently engaged in a video game play on the cloud based system. If so, then in method operation 1112, a live game feed is obtained for that user. In method operation 1110, the user's friends at that time are prioritized for display based on various factors or preferences. In method operation 1114, the user's friends at that time and their status information and game history feeds are presented in order of priority. In one setting, user friends who are currently online can be prioritized over friends who are offline. In one configuration, user friends at that time who are currently engaged in an active game can be prioritized over friends who are not currently engaged in an active game. In a configuration, friends can be prioritized based on how recently they have connected to the cloud game system. In another setting, friends can be prioritized based on common video game ownership. The examples given for prioritizing friends are provided by way of example only and not by way of limitation. It will be appreciated by those skilled in the art that in other configurations the user's friends at that time can be prioritized and presented in order of priority based on any other relevant factor.

A Figura 12 ilustra um sistema incluindo um sistema de jogo em nuvem e uma rede social, de acordo com uma configuração da invenção. Um sistema de jogo 1200 proporciona acesso a seus jogos com base em nuvem. O sistema de jogo em nuvem inclui uma biblioteca de jogos 1202 que contém vários títulos de jogos que podem ser jogados por usuários. Os dados de usuário 1204 contêm vários tipos de dados que são associados a contas de usuários, tais como os títulos de jogo que são de propriedade de um usuário, e qualquer jogo em andamento salvo pelo usuário. Na configuração ilustrada, várias sessões de jogo são mostradas conceitualmente, incluindo uma sessão A, uma sessão B, e uma sessão C. A sessão A define o jogo de um usuário A, que vê o jogo da sessão A em um mostrador A. O jogo da sessão A é apresentado como a visualização 1210 no mostrados 1208 do usuário A. De maneira similar, a sessão B define o jogo de um usuário B, que é apresentado no dispositivo 1212 do usuário B como a visualização 1214. Na configuração ilustrada, a visualização 1214 da sessão do usuário B mostra uma interface incluindo visualizações ao vivo de outros usuários, incluindo uma visualização ao vivo da sessão A e uma visualização ao vivo da sessão C. À medida que prossegue o jogo das sessões A e C, um video do jogo é transmitido das sessões A e C e pode ser transmitido em streaming pela sessão do usuário B, de modo a ser mostrado na visualização 1214 do usuário B. O video do jogo pode ser processado por streaming via sessão do usuário B, por exemplo, diminuindo-se a resolução, tamanho, velocidade de quadro, saturação de cor, etc. para conservar a largura de banda.Figure 12 illustrates a system including a cloud gaming system and a social network, in accordance with one embodiment of the invention. A 1200 gaming system provides access to your cloud based games. The cloud game system includes a 1202 game library that contains various game titles that can be played by users. User data 1204 contains various types of data that are associated with user accounts, such as game titles that are owned by a user, and any ongoing game saved by the user. In the illustrated configuration, several game sessions are conceptually shown, including session A, session B, and session C. Session A defines a user A's game, which sees session A's game on a display A. O session A game is presented as view 1210 in user A shown 1208. Similarly, session B defines user B's game, which is presented on user B device 1212 as view 1214. In the illustrated configuration, user session view 1214 shows an interface including live views from other users, including a live view of session A and a live view of session C. As the session A and C game continues, a video of the game is streamed from sessions A and C and can be streamed by user B's session to be shown in user B's view 1214. Video of the game can be streamed via User B session, for example by decreasing resolution, size, frame rate, color saturation, etc. to conserve bandwidth.

Continuando com a referência à Figura 12, uma rede social 1216 também é mostrada. A rede social 1216 inclui dados de usuário 1218, que incluem dados tais como gráficos sociais do usuário, postagens, fotos, videos, informações biográficas, etc. Apps 1220 podem ser rodados na plataforma de rede social. Uma interface gráfica de usuário (GUI) 1222 define uma interface para interagir com a rede social. Uma API 1224 facilita o acesso à rede social. Um módulo de notificação 1226 cuida da notificação de usuários da rede social de acordo com as suas preferências. Como foi notado, a visualização 1214 do usuário B inclui feeds ao vivo das sessões dos outros usuários. Em uma configuração, os amigos do usuário B foram determinados com base em um acesso à API 1224 da rede social 1216 para determinar membros do gráfico social do usuário B. Esses membros foram mencionados para os usuários do sistema de jogo em nuvem para proporcionar feeds de jogo ao vivo de amigos do usuário B, incluindo feeds das sessões A e C.Continuing with the reference to Figure 12, a social network 1216 is also shown. Social network 1216 includes user data 1218, which includes data such as user social graphs, posts, photos, videos, biographical information, etc. Apps 1220 can be run on the social networking platform. A graphical user interface (GUI) 1222 defines an interface for interacting with the social network. An API 1224 facilitates access to the social network. A notification module 1226 handles notification of social network users according to their preferences. As noted, user B's view 1214 includes live feeds from other users' sessions. In one configuration, User B's friends were determined based on an API 1224 access from social network 1216 to determine members of User B's social graph. These members were mentioned to users of the cloud gaming system to provide feeds from live game of user B's friends, including feeds from sessions A and C.

Em uma configuração, o usuário A opta por compartilhar de sua sessão A com seu gráfico social. A sessão do usuário A comunica pela API 1224 para ativar o módulo de notificação 1226 da rede social 1216 para enviar uma notificação apropriada para amigos no gráfico social do usuário A. Quando um usuário de rede social 1230 que está no gráfico social do usuário A acessa a rede social via um dispositivo 1228, eles podem ver uma mensagem ou postagem do usuário A sobre a sessão do usuário A. Caso esteja configurado para isso, um usuário pode receber notificações tais como um e-mail indicando que o usuário A compartilhou alguma coisa na rede social. Deve ser apreciado que o usuário A pode compartilhar várias atividades relacionadas a videogame, tais como progressos em um videogame, convites para jogar um videogame, comentários sobre um videogame, um convite para ver ou jogar uma fatia de jogo que o usuário A criou, um videoclipe do jogo do usuário A, etc. A Figura 13 é um gráfico ilustrando várias variáveis de estados de jogo ao longo do tempo, de acordo com configurações da invenção. Deve ser apreciado que em várias configurações pode haver muitos tipos diferentes de variáveis de estado de jogo que serão particulares para videogames específicos. Aquelas mostradas e descritas com referência à configuração ilustrada são proporcionadas meramente a titulo de exemplo e não a título de limitação. As variáveis de estado de jogo podem incluir valores que são definidos pelo videogame em execução, bem como valores que são definidos por uma entrada de usuário. Na configuração ilustrada, existem variáveis de posição mostradas indicando as posições X, Ύ e Z de um objeto em um espaço virtual de um videogame tal como um personagem ou veiculo. Variáveis de ângulo de câmera indicam a direção de uma câmera virtual ou vista virtual no videogame. Em uma configuração, o ângulo de câmera é definido por e o componente de azimute medido (por exemplo, ao longo de um plano horizontal) com relação a e referência de azimute e um componente de inclinação medido com relação a uma referência de inclinação (por exemplo, relativa à vertical). Variáveis de ação tais como as variáveis de ação ilustradas A e B indicam a iniciação e a sustentação de várias ações dentro do videogame. Deve ser apreciado que ações para um determinado videogame serão especificas para o contexto do videogame. A titulo de exemplo, ações poderíam incluir a iniciação de manobras especificas, a aplicação de técnicas, o acionamento de mecanismos de modificação que modificam uma ação existente tal como aumentar seu nível de intensidade ou frequência, etc., ou qualquer outro tipo de ação ou atividade que possa ser acionada por uma entrada do usuário durante o curso do videogame. Continuando a referência à Figura 13, uma variável de arma indica o disparo de uma arma do videogame. Uma variável de saúde indica um nível de saúde, por exemplo, de um personagem do usuário no videogame. Variáveis de botão indicam o estado de botões em um dispositivo controlador, por exemplo, se o botão está em um estado comprimido ou em um estado liberado. Variáveis relativas ao estado do joystick na configuração ilustrada indicam uma magnitude de movimento de um joystick relativo a uma posição neutra. Essas variáveis de estado de jogo que foram descritas com referência à configuração ilustrada são meramente exemplificativas, e será reconhecido pelos especialistas na técnica que muitos outros tipos de variáveis de estado de jogo podem ser acompanhados ao longo do tempo.In one configuration, user A chooses to share his session A with his social graph. User A session communicates via API 1224 to enable social network notification module 1226 to send appropriate notification to friends on user A's social graph. When a 1230 social network user who is on user A's social graph accesses social network via a 1228 device, they may see a message or post from user A about user A's session. If configured for this, a user may receive notifications such as an email indicating that user A has shared something in the social network. It should be appreciated that user A can share various video game-related activities, such as progress in a video game, invitations to play a video game, comments on a video game, an invitation to view or play a slice of game that User A created, a video clip of user A's game, etc. Figure 13 is a graph illustrating various game state variables over time, according to embodiments of the invention. It should be appreciated that in various configurations there may be many different types of game state variables that will be particular to specific video games. Those shown and described with reference to the illustrated embodiment are provided by way of example only and not by way of limitation. Game state variables can include values that are set by the running video game, as well as values that are set by a user input. In the illustrated configuration, there are position variables shown indicating the X, Ύ, and Z positions of an object in a video game virtual space such as a character or vehicle. Camera angle variables indicate the direction of a virtual camera or virtual view in the video game. In one configuration, the camera angle is defined by and the measured azimuth component (e.g. along a horizontal plane) with respect to azimuth reference and a tilt component measured with respect to a tilt reference (e.g. , relative to the vertical). Action variables such as illustrated action variables A and B indicate the initiation and sustain of various actions within the video game. It should be appreciated that actions for a given video game will be specific to the context of the video game. By way of example, actions could include initiating specific maneuvers, applying techniques, triggering modification mechanisms that modify an existing action such as increasing its level of intensity or frequency, etc., or any other type of action or activity that can be triggered by a user input during the course of the video game. Continuing the reference to Figure 13, a weapon variable indicates the firing of a weapon from the video game. A health variable indicates a health level, for example, of a user character in the video game. Button variables indicate the state of buttons in a controlling device, for example, whether the button is in a compressed state or a released state. Joystick state variables in the illustrated configuration indicate a magnitude of joystick movement relative to a neutral position. These game state variables that have been described with reference to the illustrated configuration are merely exemplary, and it will be recognized by those skilled in the art that many other types of game state variables may be tracked over time.

Com referência mais uma vez à configuração da Figura 6, em uma configuração o analisador de estado de jogo 614 pode ser configurado para analisar as variáveis de estado de jogo de um jogo gravado pelo usuário. Com base na análise do jogo gravado pelo usuário, várias regiões de interesse do jogo gravado pelo usuário podem ser definidas e apresentadas para o usuário como possíveis seleções a partir das quais gerar uma fatia de jogo. Por exemplo, uma região de jogo caracterizada por altos niveis de atividade para determinadas variáveis de estado de jogo poderíam definir uma seleção do jogo gravado pelo usuário. Deve ser apreciado que o nível de atividade para uma determinada variável de estado de jogo pode se basear em vários fatores tais como nivel de intensidade, frequência de ativação, duração de sustentação, etc. Em algumas configurações, a análise das variáveis de estado de jogo pode acarretar na busca de regiões de jogo em que os níveis de atividade de duas ou mais variáveis de estado de jogo diferentes estão relacionadas em uma maneira predefinida, por exemplo, as duas ou mais variáveis têm altos níveis de atividade simultaneamente. Um alto nível de atividade pode ser determinado com base em um limite predefinido.Referring once again to the configuration of Figure 6, in one configuration the game state analyzer 614 may be configured to analyze the game state variables of a user-recorded game. Based on user-recorded game analysis, various regions of interest from the user-recorded game can be defined and presented to the user as possible selections from which to generate a game slice. For example, a game region characterized by high activity levels for certain game state variables could define a user-recorded game selection. It should be appreciated that the activity level for a given game state variable may be based on various factors such as intensity level, activation frequency, hold duration, etc. In some configurations, analysis of game state variables may result in the search for game regions where the activity levels of two or more different game state variables are related in a predefined manner, for example, the two or more. variables have high levels of activity simultaneously. A high level of activity can be determined based on a predefined threshold.

Em várias configurações, uma região de interesse do jogo gravado pelo usuário pode ser automaticamente determinada com base na detecção de limite de uma ou mais dentre as seguintes: uma ou mais entradas de usuário, velocidade de entrada de usuário, frequência de entrada, repetição de tipos de entradas, ocorrências de padrões de entradas, entradas em combinação (por exemplo, teclas combinadas), vetores de movimento, pressão exercida em um controlador, excitação de um usuário (por exemplo, detectada com base em dados capturados de imagem ou áudio do usuário) . A Figura 14A ilustra um método de gerar uma fatia de jogo para um videogame do tipo linear, de acordo com uma configuração da invenção. Falando de maneira geral, um videogame linear é um no qual a progressão do jogador através do videogame segue um curso linear, em que para progredir no videogame o jogador tem que primeiro completar um objetivo antes de progredir para um objetivo seguinte. Assim, todos os jogadores têm que completar os mesmos objetivos na mesma ordem para progredir no videogame. Os objetivos em um videogame linear podem estar presos a locais geográficos e temporais dentro do contexto de uma linha de história espaço-temporal do videogame. Na operação de método 1400, uma cena de um videogame é identificada. A cena pode ser de natureza tanto espacial quanto temporal, e ter vários objetivos definidos dentro da mesma. Na operação de método 1402, uma extensão espacial ou temporal da cena é definida. A duração da cena pode ser definida de acordo com a entrada do usuário, e também pode ser definida com base em objetivos que estão ligados à cena. Na operação de método 1404, são definidas as propriedades iniciais de itens, personagens, ou quaisquer outros objetos dentro da cena aos quais as propriedades podem ser atribuídas. Na operação de método 1406, uma fatia de jogo é gerada para a duração identificada da cena tendo as propriedades iniciais como definido anteriormente. A Figura 14B ilustra um método de gerar uma fatia de jogo para um videogame do tipo mundo aberto, de acordo com uma configuração da invenção. Um videogame do tipo mundo aberto pode ser caracterizado como um em que o usuário tem a liberdade de buscar um número qualquer de objetivos em uma ordem de sua própria escolha. Videogames do tipo mundo aberto tipicamente também permitem ao usuário navegar um ou mais espaços virtuais à sua vontade. A fim de progredir para diferentes níveis do videogame ou para o videogame completo, pode ser exigido que se complete um determinado conjunto de objetivos, entretanto, usuários podem ser livres para completar esses objetivos em ordens diferentes. Na operação de método 1410, é identificado um local dentro de um mundo virtual do videogame. Na operação de método 1412, é identificada uma porção limitada do mundo virtual do videogame. A porção limitada do mundo virtual pode ser definida com base em entrada do usuário definindo uma seleção de jogo gravada como foi descrito aqui. Por exemplo, um jogo de um usuário em um videogame de mundo aberto pode abranger uma grande variedade de locais durante o curso do jogo. Entretanto, com o propósito de gerar uma fatia de jogo, o usuário pode selecionar uma porção de jogo que ocorre dentro de uma região geográfica limitada do mundo virtual do videogame. Essa região geográfica limitada pode ser determinada com base na análise da porção selecionada de usuário de seu jogo gravado, por exemplo, rastreando um local de um personagem controlado pelo usuário dentro do mundo virtual e definindo limites que incluem todos os locais nos quais se constatou a existência do personagem. Na operação de método 1414, são definidas as propriedades iniciais de vários objetos, personagens, itens, veículos, ou outros objetos encontrados dentro da região geográfica limitada previamente determinada a partir da seleção de jogos gravada pelo usuário. Na operação de método 1416, a fatia de jogo é gerada com base na região geográfica limitada do mundo aberto e as propriedades previamente definidas. A Figura 14C ilustra um método para gerar uma fatia de jogo para um videogame de esportes, de acordo com uma configuração da invenção. A fatia de jogo pode ser gerada com base em uma seleção definida pelo usuário de jogos gravados pelo usuário. Na operação de método 1420, uma configuração é identificada com base na seleção de jogos gravados pelo usuário. A título de exemplo, a configuração pode definir um local de um evento esportivo, tal como uma quadra, estádio, pista, ou qualquer outra configuração de local na qual possa ocorrer um evento esportivo do videogame. Ma operação de método 1422, é definido um período de tempo com base na seleção de jogos gravados pelo usuário. O período de tempo do videogame esportivo pode determinar determinados aspectos da fatia de videogame, tais como a inclusão de regras ou atividades especiais que ocorrem em determinados períodos de tempo durante um esporte. Na operação de método 1424, os jogadores da fatia de jogo são determinados com base nos jogadores incluídos na seleção de jogos gravados pelo usuário. Os jogadores podem incluir um ou mais personagens que foram definidos pelo usuário, bem como personagens com inteligência artificial (AI), que foram controlados pela lógica de controle do personagem com AI do videogame em execução no momento do jogo. Como foi descrito em outro lugar aqui, as ações dos personagens com AI podem ser semelhantes em alguns casos. Enquanto que em outras configurações, a lógica de controle do personagem com AI é definida para a fatia de jogo com os parâmetros como eles foram definidos na seleção de jogos gravados pelo usuário. Na operação de método 1426, são definidos atributos de cena para a configuração de local da fatia de videogame de esporte. Por exemplo, esses podem incluir atributos tais como condições do tempo, da pista ou da quadra, e outros atributos da configuração de esporte. Na operação de método 1428, a fatia de jogo para o videogame é gerada com base nos parâmetros mencionados anteriormente. A Figura 15 ilustra conceitualmente a formação de um jogo em fatias com múltiplos jogos, de acordo com uma configuração da invenção. Um videogame pode ser organizado em vários níveis ou estágios. Na configuração ilustrada, é mostrado um jogo de usuário em vários níveis de um videogame. Especificamente, uma linha do tempo do jogo 1500 representa o jogo do usuário a partir de um primeiro nível do videogame, enquanto que uma linha do tempo do jogo 1502 e uma linha do tempo do jogo 1506 representam o jogo do usuário a partir do segundo e terceiro níveis, respectivamente, do videogame. De acordo com uma configuração da invenção, um usuário pode concatenar múltiplas fatias de jogo do videogame para formar um minigame de fatia de um jogo múltiplo maior. Na configuração ilustrada, uma seleção 1502 da linha do tempo do jogo 1500 é utilizada para definir uma primeira fatia de jogo 1514. Uma seleção 1504 de dois da linha do tempo do jogo do usuário 15 é utilizada para definir uma segunda fatia de jogo 1818. E uma seleção 1508 da linha do tempo do jogo do usuário 1506 é utilizada para definir uma terceira fatia de time 1522. A primeira, segunda e terceira fatias de jogo estão dispostas em ordem de sequência para definir o minigame 1510. Ao fazer assim, o minigame 1510 inclui fatias de jogo de cada um dentre o primeiro, segundo e terceiro níveis do videogame. Dessa maneira, um usuário que joga o minigame 1510 é capaz de experimentar porções limitadas de múltiplos níveis do videogame ao jogar o minigame 1510. Isso pode ser útil em proporcionar uma exibição prévia ou demonstração mais estimulante de um videogame que os videogames convencionais em que usuário só pode jogar uma porção de um nível ou estágio do videogame. A experiência é análoga àquela de uma exibição prévia de um filme, que tipicamente proporciona clipes de porções diferentes do mesmo filme, e não apenas um único clipe. De acordo com configurações da invenção, os usuários podem usufruir de demonstrações do jogo em múltiplas porções, o que proporciona uma noção melhor do escopo do videogame integral, e que pode incluir o jogo de maneira contínua de uma porção para a próxima.In various configurations, a user-recorded game region of interest can be automatically determined based on the limit detection of one or more of the following: one or more user inputs, user input speed, input frequency, video repeat types of inputs, occurrences of input patterns, inputs in combination (for example, combined keys), motion vectors, pressure exerted on a controller, excitation of a user (for example, detected based on captured image or audio data from the user). Figure 14A illustrates a method of generating a game slice for a linear type video game according to an embodiment of the invention. Generally speaking, a linear video game is one in which the progression of the player through the video game follows a linear course, in which to progress in the video game the player must first complete a goal before progressing to a next goal. Thus, all players must complete the same objectives in the same order to progress in the video game. Objectives in a linear video game may be tied to geographic and temporal locations within the context of a video game's spatiotemporal history line. In method operation 1400, a scene from a video game is identified. The scene may be both spatial and temporal in nature, and may have several objectives defined within it. In method operation 1402, a spatial or temporal extent of the scene is defined. Scene length can be set according to user input, and can also be set based on objectives that are linked to the scene. In method operation 1404, the initial properties of items, characters, or any other objects within the scene to which properties can be assigned are defined. In method operation 1406, a game slice is generated for the identified duration of the scene having initial properties as defined above. Figure 14B illustrates a method of generating a game slice for an open world video game according to one embodiment of the invention. An open world video game can be characterized as one where the user is free to pursue any number of goals in an order of their own choosing. Open-world video games typically also allow the user to navigate one or more virtual spaces at their leisure. In order to progress to different levels of the game or the full game, it may be required to complete a certain set of objectives, however users may be free to complete these objectives in different orders. In method operation 1410, a location within a virtual world of the video game is identified. In method operation 1412, a limited portion of the virtual world of the video game is identified. The limited portion of the virtual world can be defined based on user input by defining a saved game selection as described here. For example, a user's game in an open-world video game can span a wide range of locations during the course of the game. However, for the purpose of generating a game slice, the user can select a portion of the game that takes place within a limited geographic region of the video game's virtual world. This limited geographic region can be determined based on analysis of the user-selected portion of your recorded game, for example, by tracking a location of a user-controlled character within the virtual world and setting boundaries that include all locations in which it is found. existence of the character. In method operation 1414, the initial properties of various objects, characters, items, vehicles, or other objects found within the limited geographic region predetermined from the user-recorded game selection are defined. In method operation 1416, the game slice is generated based on the limited geographic region of the open world and the previously defined properties. Figure 14C illustrates a method for generating a game slice for a sports video game according to one embodiment of the invention. The game slice can be generated based on a user-defined selection of user-recorded games. In method operation 1420, a setting is identified based on the selection of user-recorded games. By way of example, the setting may define a venue for a sporting event, such as a court, stadium, track, or any other venue setting where a video game sporting event may occur. In method operation 1422, a time period is defined based on the selection of user-recorded games. The sports video game time period can determine certain aspects of the video game slice, such as the inclusion of rules or special activities that occur at certain time periods during a sport. In method operation 1424, the players of the game slice are determined based on the players included in the user-recorded game selection. Players can include one or more user-defined characters, as well as AI characters, which were controlled by the AI game character control logic running at the time of the game. As described elsewhere here, the actions of AI characters may be similar in some cases. While in other settings, the AI character control logic is set to the game slice with parameters as they were set in the selection of user-recorded games. In method operation 1426, scene attributes are set for the location setting of the sports video game slice. For example, these may include attributes such as weather, track or court conditions, and other attributes of the sport setting. In method operation 1428, the game slice for the video game is generated based on the parameters mentioned above. Figure 15 conceptually illustrates the formation of a multiplayer sliced game according to one embodiment of the invention. A video game can be organized at various levels or stages. In the illustrated configuration, a multi-level user game of a video game is shown. Specifically, a 1500 game timeline represents the user's game from a first level of the video game, while a 1502 game timeline and a 1506 game timeline represent the user's game from the second and third levels, respectively, of the video game. According to one embodiment of the invention, a user can concatenate multiple game game slices to form a larger multi-game slice minigame. In the illustrated embodiment, a selection 1502 of the game timeline 1500 is used to define a first game slice 1514. A selection 1504 of two of the user game timeline 15 is used to define a second game slice 1818. And a selection 1508 from user game timeline 1506 is used to define a third time slice 1522. The first, second and third game slices are arranged in sequence order to define the 1510 minigame. 1510 minigame includes game slices from each of the first, second, and third levels of the video game. In this way, a user who plays the 1510 minigame is able to experience limited multi-level portions of the video game while playing the 1510 minigame. This can be helpful in providing a more stimulating preview or demonstration of a video game than conventional video games in which user You can only play a portion of a game level or stage. The experience is analogous to that of a preview of a movie, which typically provides clips from different portions of the same movie, not just a single clip. In accordance with embodiments of the invention, users can enjoy multi-part demo of the game, which provides a better sense of the scope of the full video game, and which can continuously include the game from one portion to the next.

Em uma configuração, um usuário pode inserir material adicional, tal como um vídeo, mensagem, imagens, ou qualquer outro tipo de informações definidas pelo asuário, antes ou depois de uma fatia do jogo. Na oonfiguração ilustrada, uma introdução 1512 é proporcionada para apresentar um jogador no minigame 1510 e também talvez apresentar o jogador para a primeira fatia de jogo 1514. Além disso, uma mensagem 1516 é inserida entre a primeira fatia de jogo 1514 e a segunda fatia de jogo 1518 e a terceira fatia de jogo 1522. Em uma configuração, o material inserido pode incluir video de jogo gravado do jogo do usuário original a partir do qual foi gerada a fatia de jogo. Se o jogo gravado é mostrado antes de se jogar a fatia de jogo, o jogador que inicia a fatia de jogo pode entender melhor a fatia de jogo e seus objetivos antes de iniciar o jogo, enquanto que se for mostrado após a fatia de jogo ter sido jogada, o jogador pode entender como seu jogo da fatia de jogo se compara àquela do usuário original. A Figura 16 ilustra conceitualmente a geração de um minigame em fatias com múltiplos jogos, de acordo com uma configuração da invenção. Na configuração ilustrada, uma linha do tempo do jogo gravado do usuário 1600 para um jogo A é mostrada, juntamente com a linha do tempo do jogo gravado do usuário 1604 para um jogo B, e a linha do tempo do jogo gravado do usuário 1608 para um jogo C. Em uma configuração, o usuário pode gerar um minigame em fatias com múltiplos jogos com base em fatias de jogo de diferentes videogames. Na configuração ilustrada, uma seleção 1602 do jogo gravado pelo usuário 1600 é utilizada para definir uma fatia de jogos 1616, enquanto que uma seleção 1606 do jogo gravado pelo usuário 1604 é utilizada para definir uma fatia de jogo 1620, e uma seleção 1610 do jogo gravado pelos usuários 1608 é utilizada para definir uma fatia de jogo 1624. As fatias de jogo 1616, 1620 e 624 estão organizadas em sequência para definir o minigame 1612. Opcionalmente, material adicional pode ser inserido antes ou depois de uma fatia de jogo. Na configuração ilustrada, uma introdução 1614 é inserida antes da fatia de jogo 1616, enquanto que um intervalo 1618 é definido entre a fatia de jogo 1616 e a fatia de jogo 1620, e outro intervalo 1622 é definido entre a fatia de jogo 1620 e a fatia de jogo 1624.In a configuration, a user can insert additional material, such as a video, message, images, or any other type of information set by the user, before or after a slice of the game. In the illustrated embodiment, an introduction 1512 is provided for presenting a player in minigame 1510 and also perhaps presenting the player for the first game slice 1514. In addition, a message 1516 is inserted between the first game slice 1514 and the second slice of game 1514. 1518 and the third game slice 1522. In one embodiment, the inserted material may include recorded game video of the original user game from which the game slice was generated. If the recorded game is shown before playing the game slice, the player who starts the game slice can better understand the game slice and its objectives before starting the game, while it is shown after the game slice has been played, the player can understand how their game of the game compares to that of the original user. Figure 16 conceptually illustrates the generation of a multiplayer sliced minigame according to one embodiment of the invention. In the illustrated configuration, a user 1600 recorded game timeline for a game A is shown, along with the user 1604 recorded game timeline for a game B, and the user 1608 recorded game timeline for a a C game. In one configuration, the user can generate a sliced minigame with multiple games based on game slices from different video games. In the illustrated embodiment, a 1602 user-recorded game selection 1600 is used to define a 1616 game slice, while a 1606 user-recorded game selection 1602 is used to define a 1620 game slice, and a 1610 game selection written by users 1608 is used to define a 1624 game slice. Game slices 1616, 1620, and 624 are arranged in sequence to define the 1612 minigame. Optionally, additional material can be inserted before or after a game slice. In the illustrated embodiment, an introduction 1614 is inserted before game slice 1616, while an interval 1618 is defined between game slice 1616 and game slice 1620, and another interval 1622 is defined between game slice 1620 and 1624 game slice.

Na configuração ilustrada, será apreciado que as fatias de jogo são tiradas de diferentes videogames. Isso permite ao usuário uma grande flexibilidade para misturar em conjunto fatias de jogo que vêm de diferentes títulos e gêneros de jogo, e mesmo de gerações de plataforma de console. Meramente a título de exemplo, um usuário pode criar um minigame tendo fatias de jogo de cada um dos diversos títulos de jogo em uma só série de videogame.In the illustrated embodiment, it will be appreciated that game slices are taken from different video games. This allows the user great flexibility to jointly mix game slices that come from different game titles and genres, and even from console platform generations. By way of example only, a user can create a minigame by having game slices of each of several game titles in a single video game series.

Dessa maneira, um jogador do videogame pode experimentar e apreciar a evolução da série do videogame em uma experiência de jogo contínua.In this way, a video game player can experience and enjoy the evolution of the video game series in a seamless gaming experience.

Configurações da invenção foram descritas de maneira genérica com referência a sistemas de jogo em nuvem. Entretanto, deve ser apreciado por aqueles especializados na técnica que conceitos e princípios similares como os que foram descritos aqui podem ser aplicados a sistemas de videogame com base em console tradicionais, possivelmente em conjunto com os sistemas de jogo com base em nuvem. Por exemplo, um usuário pode jogar um videogame com base em console e ter os dados de entrada do jogo do usuário e os metadados mantidos do jogo gravados durante o jogo. Com base nos dados de entrada do jogo do usuário e nos metadados do estado do jogo, a emissão efetiva do videogame pode ser regenerada posteriormente. Portanto, os dados de entrada gravados e os metadados do estado do jogo podem ser utilizados em conjunto com o código do videogame para proporcionar uma interface para seleção de uma porção do jogo do usuário a partir da qual gerar um minigame, como foi descrito. O código do minigame pode ser gerado no console e enviado para um sistema por solicitação e disponibilizado para ser baixado por outros usuários. Em outra configuração, o código do minigame é gerado pelo sistema por solicitação após recebimento da porção selecionada dos dados de entrada do jogo dos usuários e metadados do estado de jogo. 0 sistema por solicitação processa a porção selecionada dos dados de entrada do jogo dos usuários e os metadados do estado de jogo para gerar o código do minigame com base no código de videogame armazenado no sistema por solicitação. Uma vez gerado, o minigame pode ser disponibilizado para jogo com base em nuvem em que a execução do minigame ocorre no sistema com base em nuvem, mas também pode ser disponibilizado para ser baixado para sistemas com base em console tradicionais para execução no console para facilitar o jogo do minigame com base em console. Dessa maneira, minigames podem ser criados e jogados tanto por usuários dos sistemas de jogo em video com base em console quanto por usuários dos sistemas de jogo em video com base em nuvem.Embodiments of the invention have been described generally with reference to cloud gaming systems. However, it should be appreciated by those skilled in the art that similar concepts and principles as those described herein can be applied to traditional console-based video game systems, possibly in conjunction with cloud-based gaming systems. For example, a user can play a console-based video game and have the user's game input data and kept game metadata recorded during the game. Based on the user's game input data and game state metadata, the actual video game output can be regenerated later. Therefore, recorded input data and game state metadata can be used in conjunction with the video game code to provide an interface for selecting a portion of the user's game from which to generate a minigame, as described. Minigame code can be generated on the console and sent to a system upon request and made available for download by other users. In another configuration, the minigame code is generated by the system upon request upon receipt of the selected portion of users' game input data and game state metadata. The on-demand system processes the selected portion of users' game input data and game state metadata to generate the minigame code based on the video game code stored on the system on request. Once generated, the minigame can be made available for cloud-based gaming where the execution of the minigame occurs on the cloud-based system, but can also be made available to download to traditional console-based systems for console execution to make it easier. the console-based minigame game. In this way, minigames can be created and played by both users of console-based video game systems and users of cloud-based video game systems.

Configurações da invenção foram descritas de maneira genérica com referência a minigames ou porções de videogames definidas por usuário que podem ser jogadas. Entretanto, será observado por aqueles especializados na técnica que muitos dos princípios elucidados aqui também se aplicam prontamente à geração e compartilhamento de jogo gravado, incluindo o compartilhamento de video de jogo gravado, capturas de tela, e streaming ao vivo de jogo ativo. Em algumas configurações, proporcionar acesso a um minigame (por exemplo, em resposta à recepção de uma notificação) pode incluir uma apresentação de video gravado do jogo do usuário original que formou a base para o minigame. Em mais outras configurações, métodos, sistemas, e interfaces são considerados para facilitar o compartilhamento do jogo do usuário no gráfico social do usuário.Embodiments of the invention have been described generally with reference to user-defined minigames or portions of playable video games. However, it will be appreciated by those skilled in the art that many of the principles elucidated herein also readily apply to recorded game generation and sharing, including recorded game video sharing, screen captures, and live streaming of live game play. In some configurations, providing access to a minigame (for example, in response to receiving a notification) may include a recorded video presentation of the original user game that formed the basis for the minigame. In other settings, methods, systems, and interfaces are considered to facilitate sharing of the user's game on the user's social graph.

Em uma configuração, um método para armazenar jogo é considerado. O jogo pode ser executado pelo sistema de operação de um console de jogo em resposta a uma solicitação de usuário, que pode vir na forma de uma operação de arquivo padrão com relação a um conjunto de dados associados ao jogo desejado. O pedido pode ser transmitido de um aplicativo associado a um jogo. O jogo pode compreender, por exemplo, conteúdo em video, conteúdo em áudio e/ou conteúdo visual estático, incluindo papel de parede, temas, conteúdo de código "add-on", ou qualquer outro tipo de conteúdo associado a um jogo. É observado que esse conteúdo pode ser gerado por usuário ou desenvolvedor, gratuito ou pago, integral ou para experiência, e/ou para venda ou aluguel.In one configuration, a method for storing game is considered. The game may be run by the operating system of a game console in response to a user request, which may come in the form of a standard file operation against a data set associated with the desired game. The request can be transmitted from an application associated with a game. The game may comprise, for example, video content, audio content and / or static visual content, including wallpaper, themes, add-on code content, or any other content associated with a game. Please note that such content may be user or developer generated, free or paid, full or for experience, and / or for sale or rent.

Uma porção do jogo pode ser retida, isto é, armazenada temporariamente. Por exemplo, os 15 segundos anteriores, o nível anteriormente completado para a ação anterior dentro do jogo podem ser armazenados temporariamente, como descrito adiante aqui. O termo "porção" descrito aqui pode corresponder a qualquer parte do jogo que seja divisível em quaisquer grupos relacionados ou arbitrários de bits avulsos ou múltiplos ou bytes de dados. Por exemplo, "porções" de jogo podem corresponder a níveis, capítulos, cenas, atos, personagens, históricos, texturas, cursos, ações, canções, temas, durações, tamanhos, arquivos, partes do mesmo, e combinações do mesmo. Além disso, porções do jogo podem compreender capturas de dela ou durações prescritas de captura de vídeo.A portion of the game may be retained, that is, temporarily stored. For example, the previous 15 seconds, the level previously completed for the previous action within the game may be stored temporarily, as described hereinafter. The term "portion" described herein may refer to any part of the game that is divisible into any related or arbitrary groups of single or multiple bits or bytes of data. For example, game "portions" may correspond to levels, chapters, scenes, acts, characters, histories, textures, courses, actions, songs, themes, durations, sizes, files, parts of the same, and combinations of the same. In addition, portions of the game may include game captures or prescribed video capture durations.

Em uma configuração, porções do jogo podem ser armazenadas localmente no console de jogo em armazenamento temporário ou permanente. Alternativamente, ou adicionalmente, porções do jogo podem ser transmitidas por uma rede armazenada remotamente. Por exemplo, porções do jogo podem ser transmitidas por uma rede com ou sem fio para outro dispositivo de computação, para outro console de jogo, ou para um servidor remoto. Esses servidores remotos podem incluir servidores de mídia social.In one configuration, portions of the game may be stored locally on the game console in temporary or permanent storage. Alternatively, or additionally, portions of the game may be transmitted over a remotely stored network. For example, portions of the game may be transmitted over a wired or wireless network to another computing device, another game console, or a remote server. These remote servers may include social media servers.

Opcionalmente, porções do jogo não recuperadas do armazenador ou porções do jogo fora de um intervalo para jogo em particular (por exemplo, uma duração, nível, capítulo, curso, etc. em particular) podem ser removidas do armazenador. Esse processo de remoção pode ser completado utilizando-se operações de arquivo padrão no sistema de operação.Optionally, unrecovered portions of the game or portions of the game outside a particular game interval (for example, a particular duration, level, chapter, course, etc.) may be removed from the store. This removal process can be completed by using standard file operations on the operating system.

As porções do jogo podem ser exibidas em qualquer um dentre um número de dispositivos mostradores que tenham acesso ao jogo armazenado. Por exemplo, o jogo armazenado pode ser exibido em um aparelho de televisão conectado ao console de jogo a partir do qual o jogo foi capturado. Em outro exemplo, o jogo armazenado pode ser exibido em um computador para o qual o jogo armazenado foi transmitido. O jogo armazenado pode ser exibido sozinho ou em conjunto com outras informações, tais como em ura site da rede de mídia social.Portions of the game may be displayed on any of a number of display devices that have access to the stored game. For example, the stored game can be viewed on a television set connected to the game console from which the game was captured. In another example, the stored game may be displayed on a computer to which the stored game was transmitted. The stored game may be displayed alone or in conjunction with other information, such as on a social media network site.

Em uma configuração, porções do jogo são exibidas por outro console de jogo associado ao usuário que não seja o usuário que armazenou ou capturou o jogo. De acordo com essa configuração, as porções do jogo podem mostrar uma bola sendo arremessada de um primeiro usuário para um segundo usuário, do ponto de vista do primeiro usuário. As porções de jogo podem então ser transmitidas para o console de jogo do segundo usuário. Assim, o segundo usuário pode ver o jogo do ponto de vista do primeiro usuário. O segundo usuário também pode ter porções de jogo armazenadas mostrando a bola sendo arremessada pelo primeiro usuário e agarrada por um segundo usuário, do ponto de vista do segundo usuário. Nessa configuração o segundo usuário pode rever o jogo tanto do ponto de vista do primeiro usuário quanto do ponto de vista do segundo usuário. Mais ainda, as porções do jogo armazenadas pelo segundo usuário podem ser transmitidas para o console de jogo do primeiro usuário, de modo que o primeiro usuário pode rever o jogo de dois pontos de vista. Essa configuração pode se aplicar a qualquer número de usuários tendo um número qualquer de pontos de vistas, de modo que o jogo pode ser verificado de um número qualquer de diferentes perspectivas.In one configuration, portions of the game are displayed by a game console associated with the user other than the user who stored or captured the game. According to this configuration, portions of the game may show a ball being thrown from a first user to a second user, from the first user's point of view. The game portions may then be transmitted to the second user's game console. Thus, the second user can view the game from the first user's point of view. The second user may also have game portions stored showing the ball being thrown by the first user and grasped by a second user, from the second user's point of view. In this configuration the second user can review the game from both the first user's point of view and the second user's point of view. Moreover, portions of the game stored by the second user may be transmitted to the first user's game console, so that the first user can review the game from two points of view. This setting can apply to any number of users having any number of views, so the game can be checked from any number of different perspectives.

Com respeito ao armazenamento, transmissão e/ou exibição das porções do jogo como descrito aqui, é considerado que porções do jogo podem ser armazenadas, transmitidas e exibidas como dados de imagem ou de video. Em outra configuração, entretanto, porções do jogo podem ser armazenadas e transmitidas como telemetria ou metadados representativos dos dados de imagem ou video, e podem ser recriadas como imagens ou video por um console de jogo ou outro dispositivo antes da exibição.With respect to the storage, transmission and / or display of portions of the game as described herein, it is contemplated that portions of the game may be stored, transmitted and displayed as image or video data. In another configuration, however, portions of the game may be stored and transmitted as telemetry or metadata representative of the image or video data, and may be recreated as images or video by a game console or other device prior to display.

Em algumas configurações, a porção do jogo tem uma relação predeterminada com o jogo executado. Por exemplo, a porção do jogo pode corresponder a um determinado total de jogo antes do jogo que está em execução no momento, como, por exemplo, os 10 segundos anteriores de jogo. Em outra configuração, uma primeira porção do jogo tem uma relação predeterminada com uma segunda porção do jogo. Por exemplo, a primeira porção do jogo pode corresponder a um determinado total de jogo antes de receber um pedido para capturar uma segunda porção de jogo, tal como os dez segundos de jogo anteriores à seleção de um botão de captura. Em cada uma dessas configurações, o total de jogo armazenado antes do jogo que está em andamento ou o jogo solicitado podem ser configurados e ajustados pelo usuário de acordo com suas preferências particulares.In some configurations, the game portion has a predetermined relationship to the game played. For example, the portion of the game may correspond to a certain pre-game total of the game that is currently running, such as the previous 10 seconds of play. In another embodiment, a first portion of the game has a predetermined relationship to a second portion of the game. For example, the first game portion may correspond to a certain game total before receiving a request to capture a second game portion, such as the ten game seconds prior to selecting a capture button. In each of these settings, the pre-game total stored or the requested game stored can be set and adjusted by the user according to their particular preferences.

Nas configurações, o armazenador é "inteligente" ou "elástico", de modo que ele captura jogo de acordo com variáveis sem relação com o tempo. Em uma configuração como essa, a primeira porção do jogo tem uma relação predeterminada com um evento relacionado ao jogo. Por exemplo, a primeira porção do jogo pode ser armazenada para incluir um desvio estatístico, tal como um placar alto que foi atingido, a obtenção de um grande número de pontos em um curto intervalo de tempo, as múltiplas seleções de botões em um controlador, e outros eventos raros. Esses desvios estatísticos podem ser determinados comparando-se os parâmetros do jogo com os parâmetros médios para um jogo ou cena específicos ou para todos os jogos de maneira geral. Esses parâmetros médios podem ser armazenados localmente ou remotamente para comparação. Por exemplo, o console de jogo pode rastrear placares altos globais para um jogo em particular, e armazenar jogo em que um usuário se aproxima e ultrapassa esse placar alto. Em outro exemplo, um servidor remoto pode rastrear placares altos globais para um jogo em particular, e pode comunicar essa informação para o console de jogo, que armazena jogo no qual o usuário se aproxima e ultrapassa esse placar alto.In the settings, the store is either "smart" or "elastic" so that it captures play according to unrelated variables. In such a configuration, the first portion of the game has a predetermined relationship to a game-related event. For example, the first portion of the game can be stored to include a statistical deviation, such as a high score that has been hit, obtaining a large number of points in a short time, multiple button selections on a controller, and other rare events. These statistical deviations can be determined by comparing game parameters with the average parameters for a specific game or scene or for all games in general. These average parameters can be stored locally or remotely for comparison. For example, the game console can track global high scores for a particular game, and store game where a user approaches and exceeds that high score. In another example, a remote server may track global high scores for a particular game, and may communicate this information to the game console, which stores the game in which the user approaches and surpasses that high score.

Em outra configuração, a porção do jogo pode ser armazenada para incluir uma realização, tal como um troféu que se conseguiu ou outro marco que foi alcançado. Esses troféus ou marcos servem de memória para qualquer realização de meta ou em jogo, tal como um determinado número de pontos que se atinge, um determinado nível sendo alcançado, e similar. Por exemplo, um jogo pode ser armazenado para incluir a premiação com um troféu para alcançar o nível 10, para alcançar 100.000 pontos, etc.In another embodiment, the portion of the game may be stored to include an achievement, such as an achievable trophy or other milestone that has been achieved. These trophies or milestones serve as memory for any goal or game achievement, such as a certain number of points achieved, a certain level being achieved, and the like. For example, a game can be stored to include a trophy prize to reach level 10, to reach 100,000 points, etc.

Similarmente, o progresso até chegar a um resultado, além da obtenção efetiva do troféu ou do desvio sstatístico, pode ser armazenado para ser incluído na torção de jogo. Por exemplo, uma captura de tela pode ser tomada em cada um dos níveis de um a 10, criando um álbum de fotos para deixar na memória o recebimento de um troféu para chegar ao nível 10. Outro exemplo, um vídeo pode ser feito do usuário vencendo uma corrida da primeira até a quinta vez, onde um troféu seja entregue após cinco vitórias.Similarly, progress towards a result beyond the actual achievement of the trophy or statistical deviation may be stored for inclusion in the game twist. For example, a screenshot can be taken at each level from one to 10, creating a photo album to remember a trophy to level 10. Another example, a video can be taken from the user. winning a race from the first to the fifth time, where a trophy is awarded after five wins.

Assim, de acordo com configurações da invenção, pelo menos uma parte do jogo executado sempre pode ser mantida em um armazenador que esteja sendo rodado. Em outras palavras, quando um pedido de compartilhamento de uma porção do jogo é recebido, uma porção do jogo anterior já pode ser capturada para incluir material anterior. Por exemplo, se um pedido de compartilhar jogo for recebido após um usuário cruzar a linha de chegada em um jogo de corrida, o jogo armazenado pode incluir material do usuário cruzando a linha de chegada. Em outras palavras, um usuário será capaz de capturar momentos que ocorrem antes que um pedido seja feito para se compartilhar o jogo. A Figura 17 ilustra uma interface para compartilhar jogo, de acordo com uma configuração da invenção. A interface 1700 como mostrada inclui vários ícones selecionáveis para facilitar o compartilhamento com os amigos de um usuário, por exemplo, membros de um gráfico social do usuário. Em uma configuração, a interface 1700 pode ser acessada a partir de um botão exclusivo em um dispositivo controlador. Quando o botão é pressionado durante o jogo, a interface 1700 pode ser apresentada para permitir ao usuário compartilhar seu jogo. O icone 1702 pode ser selecionado para iniciar o envio de uma captura de tela para o jogo do usuário. Em uma configuração, a região 1704 do icone 1702 é povoada com uma captura de tela do jogo recente do usuário, proporcionando assim uma exibição prévia em pequena escala da captura de tela que possa ser compartilhada. Em uma configuração, a seleção do icone 1702 pode proporcionar acesso a uma seleção de captura de tela adicional que permite ao usuário selecionar uma captura de tela especifica a partir do jogo gravado pelo usuário para compartilhar o gráfico social do usuário. Isso pode assumir a forma de uma linha de tempo de video de jogo navegável, que pode ser percorrida ou navegada para identificar um ponto em particular no tempo dentro do jogo e sua captura de tela correspondente. O icone 706 pode ser selecionado para iniciar o envio de um video do jogo do usuário. A região 1708 do icone 1706 pode ser configurada para mostrar um videoclipe representativo do jogo recente do usuário, por exemplo, os últimos 5 segundos do jogo do usuário, uma realização recente, etc., exibindo assim uma exibição prévia em pequena escala de um videoclipe do jogo do usuário que pode ser compartilhada com outros. O icone 1710 pode ser selecionado para iniciar streaming de video ao vivo do jogo ativo do usuário. Em uma configuração, a seleção do icone 1710 vai acionar o recomeço do jogo do usuário. Em outra configuração, a seleção do icone 1710 proporciona acesso a uma interface para determinar configurações para a transmissão do video em streaming, tais como com quem compartilhar o video em streaming, se incluir um fluxo de video de uma captura de Imagem local que se destina a mostrar o próprio usuário durante o jogo, se habilitar comentários, etc.Thus, according to embodiments of the invention, at least a portion of the executed game can always be kept in a running store. In other words, when a request to share a portion of the game is received, a portion of the previous game may already be captured to include prior material. For example, if a game share request is received after a user crosses the finish line in a racing game, the stored game may include user material crossing the finish line. In other words, a user will be able to capture moments that occur before a request is made to share the game. Figure 17 illustrates a game sharing interface according to one embodiment of the invention. The 1700 interface as shown includes several selectable icons for easy sharing with a user's friends, for example members of a user's social chart. In one configuration, the 1700 interface can be accessed from a unique button on a controller device. When the button is pressed during gameplay, the 1700 interface can be presented to allow the user to share their game. Icon 1702 can be selected to start sending a screenshot to the user's game. In one configuration, icon 1702 region 1704 is populated with a screenshot of the user's recent game, thus providing a small-scale preview of the shared screenshot. In one configuration, selecting the 1702 icon may provide access to an additional screenshot selection that allows the user to select a specific screenshot from the user-recorded game to share the user's social graph. This can take the form of a navigable game video timeline that can be traversed or navigated to identify a particular point in time within the game and its corresponding screenshot. Icon 706 may be selected to begin uploading a user game video. The 1708 region of icon 1706 can be configured to show a representative video clip of the user's recent game, for example, the last 5 seconds of the user's game, a recent accomplishment, etc., thereby displaying a small-scale preview of a video clip. of the user's game that can be shared with others. Icon 1710 can be selected to start live video streaming of the user's active game. In one configuration, selecting the 1710 icon will trigger the user game restart. In another embodiment, selecting the 1710 icon provides access to an interface for determining settings for streaming video transmission, such as with whom to share streaming video, if it includes a video stream from a intended local Image capture. show the user himself during the game, enable comments, etc.

Será apreciado que o usuário pode compartilhar jogo (por exemplo, uma captura de tela, video, ou fluxo de jogo ao vivo selecionado) com um ou mais amigos selecionados, com todo o seu gráfico social, ou com qualquer usuário da rede social. A rede social pode ser uma rede social de jogo associada à plataforma na qual o videogame é rodado, ou uma rede social de terceiros que existe em separado do videogame ou de sua plataforma. A rede social pode ser acessada através de uma API definida para permitir uma interface com a rede social. Usuários com os quais o jogo foi compartilhado podem receber uma notificação informando-lhes do jogo compartilhado. Essa notificação pode tomar a forma de uma postagem para um feed de noticias sociais, uma mensagem particular através da rede social, uma notificação dentro do jogo, um e-mail, uma notificação por bate-papo, etc. Compartilhar o jogo na rede social pode acarretar tornar o jogo disponível para outros subconjuntos da rede social que podem ser ou não parte do gráfico social do usuário que está compartilhando. Por exemplo, para um determinado videogame, o jogo pode ser compartilhado ou disponibilizado para qualquer usuário da rede social que também possui o videogame e, portanto, tem acesso garantido ao jogo compartilhado do videogame. Esse jogo compartilhado pode ser acessado por fóruns on-line, salas de bate-papo, ou outros canais on-line que estejam disponíveis apenas para jogadores do videogame. Em uma configuração, um videogame pode ter uma página ou site exclusivo(a) na rede social. Certamente, será apreciado que da perspectiva do usuário que está compartilhando, podem ser proporcionadas opções para permitir ao usuário especificar e adaptar com quem e com qual fórum seu jogo será compartilhado. A Figura 18 ilustra uma interface 1800 para selecionar uma porção de video de jogo gravado para compartilhamento, de acordo com uma configuração da invenção. A interface 1800 inclui uma região de exibição prévia 1802, que mostra em sequência uma exibição prévia de uma porção naquele momento selecionada de video do jogo do usuário. Capturas de tela 1804, 1806, 1808, 1810 e 1812 estão posicionadas adjacentes entre si em ordem cronológica para definir uma linha do tempo de capturas de tela indicando o conteúdo do video de jogo. As diversas capturas de tela 1804, 1806, 1808, 1810 e 1812 podem ser quadros de imagem extraídos a intervalos regulares do vídeo de jogo. A linha do tempo da captura de tela pode ser rolada para a esquerda ou para a direita para mostrar outros quadros que precedem ou sucedem aqueles exibidos naquele momento. Os marcadores 1814 e 1816 indicam os pontos de início e fim para um videoclipe selecionado naquele momento (ou segmento ou porção). O videoclipe selecionado naquele momento pode ser repetidamente exibido na região de exibição prévia 1802, como foi observado.It will be appreciated that the user can share gameplay (eg a screen capture, video, or selected live game stream) with one or more selected friends, their entire social graphic, or any user on the social network. The social network can be a social gaming network associated with the platform on which the video game is run, or a third party social network that exists separately from the video game or its platform. The social network can be accessed through a defined API to allow an interface with the social network. Users with whom the game has been shared may receive a notification informing them of the shared game. This notification may take the form of a post to a social news feed, a private message via the social network, an in-game notification, an email, a chat notification, etc. Sharing the game on the social network may lead to making the game available to other subsets of the social network that may or may not be part of the social graphic of the user who is sharing. For example, for a particular video game, the game may be shared or made available to any social network user who also owns the video game and thus has guaranteed access to the shared game of the video game. This shared game can be accessed through online forums, chat rooms, or other online channels that are only available to video game players. In one setting, a video game can have a unique page or website on the social network. Of course, it will be appreciated that from the perspective of the sharing user, options may be provided to allow the user to specify and adapt with whom and with which forum their game will be shared. Figure 18 illustrates an interface 1800 for selecting a portion of game video recorded for sharing according to one embodiment of the invention. Interface 1800 includes a preview region 1802, which sequentially shows a preview of a currently selected portion of the user's game video. Screenshots 1804, 1806, 1808, 1810, and 1812 are positioned adjacent to each other in chronological order to define a screenshot timeline indicating the content of the game video. The various screenshots 1804, 1806, 1808, 1810 and 1812 may be picture frames taken at regular intervals from the game video. The screenshot timeline can be scrolled left or right to show other frames preceding or succeeding those displayed at that time. Markers 1814 and 1816 indicate the start and end points for a currently selected video clip (or segment or portion). The video clip selected at that time can be repeatedly displayed in the preview region 1802, as noted.

Em uma configuração, botões 1818 e 1820 podem ser selecionados para reduzir ou aumentar, respectivamente, a duração da porção de vídeo selecionada. Uma opção de exibição prévia 1822 pode ser selecionada para acionar a repetição de uma exibição prévia em tela cheia do videoclipe selecionado naquele momento. Uma opção de editar 1824 pode ser selecionada para acessar características adicionais para editar vídeo. A Figura 19 ilustra uma interface 1900 para se ver um fluxo de vídeo ao vivo relativo ao jogo de um usuário? de acordo com uma configuração da invenção. Na referência 1902, o nome e/ou pseudônimo do usuário que está colocando o jogo em streaming é mostrado. Na referência 1904, o número de usuários que estão observando naquele momento o fluxo de vídeo ao vivo é mostrado. O fluxo de vídeo ao vivo do jogo do usuário é mostrado na região de exibição de video 1906. Adicionalmente, um vídeo de usuário ao vivo 1908 pode ser incluído, mostrando um vídeo ao vivo do usuário efetivo cujo jogo está sendo colocado em streaming ao vivo. Uma opção de comando 1910 pode ser selecionada para permitir que o usuário que está vendo emita comandos que afetam o videogame, ou mesmo assuma controle do jogo do usuário que está em streaming. Será observado que a emissão de comandos internos ao jogo ou controlando remotamente o jogo do usuário podem requerer permissão, predefinída ou solicitada no momento do jogo, ao usuário que está jogando o jogo que permita ao usuário que está vendo que realize essas ações.In one configuration, buttons 1818 and 1820 may be selected to shorten or lengthen, respectively, the length of the selected video portion. An 1822 preview option can be selected to trigger a repeat of a full screen preview of the currently selected video clip. An 1824 edit option can be selected to access additional features for editing video. Figure 19 illustrates an interface 1900 for viewing a user's live game video stream? according to one embodiment of the invention. In reference 1902, the name and / or nickname of the user who is streaming the game is shown. At reference 1904, the number of users watching at that time the live video stream is shown. The user game live video stream is shown in the video display region 1906. Additionally, a live user video 1908 may be included, showing a live video of the actual user whose game is being streamed live. . A 1910 command option can be selected to allow the viewing user to issue commands that affect the video game, or even take control of the streaming user's game. It will be appreciated that issuing commands internal to the game or remotely controlling the user's game may require permission, predefined or requested at the time of the game, from the user playing the game that allows the viewing user to perform these actions.

Uma opção 1912 permite ao usuário que está vendo juntar-se ao jogo do usuário em streaming. E uma opção 1914 permite ao usuário que está vendo comprar o videogame que está em progresso.A 1912 option allows the viewing user to join the streaming user's game. And a 1914 option allows the viewing user to buy the video game that is in progress.

Além disso, a interface pode incluir uma seção de comentários 1916 que exibe comentários de usuários que estão vendo o fluxo de vídeo ao vivo, indicando o tempo de cada comentário. Um campo de entrada de comentário 1928 é proporcionado para que o usuário que está vendo entre com texto para que um comentário seja postado. E o botão de enviar 1920 é pressionado para enviar o comentário para ser visto pelo usuário que está em streaming ao vivo e outros que estão vendo o fluxo de vídeo ao vivo.In addition, the interface may include a 1916 comment section that displays comments from users viewing the live video stream, indicating the timing of each comment. A 1928 comment entry field is provided for the viewing user to enter text for a comment to be posted. And the 1920 submit button is pressed to send the comment to be seen by the live streaming user and others watching the live video stream.

Embora configurações da invenção tenham sido descritas com referência ao acesso a diversas interfaces para compartilhamento a partir do aperto de um botão exclusivo, será apreciado que, em outras configurações, pode não ser solicitado a algumas ou a todas essas interfaces que facilitem o compartilhamento de jogo para um gráfico social de usuário. Por exemplo, em uma configuração, um botão controlador pode ser configurado para capturar uma tela do jogo do usuário quando pressionado. A teia capturada pode então ser automaticamente enviada e compartilhada com o gráfico social do usuário.Although configurations of the invention have been described with reference to accessing various interfaces for sharing at the push of a unique button, it will be appreciated that in other configurations some or all of these interfaces may not be required to facilitate game sharing. for a user social chart. For example, in one configuration, a controller button can be configured to capture a user's game screen when pressed. The captured web can then be automatically uploaded and shared with the user's social graphic.

Em outra configuração, apertar um botão especifico no controlador inicia a gravação de um video de jogo. Quando o botão específico é pressionado uma segunda vez, a gravação do vídeo de jogo é interrompida, e o videoclipe pode ser enviado para o gráfico social do usuário e compartilhado no mesmo. Em uma configuração, o envio e o compartilhamento do videoclipe com o gráfico social do usuário pode ocorrer automaticamente em seguida ao término da operação de gravação do vídeo. Entretanto, em outra configuração, quando o botão específico é pressionado uma segunda vez para interromper a gravação, uma interface é apresentada para permitir que o usuário customize várias opções tais como editar o vídeo, determinar usuários específicos com os quais compartilhar o vídeo, acrescentar uma legenda ou título, etc. Após a customização pelo usuário, o vídeo pode ser compartilhado com outros ou ser disponibilizado de alguma outra maneira para ser visto.In another configuration, pressing a specific button on the controller starts recording a game video. When the specific button is pressed a second time, game video recording is interrupted, and the video clip can be uploaded to and shared on the user's social graphic. In one configuration, sending and sharing the video clip with the user's social graphic may occur automatically following the completion of the video recording operation. However, in another setting, when the specific button is pressed a second time to stop recording, an interface is presented to allow the user to customize various options such as editing the video, determining specific users to share the video with, adding a subtitle or title, etc. After user customization, the video can be shared with others or otherwise made available for viewing.

Em uma configuração, um botão específico no controlador pode ser configurado para compartilhar uma duração predefinida do vídeo do jogo em uma rede social. Por exemplo, um usuário poderia especificar que quando o botão é pressionado, os 10 segundos anteriores de vídeo de jogo serão compartilhados com o gráfico social do usuário. Em outra configuração, pode ser especificado que quando o botão é pressionado, os próximos 10 segundos de vídeo de jogo serão gravados e compartilhados com o gráfico social. Deve ser apreciado que opções para editar o vídeo e desempenhar outros tipos de customização podem ser aplicadas ao vídeo de jogo gravado. Além disso, o vídeo de jogo gravado de uma duração predefinida em seguida ao acionamento do botão pode ser combinado com vídeo de jogo armazenado anteriormente como foi descrito.In a configuration, a specific button on the controller can be configured to share a predefined game video duration on a social network. For example, a user could specify that when the button is pressed, the previous 10 seconds of game video will be shared with the user's social graph. In another setting, it may be specified that when the button is pressed, the next 10 seconds of game video will be recorded and shared with the social graph. It should be appreciated that options for editing video and performing other types of customization may apply to recorded game video. In addition, recorded game video of a predefined duration following the button press can be combined with previously stored game video as described.

Em ainda outra configuração, um botão específico no dispositivo controlador pode ser configurado para iniciar streaming de vídeo ao vivo do jogo ativo dos usuários. Um streaming de vídeo ao vivo pode ser predefinido para ser disponibilizado apenas para membros da gráfica social do usuário, ou para outros grupos de usuários ou menores, tais como um subconjunto específico do gráfico social do usuário, todos os usuários que possuem ou têm acesso de alguma maneira ao mesmo videogame, qualquer usuário da plataforma de jogo, etc.In yet another configuration, a specific button on the controller device may be configured to initiate live video streaming of the users active game. A live video stream can be preset to be made available only to members of the user's social chart, or to other or smaller user groups, such as a specific subset of the user's social chart, all users who have or have access to somehow to the same video game, any gaming platform user, etc.

GERAÇÃO AUTOMÁTICA DE MINIGAMES SUGERIDOS PARAAUTOMATIC GENERATION OF SUGGESTED MINIGAMES FOR

JOGO EM NUVEM COM BASE EM JOGO GRAVADOCLOUD GAME BASED ON RECORD GAME

Em uma configuração, um método para gerar uma versão limitada que pode ser jogada de um videogame é proporcionado, incluindo as seguintes operações de método: registrar um jogo de usuário de uma versão integral de um videogame; analisar o jogo gravado do usuário para determinar uma região de interesse; definir limites dentro de um contexto de jogo do videogame com base na região determinada de interesse; e gerar a versão limitada do videogame com base nos limites definidos; em que o método é executado por um processador.In one embodiment, a method for generating a playable limited version of a video game is provided, including the following method operations: registering a user game of a full version of a video game; analyze the user's recorded game to determine a region of interest; set boundaries within a videogame game context based on the given region of interest; and generate the limited version of the video game based on the defined limits; where the method is executed by a processor.

Em uma configuração, gravar o jogo do usuário inclui gravar um ou mais de dados de entrada do usuário ou dados de estado de jogo. Em uma configuração, analisar o jogo gravado pelo usuário inclui determinar niveis de atividade dos dados de entrada do usuário ou dados de estado de jogo, a região de interesse sendo uma região tendo niveis de atividade que excedem um limite predefinido.In one configuration, recording the user game includes recording one or more user input data or game state data. In one configuration, user-recorded game analysis includes determining activity levels of user input data or game state data, the region of interest being a region having activity levels that exceed a predefined threshold.

Em uma configuração, definir fronteiras dentro de um contexto de jogo do videogame inclui definir um limite espacial dentro de um espaço virtual do videogame. Em uma configuração, a fronteira espacial dentro do espaço virtual do videogame define uma porção do espaço virtual menor que a totalidade do espaço virtual, a porção do espaço virtual tendo um subconjunto de características do espaço virtual.In one configuration, defining boundaries within a videogame game context includes defining a spatial boundary within a videogame virtual space. In one configuration, the spatial boundary within the video game's virtual space defines a portion of the virtual space smaller than the totality of the virtual space, the portion of the virtual space having a subset of features of the virtual space.

Em uma configuração, definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira temporal dentro de um contexto temporal do videogame.In one configuration, defining boundaries within a videogame game context includes defining a temporal boundary within a videogame temporal context.

Em uma configuração, definir fronteiras inclui identificar um ponto de partida mais próximo ou um ponto final mais próximo de um ou mais dentro de um estágio, nível ou cena.In one setting, defining boundaries includes identifying a nearest starting point or an ending point closer to one or more within a stage, level, or scene.

Em uma configuração, analisar o jogo gravado do usuário inclui determinar configurações de estado de jogo do usuário com base no jogo gravado do usuário; e gerar a versão limitada do videogame inclui definir a versão limitada do videogame de modo a ter configurações de estado de jogo inicial com base nas configurações de estado de jogo de usuário determinadas.In one configuration, analyzing user recorded game includes determining user game state settings based on user recorded game; and generating the limited version of the video game includes setting the limited version of the video game to have initial game state settings based on the determined user game state settings.

Em uma configuração, a região de interesse é automaticamente identificada com base na correspondência com um ou mais limites. Em uma configuração, pelo menos um dos referidos limites é associado a uma ou mais entradas de usuário, uma velocidade de entrada de usuário, uma frequência de entrada de usuário, repetições de uma entrada de usuário, um padrão de entrada, compartilhamento do contexto do jogo com outros usuários, postagem de comentários associados com o jogo em uma rede social, ou popularidade de porções do videogame com base nos niveis de compartilhamento da rede social.In a configuration, the region of interest is automatically identified based on matching one or more thresholds. In one configuration, at least one of said thresholds is associated with one or more user inputs, a user input speed, a user input frequency, repetitions of a user input, an input pattern, sharing the context of the user. playing with other users, posting comments associated with the game on a social network, or popularity of portions of the game based on social network sharing levels.

Em outra configuração, é proporcionado um método para gerar uma versão limitada que pode ser jogada de um videogame, incluindo as seguintes operações de método: gravar um jogo de usuário de uma versão integral do videogame; analisar o jogo gravado do usuário para determinar uma ou mais regiões de interesse; apresentar cada uma das regiões de interesse para seleção; receber uma entrada de seleção indicando uma região selecionada de interesse, definir limites dentro de um contexto de jogo do videogame com base na região de interesse selecionada; e gerar a versão limitada do videogame com base nas fronteiras definidas; em que o método é executado por um processador.In another embodiment, a method is provided for generating a playable limited version of a video game, including the following method operations: recording a user game of a full version of the video game; analyze the user's recorded game to determine one or more regions of interest; present each of the regions of interest for selection; receive a selection entry indicating a selected region of interest, set boundaries within a game context of the video game based on the selected region of interest; and generate the limited version of the video game based on the defined boundaries; where the method is executed by a processor.

Em uma configuração, gravar o jogo do usuário inclui gravar um ou mais dentre dados de entrada do usuário ou dados de estado de jogo. Em uma configuração, analisar o jogo gravado pelo usuário inclui determinar niveis de atividade dos dados de entrada do usuário ou dados de estado de jogo, cada região de interesse sendo uma região tendo niveis de atividade que excedem um limite predefinido.In one configuration, recording the user's game includes recording one or more of user input data or game state data. In one configuration, user-recorded game analysis includes determining activity levels of user input data or game state data, each region of interest being a region having activity levels exceeding a predefined threshold.

Em uma configuração, analisar o jogo registrado pelo usuário inclui determinar configurações de estado de jogo de usuário com base no jogo gravado pelo usuário; e gerar a versão limitada do videogame inclui definir a versão limitada do videogame para ter configurações de estado de jogo iniciais com base nas configurações de estado de jogo de usuário determinadas.In one configuration, reviewing the user-recorded game includes determining user game state settings based on the user-recorded game; and generating the limited version of the video game includes setting the limited version of the video game to have initial game state settings based on the determined user game state settings.

Em uma configuração, cada região de interesse é automaticamente identificada com base em correspondência com um ou mais limites.In a configuration, each region of interest is automatically identified based on matching one or more boundaries.

Em outra configuração, um método para gerar uma versão limitada que pode ser jogada é proporcionado, incluindo as seguintes operações de método: gravar o jogo de um usuário de uma versão integral do videogame, em que a gravação do jogo do usuário inclui gravar um ou mais dados de entrada de usuário ou dados de estado de jogo; analisar o jogo gravado do usuário para determinar uma ou mais regiões de interesse, em que cada região de interesse é automaticamente identificada com base na correspondência com um ou mais limites; apresentar cada uma das regiões de interesse para seleção; receber uma entrada de seleção indicando uma região de interesse selecionada; para a região selecionada se interesse, definir fronteiras dentro de um contexto de jogo do videogame com base na região de interesse selecionada; gerar a versão limitada do videogame com base nas fronteiras definidas; em que o método é executado por um processador.In another embodiment, a method for generating a playable limited version is provided, including the following method operations: recording a user's game from a full version of the video game, wherein the user's game recording includes recording one or more user input data or game state data; analyze the user's recorded game to determine one or more regions of interest, where each region of interest is automatically identified based on matching one or more thresholds; present each of the regions of interest for selection; receive a selection entry indicating a selected region of interest; for the selected region of interest, set borders within a game context of the video game based on the selected region of interest; generate the limited version of the video game based on the defined boundaries; where the method is executed by a processor.

Em uma configuração, definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira espacial dentro de um espaço virtual do videogame; a fronteira espacial dentro do espaço virtual do videogame define uma porção do espaço virtual, a porção do espaço virtual tendo um subconjunto de características do espaço virtual.In one configuration, defining boundaries within a videogame game context includes defining a spatial boundary within a videogame virtual space; The spatial boundary within the video game's virtual space defines a portion of the virtual space, the portion of the virtual space having a subset of features of the virtual space.

Em uma configuração, definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira temporal dentro de um contexto temporal do videogame. 173 Em uma configuração, definir fronteiras inclui identificar um ponto de partida mais próximo ou um ponto final mais próximo de um ou mais dentre um estágio, nível ou cena.In one configuration, defining boundaries within a videogame game context includes defining a temporal boundary within a videogame temporal context. In one setting, defining boundaries includes identifying a nearest starting point or an ending point closer to one or more of a stage, level, or scene.

Em uma configuração, pelo menos um dos referidos limites está associado a um ou mais dentre entradas de usuário, uma velocidade de entrada de usuário, uma frequência de entrada de usuário, repetições de uma entrada de usuário, um padrão de entrada, compartilhamento do contexto de jogo com outros usuários, postagem de comentários associados ao jogo em uma rede social, ou popularidade de porções do videogame com base nos níveis de compartilhamento de rede social.In one configuration, at least one of said thresholds is associated with one or more user inputs, a user input speed, a user input frequency, repetitions of a user input, an input pattern, context sharing. of gaming with other users, posting comments associated with the game on a social network, or popularity of portions of the game based on social sharing levels.

GERAÇÃO DE UM MINIGAME EM MÚLTIPLAS PARTES PARA JOGO EM NUVEM COM BASE EM JOGO GRAVADOGENERATION OF A MULTIPLE MINI-GAME FOR CLOUD-BASED CLOUD GAME

Em uma configuração, um método para gerar uma versão limitada que pode ser jogada de um videogame é proporcionado, incluindo as seguintes operações de método: gravar um jogo de usuário de uma versão integral do videogame; determinar uma pluralidade porções definidas por usuário do jogo gravado pelo usuário; para cada porção definida por usuário, definir fronteiras dentro de um contexto de jogo do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; posicionar cada uma das porções que podem ser jogadas do videogame em uma série para definir a versão limitada do videogame; em que o método é executado por um processador, Em uma configuração, determinar cada porção definida por usuário do jogo gravado por usuário inclui receber um ponto de partida definido pelo usuário e um ponto final definido pelo usuário dentro do jogo gravado pelo usuário, e determinar a porção definida por usuário com base no ponto de partida recebido definido pelo usuário e no ponto final definido pelo usuário.In one embodiment, a method for generating a playable limited version of a video game is provided, including the following method operations: recording a user game of a full version of the video game; determining a plurality of user-defined portions of the user-recorded game; for each user-defined portion, define boundaries within a game context of the video game based on the user-defined portion, and generate a playable portion of the video game based on the defined borders; position each of the playable portions of the video game in a series to define the limited version of the video game; wherein the method is performed by a processor. In one embodiment, determining each user-defined portion of the user-recorded game includes receiving a user-defined starting point and a user-defined endpoint within the user-recorded game. the user-defined portion based on the user-defined starting point and user-defined endpoint.

Em uma configuração, gravar o jogo do usuário inclui gravar um ou mais dentre os dados de entrada do usuário ou dados de estado de jogo. Em uma configuração, gerar a porção que pode ser jogada do videogame inclui analisar os dados do estado de jogo para identificar elementos de código, e posicionar os elementos de código para definir código executável definindo a porção que pode ser jogada do videogame.In one configuration, recording the user's game includes recording one or more of the user input data or game state data. In one embodiment, generating the playable portion of the video game includes analyzing game state data to identify code elements, and positioning the code elements to define executable code by defining the playable portion of the video game.

Em uma configuração, definir fronteiras dentro de um contexto do videogame inclui definindo uma fronteira espacial dentro de um espaço virtual do videogame. Em uma configuração, a fronteira espacial dentro do espaço virtual do videogame define uma porção do espaço virtual inferior a uma totalidade do espaço virtual, a porção do espaço virtual tendo um subconjunto de características do espaço virtual.In one configuration, defining boundaries within a video game context includes defining a spatial boundary within a video game virtual space. In one configuration, the spatial boundary within the video game's virtual space defines a portion of the virtual space less than a total of the virtual space, the portion of the virtual space having a subset of virtual space features.

Em uma configuração, definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira temporal dentro de um contexto temporal do videogame.In one configuration, defining boundaries within a videogame game context includes defining a temporal boundary within a videogame temporal context.

Em uma configuração, o método inclui ainda, para cada porção definida por usuário, analisar o jogo gravado pelo usuário para determinar as configurações de estado de jogo do usuário; e em que gerar a porção que pode ser jogada do videogame inclui definir a porção que pode ser jogada do videogame de modo a ter configurações de estado de jogo inicial com base nas configurações de estado de jogo determinadas de usuário.In one embodiment, the method further includes, for each user-defined portion, analyzing the user-recorded game to determine the user's game state settings; and wherein generating the playable portion of the video game includes defining the playable portion of the video game to have initial game state settings based on user-determined game state settings.

Em uma configuração, definir as fronteiras inclui identificar um ponto de partida ou ponto final mais próximo de um ou mais dentre um estágio, nível ou cena.In one setting, defining boundaries includes identifying a starting point or ending point closest to one or more of a stage, level, or scene.

Em uma configuração, o método inclui ainda gravar um vídeo definido por usuário; em que posicionar as porções que podem ser jogadas do videogame inclui posicionar o vídeo definido por usuário em um local dentro da série que precede ou sucede uma das porções que podem ser jogadas do videogame. Em uma configuração, o vídeo definido por usuário inclui vídeo de pelo menos uma das porções definidas por usuário do jogo gravado do usuário.In one configuration, the method further includes recording a user-defined video; where positioning the playable portions of the video game includes placing the user-defined video in a location within the series preceding or succeeding one of the playable portions of the video game. In one configuration, user-defined video includes video from at least one of the user-defined portions of the user's recorded game.

Em outra configuração, é proporcionado um meio legível por computador tangível tendo instruções de programa incorporadas no mesmo para gerar uma versão limitada que pode ser jogada de um videogame, incluindo: instruções de programa para gravar o jogo de um usuário de uma versão integral do videogame; instruções de programa para determinar uma pluralidade de porções definidas pelo usuário do jogo gravado do usuário; instruções de programa para, para cada porção definida pelo usuário, definir fronteiras dentro de um contexto do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; instruções de programa para posicionar cada uma das porções que podem ser jogadas em uma série para definir a versão limitada do videogame.In another embodiment, a tangible computer readable medium is provided having program instructions incorporated therein to generate a playable limited version of a video game, including: program instructions for recording a user's game of a full version of the video game. ; program instructions for determining a plurality of user-defined portions of the user's recorded game; program instructions for, for each user-defined portion, to define boundaries within a videogame context based on the user-defined portion, and to generate a playable portion of the video game based on defined borders; program instructions for positioning each of the portions that can be played in a series to define the limited version of the video game.

Em uma configuração, determinar cada porção definida por usuário do jogo gravado por usuário inclui receber um ponto de partida definido pelo usuário e um ponto final definido pelo usuário dentro do jogo gravado pelo usuário, e determinar a porção definida por usuário com base no ponto de partida recebido definido pelo usuário e no ponto final recebido definido pelo usuário.In one configuration, determining each user-defined portion of the user-recorded game includes receiving a user-defined starting point and a user-defined endpoint within the user-recorded game, and determining the user-defined portion based on the user-defined point. user-defined received start and at the user-defined received endpoint.

Em uma configuração, gravar o jogo do usuário inclui gravar um ou mais dentre os dados de entrada do usuário ou dados de estado de jogo. Em uma configuração, gerar a porção que pode ser jogada do videogame inclui analisar os dados do estado de jogo para identificar elementos de código, e posicionar os elementos de código para definir código executável definindo a porção que pode ser jogada do videogame.In one configuration, recording the user's game includes recording one or more of the user input data or game state data. In one embodiment, generating the playable portion of the video game includes analyzing game state data to identify code elements, and positioning the code elements to define executable code by defining the playable portion of the video game.

Em outra configuração, o meio legível por computador tangível inclui ainda instruções de programa para, para cada porção definida pelo usuário, analisar o jogo gravado pelo usuário para determinar as configurações de estado de jogo do usuário; e em que gerar a porção que pode ser jogada do videogame inclui definir a porção que pode ser jogada do videogame de modo a ter configurações de estado de jogo inicial com base nas configurações de estado de jogo determinadas de usuário.In another embodiment, the tangible computer readable medium further includes program instructions for, for each user-defined portion, to analyze the user-recorded game to determine the user's game state settings; and wherein generating the playable portion of the video game includes defining the playable portion of the video game to have initial game state settings based on user-determined game state settings.

Em outra configuração, é proporcionado um sistema, incluindo: pelo menos um dispositivo de computação servidor, o dispositivo de computação servidor mínimo tendo lógica para gerar uma versão limitada que pode ser jogada de um videogame, incluindo, lógica para gravar o jogo de um usuário de uma versão integral do videogame; lógica para determinar uma pluralidade de porções definidas pelo usuário do jogo gravado do usuário; lógica para, em cada porção definida pelo usuário, definir fronteiras dentro de um contexto de jogo do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; lógica para posicionar cada uma das porções que pode ser jogada do videogame em uma série para definir a versão limitada do videogame.In another embodiment, a system is provided, including: at least one server computing device, the minimum server computing device having logic to generate a playable limited version of a video game, including logic for recording a user's game. a full version of the video game; logic for determining a plurality of user-defined portions of the user's recorded game; logic for, in each user-defined portion, defining boundaries within a game context of the game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; logic to position each of the video game's playable portions in a series to define the limited version of the video game.

Em uma configuração, determinar cada porção definida por usuário do jogo gravado por usuário inclui receber um ponto de partida definido pelo usuário e um ponto final definido pelo usuário dentro do jogo gravado pelo usuário, e determinar a porção definida por usuário com base no ponto de partida recebido definido pelo usuário e no ponto final recebido definido pelo usuário.In one configuration, determining each user-defined portion of the user-recorded game includes receiving a user-defined starting point and a user-defined endpoint within the user-recorded game, and determining the user-defined portion based on the user-defined point. user-defined received start and at the user-defined received endpoint.

Em uma configuração, gravar o jogo do usuário inclui gravar um ou mais dentre os dados de entrada do usuário ou dados de estado de jogo. Em uma configuração, gerar a porção que pode ser jogada do videogame inclui analisar os dados do estado de jogo para identificar elementos de código, e posicionar os elementos de código para definir código executável definindo a porção que pode ser jogada do videogame.In one configuration, recording the user's game includes recording one or more of the user input data or game state data. In one embodiment, generating the playable portion of the video game includes analyzing game state data to identify code elements, and positioning the code elements to define executable code by defining the playable portion of the video game.

Em uma configuração, a referida lógica inclui ainda, lógica para, para cada porção definida por usuário, analisar o jogo gravado pelo usuário para determinar configurações de estado de jogo; e em que gerar a porção que pode ser jogada do videogame inclui definir a porção que pode ser jogada do videogame de modo ater configurações de estado de jogo inicial com base nas configurações de estado de jogo do usuário.In one embodiment, said logic further includes logic for, for each user-defined portion, to analyze the user-recorded game to determine game state settings; and wherein generating the playable portion of the video game includes defining the playable portion of the video game to have initial game state settings based on the user's game state settings.

COMPARTILHAR JOGO GRAVADO EM UM GRÁFICO SOCIALSHARE GAME RECORDED IN A SOCIAL GRAPH

Em uma configuração, um método para compartilhar jogo gravado em um gráfico social é proporcionado, incluindo as seguintes operações de método: gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; em resposta a recepção do comando, entrar em um estado pausado da sessão de jogo e apresentar uma interface de compartilhamento; processar a entrada recebida pela interface de compartilhamento para determinar uma seleção definida pelo usuário do vídeo gravado; compartilhar a seleção definida pelo usuário do vídeo gravado em um gráfico social do usuário; retomar o estado ativo da sessão de jogo; em que o método é executado por um processador.In one embodiment, a method for sharing game recorded on a social graph is provided, including the following method operations: videoing a user's game during an active state of a game session; receive a command to initiate a sharing operation during the active state of the gaming session; in response to receiving the command, entering a paused state of the game session and presenting a sharing interface; process input received by the sharing interface to determine a user-defined selection of recorded video; share the user-defined selection of recorded video in a user social graphic; resume the active state of the gaming session; where the method is executed by a processor.

Em uma configuração, gravar o vídeo do jogo do usuário inclui armazenar o vídeo em um armazenador durante o estado ativo da sessão de jogo.In one configuration, recording user game video includes storing the video in a store during the active state of the game session.

Em uma configuração, apresentar a interface de compartilhamento inclui recuperar e apresentar uma ou mais porções do vídeo do armazenador.In one configuration, presenting the sharing interface includes retrieving and displaying one or more portions of the video from the store.

Em uma configuração, a interface de compartilhamento incluí um seletc-r de duração para definir uma duração da seleção definida pelo usuário.In one configuration, the sharing interface includes a duration select-r to set a user-defined selection duration.

Em uma configuração, compartilhar a seleção inclui enviar a seleção para disponibilidade em um serviço de rede social que define o gráfico social do usuário.In one configuration, sharing the selection includes sending the selection for availability to a social networking service that defines the user's social graph.

Em uma configuração, enviar a seleção inclui comprimir a seleção e enviar a seleção comprimida.In one configuration, submitting the selection includes compressing the selection and submitting the compressed selection.

Em uma configuração, compartilhar a seleção inclui gerar uma notificação para um membro do gráfico social do usuário.In one setting, sharing the selection includes generating a notification for a member of the user's social chart.

Em uma configuração, a notificação é definida por um ou mais dentre uma mensagem particular, uma mensagem de bate-papo, uma notificação dentro do jogo, uma postagem para um feed de noticias social, um e-mail.In one setting, notification is defined by one or more of a private message, a chat message, an in-game notification, a post to a social news feed, an email.

Em uma configuração, compartilhar a seleção inclui apresentar a seleção em uma página de perfil do usuário .In one configuration, sharing the selection includes presenting the selection on a user profile page.

Em uma configuração, a recepção do comando para iniciar a operação de compartilhamento é definida a partir do aperto de um botão em um dispositivo controlador.In one configuration, receiving the command to initiate the sharing operation is defined by pushing a button on a controller device.

Em outra configuração, um método para compartilhar jogo gravado em um gráfico social é proporcionado, incluindo as seguintes operações de método: gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; em resposta à recepção do comando, determinar uma seleção definida pelo usuário do video gravado; compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário; em que o método é executado por um processador.In another embodiment, a method for sharing game recorded on a social graph is provided, including the following method operations: videoing a user's game during an active state of a game session; receive a command to initiate a sharing operation during the active state of the gaming session; in response to receiving the command, determining a user-defined selection of the recorded video; share the user-defined selection of recorded video in a user social graphic; where the method is executed by a processor.

Em uma configuração, gravar em video o jogo do usuário inclui armazenar o video em um armazenador durante o estado ativo da sessão de jogo.In one configuration, video game user includes storing video in a store during the active state of the game session.

Em uma configuração, determinar a seleção definida pelo usuário do video gravado inclui recuperar e apresentar o video a partir do armazenador, e processar a entrada do usuário identificando uma porção do video.In one embodiment, determining the user-defined selection of recorded video includes retrieving and displaying the video from the store, and processing user input by identifying a portion of the video.

Em uma configuração, compartilhar a seleção inclui enviar a seleção para disponibilidade em um serviço de rede social que define o gráfico social do usuário.In one configuration, sharing the selection includes sending the selection for availability to a social networking service that defines the user's social graph.

Em uma configuração, a recepção do comando para iniciar a operação de compartilhamento é definida a partir do aperto de um botão em um dispositivo controlador.In one configuration, receiving the command to initiate the sharing operation is defined by pushing a button on a controller device.

Em outra configuração, é proporcionado um meio legível por computador não-transitório tendo instruções de programa definidas no mesmo para compartilhar jogo gravado sm um gráfico social. As instruções de programa incluem: instruções de programa para gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; instruções de programa para receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; instruções de programa para, em resposta à recepção do comando, determinar uma seleção definida pelo usuário do video gravado; instruções de programa para compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário.In another embodiment, a non-transient computer readable medium is provided having program instructions defined therein for sharing recorded game on a social graphic. Program instructions include: program instructions for video recording a user's game during an active state of a game session; program instructions for receiving a command to initiate a sharing operation during the active state of the gaming session; program instructions to, in response to the command being received, determine a user-defined selection of recorded video; Program instructions for sharing the user-defined selection of recorded video in a user social graph.

Em uma configuração, a gravação em video do jogo do usuário inclui armazenar o video em um armazenador durante o estado ativo da sessão de jogo.In one configuration, user game video recording includes storing video in a store during the active state of the game session.

Em uma configuração, determinar a seleção definida pelo usuário do video gravado inclui recuperar e apresentar o video a partir do armazenador, e processar a entrada do usuário identificando uma porção do video.In one embodiment, determining the user-defined selection of recorded video includes retrieving and displaying the video from the store, and processing user input by identifying a portion of the video.

Em uma configuração, compartilhar a seleção inclui enviar a seleção para disponibilidade em um serviço de rede social que define o gráfico social do usuário.In one configuration, sharing the selection includes sending the selection for availability to a social networking service that defines the user's social graph.

Em uma configuração, a recepção do comando para iniciar a operação de compartilhamento é definida pelo aperto de um botão em um dispositivo controlador.In one configuration, receiving the command to initiate the sharing operation is defined by pushing a button on a controller device.

CONTROLE REMOTO DE UM JOGO DE UM PRIMEIRO USUÁRIO POR UM SEGUNDO USUÁRIOREMOTE CONTROL OF A FIRST USER GAME BY A SECOND USER

Em uma configuração, é fornecido um método para proporcionar controle remoto do jogo de um usuário, o método incluindo as seguintes operações de método: apresentar um feed em video ao vivo do jogo de um primeiro usuário para um segundo usuário remoto; processar uma solicitação para transferir o controle do jogo do primeiro usuário para o segundo usuário; iniciar o controle do jogo do primeiro usuário pelo segundo usuário; em que o método é executado por pelo menos um processador.In one embodiment, a method is provided for providing a user's remote game control, the method including the following method operations: presenting a live video feed of a first user's game to a second remote user; process a request to transfer game control from the first user to the second user; initiate game control of the first user by the second user; wherein the method is executed by at least one processor.

Em uma configuração, iniciar o controle do jogo do primeiro usuário pelo segundo usuário inclui desativar o controle do jogo do primeiro usuário por um primeiro dispositivo controlador associado ao primeiro usuário, e ativar o controle do jogo do primeiro usuário por um segundo dispositivo controlador associado ao segundo usuário.In one configuration, initiating first user game control by the second user includes disabling first user game control by a first controller device associated with the first user, and enabling first user game control by a second controller device associated with the first user. second user.

Em uma configuração, o controle do jogo do primeiro usuário pelo segundo dispositivo controlador inclui receber comandos de entrada do segundo dispositivo controlador e aplicar os comandos de entrada para definir o jogo do primeiro usuário.In one configuration, control of the first user game by the second controller device includes receiving input commands from the second controller device and applying input commands to define the first user game.

Em uma configuração, o feed em video ao vivo é apresentado através de uma interface social para o segundo usuário, a interface social proporcionando acesso a um gráfico social do segundo usuário, o primeiro usuário sendo definido como um membro do gráfico social do segundo usuário.In one embodiment, the live video feed is presented through a social interface to the second user, the social interface providing access to a second user's social graph, the first user being defined as a member of the second user's social graph.

Em uma configuração, a interface social inclui uma interface de comentários para postagem de comentários durante o jogo do primeiro usuário.In one configuration, the social interface includes a commenting interface for posting comments during the first user's game.

Em uma configuração, o processamento da solicitação para transferir o controle inclui receber uma confirmação do primeiro usuário para permitir o controle do jogo do primeiro usuário pelo segundo usuário.In one configuration, processing of the request to transfer control includes receiving a confirmation from the first user to allow control of the first user game by the second user.

Em uma configuração, a apresentação do feed em video ao vivo do jogo do primeiro usuário para o segundo usuário inclui apresentar o feed em video ao vivo em um formato que não é de tela cheia; e a iniciação do controle do jogo do primeiro usuário pelo segundo usuário inclui acionar a apresentação do feed em video ao vivo em um formato de tela cheia.In one embodiment, presenting the live video feed of the first user game to the second user includes presenting the live video feed in a non-full screen format; and the initiation of first user game control by the second user includes triggering the live video feed presentation in a full screen format.

Em outra configuração, um método para proporcionar jogo com múltiplos jogadores é proporcionado, incluindo as seguintes operações de método: apresentar um feed em video ao vivo de uma sessão de jogo de um primeiro usuário; processar uma solicitação para que um segundo usuário se junte à sessão de jogo do primeiro usuário; iniciar o jogo pelo segundo usuário na sessão de jogo do primeiro usuário; em que o método é executado por pelo menos um primeiro processador.In another embodiment, a method for providing multiplayer gaming is provided, including the following method operations: presenting a live video feed of a first user gaming session; process a request for a second user to join the first user's game session; start the game by the second user in the first user's game session; wherein the method is executed by at least one first processor.

Em uma configuração, a iniciação do jogo pelo segundo usuário na sessão do primeiro usuário inclui iniciar um modo de múltiplos jogadores de um videogame.In one configuration, the second user starting the game in the first user session includes starting a multiplayer mode of a video game.

Em uma configuração, o feed em video ao vivo é apresentado através de uma interface social para o segundo usuário, a interface social proporcionando acesso a um gráfico social do segundo usuário, o primeiro usuário sendo definido como um membro do gráfico social do segundo usuário.In one embodiment, the live video feed is presented through a social interface to the second user, the social interface providing access to a second user's social graph, the first user being defined as a member of the second user's social graph.

Em uma configuração, a interface social inclui uma interface de comentários para a postagem de comentários durante o jogo do primeiro usuário.In one configuration, the social interface includes a commenting interface for posting comments during the first user's game.

Em uma configuração, o processamento da solicitação para se juntar à sessão de jogo do primeiro usuário inclui receber uma confirmação do primeiro usuário para permitir que o segundo usuário jogue na sessão de jogo do primeiro usuário.In one configuration, processing the request to join the first user's gaming session includes receiving a confirmation from the first user to allow the second user to play in the first user's gaming session.

Em uma configuração, apresentar o feed em video ao vivo do jogo do primeiro usuário para o segundo usuário inclui apresentar o feed em video ao vivo em um formato que não é de tela cheia; e a iniciação do jogo segundo usuário na sessão de jogo do primeiro usuário inclui acionar a apresentação do feed em video ao vivo em um formato de tela cheia.In one embodiment, presenting the live video feed of the first user's game to the second user includes presenting the live video feed in a non-full screen format; and second user game initiation in the first user game session includes triggering the live video feed presentation in a full screen format.

Em outra configuração, é proporcionado um meio legível por computador não-transitório tendo instruções de programa incorporadas no mesmo para proporcionar controle remoto do jogo de um usuário, as instruções de programa incluindo: instruções de programa para apresentar um feed em video ao vivo do jogo de um primeiro usuário para um segundo usuário remoto; instruções de programa para processar uma solicitação para transferir o controle do jogo do primeiro usuário para o segundo usuário; instruções de programa para iniciar o controle do jogo do primeiro usuário pelo segundo usuário.In another embodiment, there is provided a non-transient computer readable medium having program instructions incorporated therein to provide a user's remote game control, program instructions including: program instructions for displaying a live video feed of the game. from a first user to a second remote user; program instructions for processing a request to transfer game control from the first user to the second user; Program instructions for starting control of the first user's game by the second user.

Em uma configuração, iniciar o controle do jogo do primeiro usuário pelo segundo usuário inclui desativar o controle do jogo do primeiro usuário por um primeiro dispositivo controlador associado ao primeiro usuário, e ativar o controle do jogo do primeiro usuário por um segundo dispositivo controlador associado ao segundo usuário.In one configuration, initiating first user game control by the second user includes disabling first user game control by a first controller device associated with the first user, and enabling first user game control by a second controller device associated with the first user. second user.

Em uma configuração, o controle do jogo do primeiro usuário pelo segundo dispositivo controlador inclui receber comandos de entrada do segundo dispositivo controlador e aplicar os comandos de entrada para definir o jogo do primeiro usuário.In one configuration, control of the first user game by the second controller device includes receiving input commands from the second controller device and applying input commands to define the first user game.

Em uma configuração, o feed em vídeo ao vivo é apresentado através de uma interface social para o segundo usuário, a interface social proporcionando acesso a um gráfico social do segundo usuário, o primeiro usuário sendo definido como um membro do gráfico social do segundo usuário.In one configuration, the live video feed is presented through a social interface for the second user, the social interface providing access to a second user's social graph, the first user being defined as a member of the second user's social graph.

Em uma configuração, a interface social inclui uma interface de comentários para postagem de comentários durante o jogo do primeiro usuário.In one configuration, the social interface includes a commenting interface for posting comments during the first user's game.

Em uma configuração, o processamento da solicitação para transferir o controle inclui receber uma confirmação do primeiro usuário para permitir o controle do jogo do primeiro usuário pelo segundo usuário.In one configuration, processing of the request to transfer control includes receiving a confirmation from the first user to allow control of the first user game by the second user.

Em uma configuração, a apresentação do feed em vídeo ao vivo do jogo do primeiro usuário para o segundo usuário inclui apresentar o feed em vídeo ao vivo em um formato que não é de tela cheia; e a iniciação do controle do jogo do primeiro usuário pelo segundo usuário inclui acionar a apresentação do feed em vídeo ao vivo em um formato de tela cheia. A Figura 20 ilustra hardware e interfaces de usuário que podem ser usados para proporcionar interatividade com um videogame, de acordo com uma configuração da presente invenção. A Figura 20 ilustra esquematicamente a arquitetura do sistema como um todo do dispositivo de entretenimento Sony® Playstation 3®, um console que pode ser compatível para fazer a interface de um dispositivo de controle com um programa de computador que executa em um dispositivo de computação base de acordo com configurações da presente invenção. Uma unidade de sistema 2000 é proporcionada, com vários dispositivos periféricos que podem ser conectados à unidade de sistema 2000. A unidade de sistema 2000 compreende: um processador Cell 2028; uma unidade 2026 de memória de acesso aleatório dinâmico (XDRAM) Rambus®; uma unidade gráfica Reality Synthesizer 2030 com uma memória de acesso aleatória em video exclusiva (VRAM) 2032; e uma ponte 1/0 2034. A unidade de sistema 2000 também compreende um leitor de disco óptico Blu Ray® Disk BD-ROM® 2040 para ler a partir de um disco 2040a e um drive de hard disk (HDD) com estojo 2036, acessível através da ponte I/O 2034. Opcionalmente a unidade de sistema 2000 também compreende um leitor de cartão de memória 2038 para ler cartões de memória flash compactos, cartões de memória Memory Stick® e similares, o qual é similarmente acessível através da ponte I/O 2034. A ponte 1/0 2034 também se conecta a seis entradas de Barramento em Série Universal (USB) 2.0 2024; a uma entrada Ethernet gigabit 2022; a uma entrada de rede sem fio (wi-fi) IEEE 802.11b/g 2020; e a uma entrada para link sem fio Bluetooth® 2018 capaz de suportar até sete conexões Bluetooth.In one configuration, presenting the live video feed of the first user's game to the second user includes presenting the live video feed in a non-full screen format; and initiating first-user game control by the second user includes triggering the live video feed presentation in a full-screen format. Figure 20 illustrates hardware and user interfaces that can be used to provide interactivity with a video game in accordance with one embodiment of the present invention. Figure 20 schematically illustrates the overall system architecture of the Sony® Playstation 3® entertainment device, a console that may be compatible to interface a control device with a computer program that runs on a base computing device. according to embodiments of the present invention. A system unit 2000 is provided, with various peripheral devices that may be connected to the system unit 2000. The system unit 2000 comprises: a Cell 2028 processor; a Rambus® dynamic random access memory (XDRAM) unit 2026; a Reality Synthesizer 2030 graphics unit with a unique video random access memory (VRAM) 2032; and a 1/0 2034 bridge. The 2000 system drive also comprises a Blu Ray® Disk BD-ROM® 2040 optical disc reader for reading from a 2040a disc and a 2036 hard disk drive (HDD) drive, accessible via the 2034 I / O bridge. Optionally the 2000 system unit also comprises a 2038 memory card reader for reading compact flash memory cards, Memory Stick® memory cards and the like which is similarly accessible via the I bridge. / O 2034. The 1/0 2034 bridge also connects to six Universal Serial Bus (USB) 2.0 2024 inputs; to a 2022 gigabit Ethernet input; to an IEEE 802.11b / g 2020 wireless (wi-fi) network entry; and a Bluetooth® 2018 wireless link slot capable of supporting up to seven Bluetooth connections.

Ao operar, a ponte I/O 2034 cuida de todos os dados sem fio, USB e Ethernet, incluindo dados de um ou mais controladores de jogo 2002-2003. Por exemplo, quando um usuário está jogando um jogo, a ponte I/O 2034 recebe dados do controlador de jogo 2002-2003 por um link Bluetooth e os direciona para o processador Cell 2028, o qual atualiza o estado do jogo naquele momento em acordo.When operating, the 2034 I / O bridge handles all wireless, USB, and Ethernet data, including data from one or more 2002-2003 game controllers. For example, when a user is playing a game, the 2034 I / O bridge receives data from the 2002-2003 game controller via a Bluetooth link and directs it to the Cell 2028 processor, which updates the game state at that time accordingly. .

As entradas sem fio, USB e Ethernet também proporcionam conectividade para outros dispositivos periféricos além dos controladores de jogo 2002-2003, tais como: um controle remoto 2004; um teclado 2006; um mouse 2008; um dispositivo portátil para entretenimento 2010, tal como um dispositivo de entretenimento Sony Playstation Portable®; uma câmera de video tal como uma câmera de video EyeToy® 2012; um headset com microfone 2014; e um microfone 2015. Tais dispositivos periféricos podem, portanto, em principio serem conectados à unidade de sistema 2000 sem a utilização de fio; por exemplo, o dispositivo de entretenimento portátil 2010 pode se comunicar via uma conexão wi-fi com esta finalidade, enquanto o headset com microfone 2014 pode se comunicar por um link Bluetooth. A provisão dessas interfaces significa que o dispositivo Playstation3 também é potencialmente compativel com outros dispositivos periféricos tais como gravadores de video digital (DVRs), conversores, câmeras digitais, reprodutores portáteis de midia, VoiceOver para ifones, telefones móveis, impressores e scanners.Wireless, USB and Ethernet inputs also provide connectivity to peripheral devices other than 2002-2003 game controllers, such as: a 2004 remote control; a 2006 keyboard; a mouse 2008; a portable entertainment device 2010, such as a Sony Playstation Portable® entertainment device; a video camera such as an EyeToy® 2012 video camera; a headset with microphone 2014; and a microphone 2015. Such peripheral devices may therefore in principle be connected to system unit 2000 without the use of wire; for example, portable entertainment device 2010 can communicate via a wifi connection for this purpose, while headset 2014 can communicate over a Bluetooth link. Providing these interfaces means that the Playstation3 device is also potentially compatible with other peripheral devices such as digital video recorders (DVRs), converters, digital cameras, portable media players, VoiceOver for ifones, mobile phones, printers and scanners.

Além disso, um leitor de cartão de memória de legado 2016 pode ser conectado à unidade de sistema por uma entrada USB 2024, permitindo a leitura de cartões de memória 2048 do tipo usado pelos dispositivos Playstation® ou Playstation 2®.In addition, a 2016 legacy memory card reader can be connected to the system unit via a 2024 USB port, allowing you to read 2048 memory cards of the type used by Playstation® or Playstation 2® devices.

Os controladores de jogo 2002-2003 são operáveis para se comunicar sem utilização de fio com a unidade de sistema 200 pelo link Bluetooth, ou serem conectados a uma entrada USB, proporcionando também assim energia com a qual carregar a batería dos controladores de jogo 2002-2003. Os controladores de jogo 2002-2003 podem incluir também memória, um processador, um leitor de cartão de memória, uma memória permanente tal como a memória flash, emissores de luz tais como uma sessão esférica iluminada, LEDs, ou luzes infravermelhas, microfone e alto-falante para comunicações por ultrassom, uma câmara acústica, uma câmera digital, um relógio interno, uma forma reconhecível tal como a seção esférica voltada para o console de jogo, e comunicações sem fio utilizando protocolos tais como Bluetooth®, WiFi™, etc. O controlador de jogo 2002 é um controlador projetado para ser usado com duas mãos, e o controlador de jogo 2003 é um controlador para só uma das mãos com um acessório. Além do joystick ou joysticks análogos e botão ou botões de controle convencionais, o controlador de jogo é suscetível a uma determinação de local tridimensional. Consequentemente gestos e movimentos pelo usuário do controlador de jogo podem ser traduzidos como entradas em um jogo além dos comandos convencionais de botão ou joystick ou no lugar dos mesmos. Opcionalmente, outros dispositivos periféricos habilitados sem a utilização de fios tais como o dispositivo Playstation™ Portátil pode ser usado como controlador. No caso do dispositivo Playstation™ Portátil, informações adicionais sobre o jogo ou de controle (por exemplo, instruções de controle ou número de vidas) podem ser proporcionadas na tela do dispositivo. Outros dispositivos de controle alternativos ou suplementares também podem ser usados, tais como um tapete de dança (não mostrado) , uma pistola de luz (não mostrada), um volante e pedais (não mostrados) ou bespokes controladores, tais como um ou mais botões de tamanho grande para um quiz que exige respostas rápidas (também não mostrado). O controle remoto 2004 também é operável para se comunicar sem o uso de fio com a unidade de sistema 2000 por um link Bluetooth. O controle remoto 704 compreende controles adequados para a operação do leitor de Blu Ray™ Disk BD-ROM 2040 e para a navegação do conteúdo do disco. O leitor de Blu Ray™ Disk BD-ROM 2040 é operável para ler CD-ROMs compatíveis com os dispositivos Playstation e Playstation 2, além dos CDs convencionais pré-gravados e virgens, e os chamados CDs Super Áudio. O leitor 2040 também é operável para ler DVD-ROMs compatíveis com os dispositivos Playstation2 e Playstation 3, além dos DVDs convencionais pré-gravados e virgens. O leitor 2040 é operável ainda para ler BD-ROMs compatíveis com o dispositivo Playstation3, bem como Blu-Rays convencionais pré-gravados e virgens. A unidade de sistema 2000 é operável para fornecer áudio e vídeo, ou gerado ou decodificado pelo dispositivo Playstation 3 via a unidade gráfica Reality Synthesizer 2030, através de conectores de áudio e vídeo para um dispositivo de saída de imagem e de som 2042 tal como um monitor ou televisor tendo um mostrador 2044 e um ou mais alto-falantes 2046. Os conectores de áudio 2050 podem incluir saídas análogas e digitais convencionais, enquanto os conectores de vídeo 2052 podem incluir diversificadamente um vídeo componente, S-vídeo, vídeo compósito e uma ou mais saídas de Interface Multimídia de Alta Definição (HDMI). Consequentemente, a saida de video pode estar em formatos tais como PAL ou NTSC, ou em alta definição de 720p, 1G80Í ou 1080p. O processamento (geração, decodificação e assim por diante) de áudio é executado pelo processador Cell 2028. O sistema de operação do dispositivo Playstation 3 suporta um som surround Dolby© 5.1, o Dolby® Theatre Surround (DTS), e a decodificação do som surround 7.1 a partir de discos Blu-Ray®.The 2002-2003 game controllers are operable to communicate wirelessly with the system unit 200 via the Bluetooth link, or to be connected to a USB port, thus providing the power to charge the 2002-200 game controllers battery. 2003 The 2002-2003 game controllers may also include memory, a processor, a memory card reader, a permanent memory such as flash memory, light emitters such as an illuminated spherical session, LEDs, or infrared lights, microphone and loudspeaker. speakers for ultrasound communications, an acoustic camera, a digital camera, an internal clock, a recognizable shape such as the spherical section facing the gaming console, and wireless communications using protocols such as Bluetooth®, WiFi ™, etc. The 2002 game controller is a controller designed to be used with two hands, and the 2003 game controller is a one-handed controller with an accessory. In addition to the joystick or analog joysticks and conventional knob or control knobs, the game controller is susceptible to three-dimensional location determination. As a result, game controller user gestures and movements can be translated as inputs to or in place of conventional button or joystick commands. Optionally, other wirelessly enabled peripheral devices such as the Playstation ™ Portable device can be used as a controller. For the Playstation ™ Portable device, additional game or control information (for example, control instructions or number of lives) may be provided on the device screen. Other alternative or supplementary control devices may also be used, such as a dance pad (not shown), a light gun (not shown), a steering wheel and pedals (not shown) or controller bespokes, such as one or more buttons. oversized for a quiz that requires quick answers (also not shown). The 2004 remote is also operable to communicate wirelessly with the 2000 system unit via a Bluetooth link. The 704 remote control comprises controls suitable for the operation of the 2040 Blu Ray ™ Disk Player and for browsing the contents of the disc. The 2040 Blu Ray Disk ™ BD-ROM Player is operable to read Playstation and Playstation 2 compatible CD-ROMs, plus pre-recorded and blank conventional CDs, and so-called Super Audio CDs. The 2040 player is also operable to read Playstation2 and Playstation 3 compatible DVD-ROMs, in addition to pre-recorded and blank standard DVDs. The 2040 player is also operable to read Playstation3 compatible BD-ROMs as well as pre-recorded and blank conventional Blu-Rays. The 2000 system unit is operable to deliver audio and video, or generated or decoded by the Playstation 3 device via the Reality Synthesizer 2030 graphics unit, via audio and video connectors to a 2042 picture and sound output device such as a monitor or television having a 2044 display and one or more 2046 speakers. The 2050 audio connectors may include conventional analog and digital outputs, while the 2052 video connectors may diversely include component video, S-video, composite video, and a or more High Definition Multimedia Interface (HDMI) outputs. Consequently, the video output can be in formats such as PAL or NTSC, or in high definition 720p, 1G80II or 1080p. Audio processing (generation, decoding, and so forth) is performed by the Cell 2028 processor. The Playstation 3 device's operating system supports Dolby © 5.1 surround sound, Dolby® Theater Surround (DTS), and sound decoding 7.1 surround from Blu-Ray® discs.

Na presente configuração, a câmera de video 2012 compreende um dispositivo acoplado de carga única (CCD), um indicador de LED, e um aparelho para compressão e codificação de dados em tempo real com base em hardware de modo que dados de video comprimidos possam ser transmitidos em um formato apropriado tal como um padrão MPEG com base em imagem interna (grupo expert em imagem animada) para decodificação pela unidade de sistema 2000. O indicador LED da câmera está organizado para iluminar em resposta a dados de controle apropriados da unidade de sistema 2000, por exemplo, para significar condições de luz adversas. Configurações da câmera de video 2012 podem se conectar de várias maneiras à unidade de sistema 700 por uma entrada de comunicação USB, Bluetooth ou wi-fi. Configurações da câmera de video podem incluir um ou mais microfones associados e também podem ser capazes de transmitir dados de áudio. Em configurações da câmera de vídeo, o CCD pode ter uma resolução adequada para captura de vídeo em alta definição. Quando em uso, imagens capturadas pela câmera de vídeo podem, por exemplo, ser incorporadas dentro de um jogo ou interpretadas como entradas de controle de jogo. Em Dutra configuração, a câmera é uma câmera infravermelha adequada para detectar luz infravermelha.In the present embodiment, the video camera 2012 comprises a single charge coupled device (CCD), an LED indicator, and a hardware based real time data compression and encoding apparatus so that compressed video data can be transmitted in an appropriate format such as an internal image-based MPEG standard (animated image expert group) for decoding by the 2000 system unit. The camera's LED indicator is arranged to illuminate in response to appropriate system unit control data. 2000, for example, to mean adverse light conditions. 2012 camcorder configurations can connect to the 700 system unit in a variety of ways via a USB, Bluetooth, or wifi communication input. Camcorder configurations may include one or more associated microphones and may also be capable of transmitting audio data. In camcorder settings, the CCD may have a resolution suitable for high definition video capture. When in use, images captured by the camcorder can, for example, be embedded within a game or interpreted as game control inputs. In Dutra configuration, the camera is an infrared camera suitable for detecting infrared light.

Em geral, para que ocorra uma comunicação de dados bem-sucedida com um dispositivo periférico tal como uma câmera de video ou controle remoto por uma das entradas de comunicação da unidade de sistema 2000, uma peça apropriada de software tal como um acionador de dispositivo deve ser proporcionada. A tecnologia de acionador de dispositivo é bem conhecida e não será descrita em detalhe aqui, exceto para dizer que o especialista na técnica vai estar ciente de que um acionador de dispositivo ou interface de software similar pode ser exigido na presente configuração descrita. A Figura 21 ilustra um hardware adicional que pode ser usado para processar instruções, de acordo com uma configuração da presente invenção. O processador Cell 208 tem uma arquitetura que compreende quatro componentes básicos: estruturas externas de entrada e saida compreendendo um controlador de memória 2160 e um controlador de interface de barramento dual 2170A, B; um processador principal chamado de Elemento de Processamento de Energia 2150; oito co-processadores chamados de Elementos de Processamento Sinérgico (SPEs) 2110A-H; e um barramento de dados circular conectando os componentes acima mencionados como Barramento de Interconexão de Elemento 2180. O desempenho de ponto de flutuação total do processador Cell é 218 GFLOPS, em comparação com os 6,2 GFLOPs do dispositivo Emotion Engine do Playstation 2. O Elemento de Processamento de Energia (PPE) 2150 se baseia em um núcleo de PowerPC (PPÜ) 855 que atende ao multirosqueamento simultâneo em dois sentidos Power 570 rodando com um relógio interno de 3,2 GHz. Ele compreende um cache nivel 2 (L2) de 512 kB e a um cache nivel 1 (Ll) de 32 kB. O PPE 2150 é capaz de oito operações de uma só posição por estilo de relógio, transladando para 25,6 GFLOPs a 3,2 GHz. O papel principal do PPE 2150 é atuar como controlador para os Elementos de Processamento Sinérgico 2110A-H, que cuida da maior parte da carga de trabalho do computador. Ao operar o PPE 2150 mantém uma fila de trabalhos, agendando trabalhos para os Elementos de Processamento Sinérgico 2110A-H e monitorando seu andamento. Consequentemente cada Elemento de Processamento Sinérgico 2110A-H roda um núcleo cujo papel é buscar um trabalho, executá-lo e sincronizar com o PPE 2150.In general, for successful data communication to occur with a peripheral device such as a video camera or remote control via one of the system unit 2000 communication inputs, an appropriate piece of software such as a device driver must be proportionate. Device driver technology is well known and will not be described in detail here except to say that the person skilled in the art will be aware that a device driver or similar software interface may be required in the present described configuration. Figure 21 illustrates additional hardware that can be used to process instructions in accordance with one embodiment of the present invention. The Cell 208 processor has an architecture comprising four basic components: external input and output structures comprising a 2160 memory controller and a dual bus interface controller 2170A, B; a main processor called the 2150 Power Processing Element; eight coprocessors called Synergistic Processing Elements (SPEs) 2110A-H; and a circular data bus connecting the above-mentioned components as 2180 Element Interconnect Bus. The Cell processor's total floating point performance is 218 GFLOPS, compared to the 6.2 GFLOPs of the Playstation 2 Emotion Engine device. Power Processing Element (PPE) 2150 is based on a PowerPC (PPÜ) 855 core that supports simultaneous Power 570 two-way multiresquoting running with a 3.2 GHz internal clock. It comprises a level 2 (L2) cache 512 kB and a 32 kB level 1 (L1) cache. The PPE 2150 is capable of eight one-position operations per clock style, translating to 25.6 GFLOPs at 3.2 GHz. The primary role of the PPE 2150 is to act as a controller for the 2110A-H Synergistic Processing Elements, which takes care of most of your computer workload. Operating the PPE 2150 maintains a job queue, scheduling jobs for the 2110A-H Synergistic Processing Elements and monitoring their progress. Accordingly each Synergistic Processing Element 2110A-H rotates a core whose role is to search for a job, execute it, and synchronize with the PPE 2150.

Cada Elemento de Processamento Sinérgico (SPE) 2110A-H compreende uma respectiva Unidade de Processamento Sinérgico (SPU) 2120A-H, e um respectivo Controlador de Fluxo de Memória (MFC) 2140A-H que compreende por sua vez um respectivo Controlador de Acesso de Memória Dinâmica (DMAC)2142A-H, uma respectiva Unidade de Gerenciamento de Memória (MMU)2144A-H e uma interface de barramento (não mostrada) . Cada SPU 2120A-H é um processador RISC cronometrado em 3,2 GHz e compreendendo RAM 2130A-H local de 256 kB, que pode em princípio ser expandido até 4GB. Cada SPE proporciona em teoria 25,6 GFLOPS de desempenho com precisão única. Uma SPU pode operar em membros com ponto de flutuação de precisão única, 4 números de 32 bits, 8 números inteiros de 16 bits, ou 16 inteiros com 8 bits em um único ciclo do relógio. No mesmo ciclo do relógio ele também pode desempenhar uma operação de memória. A SPU 2120Α-Η não acessa diretamente a memória XDRAM 2026 do sistema; os endereços de 64 bits formados pela SPU 2120A-H são passados para o MFC 214GA-H que instrui seu controlador 2142A-H a acessar a memória via Barramento de Interconexão de Elemento 2180 e controlador de memória 2160. 0 Barramento de Interconexão de Elemento (EIB) 2180 é um barramento de comunicação logicamente circular interno ao processador Cell 2028 que conecta os elementos de processador acima, isto é, o PPE 2150, o controlador de memória 2160, a interface de barramento dual 2170A,B e os 8 SPEs 2110A-H, totalizando 12 participantes. Os participantes podem simultaneamente ler e escrever para o barramento a uma taxa de 8 bytes por ciclo do relógio. Como observado anteriormente, cada SPE 2110A-H compreende um DMAC 2142A-H para agendar sequências mais longas de ler ou escrever. O EIB compreende quatro canais, dois de cada em direções horária e anti-horária. Consequentemente para 12 participantes, o fluxo de dados mais longo quanto a etapas entre dois participantes quaisquer é de seis etapas na direção apropriada. A largura máxima instantânea teórica de banda EIB para 12 fendas é, portanto, de 96B por relógio, no caso da utilização integral através de um arbítrio entre participantes. Isso é igual a um largura de banda teórica máxima de 307,2 GB/s (gigabytes por segundo) a uma taxa de relógio de 3,2GHz. O controlador de memória 2160 compreende uma interface XDRAM 2162, desenvolvida pela Rambus Incorporated. O controlador de memória faz uma interface com o Rambus XDRAM 2026 com uma largura de banda máxima teórica de 25,6 GB/s. A interface de barramento dupla 2170A,B compreende uma interface 2172A,B de sistema Rambus FlexIO®. A interface é organizada em 12 canais cada um tendo uma largura de 8 bits, com cinco trajetos sendo voltados para dentro e sete voltados para fora. Isso proporciona uma largura de banda máxima teórica de 62,4 GB/s (36,4 GB/s voltados para for, 26 GB/s voltados para dentro) entre o processador Cell e a Ponte 1/0 2034 via controlador 2170A e a unidade gráfica Reality Simulator 2130 via controlador 2170B.Each 2110A-H Synergic Processing Element (SPE) comprises a respective 2120A-H Synergic Processing Unit (SPU) and a respective 2140A-H Memory Flow Controller (MFC) which in turn comprises a respective Access Memory Controller. 2142A-H Dynamic Memory (DMAC), a respective 2144A-H Memory Management Unit (MMU), and a bus interface (not shown). Each 2120A-H SPU is a 3.2 GHz timed RISC processor comprising 256 kB local 2130A-H RAM, which can in principle be expanded to 4GB. Each SPE theoretically delivers 25.6 GFLOPS of performance with unique accuracy. A SPU can operate on single precision floating point members, 4 32-bit numbers, 8 16-bit integers, or 16 8-bit integers in a single clock cycle. In the same clock cycle it can also perform a memory operation. The SPU 2120Α-Η does not directly access system XDRAM 2026 memory; 64-bit addresses formed by the 2120A-H SPU are passed to the MFC 214GA-H which instructs its 2142A-H controller to access memory via the 2180 Element Interconnect Bus and 2160 memory controller. 0 Element Interconnect Bus ( EIB) 2180 is a logically circular communication bus internal to the Cell 2028 processor that connects the above processor elements, namely the PPE 2150, the 2160 memory controller, the 2170A, B dual bus interface and the 2110A-8 SPEs. H, totaling 12 participants. Participants can simultaneously read and write to the bus at a rate of 8 bytes per clock cycle. As noted earlier, each SPE 2110A-H comprises a DMAC 2142A-H to schedule longer read or write sequences. The EIB comprises four channels, two each in clockwise and counterclockwise directions. Consequently for 12 participants, the longest step data flow between any two participants is six steps in the appropriate direction. The theoretical maximum instantaneous EIB bandwidth for 12 slots is therefore 96B per clock, in case of full use through a discretion between participants. This equals a maximum theoretical bandwidth of 307.2 GB / s (gigabytes per second) at a clock rate of 3.2GHz. The 2160 memory controller comprises an XDRAM 2162 interface developed by Rambus Incorporated. The memory controller interfaces with the Rambus XDRAM 2026 with a theoretical maximum bandwidth of 25.6 GB / s. The 2170A, B dual bus interface comprises a Rambus FlexIO® system interface 2172A, B. The interface is organized into 12 channels each having an 8-bit width, with five paths facing inwards and seven facing outwards. This provides a theoretical maximum bandwidth of 62.4 GB / s (36.4 GB / s facing out, 26 GB / s facing in) between the Cell processor and the 1/0 2034 Bridge via the 2170A controller and the Reality Simulator 2130 graphics unit via 2170B controller.

Dados enviados pelo processador Cell 2128 para a unidade gráfica Reality Simulator 2130 vão tipicamente compreender listas de exibição, sendo uma sequência de comandos para desenhar vértices, aplicar texturas a polígonos, especificar condições de luz, e assim por diante. A Figura 22 é uma ilustração exemplificativa da cena A até a cena E com o respectivo usuário de A a E interagindo com os clientes de jogo 2202 que estão conectados ao processamento do servidor pela internet, de acordo com uma configuração da presente invenção. Um cliente de jogo é um dispositivo que permite aos usuários se conectarem aos aplicativos do servidor e a efetuar o processamento via internet. 0 cliente de jogo permite aos usuários acessar e reproduzir online conteúdo ligado a entretenimento como, entre outros, filmes, músicas e fotos. Além disso, o cliente de jogo pode proporcionar acesso a aplicativos ligados à comunicação on-line, como VOIP, protocolos de bate-papo por texto, e e-mail.Data sent by the Cell 2128 processor to the Reality Simulator 2130 graphics unit will typically comprise display lists, a sequence of commands for drawing vertices, applying textures to polygons, specifying light conditions, and so on. Figure 22 is an exemplary illustration of scene A through scene E with the respective user A through E interacting with game clients 2202 that are connected to server processing over the internet, in accordance with one embodiment of the present invention. A game client is a device that allows users to connect to server applications and perform processing via the internet. The game client allows users to access and play online entertainment-related content such as movies, music, and photos. In addition, the game client can provide access to online communication applications such as VOIP, text chat protocols, and email.

Um usuário interage com o cliente de jogo via controlador. Em algumas configurações o controlador é um controlador especifico de cliente de jogo enquanto em outras configurações, o controlador pode ser uma combinação de teclado e mouse. Em uma configuração, o cliente de jogo é um dispositivo autossuficiente capaz de transmitir sinais de áudio e video para criar um ambiente multimídia através de um monitor/televisão e um equipamento de áudio associado. Por exemplo, o cliente de jogo pode ser, entre outros, um cliente magro, um cartão PCI-express interno, um cartão PCI-express externo, um dispositivo ExpressCard, um dispositivo USB interno, externo ou sem fio, ou um dispositivo Firewíre, etc. Em outras configurações, o cliente de jogo está integrado a uma televisão ou outro dispositivo multimidia tal como um DVR, aparelho de Blu-Ray, aparelho de DVD ou receptor em múltiplos canais.A user interacts with the game client via controller. In some configurations the controller is a game client specific controller while in other configurations the controller may be a combination of keyboard and mouse. In one embodiment, the gaming client is a self-contained device capable of transmitting audio and video signals to create a multimedia environment via a monitor / television and associated audio equipment. For example, the gaming client may be, but is not limited to, a thin client, an internal PCI-express card, an external PCI-express card, an ExpressCard device, an internal, external or wireless USB device, or a Firewire device, etc. In other embodiments, the game client is integrated with a television or other multimedia device such as a DVR, Blu-Ray player, DVD player or multi-channel receiver.

Dentro da cena A da Figura 22, o usuário A interage com um aplicativo de cliente exibido em um monitor 2204A utilizando um controlador 2206A fazendo par com o cliente de jogo 2202A. Similarmente, dentro da CNA B, o usuário B interage com outro aplicativo de cliente que é mostrado no monitor 2204B utilizando um controlador 2206B fazendo par com o cliente de jogo 2202B. A cena C ilustra uma visualização tomada por trás do usuário C enquanto ele olha para um monitor que exibe um jogo e lista de amigos do cliente de jogo 2202C. Enquanto a Figura 22 mostra um só módulo de processamento de servidor, em uma configuração existem múltiplos módulos de processamento de servidor por todo o mundo. Cada módulo de processamento de servidor inclui submódulos para controle da sessão pelo usuário, lógica de compartilhamento/comunicação, localização geográfica do usuário, e serviço de processamento de equilíbrio de carga. Além disso, um módulo de processamento de servidor inclui processamento de rede e armazenamento distribuído.Within scene A of Figure 22, user A interacts with a client application displayed on a 2204A monitor using a 2206A controller pairing with the 2202A game client. Similarly, within CNA B, user B interacts with another client application that is shown on the 2204B monitor using a 2206B controller pairing with the 2202B game client. Scene C illustrates a view taken from behind user C as he looks at a monitor that displays a game and friends list of the 2202C game client. While Figure 22 shows a single server processing module, in one configuration there are multiple server processing modules around the world. Each server processing module includes sub-modules for user session control, sharing / communication logic, user geographic location, and load balancing processing service. In addition, a server processing module includes network processing and distributed storage.

Quando um cliente de jogo 2202 se conecta a u módulo de processamento de servidor, o controle de sessão de usuário pode ser usado para autenticar o usuário. Um usuário autenticado pode ter armazenamento distribuído virtual e processamento de rede virtual. Exemplos de itens que podem ser armazenados como parte de um armazenamento distribuído virtual de usuário incluem meios adquiridos tais como, entre outros, jogos, vídeos e música, etc. Além disso, armazenamento distribuído pode ser usado para salvar o status do jogo de múltiplos jogos, configurações customizadas para jogos avulsos, e configurações gerais para o cliente de jogo. Em uma configuração, o módulo de localização geográfica do processamento de servidor é usado para determinar a localização geográfica de um usuário e de seu respectivo cliente de jogo. A localização geográfica do usuário pode ser usada tanto pela lógica de compartilhamento/comunicação quanto pelo serviço de processamento de equilíbrio de carga para otimizar o desempenho com base no local geográfico e processar as demandas dos módulos de processamento de servidor múltiplo. Colocar no mundo virtual ou o processamento de rede ou o armazenamento de rede ou ambos permitiría o processamento de tarefas de clientes de jogo a serem dinamicamente mudados para um módulo (ou módulos) de processamento de servidor subutilizado(s) . Assim, o balanceamento de carga pode ser usado para minimizar a latência associada tanto a um recall do que está armazenado quanto à transmissão de dados entre módulos de processamento de servidor e clientes de jogo. O módulo de processamento de servidor tem instâncias do aplicativo de servidor Δ e do aplicativo de servidor B. O módulo de processamento de servidor é capaz de suportar múltiplos aplicativos de servidor como indicado pelo aplicativo de servidor Xx e aplicativo de servidor X2. Em uma configuração, o processamento do servidor se baseia em uma arquitetura de computação de aglomerado que permite múltiplos processadores dentro de um aglomerado para processar aplicativos de servidor. Em outra configuração, um tipo diferente de esquema de processamento de múltiplos computadores é aplicado para processar os aplicativos de servidor. Isso permite que o processamento do servidor seja escalonado a fim de acomodar um número maior de clientes de jogo que executam múltiplos aplicativos de cliente e aplicativos de servidor correspondente. Alternativamente, o processamento do servidor pode ser escalonado para acomodar crescentes demandas de computação necessárias para processamento de gráfico ou de jogo mais complexo, compressão de jogo, ou complexidade de aplicativo. Em uma configuração, o módulo de processamento de servidor desempenha a maior parte do processamento via aplicativo do servidor. Isso permite que componentes relativamente caros tais como processadores gráficos, RAM, e processadores gerais estejam localizados em uma posição central e reduz o custo do cliente de jogo. Dados de aplicativo de servidor processados são enviados de volta para o cliente de jogo correspondente via internet para serem dispostos em um monitor . A cena C ilustra um aplicativo exemplificativo que pode ser executado pelo cliente de jogo e pelo módulo de processamento de servidor. Por exemplo, em uma configuração o cliente de jogo 2202C permite ao usuário C criar e ver uma lista de amigos 2220 que inclui o usuário A, o usuário B, o usuário D e o usuário E. Como mostrado, na cena C, o usuário C é capaz de ver imagens em tempo real ou avatares do respectivo usuário no monitor 2204C. O processamento do servidor executa os respectivos aplicativos do cliente de jogo 2202C e com os respectivos clientes de jogo 2202 dos usuários A, usuário B, usuário D e usuário E. Pelo fato do processamento do servidor estar consciente dos pedidos que estão sendo executados pelo cliente de jogo B, a lista de amigos do usuário A pode indicar qual jogo o usuário B está jogando. Mais ainda, em uma configuração, o usuário A pode ter uma visualização real do videogame diretamente do usuário B. Isto é habilitado pelo mero envio meramente pelo envio de dados processados do aplicativo do servidor do usuário B para o cliente de jogo A além do cliente de jogo B.When a 2202 game client connects to a server processing module, user session control can be used to authenticate the user. An authenticated user can have virtual distributed storage and virtual network processing. Examples of items that may be stored as part of virtual distributed user storage include purchased media such as, but not limited to, games, videos and music, etc. In addition, distributed storage can be used to save game status from multiple games, custom settings for single games, and general settings for the game client. In one configuration, the server processing geo module is used to determine the geo location of a user and his or her gaming client. User geographic location can be used by both sharing / communication logic and load balancing processing service to optimize performance based on geographic location and to handle the demands of multiple server processing modules. Putting in virtual world or network processing or network storage or both would allow the processing of game client tasks to be dynamically switched to an underutilized server processing module (s). Thus, load balancing can be used to minimize latency associated with both a recall of what is stored and data transmission between server processing modules and game clients. The server processing module has instances of server application Δ and server application B. The server processing module is capable of supporting multiple server applications as indicated by server application Xx and server application X2. In one configuration, server processing is based on a cluster computing architecture that allows multiple processors within a cluster to process server applications. In another configuration, a different type of multiple computer processing scheme is applied to process server applications. This allows server processing to be scaled to accommodate a larger number of game clients running multiple client applications and corresponding server applications. Alternatively, server processing can be scaled to accommodate the increasing computing demands required for more complex graphics or game processing, game compression, or application complexity. In one configuration, the server processing module performs most processing via server application. This allows relatively expensive components such as graphics processors, RAM, and general processors to be centrally located and reduces the cost of the gaming client. Processed server application data is sent back to the corresponding game client via the internet to be arranged on a monitor. Scene C illustrates an example application that can be run by the game client and server processing module. For example, in one configuration, the 2202C game client allows user C to create and view a friend list 2220 that includes user A, user B, user D, and user E. As shown in scene C, user C C is able to view real-time images or user avatars on the 2204C monitor. Server processing runs the respective 2202C game client applications and with the respective 2202 game clients from users A, user B, user D, and user E. Because server processing is aware of requests being executed by the client B, User A's friends list can indicate which game User B is playing. Further, in one configuration, user A can have an actual view of the video game directly from user B. This is enabled by merely sending processed data from the application from server B to game client A in addition to client of game B.

Além de possibilitar a visualização de video de amigos, o aplicativo de comunicação pode permitir comunicações em tempo real entre amigos. Como aplicado ao exemplo anterior, isso permite ao usuário A encorajar ou dar dicas enquanto assiste video em tempo real do usuário B. Em uma configuração uma comunicação de voz nos dois sentidos em tempo real é estabelecida através de um aplicativo cliente/servidor. Em outra configuração, um aplicativo cliente/servidor converte a fala em texto para exibição na tela de um amigo. A cena D e a cena E ilustram os respectivos usuário D e o usuário E interagindo com consoles de jogo 2210D e 2210E respectivamente. Cada console de jogo 2210D e 2210E está conectado ao módulo de processamento do servidor e ilustra uma rede onde o servidor que está processando os módulos coordena o jogo tanto para os consoles de jogo quanto para os clientes de jogo. A Figura 23 ilustra uma configuração de uma arquitetura de Provedor de Serviço de Informação. Os Provedores de Serviço de Informação (ISP) 2370 envia múltiplos serviços de informação para os usuários 2382 geograficamente dispersos e conectados via rede 2386. Um ISP pode enviar apenas um tipo de serviço, tal como atualizações de preço de ações, ou uma variedade de serviços tais como meios de transmissão, noticias, esportes, jogos, etc. Além disso, os serviços oferecidos por cada ISP são dinâmicos, isto é, serviços podem ser acrescentados ou retirados a qualquer momento. Assim, o ISP que proporciona um tipo particular para um indivíduo em particular pode mudar ao longo do tempo. Por exemplo, um usuário pode ser servido por um ISP bem proximamente do usuário enquanto o usuário está na cidade onde reside, e o usuário pode ser servido por um ISP diferente quando o usuário viaja para uma cidade diferente. O ISP da cidade-residência vai transferir a informação requerida e os dados para o novo ISP, de modo que a informação do usuário "segue" o usuário para a nova cidade tornando os dados mais próximos do usuário e mais fáceis de serem acessados. Em outra configuração, uma relação mestre-servidor pode ser estabelecida entre um ISP mestre, que gerencia a informação para o usuário, e um ISP servidor, que faz uma interface diretamente com o usuário sob controle do ISP mestre. Em outra configuração, os dados são transferidos de um ISP para outro ISP enquanto o cliente se move ao redor do mundo para fazer com que o ISP em melhor posição para servir o usuário seja aquele que envia esses serviços. O ISP 2370 inclui o Provedor de Serviço de Aplicativo (ASP) 2372, que proporciona serviços com base em computador para clientes em uma rede. O software oferecido utilizando um modelo ASP também é chamado algumas vezes de software on-demand ou software ou software ou como serviço (SaaS). Uma forma simples de proporcionar acesso a um programa de aplicativo especifico (tal como um gerenciamento de relação de cliente) é pela utilização de um protocolo padrão tal como HTTP. O software do aplicativo reside no sistema do fornecedor e é acessado por usuários através de um navegador de rede utilizando HTML, por um software para cliente de uso especial oferecido pelo fornecedor, ou outra interface remota tal como um cliente magro.In addition to enabling video viewing of friends, the communication application can enable real time communications between friends. As applied to the previous example, this allows user A to encourage or hint while watching real-time video from user B. In one configuration, real-time two-way voice communication is established through a client / server application. In another configuration, a client / server application converts speech to text for display on a friend's screen. Scene D and scene E illustrate the respective user D and user E interacting with game consoles 2210D and 2210E respectively. Each 2210D and 2210E game console is connected to the server processing module and illustrates a network where the server that is processing the modules coordinates the game for both game consoles and game clients. Figure 23 illustrates a configuration of an Information Service Provider architecture. Information Service Providers (ISPs) 2370 send multiple information services to geographically dispersed 2382 users connected via 2386 network. An ISP may send only one type of service, such as stock price updates, or a variety of services. such as broadcast media, news, sports, games, etc. In addition, the services offered by each ISP are dynamic, ie services can be added or withdrawn at any time. Thus, the ISP that provides a particular type to a particular individual may change over time. For example, a user may be served by an ISP very close to the user while the user is in the city where they live, and the user may be served by a different ISP when the user travels to a different city. The hometown ISP will transfer the required information and data to the new ISP, so that user information "follows" the user to the new city making the data closer to the user and easier to access. In another configuration, a master-server relationship may be established between a master ISP, which manages information for the user, and a server ISP, which interfaces directly with the user under control of the master ISP. In another configuration, data is transferred from one ISP to another ISP as the customer moves around the world to make the ISP in the best position to serve the user to send those services. ISP 2370 includes Application Service Provider (ASP) 2372, which provides computer-based services to clients on a network. Software offered using an ASP model is also sometimes referred to as on-demand software or software or software or as a service (SaaS). A simple way to provide access to a specific application program (such as client relationship management) is by using a standard protocol such as HTTP. The application software resides on the vendor system and is accessed by users through a web browser using HTML, vendor-provided special-use client software, or another remote interface such as a thin client.

Serviços enviados por uma área geográfica ampla frequentemente utilizam computação por solicitação. A computação por solicitação é um estilo de computação no qual recursos que podem ser escalonados e frequentemente virtualizados são proporcionados como serviço pela internet. Os usuários não precisam ser especialistas na infreestrutura de tecnologia na "nuvem" que os suporta. A computação em nuvem pode ser dividida em diferentes serviços, tais como Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS), e Software como Serviço (SaaS). Serviços de computação em nuvem frequentemente proporcionam aplicativos comerciais comuns on-line que são acessados a partir de um navegador da rede, enquanto o software e os dados estão armazenados nos servidores. 0 termo nuvem é usado como metáfora para a internet, com base em como a internet é apresentada em diagramas de rede de computador e é uma abstração para a infraestrutura complexa que ela encerra.Services sent over a wide geographic area often use on-demand computing. Demand computing is a style of computing in which scalable and often virtualized features are provided as a service over the Internet. Users do not need to be experts in the technology infrastructure in the "cloud" that supports them. Cloud computing can be divided into different services, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Cloud computing services often provide common online business applications that are accessed from a web browser, while software and data are stored on servers. The term cloud is used as a metaphor for the internet, based on how the internet is presented in computer network diagrams and is an abstraction for the complex infrastructure that it encloses.

Além disso, o ISP 2370 inclui um Servidor de Processamento de Jogo (GPS) 2374 que é usado pelos clientes do jogo para jogar videogames com um e múltiplos jogadores. A maior parte dos videogames jogados na internet opera via uma conexão com um servidor de jogo. Tipicamente, jogos usam um aplicativo servidor exclusivo que coleta dados de jogadores e os distribui para outros jogadores. Isto é mais eficiente e efetivo que uma organização de igual para igual, mas requer um servidor separado para servir de hospedeiro para o aplicativo servidor. Em outra configuração, o GPS estabelece comunicação entre os jogadores e seus respectivos dispositivos de jogo trocam informações sem se basear no GPS centralizado. GPSs exclusivos são servidores que rodam independentemente do cliente. Esses servidores são normalmente rodados em hardware exclusivo localizado em centros de dados, proporcionando mais largura de banda e potência de processamento exclusivo. Servidores exclusivos são o método preferido de hospedar servidores de jogo para a maioria dos jogos com múltiplos jogadores com base em PC. Jogos massivamente com múltiplos jogadores rodam em servidores dedicados normalmente hospedados pela companhia de software que são donos do titulo do jogo, permitindo aos mesmos controlar e atualizar o conteúdo. 0 Servidor de Processamento de Transmissão (BPS) 2376 distribui sinais de áudio ou vídeo para uma audiência. A transmissão para uma faixa muito estreita de audiência é algumas vezes chamada narrowcasting. O trecho final da distribuição de transmissão é como o sinal chega ao ouvinte ou espectador, e ele pode vir pelo ar como uma estação de rádio ou estação de TV para uma antena e receptor, ou pode vir por TV a cabo ou rádio a cabo (ou "cabo sem fio") pela estação ou diretamente a partir de uma rede. A internet também pode trazer rádio ou TV para o recipiente, especialmente por multicast permitindo que o sinal e a largura de banda sejam compartilhados. Historicamente, as transmissões foram delimitadas por uma região geográfica, tal como transmissões nacionais ou transmissão regional. Entretanto, com a proliferação da internet rápida, transmissões não são definidas por geografias uma vez que o conteúdo pode chegar a quase qualquer pais no mundo. O Provedor de Serviço de Armazenamento (SSP) 2378 proporciona espaço de armazenamento no computador e serviços de gerenciamento relacionados. SSPs também oferecem backup periódico e arquivamento. Pelo oferecimento de armazenamento como serviço, os usuários podem ordenar mais armazenamento conforme necessário. Outra vantagem significativa é que os SSPs incluem serviços de backup e os usuários não vão perder todos os seus dados se os hard drives de seus computadores falharem. Além disso, uma pluralidade de SSPs pode ter cópias totais ou parciais dos dados do usuário, permitindo aos usuários acessar dados de uma maneira eficiente independentemente de se o usuário está localizado ou o dispositivo sendo usado para acessar os dados. Por exemplo, um usuário pode acessar arquivos pessoais no computador doméstico, bem como em telefone celular enquanto o usuário está se mudando. O Provedor de Comunicações 380 proporciona conectividade para os usuários. Um tipo de Provedor de Comunicações é um Provedor de Serviço de Internet (ISP) que oferece acesso para a internet. O ISP conecta seus clientes utilizando uma tecnologia de transmissão de dados apropriada para enviar datagramas de Protocolo da Internet, tal como discagem, DSL, modem de cabo, sem fio ou interconexões exclusivas de alta velocidade. O Provedor de Comunicações também pode proporcionar serviços de mensagem, tais como e-mail, mensagem instantânea, e texto de SMS. Outro tipo de Provedor de Comunicações é o provedor de Serviço de Rede (NSP) que vende largura de banda ou acesso à rede proporcionando acesso de backbone direto à internet. Provedores de serviço de rede podem consistir de companhias de telecomunicações, portadores de dados, provedores de comunicações sem fio, provedores de serviço da internet, operadores de televisão a cabo oferecendo acesso a internet de alta velocidade, etc. Ά Troca de Dados 2388 interconecta os diversos módulos dentro do ISP 2370 e conecta esses módulos aos usuários 2382 via rede 2386. A Troca de Dados 2388 pode cobrir uma pequena área onde todos os módulos de ISP 2370 estão muito próximos, ou podem cobrir uma grande área geográfica quando os diferentes módulos estão geograficamente dispersos. Por exemplo, a Troca de Dados 2388 pode incluir um Ethernet Gigabit (ou mais rápido) dentro de um arquivo de um centro de dados, ou uma rede de área virtual intercontinental (VLAN).In addition, the ISP 2370 includes a 2374 Game Processing Server (GPS) that is used by game customers to play single and multiplayer video games. Most video games played on the Internet operate via a connection to a game server. Typically, games use a unique server application that collects player data and distributes it to other players. This is more efficient and effective than a peer-to-peer organization, but requires a separate server to host the server application. In another configuration, GPS establishes communication between players and their respective gaming devices exchange information without relying on centralized GPS. Unique GPSs are servers that run independently of the client. These servers are typically run on unique hardware located in data centers, providing more bandwidth and unique processing power. Exclusive servers are the preferred method of hosting game servers for most PC-based multiplayer games. Massively multiplayer games run on dedicated servers usually hosted by the software company that own the game title, allowing them to control and update the content. Broadcast Processing Server (BPS) 2376 distributes audio or video signals to an audience. Broadcasting to a very narrow range of audience is sometimes called narrowcasting. The final stretch of broadcast distribution is how the signal reaches the listener or viewer, and it can come over the air like a radio station or TV station to an antenna and receiver, or it can come through cable TV or cable radio ( or "wireless cable") through the station or directly from a network. The internet can also bring radio or TV into the container, especially by multicasting allowing signal and bandwidth to be shared. Historically, broadcasts have been delimited by a geographic region, such as national broadcasts or regional broadcasts. However, with the proliferation of fast internet, broadcasts are not geographically defined as content can reach almost any country in the world. Storage Service Provider (SSP) 2378 provides computer storage space and related management services. SSPs also offer periodic backup and archiving. By offering storage as a service, users can order more storage as needed. Another significant advantage is that SSPs include backup services and users will not lose all their data if their computer hard drives fail. In addition, a plurality of SSPs can have full or partial copies of user data, allowing users to efficiently access data regardless of whether the user is located or the device being used to access the data. For example, a user can access personal files on the home computer as well as on a mobile phone while the user is moving. Communications Provider 380 provides connectivity to users. One type of Communications Provider is an Internet Service Provider (ISP) that offers access to the internet. The ISP connects its customers using appropriate data transmission technology to send Internet Protocol datagrams, such as dial, DSL, cable modem, wireless, or unique high-speed interconnects. The Communications Provider may also provide messaging services such as email, instant messaging, and SMS text. Another type of Communications Provider is the Network Service Provider (NSP) that sells bandwidth or network access by providing direct backbone access to the internet. Network service providers may consist of telecommunications companies, data carriers, wireless providers, internet service providers, cable television operators offering high speed internet access, etc. 23 2388 Data Exchange interconnects the various modules within the 2370 ISP and connects these modules to 2382 users via the 2386 network. The 2388 Data Exchange can cover a small area where all 2370 ISP modules are very close together, or can cover a large geographical area when the different modules are geographically dispersed. For example, Data Exchange 2388 might include Gigabit (or faster) Ethernet within a data center file, or an intercontinental virtual area network (VLAN).

Os usuários 2382 acessam os serviços remotos com o dispositivo de cliente 2384, que inclui pelo menos uma CPU, um mostrador e 1/0. O dispositivo de cliente pode ser um PC, um celular, um netbook, um PDA, etc. Em uma configuração, o ISP 2370 reconhece o tipo de dispositivo usado pelo cliente e ajusta o método de comunicação empregado. Em outros casos, dispositivos de cliente usam um método de comunicação padrão, tal como HTML, para acessar os ISP 2370.2382 users access remote services with the 2384 client device, which includes at least one CPU, one display, and 1/0. The client device can be a PC, a mobile phone, a netbook, a PDA, etc. In one configuration, ISP 2370 recognizes the type of device used by the client and adjusts the communication method employed. In other cases, client devices use a standard communication method, such as HTML, to access ISP 2370.

Configurações da presente invenção podem ser postas em prática com. várias configurações de sistema de computador incluindo dispositivos portáteis, sistemas microprocessadores, dispositivos eletrônicos para consumidores com base em microprocessador ou programáveis, microcomputadores, computadores de grande porte e similares. A invenção também pode ser posta em prática em ambientes de computação distribuídos onde tarefas são realizadas por dispositivos de processamento que estão ligados através de uma rede com base em fio ou sem fio.Configurations of the present invention may be practiced with. various computer system configurations including handheld devices, microprocessor systems, microprocessor-based or programmable consumer electronics devices, microcomputers, large computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by processing devices that are connected via a wired or wireless based network.

Com as configurações acima em mente, deve ser entendido que a invenção pode empregar várias operações implementadas por computador envolvendo dados armazenados em sistemas de computador. Essas operações são aquelas que exigem manipulação física de quantidades físicas. Qualquer das operações descritas aqui que formam parte da invenção são operações de máquina úteis. A invenção também se refere a um dispositivo ou um aparelho para desempenhar essas operações. O aparelho pode ser construído especialmente para o uso requerido, ou o aparelho pode ser computador de uso geral seletivamente ativado ou configurado por um programa de computador armazenado no computador. Em particular, várias máquinas de uso geral podem ser usadas com programas de computador escritos de acordo com os ensinamentos aqui, ou pode ser mais conveniente para construir um aparelho mais especializado para desempenhar as operações exigidas. A invenção também pode ser incorporada com código legível por computador em um meio legível por computador. O meio legível por computador é qualquer dispositivo de armazenamento de dados que possa armazenar dados, os quais podem ser lidos por um sistema de computador. Exemplos do meio legível por computador incluem hard drives, armazenamento ligado à rede (NAS), memória apenas para leitura, memória de acesso aleatório, CD-ROMs, CD-Rs, CD-RWs, fitas magnéticas e outros dispositivos de armazenamento ópticos e não-óticos. O meio legível por computador pode incluir meio tangível legível por computador distribuído em um sistema de computador acoplado a rede de modo que o código legível por computador é armazenado e executado de uma maneira distribuída.With the above configurations in mind, it should be understood that the invention may employ various computer implemented operations involving data stored in computer systems. These operations are those that require physical manipulation of physical quantities. Any of the operations described herein that form part of the invention are useful machine operations. The invention also relates to a device or apparatus for performing such operations. The apparatus may be constructed especially for the required use, or the apparatus may be selectively activated general purpose computer or configured by a computer program stored on the computer. In particular, various general purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations. The invention may also be incorporated with computer readable code in a computer readable medium. Computer readable medium is any data storage device that can store data which can be read by a computer system. Examples of computer readable media include hard drives, network attached storage (NAS), read-only memory, random access memory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes, and other optical and non-optical storage devices. -otic. Computer readable media may include computer readable tangible media distributed in a network-coupled computer system so that computer readable code is stored and executed in a distributed manner.

Embora as operações de método tenham sido descritas em uma ordem específica, deve ser entendido que outras operações de manutenção podem ser executadas entre as operações, ou operações podem ser ajustadas de maneira que elas ocorram em momentos ligeiramente diferentes, ou podem ser distribuídas em um sistema que permite a ocorrência das operações de processamento em vários intervalos associados ao processamento, contanto que o processo das operações de sobreposição seja realizado da maneira desejada.Although method operations have been described in a specific order, it should be understood that other maintenance operations may be performed between operations, or operations may be adjusted so that they occur at slightly different times, or may be distributed within a system. which allows processing operations to occur at various intervals associated with processing as long as the overlay operations process is performed as desired.

Embora a invenção tenha sido descrita em algum detalhe com o propósito de clareza na compreensão, será evidente que determinadas mudanças e modificações podem ser praticadas dentro do escopo das reivindicações anexas. Consequentemente, as presentes configurações devem ser consideradas como ilustrativas e não restritivas, e a invenção não deve ser limitada aos detalhes dados aqui, mas pode ser modificada dentro do escopo e equivalentes das reivindicações anexas.While the invention has been described in some detail for the sake of clarity of understanding, it will be apparent that certain changes and modifications may be made within the scope of the appended claims. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention should not be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.

REIVINDICAÇÕES

Claims (38)

1. Método para gerar uma versão limitada que pode ser jogada de um videogame, compreendendo: gravar o jogo de um usuário de uma versão integral do videogame; analisar o jogo gravado do usuário para determinar uma região de interesse; definir fronteiras dentro de um contexto de jogo do videogame com base na região de interesse determinada; e gerar a versão limitada do videogame com base nas fronteiras definidas; em que o método é executado por um processador.Method for generating a playable limited version of a video game, comprising: recording a user's game of a full version of the video game; analyze the user's recorded game to determine a region of interest; set boundaries within a videogame game context based on the given region of interest; and generate the limited version of the video game based on the defined boundaries; where the method is executed by a processor. 2. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que gravar o jogo do usuário inclui gravar um ou mais dentre os dados de entrada do usuário ou dados do estado do j ogo.Method for generating a playable limited version of a video game according to claim 1, wherein recording the user game includes recording one or more of the user input data or game state data. 3. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 2, em que analisar o jogo gravado pelo usuário inclui determinar níveis de atividade dos dados de entrada do usuário ou dados de estado de jogo, a região de interesse sendo uma região tendo níveis de atividade que excedem um limite predefinido.A method of generating a playable limited version of a video game according to claim 2, wherein analyzing the user-recorded game includes determining activity levels of user input data or game state data, region of interest being a region having activity levels that exceed a predefined threshold. 4. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira espacial dentro de um espaço virtual do videogame.A method of generating a playable limited version of a video game according to claim 1, wherein defining boundaries within a video game's gaming context includes defining a spatial boundary within a virtual space of the video game. 5. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 4, em que a fronteira espacial dentro do espaço virtual do videogame define uma porção do espaço virtual menor que uma totalidade do espaço virtual, a porção do espaço virtual tendo um subconjunto de características do espaço virtual.A method of generating a playable limited version of a video game according to claim 4, wherein the spatial boundary within the virtual space of the video game defines a portion of the virtual space smaller than a total of the virtual space, the portion. of virtual space having a subset of virtual space features. 6. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira temporal dentro de um contexto temporal do videogame.A method of generating a playable limited version of a video game according to claim 1, wherein defining boundaries within a game context of the video game includes defining a time boundary within a temporal context of the video game. 7. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que definir fronteiras inclui identificar um ponto de partida mais próximo ou um ponto final mais próximo de um ou mais dentro de um estágio, nível ou cena.A method of generating a playable limited version of a video game according to claim 1, wherein defining boundaries includes identifying a nearest starting point or an endpoint nearest to one or more within a stage, level or scene. 8. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que analisar o jogo gravado do usuário inclui determinar configurações de estado de jogo do usuário com base no jogo gravado do usuário; e em que gerar a versão limitada do videogame inclui definir a versão limitada do videogame de modo a ter configurações de estado de jogo inicial com base nas configurações de estado de jogo de usuário determinadas.A method of generating a playable limited version of a video game according to claim 1, wherein analyzing the user's recorded game includes determining the user's game state settings based on the user's recorded game; and wherein generating the limited version of the video game includes setting the limited version of the video game to have initial game state settings based on the determined user game state settings. 9. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que a região de interesse é automaticamente identificada com base na correspondência com um ou mais limites.A method of generating a playable limited version of a video game according to claim 1, wherein the region of interest is automatically identified based on matching one or more boundaries. 10. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 9, em que pelo menos um dos referidos limites é associado a uma ou mais entradas de usuário, uma velocidade de entrada de usuário, uma frequência de entrada de usuário, repetições de uma entrada de usuário, um padrão de entrada, compartilhamento do contexto do jogo com outros usuários, postagem de comentários associados com o jogo em uma rede social, ou popularidade de porções do videogame com base nos níveis de compartilhamento da rede social.A method of generating a playable limited version of a video game according to claim 9, wherein at least one of said limits is associated with one or more user inputs, a user input speed, a frequency. user input, replays of a user input, an input pattern, sharing game context with other users, posting comments associated with the game on a social network, or popularity of video game portions based on sharing levels from social network. 11. Método para gerar uma versão limitada que pode ser jogada de um videogame, compreendendo: gravar o jogo de um usuário de uma versão integral do videogame; determinar uma pluralidade de porções definidas pelo usuário do jogo gravado do usuário; para cada porção definida pelo usuário, definir fronteiras dentro de um contexto de jogo do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; posicionar cada uma das porções com que se pode jogar do videogame em uma série para definir a versão limitada do videogame; em que o método é executado por um processador.A method of generating a playable limited version of a video game, comprising: recording a user's game of a full version of the video game; determining a plurality of user-defined portions of the user's recorded game; for each user-defined portion, define boundaries within a game context of the video game based on the user-defined portion, and generate a playable portion of the video game based on the defined borders; position each of the video game's playable portions in a series to define the limited version of the video game; where the method is executed by a processor. 12. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, em que determinar cada porção definida por usuário do jogo gravado por usuário inclui receber um ponto de partida definido pelo usuário e um ponto final definido pelo usuário dentro do jogo gravado pelo usuário, e determinar a porção definida por usuário com base no ponto de partida recebido definido pelo usuário e no ponto final definido pelo usuário.A method of generating a playable limited version of a video game according to claim 11, wherein determining each user-defined portion of the user-recorded game includes receiving a user-defined starting point and a defined endpoint. user within the user-recorded game, and determine the user-defined portion based on the user-defined starting point and the user-defined endpoint. 13. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, em que gravar o jogo do usuário inclui gravar um ou mais dentre os dados de entrada do usuário ou dados de estado de jogo.A method of generating a playable limited version of a video game according to claim 11, wherein recording the user game includes recording one or more of the user input data or game state data. 14. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 13, em que gerar a porção que pode ser jogada do videogame inclui analisar os dados do estado de jogo para identificar elementos de código, e posicionar os elementos de código para definir código executável definindo a porção que pode ser jogada do videogame.A method of generating a playable limited version of a video game according to claim 13, wherein generating the playable portion of the video game includes analyzing game state data to identify code elements, and positioning the code elements to define executable code by defining the playable portion of the video game. 15. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, em que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira espacial dentro de um espaço virtual do videogame.A method of generating a playable limited version of a video game according to claim 11, wherein defining boundaries within a video game's gaming context includes defining a spatial boundary within a virtual space of the video game. 16. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 15, em que a fronteira espacial dentro do espaço virtual do videogame define uma porção do espaço virtual menor que a totalidade do espaço virtual, a porção do espaço virtual tendo um subconjunto de características do espaço virtual.A method of generating a playable limited version of a video game according to claim 15, wherein the spatial boundary within the virtual space of the video game defines a portion of the virtual space smaller than the entire virtual space, the portion. of virtual space having a subset of virtual space features. 17. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, em que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira temporal dentro de um contexto temporal do videogame.A method for generating a playable limited version of a video game according to claim 11, wherein defining boundaries within a game context of the video game includes defining a time boundary within a temporal context of the video game. 18. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, compreendendo ainda: para cada porção definida por usuário, analisar o jogo gravado pelo usuário para determinar as configurações de estado de jogo do usuário; e em que gerar a porção que pode ser jogada do videogame inclui definir a porção que pode ser jogada do videogame de modo a ter configurações de estado de jogo inicial com base nas configurações de estado de jogo determinadas de usuário.A method of generating a playable limited version of a video game according to claim 11, further comprising: for each user defined portion, analyzing the user-recorded game to determine the user's game state settings; and wherein generating the playable portion of the video game includes defining the playable portion of the video game to have initial game state settings based on user-determined game state settings. 19. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, em que definir fronteiras inclui identificar um ponto de partida mais próximo ou um ponto final mais próximo de um ou mais dentro de um estágio, nível ou cena.A method of generating a playable limited version of a video game according to claim 11, wherein defining boundaries includes identifying a nearest starting point or an endpoint nearest to one or more within a stage, level or scene. 20. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, compreendendo ainda: gravar um vídeo definido por usuário; em que posicionar as porções que podem ser jogadas do videogame inclui posicionar o vídeo definido por usuário em um local dentro da série que precede ou sucede uma das porções que podem ser jogadas do videogame.A method of generating a playable limited version of a video game according to claim 11, further comprising: recording a user-defined video; where positioning the playable portions of the video game includes placing the user-defined video in a location within the series preceding or succeeding one of the playable portions of the video game. 21. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 20, em que o video definido por usuário inclui video de pelo menos uma das porções definidas por usuário do jogo gravado do usuário.A method of generating a playable limited version of a video game according to claim 20, wherein the user defined video includes video from at least one of the user defined portions of the user's recorded game. 22. Método para compartilhar jogo gravado em um gráfico social, compreendendo: gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; em resposta à recepção do comando, entrar em um estado pausado da sessão de jogo e apresentar uma interface de compartilhamento; processar a entrada recebida pela interface de compartilhamento para determinar uma seleção definida pelo usuário do video gravado; compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário; retomar o estado ativo da sessão de jogo; em que o método é executado por um processador.A method for sharing recorded game on a social graph, comprising: videoing a user's game during an active state of a game session; receive a command to initiate a sharing operation during the active state of the gaming session; in response to receiving the command, entering a paused state of the game session and presenting a sharing interface; process input received by the sharing interface to determine a user-defined selection of recorded video; share the user-defined selection of recorded video in a user social graphic; resume the active state of the gaming session; where the method is executed by a processor. 23. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que gravar o video do jogo do usuário inclui armazenar o video em um armazenador durante o estado ativo da sessão de jogo.A method for sharing game recorded on a social graph according to claim 22, wherein recording user game video includes storing the video in a store during the active state of the game session. 24. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 23, em que apresentar a interface de compartilhamento inclui recuperar e apresentar uma ou mais porções do video do armazenador.A method for sharing game recorded on a social graph according to claim 23, wherein presenting the sharing interface includes retrieving and displaying one or more portions of the video from the store. 25. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que a interface de compartilhamento inclui um seletor de duração para definir uma duração da seleção definida pelo usuário.The method for sharing game recorded in a social graph according to claim 22, wherein the sharing interface includes a duration selector for defining a user-defined selection duration. 26. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que compartilhar a seleção inclui enviar a seleção para disponibilidade em um serviço de rede social que define o gráfico social do usuário.A method for sharing game recorded on a social graph according to claim 22, wherein sharing the selection includes sending the selection for availability to a social network service that defines the user's social graph. 27. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 26, em que enviar a seleção inclui comprimir a seleção e enviar a seleção comprimida.The method for sharing game recorded on a social graph according to claim 26, wherein submitting the selection includes compressing the selection and sending the compressed selection. 28. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que compartilhar a seleção inclui gerar uma notificação para um membro do gráfico social do usuário.A method for sharing game recorded on a social graph according to claim 22, wherein sharing the selection includes generating a notification for a member of the user's social graph. 29. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 28, em que a notificação é definida por um ou mais dentre uma mensagem particular, uma mensagem de bate-papo, uma notificação dentro do jogo, uma postagem para um feed de noticias social, um e-mail.A method for sharing a game recorded on a social graph according to claim 28, wherein the notification is defined by one or more of a private message, a chat message, an in-game notification, a post to a social news feed, an email. 30. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que compartilhar a seleção inclui apresentar a seleção em uma página de perfil do usuário.A method for sharing game recorded on a social graph according to claim 22, wherein sharing the selection includes presenting the selection on a user profile page. 31. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que a recepção do comando para iniciar a operação de compartilhamento é definida a partir do aperto de um botão em um dispositivo controlador.The method for sharing game recorded on a social graph according to claim 22, wherein receiving the command to initiate the sharing operation is defined by pushing a button on a controller device. 32. Método para proporcionar controle remoto do jogo de um usuário, compreendendo: apresentar um feed em video ao vivo do jogo de um primeiro usuário para um segundo usuário remoto; processar uma solicitação para transferir o controle do jogo do primeiro usuário para o segundo usuário; iniciar o controle do jogo do primeiro usuário pelo segundo usuário; em que o método é executado por pelo menos um processador.32. A method for providing a user's remote game control, comprising: presenting a live video feed of a first user's game to a second remote user; process a request to transfer game control from the first user to the second user; initiate game control of the first user by the second user; wherein the method is executed by at least one processor. 33. Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 32, em que iniciar o controle do jogo do primeiro usuário pelo segundo usuário inclui desativar o controle do jogo do primeiro usuário por um primeiro dispositivo controlador associado ao primeiro usuário, e ativar o controle do jogo do primeiro usuário por um segundo dispositivo controlador associado ao segundo usuário.The method of providing a user's remote game control according to claim 32, wherein initiating first user game control by the second user includes disabling first user game control by a first controller device associated with the first user. user, and enable game control of the first user by a second controller device associated with the second user. 34 . Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 33, em que o controle do jogo do primeiro usuário pelo segundo dispositivo controlador inclui receber comandos de entrada do segundo dispositivo controlador e aplicar os comandos de entrada para definir o jogo do primeiro usuário.34 A method for providing a user's game remote control according to claim 33, wherein controlling the first user's game by the second controller device includes receiving input commands from the second controller device and applying input commands to define the game. from the first user. 35. Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 32, em que o feed em video ao vivo é apresentado através de uma interface social para o segundo usuário, a interface social proporcionando acesso a um gráfico social do segundo usuário, o primeiro usuário sendo definido como um membro do gráfico social do segundo usuário.A method for providing a user's remote game control according to claim 32, wherein the live video feed is presented via a social interface to the second user, the social interface providing access to a social graph of the second user, the first user being defined as a member of the second user's social graph. 36. Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 35, em que a interface social inclui uma interface de comentários para postagem de comentários durante o jogo do primeiro usuário.A method for providing a user's remote game control according to claim 35, wherein the social interface includes a commenting interface for posting comments during the first user's game. 37. Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 32, em que o processamento da solicitação para transferir o controle inclui receber uma confirmação do primeiro usuário para permitir o controle do jogo do primeiro usuário pelo segundo usuário.The method of providing a user's remote game control according to claim 32, wherein processing the request to transfer control includes receiving a confirmation from the first user to allow control of the first user game by the second user. 38. Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 32, em que a apresentação do feed em video ao vivo do jogo do primeiro usuário para o segundo usuário inclui apresentar o feed em video ao vivo em um formato que não é de tela cheia; e em que a iniciação do controle do jogo do primeiro usuário pelo segundo usuário inclui acionar a apresentação do feed em video ao vivo em um formato de tela cheia.A method for providing a user's remote game control according to claim 32, wherein presenting the live video feed of the first user game to the second user includes presenting the live video feed in a format. which is not full screen; and wherein initiating first user game control by the second user includes triggering the live video feed presentation in a full screen format.
BR102013033136-8A 2012-12-21 2013-12-20 METHOD FOR GENERATING A LIMITED PLAYABLE VERSION OF A VIDEO GAME; AND METHOD TO PROVIDE REMOTE CONTROL OF A USER'S GAME BR102013033136B1 (en)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201261745290P 2012-12-21 2012-12-21
US201261745281P 2012-12-21 2012-12-21
US61/745,281 2012-12-21
US13/831,178 2013-03-14
US13/831,178 US9352226B2 (en) 2012-12-21 2013-03-14 Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay
US13/831,190 US9364743B2 (en) 2012-12-21 2013-03-14 Generation of a multi-part mini-game for cloud-gaming based on recorded gameplay
US13/831,190 2013-03-14
US13/839,382 2013-03-15
US13/839,486 US9242176B2 (en) 2012-12-21 2013-03-15 Remote control of a first user's gameplay by a second user
US13/839,486 2013-03-15
US13/839,382 US9345966B2 (en) 2012-03-13 2013-03-15 Sharing recorded gameplay to a social graph

Publications (2)

Publication Number Publication Date
BR102013033136A2 true BR102013033136A2 (en) 2015-10-20
BR102013033136B1 BR102013033136B1 (en) 2021-10-26

Family

ID=

Also Published As

Publication number Publication date
KR20190090077A (en) 2019-07-31
JP2020099729A (en) 2020-07-02
TW201438796A (en) 2014-10-16
WO2014100770A8 (en) 2014-07-24
KR20150099829A (en) 2015-09-01
MX353111B (en) 2017-12-20
WO2014100770A3 (en) 2014-08-21
RU2605840C2 (en) 2016-12-27
JP2019018076A (en) 2019-02-07
TWI573619B (en) 2017-03-11
JP6434583B2 (en) 2018-12-05
TW201440857A (en) 2014-11-01
KR20200083659A (en) 2020-07-08
JP2017200631A (en) 2017-11-09
KR102292820B1 (en) 2021-08-25
KR20190057448A (en) 2019-05-28
MX353112B (en) 2017-12-20
TWI564062B (en) 2017-01-01
MX2014000227A (en) 2014-11-03
KR20210094149A (en) 2021-07-28
KR101742662B1 (en) 2017-06-01
MX356707B (en) 2018-06-11
JP6196147B2 (en) 2017-09-13
MX2014000231A (en) 2014-11-03
KR20200083658A (en) 2020-07-08
KR20170061196A (en) 2017-06-02
RU2013156817A (en) 2015-06-27
MX2014000229A (en) 2014-11-03
TW201440856A (en) 2014-11-01
JP2014121610A (en) 2014-07-03
TWI559965B (en) 2016-12-01
JP7461174B2 (en) 2024-04-03
WO2014100770A2 (en) 2014-06-26

Similar Documents

Publication Publication Date Title
JP7461174B2 (en) Minigames accessed via shared interface
US11014012B2 (en) Sharing gameplay in cloud gaming environments
US10016677B2 (en) Remote control of a first user's session by a second user
EP2745893B1 (en) Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay
US11565187B2 (en) Method for sharing a portion of gameplay of a video game
US11406906B2 (en) Network connected controller for direct to cloud gaming
BR102013033136B1 (en) METHOD FOR GENERATING A LIMITED PLAYABLE VERSION OF A VIDEO GAME; AND METHOD TO PROVIDE REMOTE CONTROL OF A USER'S GAME

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 20/12/2013, OBSERVADAS AS CONDICOES LEGAIS.