BR102013033136B1 - METHOD FOR GENERATING A LIMITED PLAYABLE VERSION OF A VIDEO GAME; AND METHOD TO PROVIDE REMOTE CONTROL OF A USER'S GAME - Google Patents

METHOD FOR GENERATING A LIMITED PLAYABLE VERSION OF A VIDEO GAME; AND METHOD TO PROVIDE REMOTE CONTROL OF A USER'S GAME Download PDF

Info

Publication number
BR102013033136B1
BR102013033136B1 BR102013033136-8A BR102013033136A BR102013033136B1 BR 102013033136 B1 BR102013033136 B1 BR 102013033136B1 BR 102013033136 A BR102013033136 A BR 102013033136A BR 102013033136 B1 BR102013033136 B1 BR 102013033136B1
Authority
BR
Brazil
Prior art keywords
game
user
video
video game
recorded
Prior art date
Application number
BR102013033136-8A
Other languages
Portuguese (pt)
Other versions
BR102013033136A2 (en
Inventor
David Perry
Nathan Gary
Philippe Yong
Victor Octav Suba Miura
Original Assignee
Sony Computer Entertainment America Llc
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 Computer Entertainment America Llc filed Critical Sony Computer Entertainment America Llc
Publication of BR102013033136A2 publication Critical patent/BR102013033136A2/en
Publication of BR102013033136B1 publication Critical patent/BR102013033136B1/en

Links

Images

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/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/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/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/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/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
    • A63F13/12
    • 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
    • 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/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
    • 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 limited playable 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 gameplay is analyzed to determine a region of interest. Boundaries are defined within a video game playing context based on the determined region of interest. The limited version of the video game is generated based on the defined boundaries.

Description

Campo da InvençãoField of Invention

[001] 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.[001] The present invention relates to methods and systems for automatic generation of suggested minigames based on recorded game play, generation of minigames in multiple portions for cloud play based on recorded game play, sharing recorded game on a social graph, and remote control of a first user game by a second user.

Descrição do Estado da TécnicaDescription of the State of the Art

[002] 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.[002] The video game industry has gone through 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 that end, video game developers have coded games that incorporate sophisticated operations and math to produce a very realistic gaming experience.

[003] Plataformas de jogo exemplificativas podem ser o Sony Playstation®, Sony Playstation2® (PS2), e Sony Playstationβ® (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.[003] Exemplary gaming platforms might be Sony Playstation®, Sony Playstation2® (PS2), and Sony Playstationβ® (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 to process intensive graphics operations, a vector unit to perform geometric transformations, and other types of hardware, firmware and software to make the link. The game console is even designed with an optional optical disc tray to receive game CDs on the spot through the game console. Online gaming 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 the curiosity of gamers, game and hardware manufacturers continue to innovate to enable greater interactivity and other computer programs.

[004] 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.[004] 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 movement is tracked by the gaming system for the purpose of tracking the player's movements and using those movements as information for the game. Generally speaking, input feed through gestures refers to causing an electronic device such as a computer system, video game console, smart appliance, etc., to react to some gesture made by the player and captured by the electronic device.

[005] 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.[005] Another growing trend in the industry involves the development of cloud-based gaming systems. These systems can include a remote processing server that runs a game application, and communicates with a local thin client that can be configured to receive information from users and present video on a display.

[006] É nesse contexto que surgem as configurações da invenção.[006] It is in this context that the configurations of the invention arise.

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

[007] 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 legível por computador. Diversas configurações inventivas da presente invenção são descritas abaixo.[007] Configurations of the present invention provide methods and systems for automatic generation of suggested minigames based on the recorded game, generation of minigames in multiple portions for cloud play based on the recorded game, sharing the recorded game 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 can be implemented in a variety of ways such as a process, an apparatus, a system, a device or a method on a computer readable medium. Several inventive embodiments of the present invention are described below.

[008] 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.[008] In one embodiment, a method for generating a limited 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; analyze the user's recorded game to determine a region of interest; defining boundaries within a video game game context based on the determined region of interest; and generate the limited version of the video game based on defined boundaries; where the method is executed by a processor.

[009] 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.[009] In another embodiment, a method for generating a limited 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; analyze the user's recorded game to determine one or more regions of interest; present each of the regions for selection; receive a selection input indicating a selected region of interest; for the selected region of interest, define boundaries within a video game game context based on the selected region of interest; and generate the limited version of the video game based on defined boundaries; where the method is executed by a processor.

[0010] 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.[0010] In another embodiment, a method for generating a limited playable version of a video game is provided, including the following method operations: recording a player's game of a full-length version of the video game, wherein the game recording User input includes recording one or more of user-feed 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 input indicating a selected region of interest; for the selected region of interest, define boundaries within a video game game context based on the selected region of interest; generate the limited version of the video game based on defined boundaries; where the method is executed by a processor.

[0011] 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; em que o método é executado por um processador.[0011] 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, defining boundaries within a game context of the video game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; position each of the playable portions of the video game in a series to define the limited version of the video game; where the method is executed by a processor.

[0012] 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; 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.[0012] 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 version integral; program instructions for determining a plurality of user-defined portions of the user's recorded game; program instructions to, 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 boundaries; program instructions for placing each of the playable portions in a series to define the limited version of the video game.

[0013] 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.[0013] In another embodiment, a system is provided, including: at least one server computing device having logic to generate a limited playable version of a video game, including logic to record 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 video game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; logic to place each of the playable portions of the video game in a series to define the limited version of the video game.

[0014] 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 vídeo 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 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.[0014] In one embodiment, a method for sharing the game recorded in a social graph is provided, including the following method operations: video recording a user's game during an active state of a game session; receive a command to initiate a share operation during the active state of the game session; in response to receiving the command, entering a paused state of the game session and presenting a sharing interface; processing 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's social graph; resume game session active state; where the method is executed by a processor.

[0015] 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 vídeo gravado; compartilhar a seleção definida pelo usuário do vídeo gravado em um gráfico social do usuário; em que o método é executado por um processador.[0015] In another embodiment, a method for sharing game recorded on a social graph is provided, including the following method operations: video recording of a user's game during an active state of a game session; receive a command to initiate a share operation during the active state of the game session; in response to receiving the command, determining a user-defined selection of recorded video; share the user-defined selection of recorded video in a user's social graph; where the method is executed by a processor.

[0016] 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 vídeo gravado em um gráfico social do usuário.[0016] 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 videotaping 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 game session; program instructions to, in response to receiving the command, determine a user-defined selection of recorded video; program instructions to share the user-defined selection of recorded video in a user's social graph.

[0017] 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.[0017] In one embodiment, a method is provided for providing remote control of a user's game, 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 control of the game from the first user to the second user; start control of the first user's game by the second user; where the method is executed by at least one processor.

[0018] 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.[0018] In another embodiment, a non-transient computer readable medium is provided having program instructions incorporated therein to provide remote control of a user's game, the program instructions including: program instructions for presenting a video feed to the live gameplay from a first user to a second remote user; program instructions for processing a request to transfer control of the game from the first user to the second user; program instructions to initiate control of the first user's game by the second user.

[0019] 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 título de exemplo os princípios da invenção.[0019] 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 DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[0020] A invenção pode ser melhor entendida com referência à seguinte descrição tomada em conjunto com os desenhos anexos nos quais:[0020] The invention can be better understood with reference to the following description taken in conjunction with the accompanying drawings in which:

[0021] A Figura 1A ilustra um usuário jogando um videogame com base em nuvem, de acordo com configurações da invenção.[0021] Figure 1A illustrates a user playing a cloud-based video game, according to configurations of the invention.

[0022] A Figura 1B ilustra múltiplos usuários em múltiplos locais engajados no jogo de videogames com base em nuvem.[0022] Figure 1B illustrates multiple users at multiple locations engaged in cloud-based video game play.

[0023] A Figura 2A ilustra um sistema de jogo em nuvem, de acordo com uma configuração da invenção.[0023] Figure 2A illustrates a cloud gaming system, according to an embodiment of the invention.

[0024] A Figura 2B ilustra conceitualmente a acumulação de títulos de jogo através de várias gerações de consoles de jogo, de acordo com configurações da invenção.[0024] Figure 2B conceptually illustrates the accumulation of game titles across several generations of game consoles, according to configurations of the invention.

[0025] 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.[0025] Figure 3 illustrates a method for providing game demonstrations to a user, according to an embodiment of the invention.

[0026] 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.[0026] Figure 4A illustrates the hierarchical organization of various portions of a video game, according to an embodiment of the invention.

[0027] 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.[0027] Figure 4B illustrates an interface for selecting a portion of a game timeline for generating a minigame or game slice, according to a configuration of the invention.

[0028] 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.[0028] Figure 4C illustrates an interface to select a portion of a game timeline to generate a minigame, according to a configuration of the invention.

[0029] A 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.[0029] Figure 5 illustrates a series of screenshots demonstrating a method to generate a minigame from an existing video game by request, according to a configuration of the invention.

[0030] A Figura 6 ilustra um sistema para gerar um código de fatia de jogo, de acordo com uma configuração da invenção.[0030] Figure 6 illustrates a system for generating a game slice code, according to an embodiment of the invention.

[0031] 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.[0031] Figure 7A illustrates the modification of a virtual space for the purpose of generating a game slice of a video game, according to a configuration of the invention.

[0032] 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.[0032] Figure 7B illustrates the modification of a scene graphic for the purpose of generating a game slice, according to configurations of the invention.

[0033] A Figura 8 ilustra um método para gerar uma fatia de jogo, de acordo com uma configuração da invenção.[0033] Figure 8 illustrates a method for generating a game slice, according to an embodiment of the invention.

[0034] 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.[0034] Figure 9A illustrates an interface for navigating game slices associated with various game titles, according to an embodiment of the invention.

[0035] A Figura 9B ilustra uma página de informação de fatia de jogo, de acordo com uma configuração da invenção.[0035] Figure 9B illustrates a game slice information page, according to an embodiment of the invention.

[0036] 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.[0036] Figure 10 illustrates a view of information about a user's account, including live views of friends in a cloud gaming social network, according to a configuration of the invention.

[0037] 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.[0037] Figure 11 illustrates a method to present live game feeds from the user's friends at that moment, according to a configuration of the invention.

[0038] 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.[0038] Figure 12 illustrates a system including a cloud gaming system and a social network, according to an embodiment of the invention.

[0039] 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.[0039] Figure 13 is a graph illustrating various variables on game state over time, according to configurations of the invention.

[0040] 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.[0040] Figure 14A illustrates a method for generating a game slice for a linear type video game, according to an embodiment of the invention.

[0041] 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.[0041] Figure 14B illustrates a method for generating a game slice for an open world type video game, according to an embodiment of the invention.

[0042] 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.[0042] Figure 14C illustrates a method for generating a game slice for a sports video game, according to an embodiment of the invention.

[0043] 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.[0043] Figure 15 conceptually illustrates the formation of a game in slices with multiple games, according to a configuration of the invention.

[0044] 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.[0044] Figure 16 conceptually illustrates the generation of a minigame in slices with multiple games, according to a configuration of the invention.

[0045] A Figura 17 ilustra uma interface para compartilhar o jogo, de acordo com uma configuração da invenção.[0045] Figure 17 illustrates an interface for sharing the game, according to a configuration of the invention.

[0046] 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.[0046] Figure 18 illustrates an interface 1800 for selecting a portion of recorded game video for sharing, according to an embodiment of the invention.

[0047] A Figura 19 ilustra uma interface 1900 para ver uma naquele momento de vídeo ao vivo do jogo de um jogador, de acordo com uma configuração da invenção.[0047] Figure 19 illustrates an interface 1900 for viewing a at that moment live video of a player's game, according to an embodiment of the invention.

[0048] 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.[0048] Figure 20 illustrates hardware and user interfaces that can be used to provide interactivity with a video game, according to an embodiment of the present invention.

[0049] A Figura 21 ilustra hardware adicional que pode ser usado para processar instruções, de acordo com uma configuração da presente invenção.[0049] Figure 21 illustrates additional hardware that can be used to process instructions, in accordance with an embodiment of the present invention.

[0050] 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.[0050] Figure 22 is an exemplary illustration of scene A to scene E with the respective user from A to E interacting with clients 1102 that are connected to a server processing via the internet, according to a configuration of the present invention.

[0051] A Figura 23 ilustra uma configuração de uma montagem de um Provedor de Serviço de Informação.[0051] Figure 23 illustrates a configuration of an Information Service Provider assembly.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[0052] 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.[0052] The following configurations describe methods and apparatus for automatically generating suggested minigames based on recorded game play, generating multi-portion minigames for cloud play based on recorded gameplay, sharing recorded game on a social graph, and remote control of a first user game by a second user.

[0053] 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.[0053] It will be obvious, however, to one skilled in the art, that the present invention can 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 obscure the present invention.

[0054] A Figura 1A ilustra um usuário jogando um videogame com base em nuvem, de acordo com configurações da invenção. Como mostrado, um usuário U1 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 vídeo e áudio dos servidores de jogo em nuvem 104. O 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 específico, 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.[0054] Figure 1A illustrates a user playing a cloud-based video game, according to configurations of the invention. As shown, a U1 user plays a cloud-based video game on a 100 display. A cloud-based video game is a video game that is primarily run on a remote server. A server, in a configuration, can include individual servers or servers that run in a virtual machine data center, where many servers can be virtualized to provide the required processing. In the illustrated configuration, the cloud game server(s) 104 run the video game that is presented on the display 100. A client 101 is situated at the user's site to receive and process feed information and communicate it to the servers of cloud game 104, and also receive video and audio data from cloud game servers 104. The client 101 and cloud game servers 104 communicate over a network 102, such as the internet. In other configurations, the client can be any device, portable or not, as long as the client can communicate with a network and provide access to a display to present game and allow the feed per portion of a user to favor interactivity. In one configuration, the customer is a thin customer. However, in other configurations, the client may be a general purpose computer, a special purpose computer, a game console, a personal computer, a laptop, a tablet, a mobile computing device, a handheld computing device, a cell phone, a converter, a streaming media device/interface, a smart television or network connected display, or any other computing device capable of being configured to meet a customer'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.

[0055] 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.[0055] In various configurations, the degree of processing performed by the client may vary with respect to input and output processing. However, in general, the state of the video game is substantially maintained and executed on the game request servers 104, with the client functioning primarily to receive and communicate user-fed information, and to receive video/audio for presentation. Client 101 may be a standalone device that is connected to display 100 and provides video data for display on display 100. In other configurations, the client may be integrated into display 100. In one configuration, display 100 is a display connected to the network that provides one operating system per platform for applications or “apps” that use the display's network connectivity. In such a configuration, the client can be defined by an application running on the platform provided by the display operating system.

[0056] A Figura 1B ilustra múltiplos usuários em múltiplos locais engajados no jogo de videogames com base em nuvem. O usuário U1 é mostrado em um primeiro local interagindo com um videogame apresentado no mostrador 100. Os 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 U5, U6, e U7 são mostrados em um quarto local interagindo com um videogame apresentado em um mostrador 110.[0056] Figure 1B illustrates multiple users at multiple locations engaged in cloud-based video game play. User U1 is shown in a first location interacting with a video game presented on display 100. Users U2 and U3 are shown in a second location interacting with a video game presented on display 106. A user U4 is shown in a third location playing a video game presented on a 108 display. Users U5, U6, and U7 are shown in a fourth location interacting with a video game presented on a 110 display.

[0057] 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 nuvem104.[0057] In each of the first, second, third and fourth locations, at least one computing device is provided to process input fed by the various users and present a cloud-based video game on their respective displays. It should be appreciated that the computing device can be integrated into a display, or it can be an isolated device such as a personal computer, a converter, a game console, or any other type of device having at least one processor and memory to process and store data. The computing device can run or define a client as described above. Computing devices are networked, and communicate over a network, such as the internet 102, with cloud game servers104.

[0058] 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 vídeo (inclusive dados de imagem e dados de áudio) para um dispositivo de computação em um local específico. 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.[0058] Cloud game servers 104 run the various video games being played by users, setting a given game state of the video game at each moment, 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) who are playing the video game, and transmits input data to the game request server, which in turn processes the data. input to affect the game state of the video game. It should be appreciated that cloud gaming facilitates multiplayer play of players located in different locations by providing the video game play on a remote server that is accessible by all players on a network. In this way, video game play is not dependent on the hardware or network conductivity of any particular player, although this will affect the user experience for that given player.

[0059] 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 vídeo 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 vídeo recebidos de modo a proporcionar uma naquele momento de vídeo 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.[0059] Figure 2A illustrates a cloud gaming system, according to an embodiment of the invention. As shown, a user 200 operates a controller 202 to provide input to a cloud-based video game. Controller 202 can include any one of several types of feed devices, such as buttons, joysticks, touchpad, TrackBall, and motion sensitive hardware such as accelerometers, and magnetometers, and gyroscopes. In one configuration, controller 202 may include an illuminated object that can be tracked to determine the location of controller 202. Controller 202 may communicate wirelessly with a thin game client 204. Client 204 communicates over a network 208 with a cloud gaming service 210. The client 204 processes data from the controller 202 to generate feed data that is communicated to a video game played by the cloud gaming service 210. In addition, the client 204 receives video data from the service. cloud gaming engine 210, for display on display 206. In one configuration, the client 204 may process the received video data so as to provide a then-current video in a format compatible with the display 206. In one configuration, the client 204 may include a camera for tracking a controller device or an object located on the controller device. As noted, the object can be illuminated to further facilitate tracking based on analysis of image frames captured by the camera.

[0060] O serviço de jogo em nuvem 210 inclui recursos para proporcionar um ambiente no qual um videogame pode ser executado. Falando de maneira geral, 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 título 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.[0060] The cloud game service 210 includes features to provide an environment in which a video game can be played. Generally speaking, resources can include various types of computer server hardware, including processors, storage devices, and networking equipment, that can be used to facilitate running a video game application. In the illustrated configuration, a 212 video game library 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 stand-alone computing device that defines a platform to represent virtual machines 216. In another configuration, host 214 may operate by one or more server computing devices, handling the allocation and use of resources defined by the devices. server computing, while presenting a unified platform on which virtual machines 216 can be represented.

[0061] 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 títulos 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 títulos diferentes a partir de diferentes consoles de jogos pelo sistema de solicitação de jogos.[0061] Each virtual machine 216 defines a resource environment that can support a system of operations, 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 in the virtual machine to help run 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 of a game console, although the underlying virtual machine may or may not be configured to emulate game console hardware. In another configuration, an emulator application is run on top of a virtual machine's operating system, the emulator being configured to emulate the native operating system environment of a game console in order to support video games designed for that game console. It should be appreciated that a variety of current and legacy gaming consoles can be emulated on an on-request based gaming system. In this way, a user can access different titles from different game consoles through the game request system.

[0062] Quando o usuário 200 pede para jogar um título específico 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 título a uma máquina virtual apropriada para execução, por exemplo, uma tendo um aplicativo emulador capaz de cuidar da execução do título. 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 vídeo 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.[0062] When user 200 asks to play a specific video game title, the video game is retrieved from library 212. If a compatible virtual machine has not already been represented or is not available for use, then a new compatible virtual machine is represented on the host 214. The retrieved title is then run as application 218 on the available or newly represented virtual machine 216. In one configuration, this can entail determining the appropriate platform for the video game (for example, which game console or operating system the game requires for run) and assign the title to an appropriate virtual machine for execution, for example one having an emulator application capable of handling the title execution. The running video game application communicates with the game client 204 to provide an interactive gaming experience for the user 200. More specifically, the running video game application 218 receives feed data from the client 204 over network 208. The application 218 processes the data. Input data to update the game state of the running application. As the game state changes, application 218 outputs video data that is sent to client 204 for display on display 206. In addition, application 218 may also output data back to client 204 that is used to provide an additional feedback mechanism to the user. By way of example, the user controller 202 may include a tactile vibration feedback mechanism that can be activated based on feedback data output from the video game application.

[0063] 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.[0063] In one configuration, the cloud gaming system is configured to detect the type of client device associated with the user, and also 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 logs into 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 series of client device options are presented from which the user can select one that matches the client device. The customer may also be presented with 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 can be presented to the user from which they can select to designate a controller type that matches their controller hardware. In other configurations, the cloud gaming system can be configured to automatically detect the device type of the client and/or the device type of the controller.

[0064] 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 saída 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.[0064] By time, at the time of connecting, the client device can send information to the cloud game server 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 setting and a feed parameter setting to provide a gaming experience optimized for the user's client device and controller device. In a 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.

[0065] Deve ser apreciado que um determinado videogame pode ser desenvolvido para uma plataforma especifica e um dispositivo controlador associado específico. 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.[0065] It should be appreciated that a given video game can 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 might have been developed for a game console and its associated controller, while the user might 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.

[0066] 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 poderiam 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.[0066] In another example, a user may access the cloud gaming system from a tablet, touch-screen smartphone, or other touch-screen powered device. In this case, the client device and the controller device are integrated together in the same device, the information being provided through 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 displayed or overlaid when running the video game to indicate locations on the touch screen that the user can tap to generate game input. Gestures such as hits in specific directions or specific touch movements can also be detected as information for the game. In one configuration, guidance can be provided to the user indicating how to provide touch screen input to the game, for example, before starting to play the video game, in order to acquaint the user with operating the touch screen controls .

[0067] 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.[0067] 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 can in turn process this information and then transmit feed data to the cloud game server via a network (eg accessed by a LAN 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 on demand, without requiring such information to be communicated first through the client device. For example, the controller could connect to a LAN device (such as the aforementioned router) to send and receive data from the game server on demand. Thus, while the customer may still be required to receive video game feeds based on requests and present them on a local display, input latency can be reduced by allowing the controller to send information directly over the network to the game server on demand, skipping the client device.

[0068] 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 vídeo 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 vídeo 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.[0068] In one configuration, a networked controller and the client device can be configured to send certain types of information directly from the controller to the game server on request, and other types of information via 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, bypassing the client device. This information can include information by button, information by joysticks, information by built-in motion detection (eg accelerometer, magnetometer, gyroscope, etc.). However, information that uses additional hardware or requires processing by the client's device may be sent by the client's device to the game server on request. These can include captured video or audio from the gaming environment that can be processed by the client's device before being sent to the gaming server on demand. Furthermore, information from the controller's motion detection hardware can be processed by the client device together with captured video to detect the controller's position and motion, which would then be communicated by the client device to the server. games by request. It should be appreciated that the controller device according to various configurations can also receive data (eg feedback data) from the client device or directly from the game server on request.

[0069] A Figura 2B ilustra conceitualmente a acumulação de títulos 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.[0069] Figure 2B conceptually illustrates the accumulation of game titles across several generations of game consoles, according to configurations of the invention. In the video game industry, video games are developed for specific game consoles. Over time a library of game titles is accumulated for a specific game console. For example, in the diagram illustrated, a first-generation 220 console has a collection of 228 game titles that was designed for this. A second generation 222 console has associated with it a collection of 230 game titles that were developed for it. And a 3rd generation 224 console 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 have been specifically developed as cloud-based games and collected for distribution on a cloud gaming system as described here. It will be appreciated that game titles from different generations of game consoles can be collected and consolidated into the 212 cloud game library. As shown, the 212 library includes a 236 first generation console library which includes the game titles that have been developed for the first-generation 220 console. Similarly, the 212 library 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. . Games that were developed for the 226 client and other game types such as internet games can also be included in the 212 game library. As can be seen, a large number of game titles that span multiple generations of video game consoles can be collected and made available by a game library upon request. As described, each of these games can run in 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 game system based on requests 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 were specifically developed for use with the system. of cloud-based games.

[0070] 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 ícones 302, 304, 306, 308, 310 e 312 de vários títulos de jogos que estão disponíveis para demonstração. Cada ícone 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 ícone 302, que está, portanto, destacado e exibe uma animação ativa mostrando uma cena do videogame. Quando um usuário seleciona um ícone, um vídeo 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.[0070] Figure 3 illustrates a method for providing game demonstrations to a user, according to an embodiment of the invention. An interface 300 is shown providing vignettes 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 an image indicative of the game it represents. In a configuration, when a user navigates to a particular icon, the icon can be turned on to show an animation or video clip that is representative of the video game or that otherwise provides additional information to the user about the video game content. In the illustrated configuration, a user has navigated to the 302 icon, 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 shown in accordance with the 314 method operation. If the user continues to select the game in the 316 method operation, then, in the 318 method operation, the game code stops the demo starts. In the operation of method 320, the game demo is instantly available for play by the user. It should be noted that because the game demo is cloud-based, it can be made available instantly from a pre-loaded representation of the game demo on the cloud-based system. When the game demo starts, the game impersonation is triggered to run. In method operation 322, it is determined whether the user wishes to continue playing the game demo or play another video game demo, if one is available. If so, then the method either reverts to continuously running the game demo in operation 322 or performs a new game demo for the video game. If not, then, in operating method 324, the user is presented with an option to purchase a mini-version of the video game. Furthermore, in operation method 326, the user may be presented with either an option to purchase a mini version or a full version of the game, then in method operation 328 this game version is added to the user's account. It should be noted that because games are made available on a cloud-based gaming system, adding a game to a user account can simply result in the association of access privileges for the specific version of the game with the user account. . Furthermore, once purchased, the game can be made available virtually instantly from the cloud-based system for user play, especially since the game can be pre-represented in the cloud-based system.

[0071] 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 título 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 nível, 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 TO 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.[0071] Figure 4A illustrates the hierarchical organization of various portions of a video game, according to a configuration of the invention. By way of example, a video game can be organized into several 400 sections. In the illustrated configuration, these may include a configuration section, an introduction section, several level sections, and an output section. A given level can be further divided into several scenes. As shown, the level 3 section is split into several 402 scenes. As the user plays in a given scene, a game timeline of that scene can be recorded, including video recording the user's game as well as input data. and recorded game states of the running game application. In the illustrated configuration, the 404 game timeline is representative of the users' game from scene 2 of level 3 of the game. According to configurations of the invention, a user can select portions of his recorded game from which to generate a minigame or minislice. For example, in the illustrated configuration the 404 game timeline has a start time TO and an end time TZ. A portion of the game timeline from Time Tx to Time Ty has been selected from which to generate a minigame.

[0072] 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 vídeo de jogo gravado.[0072] Figure 4B illustrates an interface for selecting a portion of a game timeline for generating a minigame or game slice, according to a configuration of the invention. In the illustrated configuration, the 412 interface is presented on a 411 touch screen of a 410 device. In one configuration, the 410 device is a tablet. The 412 interface includes a selectable game timeline. In an expanded view 430 of the game's timeline 414, it can be seen that in a configuration of the game's timeline 414 it is represented by a strip of film with adjustable markers 416 and 418. Marker 416 designates the starting point for the along the team's 414 game timeline, while marker 418 designates the end point along the national team's game timeline. In addition, a marker 419 may be positioned within the portion of the game timeline 414 that has been established by starting marker 416 and ending marker 418. For ease of use and to provide the user with a visual understanding of which portion of their game is being selected, a starting frame 420 can be shown that corresponds to the point along the game's timeline where marker 416 was placed. Start frame 420 is an image of recorded game video corresponding to the time when start marker 416 is positioned. Similarly, a representative end frame 424 can be shown corresponding to the point along the game's timeline at which marker 418 was placed. Similarly, end frame 424 is an image of recorded game video corresponding to the time end marker 418 is placed. In addition, a representative frame 422 can be shown corresponding to the position of marker 419 along the game timeline. The representative frame 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 can be used to select start and end points to define a game portion for creating a mini game. For example, input can be provided by a game controller, a keyboard, via gesture input, voice input, and according to other types of devices and input feed mechanisms to allow selection of a portion of game along with selecting a representative image frame from the recorded game video.

[0073] 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.[0073] In some configurations selection markers may not be continuously adjustable along the game's timeline, but can instead be configured to snap to predefined time points along the game's timeline. For example, predefined time points can be set to correspond to 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 specific game architecture of the video game. In a configuration, predefined points in time can be assigned based on a character's geographic location within a virtual world defined by the video game. For example, predefined points in time 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 one city to another city, entering a structure, entering a room within a structure, entering the vehicle, entering in a different kind of environment, or any other kind of significant geographic transition. In another configuration, predefined time points can be assigned based on the development of a character or entity of a user that is controlled in the video game. For example, predefined time points can be assigned when a character or user-controlled entity performs a task, acquires a skill, acquires an object, levels up or otherwise completes a portion of the video game, or performs or achieves something else. type of significant activity in video game.

[0074] 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 início 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.[0074] Figure 4C illustrates an interface to select a portion of a game timeline to generate a minigame, according to a configuration 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 corresponding to the position of the start marker 416 is shown, as is an ending frame 424 that corresponds to the position of the end marker 418. It will be appreciated that 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 frames can be determined according to a variety of methods. For example, candidate frames can be presented from fractional intervals of the selected portion of the game's timeline. The intervals can be equivalent, such that candidate frames are evenly spaced along the game's timeline, or the intervals can be non-equivalent, such that some frames are closer together than others along the line of 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 .

[0075] 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 substancíalmente 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.[0075] 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 under substantially the same conditions and parameters. In this sense, the minigame is more than simply a replay video of the original user's game (although a video clip 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 designated based on the user's selection of their own game. A second user can thus experience a game experience substantially similar to that of the original user.

[0076] 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 nível 3 de um videogame. Ao completar o nível, é oferecida ao usuário uma opção de gerar uma fatia de jogo ou minigame com base no jogo do usuário daquele nível. 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 início 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 título 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.[0076] Figure 5 illustrates a series of screenshots demonstrating a method to generate a minigame from an existing cloud video game, according to a configuration of the invention. Screenshot 500 shows a user's video game play. In the illustrated configuration, the user plays level 3 of a video game. Upon completing the level, the user is offered an option to generate a game slice or minigame based on the user's game of that level. When the user chooses to generate a game slice, then at the time screenshot 504 the user is presented with an interface to select 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 defined the starting point, then in screenshot 506 the user is presented with the interface configured to allow selection of an ending point for the game slice. Again, an adjustable slider is moved by the user to designate the end point 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 elsewhere here. 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 game slice from the same game timeline, an option to continue playing the video game at that moment, an option to see the user's existing game slices, etc. If the user chooses to see 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. The information and statistics related to a given 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 completion percentage indicating an average percentage of the game slice that is completed by users who propose to play the game slice, comments left by other users, etc.

[0077] 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 específico 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.[0077] Although in the configuration described at that moment an option is presented to generate a game slice for a user following the completion of a video game level, it should be noted that in other configurations the user can generate a game slice in any other time during or outside of the video game game, provided there is a recorded game of the video game from which a selection can be defined by the user for a game slice. For example, in a configuration, an interface can be presented that provides access to several games recorded from several video games that are associated with the user. The user can select the game of a specific video game and generate a game slice by selecting a portion of the saved game from which to generate the game slice according to the settings described here.

[0078] 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 vídeo, 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 vídeo 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.[0078] Figure 6 illustrates a system for generating game slice code, according to an 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 selection of the existing recorded game user. In the illustrated configuration, 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 broadcasts, including video data, game state data, and user-feed data. These can be saved in order to define the saved game by the user. In the illustrated configuration, an image stream 604 conceptually represents the video data outputted by the video game. Game 606 state metadata and user input 608 data are also shown. The game state data 606 includes data that defines the game state of the video game running at each moment during the game. Game state data can include the values of any variables that define the game's running state. User-input data is data generated by capturing user-initiated actions that occur during interactivity with the video game, such as those that can be provided via activation of feed devices on controller devices, detection of sensor data (for example, motion sensors), captured audio input, and the like.

[0079] 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 (física 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.[0079] As described, a user interface can graphically display the user's recorded game to facilitate the user's 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 saved 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 achievement, scene boundaries (physical or temporal), or any other aspect of a video game according to which the video game game can be segmented to generate a game slice. A brief description of some illustrative settings will serve to highlight certain possibilities for determining a breakpoint.

[0080] 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 específica. 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.[0080] 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 setup, the particular scene boundaries can set the geographic breakpoint for the game slice, selecting the scene to exclude other scenes, which can lead to the deletion of other adjacent or added scenes as well as of scenes that are not adjacent or added or less related or unrelated to the specific scene. It should be noted that the selection of recorded game 610 can entail gameplay from multiple scenes, in which case the game breakpoint processor 616 can be configured to set breakpoints according to the limits of the multiple scenes that are used for selection of recorded game.

[0081] 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. Assim, pontos de interrupção do jogo podem ser definidos com base na cronologia ou outros aspectos temporais conforme definido pelo videogame.[0081] 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 it can also be configured to exist for a certain time or at a certain chronological point within the larger context of the video game. A scene like this can have definite goals or goals 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.

[0082] 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.[0082] Furthermore, a given scene may have associated objects or features that are presented as a portion of the scene during the game. These objects or features can be analyzed to set other breakpoints according to their inclusion. For example, the objects in the scene can be taken from a subset of the implement library, in which case the subset of the implement library can be set to the game slice by the 616 game breakpoint processor, excluding other objects in the library of implements that are not used in the scene(s) associated with the saved 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 taking place in the video game. For example, an object could have a damage modeler module that determines and adjusts the object's appearance when it is damaged (for example, when hit 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 gameplay, as well as its operation and response to user input. This logic or damage modeler can even set game breakpoints for game slice generation.

[0083] 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 título de exemplo e não a título 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.[0083] 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 examples described herein 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.

[0084] 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 veículo 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.[0084] In some configuration, a video game can be organized into several scenes that have to be completed in a linear fashion, so that a subsequent scene cannot be experienced until its preceding scene has been completed first. Each scene can 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 can include navigating from a start location to a predefined finish 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 anything else activity that can set a goal within the game. A scene can have several predefined endpoints, ie points at which the user, once having reached the endpoint, is able to return to that endpoint if the user becomes unable to continue the game for some reason (for example , user leaves game, user's game character dies or depletes their lives or health, user's vehicle crashes, etc.). At predefined endpoints, a video game can be configured to automatically save the user's progress, or present an option for the user to save their progress.

[0085] 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 início 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 início 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.[0085] In one configuration, the 616 game breakpoint processor is configured to set a game breakpoint at predefined endpoints. In one configuration, this is accomplished by finding the end points closest to the start and end points of the user's recorded game selection, and using those closest end points to set game breakpoints for the game slice. In another configuration, the closest ending point that occurs before the selected recorded game selection start point is used to set a starting breakpoint, while a closest ending point that occurs after the selected ending point of the Saved game selection is used to set a final breakpoint for game slice creation. In yet another configuration, if an endpoint is within a predefined radius (for example, before or after) of the start or end points of the saved game selection, then that endpoint is used to set a breakpoint match starting or ending game. Whereas if no end point is within the preset radius, then a game breakpoint is set that most closely matches the start or end point selected by the user for the saved selection. In other configurations, the preset radius for the start and end points may differ for the purpose of determining whether it is possible to use an existing end point to set a game breakpoint.

[0086] 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 vídeo 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 vídeo 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.[0086] As discussed, game breakpoint processor 616 determines appropriate breakpoints applicable to various aspects of the video game based on analysis of users' recorded game selection. The breakpoints set by the processor 616 serve to define the limited field of game slice that will be produced based on the users' recorded game selection. In one configuration, an overlay processor 617 is provided to generate overlays that can contribute to a better user experience when playing the game slice generated by the game 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 can be provided as an introduction to the game slice before the actual game of the game slice. 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 configuration, the pre-game slice dice may define introductory gameplay for the game slice, which can 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 fundamentals information, objectives or goals, maps, or any other type of game slice information that may be useful to the user or otherwise improve the user's gaming experience. the game slice.

[0087] 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 vídeo ou imagens a serem mostradas em seguida à finalização do jogo da fatia de jogo. Por exemplo, um vídeo 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.[0087] The 617 overlay processor can also be configured to set post game slice data In some configurations, the post game slice data can define video or images to be shown following game ending of the game slice. For example, a congratulatory video could be shown after a user completes the game slice. This video can be customized based on the user's game of the game slice, for example, showing information or images that are based on the user's game. In one configuration, the post-game slice data can define a replay engine to replay recorded portions of the game slice's user game after its completion. In another configuration, post-game slice data can be configured to display statistics about the game of game slice users, and may indicate a comparison of the users game with that of other users or the original game slice creator . In other configurations, the post-game slice data can define additional interactive elements to be presented to the user upon completion of the game slice. These may include options to partially or completely acquire the video game on which the game slice is based, redirect options to additional sources of video game-related information, etc.

[0088] 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 título de exemplo, muitos videogames incluem entidades de inteligência artificial (Al) tais como personagens, veículos, inimigos, etc. Essas entidades com Al podem no videogame integral ser governadas por modelos de inteligência artificial que definem a reação e a atividade das entidades com Al 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 Al através de definição por hardcode ou extrapolações simplificadas, ao invés de modelar completamente a atividade da entidade Al como aconteceria no videogame integral.[0088] In some configurations, the overlay processor 617 can 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's slice, such as character customization, objects, properties, and other types of customization options. In some configurations, overlay processor 617 can be configured to define simplified elements for a game slice in order to reduce the complexity of the game slice code and the amount of resources required to execute the game slice. For example, many video games include artificial intelligence (Al) entities such as characters, vehicles, enemies, etc. These Al entities can in the entire video game be governed by artificial intelligence models that define the reaction and activity of Al entities based on events that occur in the video game. However, in the context of a game slice that is limited in scope, it may be acceptable to simply define the activity of an Al entity through hardcode definition or simplified extrapolations, rather than completely modeling the activity of the Al entity as would be the case in full video game.

[0089] Por exemplo, no jogo gravado do videogame completo um determinado personagem Al se move de uma determinada maneira de acordo com seu modelo de Al 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 Al para a fatia de jogo. Essa aproximação não iria exigir que o modelo de Al 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 Al à 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 Al pode ser ainda mais significativa quando múltiplas entidades com Al estão presentes e interagindo na seleção de jogo gravado pelo usuário. Porque cada uma das entidades com Al pode ter modelos de Al que dependem da emissão daqueles das outras entidades de Al. Entretanto, ao se gravar o jogo a atividade de cada uma dessas entidades com Al é conhecida, e, portanto, pode ser reproduzida na fatia de jogo através de mecanismos simplificados tais como codificação direta de suas variáveis de controle e aproximação de sua atividade.[0089] For example, in the recorded game of the full video game a certain character Al moves in a certain way according to his Al model that probably won't change in the game slice, so he might be more efficient to define an approximation of the Al's character move to the game slice. This approach would not require the complete Al model to be included as a portion of the game slice code, however it would provide the user playing the game slice with a substantially similar experience with respect to that Al character to the user's original game from which the game slice has been generated. The resource savings realized by approximating Al entities activity can be even more significant when multiple Al entities are present and interacting in the user-recorded game selection. Because each of the entities with Al can have Al models that depend on the emission of those of the other entities with Al. game slice through simplified mechanisms such as direct encoding of your control variables and approximation of your activity.

[0090] 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 vídeo e dados de retorno para apresentar a fatia de jogo para o usuário. Os dados de vídeo podem incluir vídeo sobreposto de fatia de pré-jogo 622, vídeo de fatia de jogo 624 que é o vídeo resultante do jogo da fatia de jogo, e vídeo sobreposto de fatia pós-jogo 626.[0090] Continuing with reference to Figure 6, a game configuration state processor 618 is provided to determine an initial state of the game slice. Based on the operation of game state analyzer 614, game breakpoint processor 616, and game setup state processor 618, a code set manager 620 assembles various code portions to define the code of game slice 622. When game slice code 622 is executed, user game 624 provides information to set the execution state of game slice code, which produces game output video data and return data to present the game slice for the user. The video data may include pre-game slice overlay video 622, game slice video 624 which is the resulting game video of the game slice, and post-game slice overlay video 626.

[0091] 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.[0091] It should be appreciated that in one configuration, the game slice code 622 is entirely self-sufficient, including all code portions that are required to execute the game slice. However, in other configurations, game slice code 622 may incorporate references or pointers to portions of code existing in the main game code of the entire video game. In addition, the game slice code 622 may include reference to or use existing implements in implement libraries of the main game code of the entire video game. However, in other configurations, new implement libraries can be generated for the game slice code.

[0092] A Figura 7A ilustra a modificação de um espaço virtual com propósitos de gerar uma fatia de vídeo de um videogame, de acordo com uma configuração da invenção. O mapa 700 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 poderia 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.[0092] Figure 7A illustrates the modification of a virtual space for purposes of generating a video slice of a video game, according to a configuration of the invention. Map 700 represents a scene or geographic 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 effective video game play. As shown, map 700 illustrates a region 702, and several paths 794, 706, 708, and 710. In the recorded video game game, a user's character 712 moves from region 702 to path 710. Based on this recorded movement and in another video game analysis, it can be determined that the additional paths 704, 706, and 708 are not needed for game slice generation. Paths may represent incorrect choices compared to path 710, or they may lead to areas that are not relevant to the game slice, or they may impair the ability of a game slice player to follow the path and experience a game similar to that of the original user. Furthermore, if the areas that paths 704, 706, and 708 lead to are not supported by the game slice, then the inclusion of such paths could cause confusion among players, or at least be an uninteresting experience for the user. Therefore, on a modified map 720, paths 704, 706, and 708 are not available for play in the game slice, while path 710, as well as region 702, remain unchanged. So when a user plays the game slice that incorporates the topography defined by map 720, he will experience a virtual space in which paths 704, 706, and 708 are not available for passing. The user will then more likely go through route 710 as the original user, thus experiencing similar gameplay.

[0093] 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.[0093] It will be noted 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. Boundaries 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 virtual space defined by the user's game, 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 location of the path in virtual space, a set of predefined boundaries can be chosen in order to define a region that encompasses the path. In some configurations, predefined boundaries 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.

[0094] 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 conceítualmente 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 nível, 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.[0094] Figure 7B illustrates the modification of a scene graphic for the purpose of generating a game slice, according to configurations of the invention. A 730 scene graphic conceptually illustrates the arrangement of various scenes A to G of a video game. It should be appreciated that scenes such as those described here can be geographical and/or temporal in nature, and each can represent a playable portion of a video game, such as a stage, a level, a section, a location, or any another organizational unit within the video game according to which a player can progress from one scene to another 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 to scene B. A for scene C, and from scene C for either scene F or G. Scene graphic 730 is illustrative of the entire video game scene organization. However, for purposes of creating a game slice, not all available scenes may be required for the game slice. So, by way of example, a scene graphic 732 illustrates the organization of 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 scene graph 739 of the full video game. Thus, a user can progress from scene A to either scene B or C, and from scene C to scene F. However, the other scenes in the full video game 730 scene graphic are not available for play in the game slice. As described, systems in accordance with embodiments of the invention can be configured to limit the inclusion of scenes when generating a game slice. As such, the game slice does not include scenes that are not required for the limited context of your game and intended purpose.

[0095] 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 vídeo 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 vídeo do jogo gravado pode ser proporcionada de modo a permitir ao usuário que defina pontos de partida e finais dentro do vídeo 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 vídeo 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 vídeo 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 vídeo 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.[0095] Figure 8 illustrates a method for generating a game slice, according to an embodiment of the invention. In the operation of method 800, a video game user's game is recorded, including video recording of the users' game and input data and game state data of the video game. In the 802 method operation, a user interface is presented for saving game selection 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 to check recorded game video can be provided to allow the user to set start and end points within the game video based on browsing or playing the game video. In the 804 method operation, the user defined selection of game video is received. In the operation of method 806, video game breakpoints are identified based on the received user defined selection of game video. In a configuration, there are predefined breakpoints for the video game. Based on the game video user defined selection, the game breakpoints that are closest to the starting and ending points of the user defined selection can be chosen as game breakpoints for the game slice to be generated . In method operation 808, the game code is set for the slice selection as defined by the identified breakpoints. In this 810 method operation, the game setting state is set to slice selection. In a configuration, the game configuration state is based on a game state that existed during the user's recorded game. In operation of method 812, the game slice code is generated, and in the operation of method 814, the game slice code is stored in a game slice library and associated with the user's account.

[0096] Em uma configuração, o método pode incluir a operação de método 816, em que as seleções de vídeo de fatia de jogo são geradas com base no vídeo 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 predefinido) é detectado poderiam 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 vídeo 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.[0096] In one configuration, the method may include the operation of method 816, wherein game slice video selections are generated based on the user's recorded game video and data. Users' suggested 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 game slice selection can present 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 selection by the user of one of the suggested game slice video selections is received. Based on user selection, game slice code can be generated and stored as described above.

[0097] 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 T1. Uma lista de fatia de jogo 904 lista as várias fatias de jogo que foram criadas a partir do título de jogo T1. 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.[0097] Figure 9A illustrates an interface for navigating game slices associated with various game titles, according to an embodiment of the invention. In the illustrated configuration, the interface is organized into a series of tabs, including tabs 900, 902 and 904, which when selected provide access to various 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 T1 game title. A 904 game slice list lists the various game slices that were created from the T1 game title. In one configuration, game slice list 904 also identifies the user who created the game slice (for example, it shows a username of the user who created the game slice). In one configuration, game slice list 904 can be explored or browsed to highlight different game slices than those listed in 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 can 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 the location from which the game slice was created, comments from user A who created the game slice, third party comments, a number of times that the game slice has been played, or any other type of game slice information that may be provided when the game slice listing is highlighted.

[0098] 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, título, nome de usuário do usuário que criou a fatia de jogo, data de criação, etc.), pode ser mostrado um vídeo 910 da fatia de jogo. Em uma configuração, o vídeo 910 é o vídeo de jogo gravado do usuário original que criou a fatia de jogo. Em outra configuração, o vídeo 910 poderia 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.[0098] Figure 9B illustrates a game slice information page, according to an 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 game slice A list as shown in Figure 9A. Continuing the reference to Figure 9B, the game slice information page provides several types of game slice related input. In addition to the bibliographic information about the game slice (eg title, username of the user who created the game slice, creation date, etc.), a 910 video of the game slice can be shown. In one configuration, video 910 is the recorded game video of the original user who created the game slice. In another configuration, video 910 could be game video recorded from other users, such as a user who achieved the highest score on 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 currently playing the game slice. In other configurations, instead of a video a representative game slice image could be shown.

[0099] 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.).[0099] The game slice information page may further include a selectable button 912 for starting the game of game slice. The game slice information page may also include a details section 914, which can display various details and statistical information about the game slice, such as the number of moves, average finishing speed, etc. The entry page about the game slice may also include a 916 comments section, featuring comments left by users. A select button 918 can be provided to select various options to separate the comments (eg chronological order, reverse chronological order, most popular, by rank, by relationship with the user at that time (eg comments from the user's friends in a social graph are prioritized), etc.).

[00100]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 titulo 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 é específica 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, on-line, off-line, inativo, etc.), a última conexão do amigo e a sua duração, o último jogo jogado pelo amigo, etc.[00100] Figure 10 illustrates a view of user account information, including live views on a cloud gaming social network, according to a configuration 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 can include displaying representative graphics in addition to information about the title. It will be appreciated that games may be full version game titles, but also limited version mini-versions, each of which may be a portion of a full version game title or be limited in some capacity compared to the full version game title. integral. A friends list 1004 lists the user's friends at that time on a social network associated with the cloud gaming system (ie, other users on the user's social graph at that time). The social network can be a social network that is specific to the cloud gaming system, or it can 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 that are owned by each of the friends, identifying the friend's online status (eg, online, offline. line, idle, etc.), the friend's last connection and duration, the friend's last played game, etc.

[00101]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 quando 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 poderiam 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 específica com base na seleção de usuário, para apresentar uma visualização ao vivo que o usuário está interessado em 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 específico 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.[00101]In one configuration, a live streamed active user section 106 provides live views of the game from friends who are currently online and may be playing a video game. In one setting, each user has an option to define whether or not their live game is available for viewing live by other users. In such a setup, live views are only presented from those users who have the option designated to allow their game to be viewed live by other users. In the illustrated configuration, the live active user section 1006 includes a live 1008 view of the game at that time from friend A, as well as a live view of the game at that time from friend B. In one configuration, the user at that time can browse or browse the friends from friends list 1004 and/or browse the live views that are available in the live active user section 1006. In a configuration, a live view can be highlighted when the user at that time browses to it , and can be presented differently from other live views. For example, live previews can be displayed in an unsaturated color scheme by default, but 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 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 with greater fidelity than other live views that may be active simultaneously. It should be appreciated that the live view can display not only the specific game of a video game, but also other activity of a friend on the cloud gaming system, such as her navigation through menus or other types of activity related to her session. cloud game.

[00102]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.[00102]In one configuration, live views are only available to those users who are currently actively engaged in playing a video game. In other words, no live preview of a particular user is available when that user is either offline, or online, but not actively engaged in playing a video game. Thus, when a user is performing an activity other than gaming on the cloud gaming system (for example, browsing a graphical interface of the cloud gaming system while logged into the system), that activity is not made available in a live feed for others see. In another configuration, the live view can include all activity of a user who is logged into the cloud gaming system, including both the user's gaming as well as other non-gaming activity.

[00103]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 atividade 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.).[00103]In a configuration, a particular user's live view can be filtered so as not to expose potentially sensitive or personal information for others to view. For example, the cloud gaming system may support a chat function. As some users may want their chats to remain private, an option may be provided that excludes chat connections when presenting a live preview. It should be appreciated that a chat function can be implemented during gaming activity as well as during non-gaming activity, and may be filtered from live views of one or both of these circumstances. In another setting, 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 can 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, the live view can be configured to prevent personal input from being seen (eg, prevent it from being seen when a user accesses a personal information page, enters payment information, enters a password, etc.). ).

[00104]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.[00104]In a configuration, the interface provides an option for the first user to ask to join the game session of a second user who is currently online. For example, the first user might see the second user's live game entry and want to join 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 initiated, facilitating multiplayer play by first and second players. In another configuration, two or more secondary users may already be engaged in a multiplayer game. In such a setup, the first user can submit a request to join the multiplayer game. Upon acceptance of the request by one of the secondary users (eg, a designated host of the game session), the first user is enabled to join the multiplayer session of the video game. It should be appreciated that the mentioned interface showing live game feeds from secondary users makes it easy for the first user to join secondary users' game after being enabled to see their game.

[00105]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 multicamadas, 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.[00105]In a configuration, the option to ask to join the second user's game is asserted 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, whereas if the first user has the same video game as the second user, then the option to ask to join the second user's game is provided as a portion of the interface . In one configuration, when the first user is determined not to own the video game, then the first user can still join the second user in a multi-layered mode, but in a limited capacity, eg limited in duration of the game, 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 of the limited version of the video game, the first user is given an option to purchase an additional portion of the video game.

[00106]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.[00106]107 Continuing with reference to Figure 10, the information shown may also include information about the game 1012 history of the user's friends. The game history information 1012 can provide information about the game history of a particular friend, such as the most recently played games, the duration of game sessions, game-related statistics, etc.

[00107]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.[00107]108 It will be appreciated that many methods and configurations for presenting a cloud game interface are possible in accordance with various configurations of the invention. In such a configuration, a method for displaying a currently playing status of users of a cloud gaming system is provided, including the following method operations: presenting a cloud gaming interface from a first user; determine one or more secondary users who are friends of the first user; determine a then-current status of each of the secondary users, the then-current status being either online or offline; for at least a second online user, to present a live feed of a game session occurring at that time from the second user in the first user's cloud game interface, the live feed includes providing an option for the first user to join the second user's game session happening online; wherein initiating multi-tier mode includes determining a status of first user ownership with respect to a video game that defines the second user's ongoing game session online; where it is determined that the first user owns the video game, then the multilayer 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 gameplay conditions of a limited version of the video game.

[00108]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 níveis 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.[00108] In one configuration, the limited version of the video game defines a reduction, compared to the full version of the video game, in one or more of the available levels, available scenes, available features, time limit, virtual space, campaign duration, number of lives, or a number of repetitions.

[00109]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.[00109] 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 acquire at least a portion of the video game.

[00110]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.[00110]In one configuration, the second online user's live feed is presented in a first resolution; and selecting the live feed triggers the second online user's live feed to be displayed at a second resolution higher than the first resolution.

[00111]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.[00111]In one configuration, the second online user's live feed is presented in an unsaturated color mode; and selecting the live feed triggers the presentation of the second online user's live feed in a saturated color mode.

[00112]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.[00112]In one configuration, presenting the cloud game interface includes presenting a library of game titles associated with each of the secondary users.

[00113]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.[00113]In a configuration, assigning 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.

[00114]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.[00114] In one configuration, presenting the first user's cloud game interface includes presenting a list of each of the secondary users in a priority order, the priority order being based on one or more of the statuses at that time, how recent is the connection, or ownership of games in common with the first user.

[00115]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 título de exemplo e não a título 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.[00115]Figure 11 illustrates a method to present live game feeds from the user's friends at that moment, according to a configuration of the invention. In method operation 1100, a user at that time connects to a cloud gaming system. In method operation 1102, the user's friends at that moment are identified from a social graph of the user at that moment. As noted, the user's social graph at that time could 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 the user's friends can identify game titles in the user's friends libraries. In method operation 1106, the current status of the user's friends at that time are identified. If the status at that time of a certain friend is online then in method operation 1108 it is determined whether the certain friend is currently engaged in a video game game on the cloud-based system. If it is, then in method operation 1112, a live game feed for that user is obtained. 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 moment and information about their status and game history feeds are presented in order of priority. In one setting, the user's friends who are currently online can be prioritized over friends who are offline. In one configuration, friends of the user at the time who are currently engaged in an active game may be prioritized over friends who are not currently engaged in an active game. In one setting, friends can be prioritized based on how recently they've connected to the cloud gaming system. In another setting, friends can be prioritized based on video game common ownership. The examples of prioritizing friends shown 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.

[00116]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 conceítualmente, 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 vídeo 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 vídeo 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.[00116] Figure 12 illustrates a system including a cloud gaming system and a social network, according to an embodiment of the invention. A 1200 gaming system provides access to your cloud-based games. The cloud gaming 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 game in progress that the user saves. In the illustrated configuration, several game sessions are shown conceptually, including a session A, a session B, and a session C. Session A defines the game of a user A, who sees session A's game on an A display. Session A's game is presented as view 1210 in user A's display 1208. Similarly, session B defines user B's game a, which is presented on user B's device 1212 as view 1214. In the illustrated configuration, the 1214 view of user B's session shows an interface including live views of other users, including a live view of session A and a live view of session C. As the game of sessions A and C proceeds, a video The game is streamed from sessions A and C and can be streamed through user B's session so as to be shown in user B's view 1214. The game video can be streamed via user B's session, for example , diminishing the resolution, size, frame rate, color saturation, etc. to conserve bandwidth.

[00117]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, vídeos, 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.[00117]Continuing with 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 charts, posts, photos, videos, biographical information, etc. 1220 apps can be run on the social networking platform. A graphical user interface (GUI) 1222 defines an interface for interacting with the social network. A 1224 API facilitates access to the social network. A 1226 notification module handles notification of social network users according to their preferences. As noted, user B's 1214 view includes live feeds of other users' sessions. In one configuration, user B's friends were determined based on an access to API 1224 of social network 1216 to determine members of user B's social graph. These members were referenced to cloud gaming system users to provide feeds of Live play from user B's friends, including feeds from sessions A and C.

[00118]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.[00118]In one configuration, user A chooses to share his session A with his social graph. User A's session communicates via API 1224 to enable notification module 1226 of social network 1216 to send an appropriate notification to friends in user A's social graph. When a social network user 1230 who is in user A's social graph logs in the social network via a 1228 device, they can see a message or post from user A about user A's session. If configured to do so, a user can receive notifications such as an email indicating that user A has shared something on 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 about a video game, an invitation to view or play a game slice that user A has created, a video clip of user A's game, etc.

[00119]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 título 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, Y e Z de um objeto em um espaço virtual de um videogame tal como um personagem ou veículo. 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 específicas para o contexto do videogame. A título de exemplo, ações poderiam incluir a iniciação de manobras específicas, 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.[00119] Figure 13 is a graph illustrating various game state variables over time, according to configurations of the invention. It should be appreciated that in various configurations there can 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 configuration are provided by way of example only and not by way of limitation. Game state variables can include values that are defined by the running video game as well as values that are defined by user input. In the illustrated configuration, there are position variables shown indicating the X, Y, and Z positions of an object in a video game's 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 a configuration, the camera angle is defined by and the measured azimuth component (for example, along a horizontal plane) with respect to an azimuth reference and a slope component measured with respect to a slope reference (for example , relative to the vertical). Action variables such as the illustrated action variables A and B indicate the initiation and sustaining of various actions within the video game. It should be appreciated that actions for a given video game will be specific to the video game's context. By way of example, actions could include the initiation of specific maneuvers, the application of techniques, the activation of 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 user input during the course of the video game. Continuing with reference to Figure 13, a weapon variable indicates the firing of a video game weapon. A health variable indicates a level of health, for example, of a user's character in the video game. Button variables indicate the state of buttons on a controller device, for example, whether the button is in a compressed state or a released state. Variables relative to the state of the joystick in the illustrated configuration indicate a magnitude of movement of a joystick relative to a neutral position. Those 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 can be tracked over time.

[00120]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 níveis de atividade para determinadas variáveis de estado de jogo poderiam 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 nível 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.[00120] Referring again to the configuration of Figure 6, in one configuration the game state analyzer 614 can be configured to analyze the game state variables of a user-recorded game. Based on the analysis of the user-recorded game, various regions of interest of 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 levels of activity 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 can be based on various factors such as intensity level, activation frequency, sustain duration, etc. In some configurations, analysis of game state variables may result in searching for game regions where the activity levels of two or more different game state variables are related in a predefined way, 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.

[00121]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).[00121] In various configurations, a user-recorded game region of interest can be automatically determined based on threshold detection of one or more of the following: one or more user inputs, user input speed, input frequency , repeating input types, occurrences of input patterns, inputs in combination (eg key combinations), motion vectors, pressure exerted on a controller, excitation of a user (eg detected based on captured image data or user audio).

[00122JA 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.[00122JA 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 player's progression through the video game follows a linear course, whereby to progress in the video game the player must first complete an objective before progressing to a next objective. Thus, all players have to complete the same objectives in the same order to progress in the video game. Objectives in a linear video game can be tied to geographic and temporal locations within the context of a video game's spatiotemporal story line. In method operation 1400, a video game scene is identified. The scene can be both spatial and temporal in nature, and have multiple objectives defined within it. In method operation 1402, a spatial or temporal extent of the scene is defined. Scene duration can be set according to user input, and it 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 the initial properties as defined above.

[00123]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.[00123] Figure 14B illustrates a method of generating a game slice for an open world type video game, according to an embodiment of the invention. An open world type video game can be characterized as one in which 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 will. In order to progress to different levels of the video game or the full video game, it may be required to complete a certain set of objectives, however, users may be free to complete those 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 video game's virtual world 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 game in an open world video game can span a wide variety of locations during the course of the game. However, for the purpose of generating a game slice, the user can select a game portion 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's selected portion of their recorded game, for example, by tracking a location of a user-controlled character within the virtual world and setting boundaries that include all locations where the 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 previously determined from the selection of games recorded by the user 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.

[00124]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. Na 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 (Al), que foram controlados pela lógica de controle do personagem com Al do videogame em execução no momento do jogo. Como foi descrito em outro lugar aqui, as ações dos personagens com Al podem ser semelhantes em alguns casos. Enquanto que em outras configurações, a lógica de controle do personagem com Al é 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.[00124] Figure 14C illustrates a method for generating a game slice for a sports video game, according to an embodiment of the invention. The game slice can be generated based on a user-defined selection of user-written games. In method operation 1420, a setting is identified based on the selection of saved games by the user. By way of example, the configuration can define a sporting event location, such as a court, stadium, track, or any other location configuration in which a video game sporting event can take place. In method operation 1422, a period of time is set based on the selection of saved games by the user. 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, game slice players are determined based on the players included in the user-recorded game selection. Players can include one or more characters that have been defined by the user, as well as characters with artificial intelligence (Al) that have been controlled by the Al character control logic of the video game running at the time of the game. As described elsewhere here, the characters' actions with Al can be similar in some cases. While in other configurations, the character control logic with Al is defined for the game slice with the parameters as they were defined in the user saved game selection. In method operation 1426, scene attributes for the location setting of the sports video game slice are set. For example, these might include attributes such as weather, track or court conditions, and other attributes of the sport setup. In method operation 1428, the game slice for the video game is generated based on the aforementioned parameters.

[00125]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.[00125] Figure 15 conceptually illustrates the formation of a game in slices with multiple games, according to a configuration of the invention. A video game can be organized into several levels or stages. In the illustrated configuration, a user game at various levels of a video game is shown. Specifically, a game timeline 1500 represents the user's game from a first level of the video game, while a game timeline 1502 and a game timeline 1506 represent the user's game from the second and third levels, respectively, of the video game. In accordance with an embodiment of the invention, a user may concatenate multiple video game game slices to form a larger multiple game slice minigame. In the illustrated configuration, a selection 1502 from the game timeline 1500 is used to define a first game slice 1514. A selection 1504 of two from the user game timeline 15 is used to define a second game slice 1818. And a selection 1508 from the user game timeline 1506 is used to define a third team slice 1522. The first, second, and third game slices are arranged in sequential order to define minigame 1510. In doing so, the 1510 minigame includes game slices from each of the first, second and third levels of the video game. In this way, a user playing the 1510 minigame is able to experience limited portions of multiple levels of the video game when playing the 1510 minigame. This can be useful in providing a more stimulating preview or demonstration of a video game than conventional video games in which user can only play a portion of a video game level or stage. The experience is analogous to that of a movie preview, which typically provides clips from different portions of the same movie, not just a single clip. According to configurations of the invention, users can enjoy demonstrations of the game in multiple portions, which provides a better sense of the scope of the entire video game, and which can include the game continuously from one portion to the next.

[00126]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 usuário, antes ou depois de uma fatia do jogo. Na configuraçã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 vídeo 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.[00126]In a configuration, a user can insert additional material, such as a video, message, images, or any other type of user-defined information, before or after a game slice. In the illustrated embodiment, an intro 1512 is provided to introduce a player to the minigame 1510 and perhaps also introduce the player to the first game slice 1514. In addition, a message 1516 is inserted between the first game slice 1514 and the second game slice 1514. game 1518 and 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 saved game is shown before playing the game slice, the player starting the game slice can better understand the game slice and its objectives before starting the game, whereas if it is displayed after the game slice has been played, the player can understand how their game slice game compares to that of the original user.

[00127]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.[00127] Figure 16 conceptually illustrates the generation of a minigame in slices with multiple games, according to a configuration of the invention. In the illustrated configuration, a recorded game timeline of user 1600 for a game A is shown, along with the recorded game timeline of user 1604 for a game B, and the recorded game timeline of user 1608 for 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 configuration, a selection 1602 of the user-recorded game 1600 is used to define a game slice 1616, while a selection 1606 of the user-recorded game 1604 is used to define a game slice 1620, and a game selection 1610 of the game User-written 1608 is used to define a 1624 game slice. The 1616, 1620, and 624 game slices are arranged in sequence to define the 1612 minigame. Optionally, additional material can be inserted before or after a game slice. In the illustrated configuration, a lead 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 the 1624 game slice.

[00128]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. 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.[00128]In the illustrated configuration, it will be appreciated that the game slices are taken from different video games. This allows the user great flexibility to mix together game slices that come from different game titles and genres, and even console platform generations. Merely by way of example, a user can create a minigame having game slices from each of several game titles in a single video game series. In this way, a video game player can experience and enjoy the evolution of the video game series in a seamless gaming experience.

[00129]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. O 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 vídeo com base em nuvem.[00129]Configurations of the invention have been described generically 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 here can be applied to traditional console-based video game systems, possibly in conjunction with cloud-based game systems. For example, a user can play a console-based video game and have the user's game input data and retained game metadata recorded during the game. Based on the user's game input data and game state metadata, the actual video game broadcast can be regenerated later. Therefore, the 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. The minigame code can be generated on the console and uploaded to a system on request and made available for download by other users. In another configuration, the minigame code is generated by the system on demand after receiving the selected portion of the users' game input data and game state metadata. The on-demand system processes the selected portion of the users' game input data and game state metadata to generate the minigame code based on the video game code stored in the on-demand system. Once generated, the minigame can be made available for cloud-based gaming where minigame execution takes place on the cloud-based system, but it can also be made available to be downloaded to traditional console-based systems to run on the console to facilitate the console-based minigame game. In this way, minigames can be created and played by both console-based video game system users and cloud-based video game system users.

[00130]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 vídeo 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 vídeo 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.[00130]Configurations of the invention have been described generically with reference to minigames or user-defined portions of video games that can be played. However, it will be noted by those skilled in the art that many of the principles elucidated here also readily apply to recorded game generation and sharing, including the sharing of recorded game video, screen captures, and live streaming of active 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's game that formed the basis for the minigame. In most other configurations, methods, systems, and interfaces are considered to facilitate the sharing of the user's game on the user's social graph.

[00131]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 vídeo, 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.[00131]In a configuration, a method to store game is considered. The game may be played by a game console's operating system in response to a user request, which may take the form of a standard file operation against a set of data 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 type of content associated with a game. Please note that such content may be user-generated or developer-generated, free or paid, full or trial, and/or for sale or rental.

[00132]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.[00132]A portion of the game can be retained, ie temporarily stored. For example, the previous 15 seconds, the level previously completed for the previous in-game action can be temporarily stored, as described later here. The term “portion” described herein may correspond 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" can correspond to levels, chapters, scenes, acts, characters, backgrounds, textures, courses, actions, songs, themes, durations, sizes, files, parts of it, and combinations of it. Additionally, portions of the game may comprise captures of hers or prescribed video capture durations.

[00133]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.[00133]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, game portions can be streamed over a wired or wireless network to another computing device, to another game console, or to a remote server. These remote servers can include social media servers.

[00134]0pcionalmente, 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.[00134]Optionally, game portions not retrieved from the store or game portions outside of a particular game range (for example, a particular duration, level, chapter, course, etc.) can be removed from the store. This removal process can be completed using standard file operations on the operating system.

[00135]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 um site da rede de mídia social.[00135]The game portions 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 streamed. The stored game can be displayed alone or together with other information, such as on a social media network website.

[00136]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.[00136]In a configuration, portions of the game are displayed by another game console associated with the user other than the user who stored or captured the game. Under this configuration, game portions 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 can then be streamed to the second user's game console. So the second user can see 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 caught by a second user, from the point of view of the second user. In this configuration the second user can review the game from both the first user's and the second user's point of view. Furthermore, the game portions stored by the second user can be transmitted to the game console of the first user, 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.

[00137]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 vídeo. Em outra configuração, entretanto, porções do jogo podem ser armazenadas e transmitidas como telemetria ou metadados representativos dos dados de imagem ou vídeo, e podem ser recriadas como imagens ou vídeo por um console de jogo ou outro dispositivo antes da exibição.[00137] With respect to the storage, transmission and/or display of game portions as described herein, it is considered that game portions 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 viewing.

[00138]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.[00138]In some configurations, the game portion has a predetermined relationship to the game being played. For example, the game portion may correspond to a certain game total before the game that is currently running, such as the previous 10 seconds of game play. In another embodiment, a first game portion has a predetermined relationship to a second game portion. For example, the first game portion may match a certain game total before receiving a request to capture a second game portion, such as the ten seconds of gameplay prior to selecting a capture button. In each of these settings, the stored game total before the game in progress or the game requested can be configured and adjusted by the user according to their particular preferences.

[00139]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.[00139] In configurations, the store is "smart" or "elastic" so that it captures game according to variables unrelated to time. In such a configuration, the first portion of the game has a predetermined relationship to an event game-related. For example, the first portion of the game can be stored to include a statistical deviation, such as a high score being hit, getting a large number of points in a short time span, multiple button selections on a controller, and other rare events. These statistical deviations can be determined by comparing the 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 in which a user approaches and exceeds that high score. to. In another example, a remote server can track global high scores for a particular game, and it can communicate that information to the game console, which stores game in which the user approaches and exceeds that high score.

[00140]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.[00140]In another configuration, the game portion may be stored to include an achievement, such as a trophy that was achieved or another milestone that was achieved. These trophies or milestones serve as a memory for any in-game or goal achievement, such as a certain number of points being achieved, a certain level being reached, and the like. For example, a game can be stored to include awarding a trophy for reaching level 10, for reaching 100,000 points, etc.

[00141]Similarmente, o progresso até chegar a um resultado, além da obtenção efetiva do troféu ou do desvio estatístico, pode ser armazenado para ser incluído na porçã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.[00141]Similarly, the progress towards reaching a result, in addition to the actual achievement of the trophy or the statistical deviation, can be stored to be included in the game portion. For example, a screenshot can be taken at each of levels one to 10, creating a photo album to remember the receipt of a trophy to reach level 10. Another example, a video can be taken of the user winning a race from the first to the fifth time, where a trophy is awarded after five wins.

[00142]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.[00142]Thus, according to configurations of the invention, at least a part of the executed game can always be kept in a store that is being played. In other words, when a request to share a portion of the game is received, a portion of the past game can already be captured to include past material. For example, if a share game request is received after a user crosses the finish line in a racing game, the stored game may include material from the user 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.

[00143]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.[00143] Figure 17 illustrates an interface to share game, according to a configuration of the invention. The 1700 interface as shown includes several selectable icons to facilitate sharing with a user's friends, eg members of a user's social graph. In one configuration, the 1700 interface can be accessed from a unique button on a controller device. When the button is pressed during game play, the 1700 interface can be presented to allow the user to share their game.

[00144]0 ícone 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 ícone 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 ícone 1702 pode proporcionar acesso a uma seleção de captura de tela adicional que permite ao usuário selecionar uma captura de tela específica 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 vídeo 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.[00144]The 1702 icon can be selected to start sending a screenshot to the user's game. In one configuration, region 1704 of icon 1702 is populated with a screenshot of the user's recent game, thus providing a small-scale preview of the screenshot that can be shared. In a configuration, selecting the 1702 icon can 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, which can be cycled or navigated to identify a particular point in time within the game and its corresponding screenshot.

[00145] O ícone 706 pode ser selecionado para iniciar o envio de um vídeo do jogo do usuário. A região 1708 do ícone 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.[00145] The 706 icon can be selected to start uploading a user game video. The 1708 region of the 1706 icon can be configured to show a video clip representative of the user's recent game, for example, the last 5 seconds of the user's game, a recent achievement, etc., thus displaying a small-scale preview of a video clip of the user's game that can be shared with others.

[00146] O ícone 1710 pode ser selecionado para iniciar streaming de vídeo ao vivo do jogo ativo do usuário. Em uma configuração, a seleção do ícone 1710 vai acionar o recomeço do jogo do usuário. Em outra configuração, a seleção do ícone 1710 proporciona acesso a uma interface para determinar configurações para a transmissão do vídeo em streaming, tais como com quem compartilhar o vídeo em streaming, se incluir um fluxo de vídeo de uma captura de imagem local que se destina a mostrar o próprio usuário durante o jogo, se habilitar comentários, etc.[00146] The 1710 icon 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 to restart the game. In another configuration, selecting the 1710 icon provides access to an interface to determine settings for streaming the streaming video, such as who to share the streaming video with, if it includes a video stream of an intended local image capture to show the user itself during the game, whether to enable comments, etc.

[00147] Será apreciado que o usuário pode compartilhar jogo (por exemplo, uma captura de tela, vídeo, 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 notícias 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.[00147] It will be appreciated that the user can share game (eg a screenshot, video, or selected live game stream) with one or more selected friends, with their entire social graphic, or with any user on the network Social. The social network can be a gaming social network associated with the platform on which the video game is played, or a third-party social network that exists separately from the video game or its platform. The social network can be accessed through an API defined to allow an interface with the social network. Users that the game has been shared with can receive a notification informing them of the shared game. This notification can 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 entail making the game available to other subsets of the social network that may or may not be part of the sharing user's social graph. For example, for a given video game, the game can be shared or made available to any user on the social network who also owns the video game and therefore has guaranteed access to the video game's shared 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 configuration, 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 user who is sharing, options can be provided to allow the user to specify and tailor who and what forum their game will be shared with.

[00148] 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 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 vídeo 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 vídeo 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.[00148] Figure 18 illustrates an interface 1800 for selecting a portion of recorded game video for sharing, according to an embodiment of the invention. Interface 1800 includes a preview region 1802, which sequentially displays a preview of a currently selected portion of the user's game video. Screenshots 1804, 1806, 1808, 1810, and 1812 are placed adjacent to each other in chronological order to define a screenshot timeline indicating game video content. The various 1804, 1806, 1808, 1810 and 1812 screenshots can be image frames taken at regular intervals from the game video. The screen capture timeline can be scrolled left or right to show other frames that precede or follow those currently displayed. Markers 1814 and 1816 indicate the start and end points for a currently selected video clip (or segment or portion). The currently selected video clip can be repeatedly displayed in the 1802 preview region, as noted.

[00149]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.[00149]In a setting, buttons 1818 and 1820 can be selected to respectively reduce or increase the duration of the selected portion of video. An 1822 preview option can be selected to trigger a replay of a full-screen preview of the currently selected video clip. An 1824 edit option can be selected to access additional features for video editing.

[00150]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 vídeo 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, predefinida 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.[00150] Figure 19 illustrates an interface 1900 to view a live video stream related to a user's game, according to a configuration of the invention. In reference 1902, the name and/or alias of the user who is streaming the game is shown. In reference 1904, the number of users currently watching the live video stream is shown. The user's game live video stream is shown in the 1906 video display region. Additionally, a 1908 user live video may be included, showing a live video of the actual user whose game is being streamed live . A command option 1910 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 noted that issuing in-game commands or remotely controlling the user's game may require permission, predefined or requested at game time, from the user who is playing the game to allow the user who is watching to perform these actions.

[00151]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.[00151]An option 1912 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.

[00152]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.[00152]In addition, the interface may include a 1916 comments section that displays comments from users who are viewing the live video stream, indicating the timing of each comment. A 1928 comment input field is provided for the viewing user to enter text for a comment to be posted. And the 1920 send button is pressed to send the comment to be seen by the user who is streaming live and others who are watching the live video stream.

[00153]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 tela capturada pode então ser automaticamente enviada e compartilhada com o gráfico social do usuário.[00153] Although configurations of the invention have been described with reference to accessing various interfaces for sharing from the push of an exclusive button, it will be appreciated that, in other configurations, some or all of these interfaces may not be required to facilitate the game sharing for a user social graph. For example, in a setup, a controller button can be configured to capture a screen of the user's game when pressed. The screenshot can then be automatically uploaded and shared with the user's social graph.

[00154]Em outra configuração, apertar um botão específico no controlador inicia a gravação de um vídeo 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 video, 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.[00154]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 stopped, and the video clip can be sent to the user's social graph and shared there. In one configuration, uploading and sharing the video clip with the user's social graph can 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 edit the video, determine specific users to share the video with, add a caption or title, etc. After user customization, the video can be shared with others or made available in some other way for viewing.

[00155]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.[00155]In a configuration, a specific button on the controller can be configured to share a predefined duration of game video 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 can 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 to edit the video and play other types of customization can be applied to the recorded game video. In addition, game video recorded of a preset duration following button press can be combined with previously stored game video as described.

[00156]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.[00156]In yet another configuration, a specific button on the controller device can 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 graph, or to other user groups or smaller, such as a specific subset of the user's social graph, all users who have or have access to any way to the same video game, any game platform user, etc.

[00157]GERAÇÃO AUTOMÁTICA DE MINIGAMES SUGERIDOS PARA JOGO EM NUVEM COM BASE EM JOGO GRAVADO[00157] AUTOMATIC GENERATION OF SUGGESTED MINIGAMES FOR CLOUD GAME BASED ON RECORD GAME

[00158]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.[00158] In one embodiment, a method for generating a limited playable 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 video game 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.

[00159]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 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.[00159]In one configuration, recording user game includes recording one or more of user input data or game state data. In one configuration, analyzing the user-recorded game includes determining activity levels from user input data or game state data, the region of interest being a region having activity levels that exceed a predefined threshold.

[00160]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.[00160]In one configuration, defining boundaries within a video game 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 smaller than the entirety of the virtual space, the portion of the virtual space having a subset of virtual space features.

[00161]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.[00161] In one configuration, defining boundaries within a video game game context includes defining a temporal boundary within a video game temporal context.

[00162]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.[00162] In a configuration, defining boundaries includes identifying a closer starting point or a closer ending point to one or more within a stage, level or scene.

[00163]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.[00163] In one configuration, analyzing the user's recorded game includes determining the user's game state settings based on the user's 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.

[00164]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 níveis de compartilhamento da rede social.[00164]In a configuration, the region of interest is automatically identified based on matching one or more boundaries. In a 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 video game portions based on social network share levels.

[00165]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.[00165] In another embodiment, a method is provided for generating a limited playable 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 input indicating a selected region of interest; set limits within a video game game context based on the selected region of interest; and generate the limited version of the video game based on defined boundaries; where the method is executed by a processor.

[00166]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 níveis 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 níveis de atividade que excedem um limite predefinido.[00166]In one configuration, recording user game includes recording one or more of user input data or game state data. In one configuration, analyzing user-recorded game play includes determining activity levels from user input data or game state data, each region of interest being a region having activity levels that exceed a predefined threshold.

[00167]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.[00167] In one configuration, analyzing 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 determined user game state settings.

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

[00169]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.[00169] In another embodiment, a method for generating a limited playable version is provided, including the following method operations: recording a user's game of a full version of the video game, wherein the user's game recording includes record 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 input indicating a selected region of interest; for the selected region of interest, define boundaries within a video game game context based on the selected region of interest; generate the limited version of the video game based on defined boundaries; where the method is executed by a processor.

[00170]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.[00170] In one configuration, defining boundaries within a video game game context includes defining a spatial boundary within a video game 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 virtual space features.

[00171]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.[00171] In one embodiment, defining boundaries within a video game game context includes defining a temporal boundary within a video game temporal context.

[00172]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.[00172]173 In a configuration, defining boundaries includes identifying a closer starting point or a closer ending point to one or more of a stage, level or scene.

[00173]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.[00173] In a configuration, at least one of said thresholds is associated with one or more of user inputs, a user input speed, a user input frequency, repetitions 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 social network sharing levels.

[00174]GERAÇÃO DE UM MINIGAME EM MÚLTIPLAS PARTES PARA JOGO EM NUVEM COM BASE EM JOGO GRAVADO[00174] GENERATION OF A MULTI-PART MINI GAME FOR CLOUD PLAY BASED ON RECORD GAME

[00175]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.[00175] In one embodiment, a method for generating a limited playable version of a video game is provided, including the following method operations: recording a user game of a full version of the video game; determine a plurality of user-defined portions of the user-recorded game; for each user-defined portion, defining boundaries within a game context of the video game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; position each of the playable portions of the video game in a series to define the limited version of the video game; where the method is executed by a processor.

[00176]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.[00176] In one configuration, determining each user-defined portion of the user-recorded game includes receiving a user-defined starting point and a user-defined ending point within the user-recorded game, and determining the user-defined portion based on at the user-defined received starting point and at the user-defined endpoint.

[00177]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.[00177] In one configuration, recording user game includes recording one or more of 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 defining the playable portion of the video game.

[00178]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.[00178] 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 the entirety of the virtual space, the portion of the virtual space having a subset of virtual space features.

[00179]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.[00179] In one configuration, defining boundaries within a video game game context includes defining a temporal boundary within a video game temporal context.

[00180]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.[00180] In a configuration, 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 the user's determined game state settings.

[00181]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.[00181] In a configuration, defining boundaries includes identifying a starting point or ending point closest to one or more of a stage, level, or scene.

[00182]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.[00182] In one configuration, the method further includes recording a user-defined video; where placing the playable portions of the video game includes placing the user-defined video in a location within the series that precedes or follows 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.

[00183]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.[00183] 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 version full video game; program instructions for determining a plurality of user-defined portions of the user's recorded game; program instructions to, for each user-defined portion, define boundaries within a video game context based on the user-defined portion, and generate a playable portion of the video game based on the defined boundaries; program instructions for placing each of the playable portions in a series to define the limited version of the video game.

[00184]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.[00184] In one configuration, determining each user-defined portion of the user-recorded game includes receiving a user-defined starting point and a user-defined ending point within the user-recorded game, and determining the user-defined portion based on at the user-defined received starting point and at the user-defined received endpoint.

[00185]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.[00185] In one configuration, recording user game includes recording one or more of 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 defining the playable portion of the video game.

[00186]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.[00186] In another embodiment, the tangible computer-readable medium further includes program instructions for, 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 the user's determined game state settings.

[00187]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.[00187] In another embodiment, a system is provided, including: at least one server computing device, the minimum server computing device having logic to generate a limited playable version of a video game, including logic to record the game of a user 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 video game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; logic to place each of the playable portions of the video game in a series to define the limited version of the video game.

[00188]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.[00188] In one configuration, determining each user-defined portion of the user-recorded game includes receiving a user-defined starting point and a user-defined ending point within the user-recorded game, and determining the user-defined portion based on at the user-defined received starting point and at the user-defined received endpoint.

[00189]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.[00189]In one configuration, recording user game includes recording one or more of 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 defining the playable portion of the video game.

[00190]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.[00190] In a configuration, said logic further includes logic to, for each user-defined portion, 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.

[00191]COMPARTILHAR JOGO GRAVADO EM UM GRÁFICO SOCIAL[00191] SHARE GAME RECORDED ON A SOCIAL GRAPHIC

[00192]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 vídeo 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 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.[00192]In one configuration, a method for sharing game recorded in a social graph is provided, including the following method operations: video recording a user's game during an active state of a game session; receive a command to initiate a share operation during the active state of the game 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's social graph; resume game session active state; where the method is executed by a processor.

[00193]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.[00193]In one configuration, recording the user's game video includes storing the video to a store during the active state of the game session.

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

[00195]Em uma configuração, a interface de compartilhamento inclui um seletor de duração para definir uma duração da seleção definida pelo usuário.[00195]In a configuration, the sharing interface includes a duration selector to set a user-defined selection duration.

[00196]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.[00196]In one configuration, sharing the selection includes sending the selection for availability on a social networking service that defines the user's social graph.

[00197]Em uma configuração, enviar a seleção inclui comprimir a seleção e enviar a seleção comprimida.[00197]In a configuration, sending the selection includes compressing the selection and sending the compressed selection.

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

[00199]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 notícias social, um e-mail.[00199]In a configuration, 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.

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

[00201 ]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.[00201 ]In a configuration, the reception of the command to start the sharing operation is defined by pressing a button on a controller device.

[00202]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 vídeo 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 vídeo gravado; compartilhar a seleção definida pelo usuário do vídeo gravado em um gráfico social do usuário; em que o método é executado por um processador.[00202] In another embodiment, a method for sharing game recorded on a social graph is provided, including the following method operations: video recording a user's game during an active state of a game session; receive a command to initiate a share operation during the active state of the game session; in response to receiving the command, determining a user-defined selection of recorded video; share the user-defined selection of recorded video in a user's social graph; where the method is executed by a processor.

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

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

[00205]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.[00205]In one configuration, sharing the selection includes sending the selection for availability on a social networking service that defines the user's social graph.

[00206]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.[00206]In a configuration, the reception of the command to start the sharing operation is defined by pressing a button on a controller device.

[00207]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 vídeo gravado em um gráfico social do usuário.[00207] 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 videotaping 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 game session; program instructions to, in response to receiving the command, determine a user-defined selection of recorded video; program instructions to share the user-defined selection of recorded video in a user's social graph.

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

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

[00210]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.[00210]In one configuration, sharing the selection includes sending the selection for availability on a social networking service that defines the user's social graph.

[00211]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.[00211]In a configuration, receiving the command to start the sharing operation is defined by pressing a button on a controller device.

[00212]CONTROLE REMOTO DE UM JOGO DE UM PRIMEIRO USUÁRIO POR UM SEGUNDO USUÁRIO[00212]REMOTE CONTROL OF A FIRST USER GAME BY A SECOND USER

[00213]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.[00213] In one embodiment, a method is provided for providing remote control of a user's game, 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 control of the game from the first user to the second user; start control of the first user's game by the second user; where the method is executed by at least one processor.

[00214]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.[00214] In one configuration, starting the first user's game control by the second user includes disabling the first user's game control by a first controller device associated with the first user, and enabling the first user's game control by a second device controller associated with the second user.

[00215]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.[00215] In one configuration, control of the first user's game by the second controlling device includes receiving input commands from the second controlling device and applying the input commands to define the first user's game.

[00216]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.[00216] In one configuration, 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 social graph of the second user.

[00217]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.[00217]In one configuration, the social interface includes a feedback interface for posting in-game feedback from the first user.

[00218]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.[00218]In one configuration, processing the request to transfer control includes receiving an acknowledgment from the first user to allow control of the first user's game by the second user.

[00219]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.[00219]In one configuration, presenting the first user's game live video feed to the second user includes presenting the live video feed in a non-full-screen format; and the initiation of game control of the first user by the second user includes triggering the live video feed presentation in a full-screen format.

[00220]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 vídeo 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.[00220] 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's 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 game session of the first user; where the method is executed by at least a first processor.

[00221 ]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.[00221] In one configuration, game initiation by the second user in the first user's session includes starting a multiplayer mode of a video game.

[00222]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.[00222] In one configuration, 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 social graph of the second user.

[00223]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.[00223]In one configuration, the social interface includes a comments interface for posting in-game comments from the first user.

[00224]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.[00224]In one configuration, processing the request to join the first user's game session includes receiving an acknowledgment from the first user to allow the second user to play in the first user's game session.

[00225]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 vídeo ao vivo em um formato de tela cheia.[00225] 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 format that is not full-screen; and launching the second user game in the first user's game session includes triggering the live video feed presentation in a full screen format.

[00226]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.[00226] In another embodiment, a non-transient computer readable medium is provided having program instructions incorporated therein to provide remote control of a user's game, the program instructions including: program instructions for presenting a video feed to the live gameplay from a first user to a second remote user; program instructions for processing a request to transfer control of the game from the first user to the second user; program instructions to initiate control of the first user's game by the second user.

[00227]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.[00227]In one configuration, starting the first user's game control by the second user includes disabling the first user's game control by a first controller device associated with the first user, and enabling the first user's game control by a second device controller associated with the second user.

[00228]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.[00228] In one configuration, control of the first user's game by the second controlling device includes receiving input commands from the second controlling device and applying the input commands to define the first user's game.

[00229]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.[00229] In one configuration, 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 social graph of the second user.

[00230]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.[00230]In one configuration, the social interface includes a feedback interface for posting in-game feedback from the first user.

[00231 ]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.[00231 ]In one configuration, processing the request to transfer control includes receiving an acknowledgment from the first user to allow control of the first user's game by the second user.

[00232]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 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.[00232]In one configuration, presenting the first user's game live video feed to the second user includes presenting the live video feed in a non-full-screen format; and the initiation of game control of the first user by the second user includes triggering the live video feed presentation in a full-screen format.

[00233]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 vídeo exclusiva (VRAM) 2032; e uma ponte I/O 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.[00233] Figure 20 illustrates hardware and user interfaces that can be used to provide interactivity with a video game, according to an embodiment of the present invention. Figure 20 schematically illustrates the system architecture as a whole of the Sony® Playstation 3® entertainment device, a console that can be supported 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 can be connected to system unit 2000. System unit 2000 comprises: a Cell processor 2028; 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 2034 I/O bridge. System unit 2000 also comprises a Blu Ray® Disk BD-ROM® 2040 optical disc reader for reading from a 2040a disk and a hard disk drive (HDD) with case 2036, 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.

[00234]A ponte I/O 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.11 b/g 2020; e a uma entrada para link sem fio Bluetooth® 2018 capaz de suportar até sete conexões Bluetooth.[00234]The 2034 I/O bridge also connects to six Universal Serial Bus (USB) 2.0 2024 inputs; to a gigabit 2022 Ethernet input; to an IEEE 802.11 b/g 2020 wireless network (wi-fi) input; and a 2018 Bluetooth® wireless link port capable of supporting up to seven Bluetooth connections.

[00235]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.[00235]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 I/O bridge 2034 receives data from the 2002-2003 game controller over a Bluetooth link and routes it to the Cell processor 2028, which updates the state of the game at that time in agreement. .

[00236]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 vídeo 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 princípio 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.[00236]The wireless, USB and Ethernet inputs also provide connectivity to other peripheral devices in addition to the 2002-2003 game controllers, such as: a 2004 remote control; a 2006 keyboard; a 2008 mouse; a 2010 portable entertainment device, such as a Sony Playstation Portable® entertainment device; a video camera such as an EyeToy® 2012 video camera; a 2014 microphone headset; and a 2015 microphone. Such peripheral devices can therefore in principle be connected to system unit 2000 without using wire; for example, the 2010 portable entertainment device can communicate via a wi-fi connection for this purpose, while the 2014 microphone headset can communicate via a Bluetooth link.

[00237]A provisão dessas interfaces significa que o dispositivo Playstation3 também é potencialmente compatível com outros dispositivos periféricos tais como gravadores de vídeo digital (DVRs), conversores, câmeras digitais, reprodutores portáteis de mídia, VoiceOver para ifones, telefones móveis, impressores e scanners.[00237]The provision of 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 headphones, mobile phones, printers and scanners .

[00238]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®.[00238]In addition, a legacy 2016 memory card reader can be connected to the system unit via a 2024 USB port, allowing reading of 2048 memory cards of the type used by Playstation® or Playstation 2® devices.

[00239]0s 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 bateria 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®, WiFiTM, etc.[00239]The 2002-2003 game controllers are operable to wirelessly communicate with the system unit 200 via the Bluetooth link, or to be connected to a USB port, thus also providing power with which to charge the controllers battery. 2002-2003 game. 2002-2003 game controllers may also include memory, a processor, a memory card reader, permanent memory such as flash memory, light emitters such as an illuminated spherical section, LEDs, or infrared lights, microphone and loudspeaker. - speaker for ultrasound communications, an acoustic chamber, a digital camera, an internal clock, a recognizable shape such as the spherical section facing the game console, and wireless communications using protocols such as Bluetooth®, WiFiTM, etc.

[00240]0 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 PlaystationTM Portátil pode ser usado como controlador. No caso do dispositivo PlaystationTM 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).[00240] The 2002 game controller is a controller designed to be used with two hands, and the 2003 game controller is a one-hand controller with an accessory. In addition to the joystick or analogue joysticks and conventional control knob or buttons, the game controller is susceptible to a three-dimensional location determination. Consequently gestures and movements by the game controller user can be translated as inputs into a game in addition to the conventional button or joystick commands or in place of them. Optionally, other wireless enabled peripheral devices such as the PlaystationTM Portable device can be used as the controller. In the case of the PlaystationTM Portable device, additional game or control information (eg, control instructions or number of lives) may be provided on the device's screen. Other alternative or supplemental control devices can also be used, such as a dance mat (not shown), a light gun (not shown), a steering wheel and pedals (not shown) or controller bespokes such as one or more buttons large size for a quiz that requires quick answers (also not shown).

[00241 ]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 RayTM Disk BD-ROM 2040 e para a navegação do conteúdo do disco.[00241 ]The 2004 remote is also operable to communicate wirelessly with the 2000 system unit over a Bluetooth link. The remote control 704 comprises controls suitable for operating the Blu RayTM Disk BD-ROM 2040 player and for browsing disc content.

[00242]0 leitor de Blu RayTM 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.[00242]The Blu RayTM Disk BD-ROM 2040 reader is operable to read CD-ROMs compatible with Playstation and Playstation 2 devices, in addition to conventional pre-recorded and blank CDs, and the so-called Super Audio CDs. The 2040 player is also operable to read DVD-ROMs compatible with Playstation2 and Playstation 3 devices, in addition to conventional pre-recorded and blank DVDs. The 2040 reader is also operable to read BD-ROMs compatible with the Playstation3 device, as well as conventional pre-recorded and blank Blu-Rays.

[00243]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 saída de vídeo pode estar em formatos tais como PAL ou NTSC, ou em alta definição de 720p, 1080Í ou 1080p.[00243] System unit 2000 is operable to provide audio and video, either generated or decoded by the Playstation 3 device via the Reality Synthesizer 2030 graphics unit, via audio and video connectors to a 2042 sound and image output device such as a monitor or television having a 2044 display and one or more 2046 speakers. The 2050 audio connectors can include conventional analog and digital outputs, while the 2052 video connectors can diversely include a component video, S-video, video composite and one 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, 1080i or 1080p.

[00244]0 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®.[00244]0 processing (generation, decoding, and so on) of audio is performed by the Cell 2028 processor. The operating system of the Playstation 3 device supports Dolby® 5.1 surround sound, Dolby® Theater Surround (DTS), and 7.1 surround sound decoding from Blu-Ray® discs.

[00245]Na presente configuração, a câmera de vídeo 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 vídeo 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 vídeo 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 vídeo 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 outra configuração, a câmera é uma câmera infravermelha adequada para detectar luz infravermelha.[00245] In the present embodiment, the video camera 2012 comprises a single charge coupled device (CCD), an LED indicator, and an apparatus for hardware-based real-time data compression and encoding so that video data tablets 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 control data from the 2000 system unit, for example, to signify adverse light conditions. Camcorder 2012 settings can connect to the 700 system unit via a USB, Bluetooth or Wi-Fi communication input in various ways. Video camera configurations may include one or more associated microphones and may also be capable of transmitting audio data. In video camera settings, the CCD may have a resolution suitable for high definition video capture. When in use, images captured by the video camera can, for example, be incorporated into a game or interpreted as game control inputs. In another configuration, the camera is an infrared camera suitable for detecting infrared light.

[00246]Em geral, para que ocorra uma comunicação de dados bem-sucedida com um dispositivo periférico tal como uma câmera de vídeo 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.[00246] 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 driver device must be provided. Device driver technology is well known and will not be described in detail here, except to say that one skilled in the art will be aware that a device driver or similar software interface may be required in the present described configuration.

[00247]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 saída 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.[00247] Figure 21 illustrates additional hardware that can be used to process instructions, according to an 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 2170A,B dual bus interface controller; a main processor called Power Processing Element 2150; eight coprocessors called Synergistic Processing Elements (SPEs) 2110A-H; and a circular data bus connecting the aforementioned components as the 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.

[00248]0 Elemento de Processamento de Energia (PPE) 2150 se baseia em um núcleo de PowerPC (PPU) 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 nível 2 (L2) de 512 kB e a um cache nível 1 (L1) 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.[00248]0 Power Processing Element (PPE) 2150 is based on a PowerPC (PPU) 855 core that supports two-way simultaneous multithreading Power 570 running with an internal 3.2 GHz clock. It comprises a level cache 2 (L2) of 512 kB and a level 1 (L1) cache of 32 kB. The PPE 2150 is capable of eight single-position operations per clock style, translating to 25.6 GFLOPs at 3.2 GHz. The PPE 2150's primary role is to act as a controller for the 2110A-H Synergistic Processing Elements, which takes care of most of the computer's workload. When operating the PPE 2150 it maintains a job queue, scheduling jobs for the 2110A-H Synergistic Processing Elements and monitoring their progress. Consequently, each Synergistic Processing Element 2110A-H runs a core whose role is to search for a job, execute it and synchronize with the PPE 2150.

[00249]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 2120A-H 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 2140A-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.[00249] Each Synergistic Processing Element (SPE) 2110A-H comprises a respective Synergistic Processing Unit (SPU) 2120A-H, and a respective Memory Flow Controller (MFC) 2140A-H which in turn comprises a respective Controller Memory Access Device (DMAC)2142A-H, a corresponding Memory Management Unit (MMU)2144A-H, and a bus interface (not shown). Each 2120A-H SPU is a RISC processor clocked at 3.2GHz and comprising 256kB local 2130A-H RAM, which can in principle be expanded up to 4GB. Each SPE theoretically delivers 25.6 GFLOPS of performance with unique precision. An 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 2120A-H SPU does not directly access the system's XDRAM 2026 memory; the 64-bit addresses formed by the 2120A-H SPU are passed to the MFC 2140A-H which instructs its 2142A-H controller to access memory via the 2180 Element Interconnect Bus and 2160 memory controller.

[00250]0 Barramento de Interconexão de Elemento (EIB) 2180 é urn 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.[00250] The Element Interconnect Bus (EIB) 2180 is a logically circular communication bus internal to the Cell processor 2028 that connects the above processor elements, i.e. the PPE 2150, the memory controller 2160, the bus interface dual 2170A,B and the 8 SPEs 2110A-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 data flow for steps between any two participants is six steps in the proper direction. The theoretical maximum instantaneous EIB bandwidth for 12 slots is therefore 96B per clock, in the case of full utilization through an arbitration between participants. This equals a maximum theoretical bandwidth of 307.2 GB/s (gigabytes per second) at a clock rate of 3.2GHz.

[00251]0 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.[00251] 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.

[00252]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 I/O 2034 via controlador 2170A e a unidade gráfica Reality Simulator 2130 via controlador 2170B.[00252]The dual bus 2170A,B interface comprises a 2172A,B interface of Rambus FlexIO® system. The interface is organized into 12 channels each having an 8-bit width, with five paths facing inward and seven facing outward. 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 2034 I/O Bridge via the 2170A controller and the Reality Simulator 2130 graphics unit via 2170B controller.

[00253]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.[00253]Data sent by the Cell 2128 processor to the Reality Simulator 2130 graphics unit will typically comprise display lists, being a sequence of commands to draw vertices, apply textures to polygons, specify light conditions, and so on.

[00254]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. O 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.[00254] Figure 22 is an exemplary illustration of scene A to scene E with the respective user from A to E interacting with game clients 2202 that are connected to the server processing over the internet, according to a configuration of the present invention . A game client is a device that allows users to connect to server applications and perform processing over the internet. The game client allows users to access and play online entertainment-related content such as, among others, movies, music and photos. In addition, the game client can provide access to applications connected with online communication, such as VOIP, text chat protocols, and email.

[00255]Um usuário interage com o cliente de jogo via controlador. Em algumas configurações o controlador é um controlador específico 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 vídeo 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 Firewire, etc. Em outras configurações, o cliente de jogo está integrado a uma televisão ou outro dispositivo multimídia tal como um DVR, aparelho de Blu-Ray, aparelho de DVD ou receptor em múltiplos canais.[00255]A user interacts with the game client via the controller. In some configurations the controller is a game client specific controller while in other configurations the controller can be a combination of keyboard and mouse. In one configuration, the game client is a self-contained device capable of transmitting audio and video signals to create a multimedia environment through a monitor/television and associated audio equipment. For example, the game client can be, among others, a thin client, an internal PCI-express card, an external PCI-express card, an ExpressCard device, an internal USB device, external or wireless, or a Firewire device, etc. In other configurations, 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.

[00256]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.[00256]Within scene A of Figure 22, user A interacts with a client application displayed on a 2204A monitor using a 2206A controller paired with the 2202A game client. Similarly, within CNA B, user B interacts with another client application that is displayed on display 2204B using a controller 2206B paired with game client 2202B. Scene C illustrates a view taken from behind user C as he looks at a monitor displaying a game and friends list from 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.

[00257]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 permitiria 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.[00257]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 can be stored as part of a user's virtual distributed 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 of multiple games, custom settings for single games, and general settings for the game client. In one configuration, the server processing geolocation module is used to determine the geographic location of a user and their respective game client. The user's geographic location can be used by either the sharing/communication logic or the load balancing processing service to optimize performance based on geographic location and process the demands of the multiple server processing modules. Putting in the virtual world either network processing or network storage or both would allow game client task processing 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 the transmission of data between server processing modules and game clients.

[00258]0 módulo de processamento de servidor tem instâncias do aplicativo de servidor A 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 X1 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.[00258]0 server processing module has instances of server application A and server application B. The server processing module is capable of supporting multiple server applications as indicated by server application X1 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 multi-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 increasing computing demands needed for more complex graphics or game processing, game compression, or application complexity. In one configuration, the server processing module performs most of the processing via the 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 displayed on a monitor.

[00259]A cena C ilustra um aplicativo exemplificative 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.[00259] Scene C illustrates an exemplary application that can be run by the game client and the server processing module. For example, in one configuration the game client 2202C allows user C to create and view a buddy list 2220 that includes user A, user B, user D, and user E. As shown, in scene C, user C is able to view real-time images or avatars of the respective user on the 2204C monitor. The server processing runs the respective game client applications 2202C and with the respective game clients 2202 of users A, user B, user D and user E. Because the server processing is aware of the requests being executed by the client For game B, user A's friends list can indicate which game user B is playing. Furthermore, in a configuration, user A can have an actual preview of the video game directly from user B. This is enabled by merely sending it by merely sending processed data from user B's server application to game client A in addition to the client game B.

[00260]Além de possibilitar a visualização de vídeo 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 vídeo 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.[00260]In addition to enabling the viewing of video of friends, the communication application can allow real-time communications between friends. As applied to the previous example, this allows User A to encourage or hint while watching User B's real-time video. 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.

[00261 ]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.[00261 ] 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's processing module and illustrates a network where the server processing the modules coordinates the game for both game consoles and game clients.

[00262]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, notícias, 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.[00262]Figure 23 illustrates a configuration of an Information Service Provider architecture. 2370 Information Service Providers (ISP) send multiple information services to geographically dispersed 2382 users connected via the 2386 network. An ISP may only send one type of service, such as stock price updates, or a variety of services such as broadcast media, news, sports, games, etc. Furthermore, the services offered by each ISP are dynamic, that is, services can be added or removed at any time. Thus, the ISP that provides a particular type for a particular individual may change over time. For example, a user may be served by an ISP in close proximity to the user while the user is in the city where they reside, and the user may be served by a different ISP when the user travels to a different city. The ISP in the home city will transfer the required information and data to the new ISP, so the 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 can be established between a master ISP, which manages information for the user, and a server ISP, which interfaces directly with the user under the 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 the one sending those services.

[00263] 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.[00263] ISP 2370 includes Application Service Provider (ASP) 2372, which provides computer-based services to clients over a network. Software offered using an ASP model is also sometimes called 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 to use a standard protocol such as HTTP. Application software resides on the vendor's system and is accessed by users through a web browser using HTML, vendor-provided special-purpose client software, or another remote interface such as a thin client.

[00264] 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 infraestrutura 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 (laaS), 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. O 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.[00264] Services sent over a wide geographic area often utilize on-demand computing. On-demand computing is a style of computing in which scalable and often virtualized resources are provided as a service over the internet. Users don't need to be technology infrastructure experts in the “cloud” that supports them. Cloud computing can be divided into different services such as Infrastructure as a Service (laaS), 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 the 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 it encompasses.

[00265] 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.[00265] In addition, ISP 2370 includes a Game Processing Server (GPS) 2374 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 it requires a separate server to host the server application. In another configuration, the GPS establishes communication between players and their respective gaming devices exchange information without relying on centralized GPS.

[00266] 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 título do jogo, permitindo aos mesmos controlar e atualizar o conteúdo.[00266] Exclusive 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 owns the game title, allowing them to control and update content.

[00267] O 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 país no mundo.[00267] Broadcast Processing Server (BPS) 2376 distributes audio or video signals to an audience. Broadcasting to a very narrow range of audiences 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 over cable TV or cable radio ( or “wireless cable”) from the station or directly from a network. The internet can also bring radio or TV to the recipient, especially by multicast allowing the signal and bandwidth to be shared. Historically, broadcasts have been delimited by a geographic region, such as national broadcasts or regional broadcast. However, with the proliferation of the fast internet, broadcasts are not defined by geographies as the content can reach almost any country in the world.

[00268] 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.[00268] Storage Service Provider (SSP) 2378 provides computer storage space and related management services. SSPs also provide 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 won't lose all of their data if their computer's hard drives fail. In addition, a plurality of SSPs can have full or partial copies of user data, allowing users to access data efficiently 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 cell phone while the user is on the move.

[00269] 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.[00269] The 380 Communications Provider provides connectivity to users. One type of Communications Provider is an Internet Service Provider (ISP) that provides access to the Internet. The ISP connects its customers using an appropriate data transmission technology to send Internet Protocol datagrams, such as dial-up, DSL, cable modem, wireless, or proprietary 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) which sells bandwidth or network access by providing direct backbone access to the internet. Network service providers may consist of telecommunications companies, data carriers, wireless communications providers, internet service providers, cable television operators offering high speed internet access, etc.

[00270] A 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).[00270] 2388 Data Exchange interconnects the various modules within the 2370 ISP and connects these modules to 2382 users via the 2386 network. 2388 Data Exchange can cover a small area where all 2370 ISP modules are very close together, or they can cover a large geographical area when the different modules are geographically dispersed. For example, Data Exchange 2388 may include a Gigabit (or faster) Ethernet within a data center file, or an intercontinental virtual area network (VLAN).

[00271] Os usuários 2382 acessam os serviços remotos com o dispositivo de cliente 2384, que inclui pelo menos uma CPU, um mostrador e I/O. 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.[00271] 2382 users access remote services with client device 2384, which includes at least a CPU, a display, and I/O. The client device can be a PC, cell phone, netbook, PDA, etc. In a configuration, the ISP 2370 recognizes the type of device used by the customer and adjusts the method of communication used. In other cases, client devices use a standard communication method, such as HTML, to access 2370 ISPs.

[00272] 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.[00272] 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, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by processing devices that are linked via a wired or wireless based network.

[00273] 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.[00273] With the above configurations in mind, it should be understood that the invention can 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 an apparatus for performing these operations. The apparatus may be specially constructed for the required use, or the apparatus may be a general purpose computer selectively activated or configured by a computer program stored on the computer. In particular, various general purpose machines can be used with computer programs written in accordance with the teachings herein, or it may be more convenient to build a more specialized apparatus to perform the required operations.

[00274] 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.[00274] The invention may also be incorporated with computer-readable code on a computer-readable medium. A 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. -optics. The computer-readable medium may include tangible computer-readable medium distributed in a network-coupled computer system so that the computer-readable code is stored and executed in a distributed manner.

[00275] 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.[00275] Although method operations have been described in a specific order, it should be understood that other maintenance operations can be performed between operations, or operations can be adjusted so that they occur at slightly different times, or they can be distributed in a system that allows processing operations to occur at various intervals associated with processing, as long as the process of overlapping operations is carried out in the desired manner.

[00276] 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.[00276] Although the invention has been described in some detail for the purpose 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 is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.

Claims (34)

1. Método para gerar uma versão limitada que pode ser jogada de um videogame, caracterizado pelo fato de que compreende: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; egerar a versão limitada do videogame com base nas fronteiras definidas;em que o método é executado por um processador; eem que o contexto de jogo do videogame é determinado pela relação de uma pluralidade de cenas do videogame.1. Method for generating a limited playable version of a video game, characterized by the fact that it comprises: recording a user's game of a full version of the video game; analyzing the user's recorded game to determine a region of interest; boundaries within a video game game context based on the determined region of interest; egenerate the limited version of the video game based on defined boundaries; where the method is executed by a processor; and in which the video game game context is determined by the relationship of a plurality of video game scenes. 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de 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 jogo.2. Method according to claim 1, characterized in that recording the user's game includes recording one or more of the user's input data or game state data. 3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de 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.3. Method according to claim 2, characterized in that analyzing the game recorded by the user includes determining activity levels of user input data or game state data, the region of interest being a region having levels of activities that exceed a predefined threshold. 4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira espacial dentro de um espaço virtual do videogame.4. Method according to claim 1, characterized in that defining boundaries within a video game game context includes defining a spatial boundary within a video game virtual space. 5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de 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.5. Method according to claim 4, characterized in that the spatial boundary within the virtual space of the video game defines a portion of the virtual space smaller than a totality of the virtual space, the portion of the virtual space having a subset of characteristics of the virtual space. 6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira temporal dentro de um contexto temporal do videogame.6. Method according to claim 1, characterized in that defining boundaries within a video game game context includes defining a temporal boundary within a video game temporal context. 7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de 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.7. Method according to claim 1, characterized in that defining boundaries includes identifying a closer starting point or a closer ending point to one or more within a stage, level or scene. 8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de 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; eem 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.8. The method of claim 1, wherein analyzing the user's recorded game includes determining the user's game state settings based on the user's recorded game; where 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, de acordo com a reivindicação 1, caracterizado pelo fato de que a região de interesse é automaticamente identificada com base em um ou mais limites.9. Method according to claim 1, characterized in that the region of interest is automatically identified based on one or more limits. 10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de 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.10. Method according to claim 9, characterized in that at least one of said thresholds is associated with one or more user inputs, a user input speed, a user input frequency, repetitions of an input 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 social network sharing levels. 11. Método, de acordo com a reivindicação 1, caracterizado pelo fato de queanalisar o jogo gravado do usuário inclui determinar uma pluralidade de porções definidas pelo usuário do jogo gravado do usuário;em que definir fronteiras dentro de um contexto de jogo inclui, 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, ao 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.11. The method of claim 1, wherein analyzing the user's recorded game includes determining a plurality of user-defined portions of the user's recorded game; wherein defining boundaries within a game context includes, for each user-defined portion, defining boundaries within a game context of the video game based on the user-defined portion, and generating a playable portion of the video game based on defined boundaries, by positioning each of the playable portions with of the video game in a series to define the limited version of the video game. 12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de 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.12. The method of claim 11, wherein determining each user-defined portion of the user-recorded game includes receiving a user-defined starting point and a user-defined ending point within the user-recorded game, and determining the user-defined portion based on the user-defined received starting point and the user-defined endpoint. 13. Método, de acordo com a reivindicação 11, caracterizado pelo fato de 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.13. Method according to claim 11, characterized in that recording the user's game includes recording one or more of the user's input data or game state data. 14. Método, de acordo com a reivindicação 13, caracterizado pelo fato de 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.14. Method according to claim 13, characterized in that 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 defining the playable portion of the video game. 15. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira espacial dentro de um espaço virtual do videogame.15. Method according to claim 11, characterized in that defining boundaries within a video game game context includes defining a spatial boundary within a video game virtual space. 16. Método, de acordo com a reivindicação 15, caracterizado pelo fato de 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.16. Method according to claim 15, characterized in that the spatial boundary within the virtual space of the video game 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 characteristics of the virtual space. 17. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira temporal dentro de um contexto temporal do videogame.17. Method according to claim 11, characterized in that defining boundaries within a video game game context includes defining a temporal boundary within a video game temporal context. 18. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que compreende adicionalmente: 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; eem 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.18. The method of claim 11, further comprising: for each user-defined portion, analyzing the user-recorded game to determine the user's game state settings; wherein generating the playable portion of the video game includes defining the playable portion of the video game so as to have initial game state settings based on the user's determined game state settings. 19. Método, de acordo com a reivindicação 11, caracterizado pelo fato de 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.19. Method according to claim 11, characterized in that defining boundaries includes identifying a closer starting point or a closer ending point to one or more within a stage, level or scene. 20. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que compreende adicionalmente: 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.20. Method according to claim 11, characterized in that it further comprises: recording a user-defined video; where placing the playable portions of the video game includes placing the user-defined video in a location within the series that precedes or follows one of the playable portions of the video game. 21. Método, de acordo com a reivindicação 20, caracterizado pelo fato de que 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.21. The method of claim 20, wherein the user-defined video includes video of at least one of the user-defined portions of the user's recorded game. 22. Método para compartilhar o jogo gravado de um videogame em uma rede social, caracterizado pelo fato de que compreende:executar, por um console de jogos, uma sessão de um videogame;receber, pelo console de jogos durante a sessão do videogame, a entrada do botão de um dispositivo controlador que faz interface com o console de jogos;apresentar, em resposta ao recebimento da entrada do botão pelo console de jogos, uma interface do usuário configurada para permitir o compartilhamento do jogo do videogame;receber, pelo console de jogos via interface do usuário, um ou mais comandos para compartilhar um vídeo de pelo menos uma porção da sessão do videogame em uma rede social, sendo o vídeo gravado em um dispositivo de armazenamento durante a sessão do videogame; ecompartilhar o vídeo na rede social.22. Method for sharing a video game recorded game on a social network, characterized by the fact that it comprises: running, through a game console, a video game session; receiving, through the game console during the video game session, the button input from a controller device that interfaces with the game console; present, in response to receiving button input from the game console, a user interface configured to allow video game game sharing; games via user interface, one or more commands for sharing a video of at least a portion of the video game session on a social network, the video being recorded on a storage device during the video game session; and share the video on the social network. 23. Método, de acordo com a reivindicação 22, caracterizado pelo fato de que a entrada do botão é gerada em resposta ao acionamento de um botão dedicado para compartilhar o jogo no dispositivo controlador.23. Method according to claim 22, characterized in that the button input is generated in response to the actuation of a dedicated button to share the game on the controller device. 24. Método, de acordo com a reivindicação 23, caracterizado pelo fato de que o acionamento do botão dedicado para compartilhar o jogo no dispositivo controlador é definido por pressionar uma vez, duas vezes consecutivas, ou segurar o botão dedicado.24. Method according to claim 23, characterized in that the activation of the dedicated button to share the game on the controller device is defined by pressing once, twice consecutively, or holding the dedicated button. 25. Método, de acordo com a reivindicação 22, caracterizado pelo fato de que o vídeo é definido a partir de uma porção em buffer da sessão do videogame que foi gravada antes do recebimento da entrada do botão pelo console de jogos.25. Method according to claim 22, characterized in that the video is defined from a buffered portion of the video game session that was recorded before receiving the button input by the game console. 26. Método, de acordo com a reivindicação 22, caracterizado pelo fato de que o um ou mais comandos para compartilhar o vídeo inclui um ou mais comandos para editar um ponto inicial e/ou um ponto final do vídeo.26. Method according to claim 22, characterized in that the one or more commands to share the video includes one or more commands to edit a start point and/or an end point of the video. 27. Método, de acordo com a reivindicação 22, caracterizado pelo fato de que o compartilhamento do vídeo na rede social inclui o compartilhamento do vídeo em um gráfico social de um usuário associado à sessão do videogame.27. Method according to claim 22, characterized in that sharing the video on the social network includes sharing the video on a social graphic of a user associated with the video game session. 28. Método, de acordo com a reivindicação 27, caracterizado pelo fato de que o um ou mais comandos para compartilhar o vídeo inclui um ou mais comandos para editar membros do gráfico social para os quais o vídeo será compartilhado.28. Method according to claim 27, characterized in that the one or more commands to share the video includes one or more commands to edit members of the social graph to which the video will be shared. 29. Método para proporcionar controle remoto do jogo de um usuário, caracterizado pelo fato de que compreende: executar, por um servidor de jogos na nuvem, uma sessão do jogo do primeiro usuário de um videogame, em que executar a sessão do jogo do primeiro usuário inclui processar a entrada recebida por uma rede de um primeiro dispositivo controlador associado ao primeiro usuário para direcionar eventos do jogo que ocorrem na sessão do jogo do primeiro usuário;apresentar, pela rede, um feed de vídeo ao vivo do jogo do primeiro usuário para um segundo usuário remoto;processar uma solicitação para transferir o controle da sessão de jogo do primeiro usuário para o segundo usuário;iniciar o controle da sessão do jogo do primeiro usuário pelo segundo usuário, em que iniciar o controle pelo segundo usuário inclui desativar o controle pelo primeiro dispositivo controlador e ativar o controle por um segundo dispositivo controlador associado ao segundo usuário, em que iniciar o controle pelo segundo usuário inclui processar a entrada recebida pela rede do segundo dispositivo controlador para direcionar os eventos do jogo que ocorrem na sessão do jogo do primeiro usuário;em que o método é executado por pelo menos um processador.29. Method for providing remote control of a user's game, characterized in that it comprises: executing, by a game server in the cloud, a game session of the first user of a video game, wherein executing the game session of the first user includes processing input received over a network from a first controller device associated with the first user to direct game events that occur in the first user's game session; presenting, over the network, a live video feed of the first user's game to a second remote user; processing a request to transfer control of the first user's game session to the second user; starting control of the first user's game session by the second user, where initiating control by the second user includes disabling control by the first controller device and activate control by a second controller device associated with the second user, where to initiate control by the The second user includes processing input received over the network from the second controller device to direct game events that occur in the game session of the first user; wherein the method is executed by at least one processor. 30. Método, de acordo com a reivindicação 29, caracterizado pelo fato de 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.30. The method of claim 29, wherein controlling the first user's game by the second controller device includes receiving input commands from the second controller device and applying the input commands to set the first user's game. 31. Método, de acordo com a reivindicação 29, caracterizado pelo fato de que o feed do 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.31. Method according to claim 29, characterized in that the live video feed is presented through 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. 32. Método, de acordo com a reivindicação 31, caracterizado pelo fato de que a interface social inclui uma interface de comentários para postagem de comentários durante o jogo do primeiro usuário.32. Method according to claim 31, characterized by the fact that the social interface includes a comments interface for posting comments during the game of the first user. 33. Método, de acordo com a reivindicação 29, caracterizado pelo fato de que processar a 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.33. The method of claim 29, wherein processing the request to transfer control includes receiving an acknowledgment from the first user to allow control of the first user's game by the second user. 34. Método, de acordo com a reivindicação 29, caracterizado pelo fato de que apresentar o feed do vídeo ao vivo do jogo do primeiro usuário para o segundo usuário inclui apresentar o feed do vídeo ao vivo em um formato que não é de tela cheia; eem que iniciar o controle do jogo do primeiro usuário pelo segundo usuário inclui acionar a apresentação do feed do vídeo ao vivo em um formato de tela cheia.34. The method of claim 29, wherein presenting the live game video feed from the first user to the second user includes presenting the live video feed in a non-full-screen format; ewhere initiating control of the first user's game by the second user includes triggering the live video feed to be presented 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
US201261745281P 2012-12-21 2012-12-21
US201261745290P 2012-12-21 2012-12-21
US61/745,281 2012-12-21
US13/831,178 2013-03-14
US13/831,190 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/839,382 US9345966B2 (en) 2012-03-13 2013-03-15 Sharing recorded gameplay to a social graph
US13/839,486 2013-03-15
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

Publications (2)

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

Family

ID=50979420

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102013033136-8A BR102013033136B1 (en) 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

Country Status (7)

Country Link
JP (4) JP6196147B2 (en)
KR (7) KR20170061196A (en)
BR (1) BR102013033136B1 (en)
MX (3) MX356707B (en)
RU (1) RU2605840C2 (en)
TW (3) TWI564062B (en)
WO (1) WO2014100770A2 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6612019B2 (en) * 2014-08-19 2019-11-27 株式会社ソニー・インタラクティブエンタテインメント Information processing apparatus, control data transmission method, and information processing system
US9919208B2 (en) 2014-12-11 2018-03-20 Immersion Corporation Video gameplay haptics
JP5770918B1 (en) 2014-12-18 2015-08-26 株式会社Cygames Information processing program and information processing method
US10207185B2 (en) 2015-03-07 2019-02-19 Sony Interactive Entertainment America Llc Using connection quality history to optimize user experience
JP6893392B2 (en) * 2015-08-04 2021-06-23 任天堂株式会社 Game system, game device, control program and game control method
US10315108B2 (en) * 2015-08-19 2019-06-11 Sony Interactive Entertainment America Llc Local application quick start with cloud transitioning
US10744407B2 (en) * 2015-09-08 2020-08-18 Sony Interactive Entertainment LLC Dynamic network storage for cloud console server
EP3341098B1 (en) * 2015-09-30 2024-03-13 Sony Interactive Entertainment America LLC Multi-user demo streaming service for cloud gaming
CN105610868B (en) * 2016-03-03 2019-08-06 腾讯科技(深圳)有限公司 A kind of method of information exchange, equipment and system
US10238965B2 (en) * 2016-04-28 2019-03-26 Sony Interactive Entertainment America Llc Cloud gaming device handover
US10625156B2 (en) * 2016-06-30 2020-04-21 Sony Interactive Entertainment LLC Method and system for sharing video game content
GB2570305A (en) * 2018-01-18 2019-07-24 Sony Interactive Entertainment Europe Ltd User analysis system and method
GB2571306A (en) * 2018-02-23 2019-08-28 Sony Interactive Entertainment Europe Ltd Video recording and playback systems and methods
TWI716706B (en) * 2018-03-01 2021-01-21 致伸科技股份有限公司 Ai-assisted operating system
KR102551254B1 (en) * 2018-04-06 2023-07-04 주식회사 엔씨소프트 Method and computer program for providing a service of sharing a game
KR102319298B1 (en) * 2018-09-21 2021-10-29 주식회사 엔씨소프트 System, sever and method for contrllling game character
US11943513B2 (en) 2018-12-21 2024-03-26 Sony Interactive Entertainment Inc. Information processing apparatus for presenting preview screen
JP7222722B2 (en) * 2019-01-17 2023-02-15 株式会社ソニー・インタラクティブエンタテインメント Information processing system, information processing method and computer program
KR102329749B1 (en) * 2019-08-05 2021-11-22 주식회사 엔씨소프트 Sever, system and method for control of game character
US11524230B2 (en) 2019-10-01 2022-12-13 Sony Interactive Entertainment Inc. Encoder tuning to improve tradeoffs between latency and video quality in cloud gaming applications
CN111147885B (en) 2020-01-03 2021-04-02 北京字节跳动网络技术有限公司 Live broadcast room interaction method and device, readable medium and electronic equipment
CN111494965B (en) * 2020-04-15 2021-09-14 腾讯科技(深圳)有限公司 Information processing method, device, equipment and storage medium
CN111603764B (en) * 2020-05-28 2021-05-28 腾讯科技(深圳)有限公司 Cloud game processing method and equipment
US20220008824A1 (en) * 2020-07-13 2022-01-13 Nvidia Corporation Game generation using one or more neural networks
CN111917768B (en) * 2020-07-30 2022-05-13 腾讯科技(深圳)有限公司 Virtual scene processing method and device and computer readable storage medium
KR102606834B1 (en) * 2021-05-10 2023-11-29 주식회사 엔씨소프트 System and method for providing game service
TWI790801B (en) * 2021-11-01 2023-01-21 宏碁股份有限公司 Remote game executing method and remote game executing system
JP7216314B1 (en) 2022-02-17 2023-02-01 株式会社Mixi Program, information processing device, and information processing method
WO2023157618A1 (en) * 2022-02-18 2023-08-24 優太 竹田 Replay system, processing method, and replay program

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6280323B1 (en) * 1996-11-21 2001-08-28 Konami Co., Ltd. Device, method and storage medium for displaying penalty kick match cursors in a video soccer game
US6699127B1 (en) * 2000-06-20 2004-03-02 Nintendo Of America Inc. Real-time replay system for video game
RU2236702C2 (en) * 2002-09-02 2004-09-20 Савин Вадим Георгиевич Method for computer game
JP3534343B2 (en) * 2002-09-12 2004-06-07 株式会社コナミコンピュータエンタテインメントジャパン GAME PROGRAM AND GAME DEVICE
JP3703800B2 (en) * 2002-11-15 2005-10-05 株式会社スクウェア・エニックス Communication game system
US8930561B2 (en) * 2003-09-15 2015-01-06 Sony Computer Entertainment America Llc Addition of supplemental multimedia content and interactive capability at the client
JP4494882B2 (en) * 2004-06-29 2010-06-30 株式会社バンダイナムコゲームス Program, game device, display control device, server, and information storage medium
KR100682455B1 (en) * 2005-03-17 2007-02-15 엔에이치엔(주) Game scrap system, game scrap method, and computer readable recording medium recording program for implementing the method
JP5001445B2 (en) * 2005-05-06 2012-08-15 任天堂株式会社 Communication game system
US8556722B2 (en) * 2005-12-27 2013-10-15 Microsoft Corporation Streaming media casts, such as in a video game or mobile device environment
US20070173325A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Join in-progress on-line game session
US20070294089A1 (en) * 2006-06-02 2007-12-20 Garbow Zachary A Gameplay Recording and Marketplace
JP5068080B2 (en) * 2007-01-09 2012-11-07 株式会社バンダイナムコゲームス GAME DEVICE, PROGRAM, AND INFORMATION STORAGE MEDIUM
KR20090000260A (en) * 2007-02-09 2009-01-07 주식회사 엠게임 Beta game providing system and its method for gradually opening to the gamers to arouse gamer's interest
JP4203524B2 (en) * 2007-02-14 2009-01-07 株式会社コナミデジタルエンタテインメント GAME SYSTEM AND GAME DEVICE INCLUDING THE SAME
JP5203646B2 (en) * 2007-07-17 2013-06-05 株式会社ソニー・コンピュータエンタテインメント GAME GUIDING SYSTEM, GAME GUIDING DEVICE, GAME SERVER, GAME GUIDING METHOD, PROGRAM, AND INFORMATION STORAGE MEDIUM
US8235817B2 (en) * 2009-02-12 2012-08-07 Sony Computer Entertainment America Llc Object based observation
US8515253B2 (en) * 2008-02-15 2013-08-20 Sony Computer Entertainment America Llc System and method for automated creation of video game highlights
JP2010178010A (en) * 2009-01-29 2010-08-12 Funai Electric Co Ltd Moving image editor
JP2010220089A (en) * 2009-03-18 2010-09-30 Sony Corp Digest reproducing apparatus, digest reproducing method and program
US8292742B2 (en) * 2009-03-23 2012-10-23 Utah State University Systems and methods for simulation and regeneration of a virtual environment
US9898675B2 (en) * 2009-05-01 2018-02-20 Microsoft Technology Licensing, Llc User movement tracking feedback to improve tracking
JP5449859B2 (en) * 2009-05-18 2014-03-19 任天堂株式会社 GAME PROGRAM, GAME DEVICE, AND GAME SYSTEM
JP2010284473A (en) * 2009-06-11 2010-12-24 Gonichi Sasaki Game player evaluation system
JP5417111B2 (en) * 2009-10-01 2014-02-12 株式会社コナミデジタルエンタテインメント GAME SYSTEM, GAME SYSTEM CONTROL METHOD, AND PROGRAM
JP5193242B2 (en) * 2010-03-11 2013-05-08 株式会社コナミデジタルエンタテインメント Game system, game part execution support method, and program
KR101139498B1 (en) * 2010-04-20 2012-05-02 주식회사 넥슨코리아 Watching system and method thereof of other user game play picture in online game
JP2010201180A (en) * 2010-04-30 2010-09-16 Nintendo Co Ltd Game apparatus and game program
JP5991649B2 (en) * 2010-08-05 2016-09-14 株式会社ソニー・インタラクティブエンタテインメント Game device
JP2012038042A (en) * 2010-08-05 2012-02-23 Sony Computer Entertainment Inc Game device
JP5271319B2 (en) * 2010-08-12 2013-08-21 株式会社コナミデジタルエンタテインメント GAME SYSTEM AND PLAY CONTENT BROWSE CONTROL METHOD
JP5542020B2 (en) * 2010-09-22 2014-07-09 株式会社ソニー・コンピュータエンタテインメント Information processing system, information processing method, program, and information storage medium
JP5740972B2 (en) * 2010-09-30 2015-07-01 ソニー株式会社 Information processing apparatus and information processing method
KR101269411B1 (en) * 2010-12-31 2013-05-30 (주)네오위즈게임즈 Game server, method, and recording medium for providing sport game including chatting service
US9345966B2 (en) * 2012-03-13 2016-05-24 Sony Interactive Entertainment America Llc Sharing recorded gameplay to a social graph
US10406429B2 (en) * 2012-08-29 2019-09-10 Sony Interactive Entertainment, LLC User-based mini-game generation and distribution

Also Published As

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

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

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.