[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

BR102013033136A2 - 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 - Google Patents

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 Download PDF

Info

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

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Pinball Game Machines (AREA)
  • Processing Or Creating Images (AREA)
  • Details Of Television Systems (AREA)
  • Selective Calling Equipment (AREA)

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.

Description

"GERAÇÃO AUTOMÁTICA DE MINIGAMES SUGERIDOS PARA JOGOS EM NUVEM COM BASE EM JOGO GRAVADO" Campo da Invenção A presente invenção refere-se a métodos e sistemas para geração automática de minigames sugeridos com base em jogo gravado, geração de minigames em múltiplas porções para jogo em nuvem com base em jogo gravado, compartilhar jogo gravado em um gráfico social, e controle remoto de um primeiro jogo de usuário por um segundo usuário.
Descrição do Estado da Técnica A indústria de videogames passou por muitas mudanças ao longo dos anos. À medida que o poder dos computadores aumentou, desenvolvedores de videogames criaram igualmente software de jogos que se aproveitam desses aumentos no poder dos computadores. Com essa finalidade, os fomentadores de videogames têm codificado jogos que incorporam operações sofisticadas e matemática para produzir uma experiência de jogo muito realista.
Plataformas de jogo exemplificativas podem ser o Sony Playstation®, Sony Playstation2® (PS2), e Sony Playstation3® (PS3), cada um dos quais é vendido na forma de um console de jogo. Como é bem sabido, o console de jogo é projetado para se conectar a um monitor (normalmente uma televisão) e permitir a interação do usuário através de controladores manuais. O console de jogo é projetado com um hardware de processamento especializado, incluindo uma CPU, um sintetizador gráfico para processar operações gráficas intensivas, ' uma unidade de vetor para executar transformações geométricas, e outros tipos de hardware, firmware e software para fazer a ligação. O console de jogo é projetado ainda com uma bandeja de disco óptico opcional para receber CDs de jogos no local através do console de jogos. Jogar on-line também é possível, onde um usuário pode jogar interativamente contra ou com outros usuários pela internet. Como a complexidade dos jogos continua a despertar a curiosidade dos jogadores, fabricantes de jogos e de hardware continuam a inovar para permitir uma maior interatividade e outros programas de computador.
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.
Outra tendência crescente na indústria envolve o desenvolvimento de sistemas de jogo com base em nuvem. Esses sistemas podem incluir um servidor de processamento remoto que executa um aplicativo de jogo, e se comunica com um cliente magro local que pode ser configurado para receber informações de usuários e apresentar vídeo em um mostrador. É nesse contexto que surgem as configurações da invenção .
BREVE DESCRIÇÃO DA INVENÇÃO
Configurações da presente invenção proporcionam métodos e sistemas para geração automática de minigames sugeridos com base no jogo gravado, geração de minigames em múltiplas porções para jogo em nuvem com base no jogo gravado, compartilhamento do jogo gravado em um gráfico social, e o controle remoto de um primeiro jogo de usuário por um segundo usuário. Deve ser apreciado que a presente invenção pode ser implementada de diversas maneiras, tais como um processo, um aparelho, um sistema, um dispositivo ou um método em um meio legivel por computador. Diversas configurações inventivas da presente invenção são descritas abaixo.
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.
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.
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.
Em uma configuração, um método para gerar uma versão que pode ser jogada de um videogame é proporcionado, incluindo as seguintes operações de método: gravar o jogo de um usuário de uma versão integral do videogame; determinar uma pluralidade de porções definidas pelo usuário do jogo gravado do usuário; para cada porção definida pelo usuário, definir fronteiras dentro de um contexto de jogo do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; posicionar cada uma das porções com que se pode jogar do videogame em uma série para definir a versão limitada do videogame; era que o método é executado por um processador.
Em outra configuração, é proporcionado um meio legivel por computador tangível tendo instruções de programa incorporadas no mesmo para gerar uma versão limitada que pode ser jogada de um videogame, incluindo: instruções de programa para gravar o jogo de um usuário de uma versão integral; instruções de programa para determinar uma pluralidade de porções definidas pelo usuário do jogo gravado do usuário; instruções de programa para, para cada porção definida pelo usuário, definir fronteiras dentro de um contexto de jogo do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; instruções de programa para posicionar cada uma das porções que podem ser jogadas em uma série para definir a versão limitada do videogame.
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.
Em uma configuração, um método para compartilhar o jogo gravado em um gráfico social é proporcionado, incluindo as seguintes operações de método: gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; em resposta à recepção do comando, entrar em um estado pausado da sessão de jogo e apresentar uma interface de compartilhamento; processar a entrada recebida pela interface de compartilhamento para determinar uma seleção definida pelo usuário do video gravado; compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário; retomar o estado ativo da sessão de jogo; em que o método é executado por um processador.
Em outra configuração, um método para compartilhar jogo gravado em um gráfico social é proporcionado, incluindo as seguintes operações de método: gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; em resposta à recepção do comando, determinar uma seleção definida pelo usuário do video gravado; compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário; em que o método é executado por um processador.
Em outra configuração, é proporcionado um meio legível por computador não-transitório tendo instruções de programa definidas no mesmo para compartilhar jogo gravado em um gráfico social. As instruções de programa incluem: instruções de programa para gravar em vídeo o jogo de um usuário durante um estado ativo de uma sessão de jogo; instruções de programa para receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; instruções de programa para, em resposta à recepção do comando, determinar uma seleção definida pelo usuário do vídeo gravado; instruções de programa para compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário.
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.
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.
Outros aspectos da invenção se tornarão aparentes a partir da descrição detalhada a seguir, tomada em conjunto com os desenhos anexos, ilustrando a titulo de exemplo os princípios da invenção.
BREVE DESCRIÇÃO DOS DESENHOS A invenção pode ser melhor entendida com referência à seguinte descrição tomada em conjunto com os desenhos anexos nos quais: A Figura IA ilustra um usuário jogando um videogame com base em nuvem, de acordo com configurações da invenção. A Figura 1B ilustra múltiplos usuários em múltiplos locais engajados no jogo de videogames com base em nuvem. A Figura 2A ilustra um sistema de jogo em nuvem, de acordo com uma configuração da invenção. A Figura 2B ilustra conceitualmente a acumulação de titulos de jogo através de várias gerações de consoles de jogo, de acordo com configurações da invenção. A Figura 3 ilustra um método para proporcionar demonstrações de jogos para um usuário, de acordo com uma configuração da invenção. A Figura 4A ilustra a organização hierárquica de várias porções de um videogame, de acordo com uma configuração da invenção. A Figura 4B ilustra uma interface para selecionar uma porção de uma linha do tempo do jogo para a geração de um mínigame ou fatia de jogo, de acordo com uma configuração da invenção. A Figura 4C ilustra uma interface para selecionar uma porção de uma linha do tempo do jogo para a geração de um minigame, de acordo com uma configuração da invenção. Δ Figura 5 ilustra uma série de capturas de tela demonstrando um método para gerar um minigame a partir de um videogame por solicitação existente, de acordo com uma configuração da invenção. A Figura 6 ilustra um sistema para gerar um código de fatia de jogo, de acordo com uma configuração da invenção. A Figura 7A ilustra a modificação de um espaço virtual com o propósito de gerar uma fatia de jogo de um videogame, de acordo com uma configuração da invenção. A Figura 7B ilustra a modificação de um gráfico de cena com o propósito de gerar uma fatia de jogo, de acordo com configurações da invenção. A Figura 8 ilustra um método para gerar uma fatia de jogo, de acordo com uma configuração da invenção. A Figura 9A ilustra uraa interface para navegar em fatias de jogo associadas a vários títulos de jogo, de acordo com uma configuração da invenção. A Figura 9B ilustra uma página de informação de fatia de jogo, de acordo com uma configuração da invenção. A Figura 10 ilustra uma visualização da informação sobre a conta de um usuário, incluindo visualizações ao vivo de amigos em uma rede social de jogo em nuvem, de acordo com uma configuração da invenção. A Figura 11 ilustra um método para apresentar feeds de jogo ao vivo de amigos do usuário naquele momento, de acordo com uma configuração da invenção. A Figura 12 ilustra um sistema incluindo um sistema de jogo em nuveme uma rede social, de acordo com uma configuração da invenção. A Figura 13 é um gráfico ilustrando várias variáveis sobre estado de jogo ao longo do tempo, de acordo com configurações da invenção. A Figura 14A ilustra um método para gerar uma fatia de jogo para um videogame do tipo linear, de acordo com uma configuração da invenção. A Figura 14B ilustra um método para gerar uma fatia de jogo para um videogame do tipo mundo aberto, de acordo com uma configuração da invenção. A Figura 14C ilustra um método para gerar uma fatia de jogo para um videogame de esportes, de acordo com uma configuração da invenção. A Figura 15 ilustra conceitualmente a formação de um jogo em fatias com múltiplos jogos, de acordo com uma configuração da invenção. A Figura 16 ilustra conceitualmente a geração de um minigame em fatias com múltiplos jogos, de acordo com uma configuração da invenção. A Figura 17 ilustra uma interface para compartilhar o jogo, de acordo com uma configuração da invenção. A Figura 18 ilustra uma interface 1800 para selecionar uma porção de vídeo de jogo gravado para compartilhamento, de acordo com uma configuração da invenção . A Figura 19 ilustra uma interface 1900 para ver uma naquele momento de video ao vivo do jogo de um jogador, de acordo com uma configuração da invenção. A Figura 20 ilustra hardware e interfaces de usuário que podem ser usados para proporcionar interatividade com um videogame, de acordo com uma configuração da presente invenção. A Figura 21 ilustra hardware adicional que pode ser usado para processar instruções, de acordo com uma configuração da presente invenção. A Figura 22 é uma ilustração exemplificativa da cena A até a cena E com o respectivo usuário de A a E interagindo com clientes 1102 que estão conectados a um processamento de servidor via internet, de acordo com uma configuração da presente invenção. A Figura 23 ilustra uma configuração de uma montagem de um Provedor de Serviço de Informação.
DESCRIÇÃO DETALHADA
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.
Ficará óbvio, entretanto, para um especialista na técnica, que a presente invenção pode ser praticada sem alguns desses detalhes específicos ou sem todos eles. Em outros casos, operações de processo bem conhecidas não foram descritas em detalhe para não ocultar desnecessariamente a presente invenção. A Figura IA ilustra um usuário jogando um videogame com base em nuvem, de acordo com configurações da invenção. Como mostrado, um usuário UI joga um. videogame com base em nuvem em um mostrador 100. Um videogame com base em nuvem é um videogame que é primeiramente executado em um servidor remoto. Um servidor, em uma configuração, pode incluir servidores individuais ou servidores que são executados em centro de dados de máquina virtual, onde muitos servidores podem ser virtualizados para proporcionar o processamento solicitado. Na configuração ilustrada, o(s) servidor(es)de jogo em nuvem 104 executam o videogame que está apresentado no mostrador 100. Um cliente 101 está situado no local do usuário para receber e processar informações alimentadas e comunicá-las para os servidores de jogo em nuvem 104, e também receber dados de video e áudio dos servidores de jogo em nuvem 104. 0 cliente 101 e os servidores de jogo em nuvem 104 se comunicam por uma rede 102, tal como a internet. Em outras configurações, o cliente pode ser qualquer dispositivo, seja portátil ou não, contanto que o cliente possa se comunicar com uma rede e proporcionar acesso a um mostrador para apresentar jogo e permitir o feed por porção de um usuário para favorecer a interatividade. Em uma configuração, o cliente é um cliente magro. Entretanto, em outras configurações, o cliente pode ser um computador de uso geral, um computador de uso especifico, um console para jogos, um computador pessoal, um laptop, um tablet, um dispositivo de computação móvel, um dispositivo de computação portátil, um telefone celular, um conversor, uma interface/dispositivo de mídia de fluxo contínuo, uma televisão inteligente ou mostrador ligado a rede, ou qualquer outro dispositivo de computação capaz de ser configurado para atender à funcionalidade de um cliente como definido aqui. Em uma configuração, o servidor de jogo em nuvem é configurado para deter o tipo de dispositivo de cliente que está sendo utilizado pelo usuário, e proporcionar uma experiência de jogo em nuvem apropriada para o dispositivo de cliente do usuário. Por exemplo, ajustes de imagem, ajustes de áudio e outros tipos de ajustes podem ser otimizados para o dispositivo de cliente do usuário.
Em várias configurações, o grau de processamento desempenhado pelo cliente pode variar com relação ao processamento de entrada e saída. Entretanto, de uma maneira geral, o estado do videogame é substancialmente mantido e executado nos servidores de solicitação de jogo 104, com o cliente funcionando principalmente para receber e comunicar informações alimentadas por usuários, e receber vídeo/áudio para apresentação. O cliente 101 pode ser um dispositivo isolado que está conectado ao mostrador 100 e proporciona dados de vídeo para apresentação no mostrador 100. Em outras configurações, o cliente pode estar integrado no mostrador 100. Em uma configuração, o mostrador 100 é um mostrador ligado à rede que proporciona um sistema operando por plataforma para aplicativos ou "apps" que usam a conectividade de rede do mostrador. Em uma configuração como essa, o cliente pode ser definido por um aplicativo executado na plataforma proporcionada pelo sistema de operação do mostrador. Δ Figura 1Β ilustra múltiplos usuários em núltiplos locais engajados no jogo de videogames com base sm nuvem. O usuário UI é mostrado em um primeiro local interagindo com um videogame apresentado no mostrador 100. Ds usuários U2 e U3 são mostrados em um segundo local interagindo com um videogame apresentado em um mostrador 106. Um usuário U4 é mostrado em um terceiro local jogando um videogame apresentado em um mostrador 108. Os usuários □ 5, U6, e U7 são mostrados em um quarto local interagindo com um videogame apresentado em um mostrador 110.
Em cada um do primeiro, segundo, terceiro e quarto locais, pelo menos um dispositivo de computação é proporcionado para processar a entrada alimentada pelos vários usuários e apresentar um videogame com base em nuvem em seus respectivos mostradores. Deve ser apreciado que o dispositivo de computação pode estar integrado em um mostrador, ou pode ser um dispositivo isolado como um computador pessoal, um conversor, um console de jogos, ou qualquer outro tipo de dispositivo tendo pelo menos um processador e memória para processar e armazenar dados. O dispositivo de computação pode executar ou definir um cliente, como foi descrito acima. Os dispositivos de computação se encontram em rede, e se comunicam por uma rede, tal como a internet 102, com servidores de jogo em nuveml04.
Os servidores de jogo em nuvem 104 executam os vários videogames que estão sendo jogados pelos usuários, definindo um dado estado de jogo do videogame a cada momento, e enviando dados de video (inclusive dados de imagem e dados de áudio) para um dispositivo de computação em um local especifico. O dispositivo de computação em um dado local processa a entrada alimentada pelo (s) usuário (s) que está(estão) jogando o videogame, e transmite dados de entrada para o servidor de solicitação de jogos, o qual por sua vez processa os dados de entrada para afetar o estado de jogo do videogame. Deve ser apreciado que o jogo em nuvem facilita o jogo por múltiplos jogadores de jogadores localizados em diferentes locais ao proporcionar a execução do videogame em um servidor remoto que é acessível por todos os jogadores em uma rede. Dessa maneira, a execução do videogame não depende do hardware ou da condutividade na rede de nenhum jogador em particular, embora isso vá afetar a experiência do usuário para aquele dado jogador. A Figura 2A ilustra um sistema de jogo em nuvem, de acordo com uma configuração da invenção. Como mostrado, um usuário 200 opera um controlador 202 para proporcionar entrada para um videogame com base em nuvem. O controlador 202 pode incluir qualquer um dentre vários tipos de dispositivos de feed, tais como botões, joysticks, touchpad, TrackBall, e hardware sensível a movimento tal como acelerômetros, e magnetômetros, e giroscópios. Em uma configuração, o controlador 202 pode incluir um objeto iluminado que pode ser rastreado para determinar a localização do controlador 202. O controlador 202 pode se comunicar sem utilização de fio com um cliente de jogo magro 204. O cliente 204 se comunica por uma rede 208 com um serviço de jogo em nuvem 210. O cliente 204 processa dados do controlador 202 para gerar dados de feed que são comunicados para um videogame executado pelo serviço de jogo em nuvem 210. Além disso, o cliente 204 recebe dados de video do serviço de jogo em nuvem 210, para apresentação no mostrador 206. Em uma configuração, o cliente 204 pode processar os dados de video recebidos de modo a proporcionar uma naquele momento de video em um formato compatível com o mostrador 206. Em uma configuração, o cliente 204 pode incluir uma câmera para rastrear um dispositivo controlador ou um objeto localizado no dispositivo controlador. Como foi notado, o objeto pode ser iluminado para facilitar ainda mais o rastreamento com base na análise de quadros de imagem capturados pela câmera. O serviço de jogo em nuvem 210 inclui recursos para proporcionar um ambiente no qual um videogame pode ser executado. Falando de maneira gerai, recursos podem incluir vários tipos de hardware de servidor de computador, incluindo processadores, dispositivos de armazenamento, e equipamento de rede, que podem ser utilizados para facilitar a execução de um aplicativo de videogame. Na configuração ilustrada, uma biblioteca de videogame 212 inclui vários títulos. Cada titulo define um código executável e também dados associados e bibliotecas de implementos que são utilizados para representar um videogame. O hospedeiro 214 pode ser um dispositivo de computação avulso que define uma plataforma para representar máquinas virtuais 216. Em outra configuração, o hospedeiro 214 pode operar por um ou mais dispositivos de computação de servidor, manipulando a alocação e o uso dos recursos definidos pelos dispositivos de computação do servidor, ao mesmo tempo em que apresenta uma plataforma unificada na qual máquinas virtuais 216 podem ser representadas.
Cada máquina virtual 216 define um ambiente de recursos que pode suportar um sistema de operações, no qual um aplicativo de videogame 218 pode ser rodado. Em uma configuração, uma máquina virtual pode ser configurada para emular o ambiente de recurso de hardware de um console de jogo, com um sistema operacional associado ao console de jogo sendo rodado na máquina virtual para ajudar a rodar os titulos que foram desenvolvidos para aquele console de jogos. Em outra configuração, o sistema operacional pode ser configurado para emular um ambiente de sistema operacional nativo de um console de jogos, embora a máquina virtual subjacente possa ser configurada ou não para emular o hardware do console de jogos. Em outra configuração, um aplicativo emulador é rodado por cima do sistema operacional de uma máquina virtual, o emulador sendo configurado para emular o ambiente de sistema operacional nativo de um console de jogos de modo a suportar videogames projetados para aquele console de jogos. Deve ser apreciado que uma variedade de consoles de jogos atuais e legados podem ser emulados me um sistema de jogos com base em requisição. Dessa maneira, um usuário pode acessar titulos diferentes a partir de diferentes consoles de jogos pelo sistema de solicitação de jogos.
Quando o usuário 200 pede para jogar um titulo especifico de videogame, o videogame é recuperado da biblioteca 212. Se uma máquina virtual compatível já não foi representada ou não está disponível para uso, então uma nova máquina virtual compatível é representada no hospedeiro 214. O título recuperado é então executado como aplicativo 218 na máquina virtual disponível ou recentemente representada 216. Em uma configuração, isso pode acarretar na determinação da plataforma apropriada para o videogame (por exemplo, qual console de jogo ou sistema operacional o jogo requer para rodar) e atribuir o titulo a uma máquina virtual apropriada para execução, por exemplo, uma tendo um aplicativo emulador capaz de cuidar da execução do titulo. O videogame em execução se comunica com o cliente do jogo 204 para proporcionar uma experiência de jogo interativa para o usuário 200. Mais especificamente, o aplicativo de videogame em execução 218 recebe dados de feed do cliente 204 pela rede 208. O aplicativo 218 processa os dados de entrada para atualizar o estado de jogo do aplicativo em execução. À medida que o estado do jogo muda, o aplicativo 218 emite dados de video que são enviados para o cliente 204 para apresentação no mostrador 206. Além disso, o aplicativo 218 também pode emitir dados de retorno para o cliente 204 que são utilizados para proporcionar um mecanismo de retorno adicional para o usuário. A título de exemplo, o controlador do usuário 202 pode incluir um mecanismo de retorno de vibração tátil que pode ser ativado com base nos dados de retorno de saída do aplicativo de videogame.
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.
Por tempo, no momento de se conectar, o dispositivo do cliente pode enviar informações para o servidor de jogo em nuvem se identificando e identificando também um dispositivo controlador conectado (por exemplo, em resposta a uma solicitação do servidor de jogo em nuvem) . Com base nessa informação, o servidor de jogo em nuvem pode determinar uma configuração de saida de videogame apropriada e uma configuração de parâmetro de feed para proporcionar uma experiência de jogo otimizada para dispositivo de cliente do usuário e dispositivo de controlador. Em uma configuração, uma tabela de consulta é empregada para determinar a configuração do videogame e a configuração do parâmetro de feed com base em um dispositivo de cliente detectado e um dispositivo controlador detectado.
Deve ser apreciado que um determinado videogame pode ser desenvolvido para uma plataforma especifica e um dispositivo controlador associado especifico. Entretanto, quando um jogo como esse é disponibilizado por um sistema de jogo em nuvem como apresentado aqui, o usuário pode estar acessando o videogame com um dispositivo controlador diferente. Por exemplo, um jogo pode ter sido desenvolvido para um console de jogo e seu controlador associado, enquanto o usuário pode estar acessando uma versão do jogo com base em nuvem a partir de um computador pessoal utilizando um teclado e um mouse. Em tais condições, a configuração do parâmetro de entrada pode definir um mapeamento que variam de informações que podem ser geradas pelo dispositivo de controlador disponível (nesse caso, um teclado e um mouse) até informações que são aceitáveis para a execução do videogame.
Em outro exemplo, um usuário pode acessar o sistema de jogo em nuvem por um tablet, um smartphone com tela de toque, ou outro dispositivo acionado por tela de toque. Nesse caso, o dispositivo do cliente e o dispositivo controlador são integrados em conjunto no mesmo dispositivo, sendo as informações proporcionadas por meio de informações/gestos detectados na tela de toque. Para um dispositivo como esse, a configuração de parâmetro de feed pode definir feeds pela tela de toque específicos correspondentes a informações sobre o jogo para o videogame. Por exemplo, botões, um Dpad, ou outros tipos de elementos de feed poderíam ser mostrados ou sobrepostos ao se rodar o videogame para indicar locais na tela de toque nos quais o usuário pode tocar para gerar uma entrada de jogo. Gestos tais como golpes em direções específicas ou movimentos de toque específicos também podem ser detectados como informações para o jogo. Em uma configuração, uma orientação pode ser proporcionada ao usuário indicando como proporcionar entrada via tela de toque para o jogo, por exemplo, antes de se começar a jogar o videogame, de modo a ambientar o usuário com a operação dos controles na tela de toque.
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.
Em uma configuração, um controlador em rede e o dispositivo do cliente podem ser configurados para enviar certos tipos de informações diretamente do controlador para o servidor de jogos por solicitação, e outros tipos de informações pelo dispositivo do cliente. Por exemplo, informações cuja detecção não depende de qualquer hardware ou processamento adicional que não seja o próprio controlador podem ser enviadas diretamente do controlador para o servidor de jogo em nuvem pela rede, pulando o dispositivo do cliente. Essas informações podem incluir informações por botão, informações por joysticks, informações por detecção de movimento embutida (por exemplo, acelerômetro, magnetômetro, giroscópio, etc.). Entretanto, informações que utilizam hardware adicional ou requerem processamento pelo dispositivo do cliente podem ser enviadas pelo dispositivo do cliente para o servidor de jogos por solicitação. Essas podem incluir video ou áudio capturado do ambiente de jogo que pode ser processado pelo dispositivo do cliente antes do envio para o servidor de jogos por solicitação. Além disso, informações a partir de um hardware de detecção de movimento do controlador podem ser processadas pelo dispositivo do cliente em conjunto com video capturado para detectar a posição e o movimento do controlador, que seriam em seguida comunicados pelo dispositivo do cliente para o servidor de jogos por solicitação. Deve ser apreciado que o dispositivo controlador de acordo com várias configurações também pode receber dados (por exemplo, dados de retorno) do dispositivo do cliente ou diretamente do servidor de jogos por solicitação. A Figura 2B ilustra conceitualmente a acumulação de titulos de jogo através de várias gerações de consoles de jogo, de acordo com configurações da invenção. Na indústria de videogames, os videogames são desenvolvidos para consoles de jogo específicos. Ao longo do tempo uma biblioteca de títulos de jogos é acumulada para um console de jogos específico. Por exemplo, no diagrama ilustrado, um console de primeira geração 220 tem uma coleção de títulos de jogo 228 que foi desenvolvido para isso. Um console de segunda geração 222 tem associado ao mesmo uma coleção de títulos de jogo 230 que foi desenvolvida para o mesmo. E um console de terceira geração 224 também é mostrado, tendo uma coleção de títulos de jogo 232 desenvolvida para o mesmo. Em outras configurações, pode haver uma coleção de títulos de jogo 234 que foi desenvolvida especificamente como jogos com base em nuvem e coletada para distribuição em um sistema de jogo em nuvem, como está descrito aqui. Será apreciado que os títulos de jogo de diferentes gerações de consoles de jogo podem ser coletados e consolidados na biblioteca de jogo em nuvem 212. Como mostrado, a biblioteca 212 inclui uma biblioteca de console de primeira geração 236 que inclui os títulos de jogo que foram desenvolvidos para o console de primeira geração 220. De maneira similar, a biblioteca 212 também inclui uma biblioteca de console de segunda geração 238 e uma biblioteca de console de terceira geração 240 que contém videogames que foram desenvolvidas para os consoles de segunda e terceira geração respectivamente. Jogos que foram desenvolvidos para o cliente 226 e outros tipos de jogos como jogos da internet também podem ser incluídos na biblioteca de jogos 212. Como pode ser visto, um grande número de títulos de jogos que atravessam várias gerações de consoles de jogos de vídeo pode ser reunido e disponibilizado por uma biblioteca de jogos por solicitação. Como foi descrito, cada um desses jogos pode ser executado em uma máquina virtual que simula o ambiente do sistema de operação associado a um determinado console de jogos para o qual um jogo foi desenvolvido. Dessa maneira, usuários que acessam o sistema de jogo com base em solicitações são capazes de acessar com facilidade e jogar jogos vindos de muitos consoles diferentes bem como jogos de outros contatos tais como jogos da internet e jogos que foram desenvolvidos especificamente para uso com o sistema de jogos com base em nuvem. A Figura 3 ilustra um método para proporcionar demonstrações do jogo para um usuário, de acordo com uma configuração da invenção. Uma interface 300 é mostrada proporcionando vinhetas ou icones 302, 304, 306, 308, 310 e 312 de vários títulos de jogos que estão disponíveis para demonstração. Cada icone pode ser configurado para proporcionar uma imagem indicativa do jogo que ele representa. Em uma configuração, quando um usuário navega até um determinado ícone, o ícone pode ser ativado para mostrar uma animação ou videoclipe que é representativo do videogame ou que proporciona de alguma outra forma informação adicional para o usuário sobre o conteúdo do videogame. Na configuração ilustrada, um usuário navegou até o icone 302, que está, portanto, destacado e exibe uma animação ativa mostrando uma cena do videogame. Quando um usuário seleciona um ícone, um video de apresentação prévia pode ser mostrado de acordo coma operação de método 314. Se o usuário continua a selecionar o jogo na operação de método 316, então, na operação de método 318, o código de jogo para a demonstração é iniciado. Na operação de método 320, a demonstração de jogo é disponibilizada instantaneamente para jogo pelo usuário. Deve ser observado que pelo fato da demonstração de jogo se basear em nuvem, ela pode ser disponibilizada instantaneamente a partir de uma representação pré-carregada da demonstração de jogo no sistema com base em nuvem. Quando a demonstração de jogo é iniciada, a representação de jogo é acionada para execução. Na operação de método 322, é determinado se o usuário deseja continuar a jogar a demonstração do jogo ou jogar uma outra demonstração do videogame, se houver alguma disponível. Em caso afirmativo, então o método volta para a execução contínua da demonstração do jogo na operação 322 ou executa uma nova demonstração de jogo para o videogame. Em caso negativo, então, no método de operação 324, é apresentada ao usuário uma opção de adquirir uma miniversão do videogame. Além disso, no método de operação 326, pode ser apresentada ao usuário ou uma opção de adquirir uma miniversão ou uma versão integral do jogo, então na operação de método 328 esta versão do jogo é adicionada na conta do usuário. Deve ser observado que, pelo fato dos jogos serem disponibilizados em um sistema de jogos com base em nuvem, o acréscimo de um jogo a uma conta do usuário pode simplesmente acarretar na associação de privilégios de acesso à versão específica do jogo com a conta do usuário. Além disso, uma vez adquirido, o jogo pode ser disponibilizado praticamente instantaneamente a partir do sistema com base em nuvem para jogo pelo usuário, especialmente uma vez que o jogo pode ser pré-representado no sistema com base em nuvem. A Figura 4A ilustra a organização hierárquica de várias porções de um videogame, de acordo com uma configuração da invenção. A titulo de exemplo, um videogame pode ser organizado em várias seções 400. Na configuração ilustrada, essas podem inclui uma seção de configuração, uma seção de introdução, várias seções de nivel, e uma seção de saída. Um determinado nível pode ser dividido ainda em várias cenas. Como mostrado, a seção de nível 3 é partida em várias cenas 402. Â medida que o usuário joga em uma determinada cena, uma linha de tempo do jogo desta cena pode ser gravada, incluindo vídeo gravando o jogo do usuário e também dados de entrada e estados de jogo gravados do aplicativo de jogo executado. Na configuração ilustrada, a linha de tempo de jogo 404 é representativa do jogo dos usuários da cena 2 de nível 3 do jogo. De acordo com configurações da invenção, um usuário pode selecionar porções de seu jogo gravado a partir das quais gera um minigame ou minifatia. Por exemplo, na configuração ilustrada a linha do tempo do jogo 404 tem um tempo de início T0 e um tempo de finalização Tz. Uma porção da linha do tempo do jogo de um Tempo Tx a um tempo Ty foi selecionada a partir da qual se gera um minigame. A Figura 4B ilustra uma interface para selecionar uma porção de uma linha do tempo do jogo para a geração de um minigame ou fatia de jogo, de acordo com uma configuração da invenção. Na configuração ilustrada, a interface 412 é apresentada em uma tela de toque 411 de um dispositivo 410. Em uma configuração, o dispositivo 410 é um tablet. A interface 412 inclui uma linha do tempo do jogo que pode ser escolhida. Em uma visualização expandida 430 da linha do tempo do jogo 414, pode ser visto que em uma configuração da linha do tempo do jogo 414 é representada por uma tira de película com marcadores ajustáveis 416 e 418. O marcador 416 designa o ponto de partida ao longo da linha do tempo do jogo 414 da seleção, enquanto que o marcador 418 designa o ponto final ao longo da linha do tempo do jogo da seleção. Além disso, um marcador 419 pode estar posicionado dentro da porção da linha do tempo do jogo 414 que foi estabelecida pelo marcador inicial 416 e pelo marcador final 418. Para facilidade de uso e para proporcionar ao usuário um entendimento visual de qual porção do seu jogo está sendo selecionada, um quadro inicial 420 pode ser mostrado que corresponde ao ponto ao longo da linha do tempo do jogo em que o marcador 416 foi posicionado. O quadro inicial 420 é uma imagem do vídeo de jogo gravado correspondente ao momento em que o marcador inicial 416 está posicionado. De maneira similar, um quadro final 424 representativo pode ser mostrado correspondendo ao ponto ao longo da linha do tempo do jogo em que o marcador 418 foi posicionado. De maneira similar, o quadro final 424 é uma imagem do vídeo de jogo gravado correspondente ao momento em que o marcador final 418 é posicionado. Além disso, um quadro representativo 422 pode ser mostrado correspondendo à posição do marcador 419 ao longo da linha do tempo do jogo. O quadro representativo 422 pode ser utilizado como uma imagem representativa para o minigame que é criado com base na porção selecionada da linha do tempo do jogo. Deve ser apreciado que embora na configuração ilustrada uma interface de tela de toque seja proporcionada e descrita, em outras configurações vários outros tipos de alimentador de entrada podem ser utilizados para selecionar pontos de começo e fim para definir uma porção de jogo para a criação de um minigame. Por exemplo, a entrada pode ser proporcionada por um controlador de jogo, um teclado, via entrada de gesto, entrada de voz, e de acordo com outros tipos de dispositivos e mecanismos de feed de entrada de modo a permitir a seleção de uma porção de jogo juntamente com a seleção de um quadro de imagem representativa do video de jogo gravado.
Em algumas configurações os marcadores de seleção podem não ser continuamente ajustáveis ao longo da linha do tempo do jogo, mas podem ser configurados, ao invés disso, para encaixar em pontos no tempo predefinidos ao longo linha do tempo do jogo. Por exemplo, pontos no tempo predefinidos podem ser definidos para corresponder a eventos específicos ocorrendo na linha do tempo do jogo. Os eventos específicos de uma determinada linha do tempo do jogo para os quais pontos no tempo predefinidos serão atribuídos podem ser gerados com base na análise do jogo dos usuários, e vai depender da arquitetura específica do jogo do videogame. Em uma configuração, pontos no tempo predefinidos podem ser atribuídos com base na localização geográfica de um personagem dentro de um mundo virtual definido pelo videogame, Por exemplo, pontos no tempo predefinidos podem ser atribuídos aos momentos específicos nos quais um personagem se moveu de um local geográfico para outro local geográfico, por exemplo, o movimento de um local de cena para outro local de cena, o movimento de uma cidade para outra cidade, entrar em uma estrutura, entrar em uma sala dentro de uma estrutura, entrar no veículo, entrar em um tipo diferente de ambiente, ou qualquer outro tipo de transição geográfica significativa. Em outra configuração, os pontos no tempo predefinidos podem ser atribuídos com base no desenvolvimento de um personagem ou entidade de um usuário que seja controlada no videogame. Por exemplo, pontos no tempo predefinidos podem ser atribuídos quando um personagem ou entidade controlada pelo usuário realiza uma tarefa, adquire uma habilitação, adquire um objeto, passa de nível ou completa de alguma outra forma uma porção do videogame, ou realiza ou consegue qualquer outro tipo de atividade significativa no videogame. A Figura 4C ilustra uma interface para selecionar uma porção de uma linha do tempo do jogo para a geração de um minigame, de acordo com uma configuração da invenção. Uma linha do tempo do jogo 414 ilustra graficamente uma linha do tempo ao longo da qual o usuário pode configurar marcadores de inicio e fim 416 e 418, de modo a designar uma seleção do jogo a partir a qual gerar um minigame. Um quadro inicial 410 que corresponde à posição do marcador de início 416 é mostrado, assim como um quadro final 424 que corresponde à posição do marcador de fim 418. Será observado que os quadros podem ser identificados a partir do vídeo gravado do jogo do usuário. Um número de quadros candidatos 440, 442, 444 e 446 são apresentados, a partir dos quais o usuário pode selecionar um para ser utilizado como quadro representativo para o minigame. Os quadros candidatos podem ser determinados de acordo com uma variedade de métodos. Por exemplo, quadros candidatos podem ser apresentados a partir de intervalos fracionados da porção selecionada da linha do tempo do jogo. Os intervalos podem ser equivalentes, de modo que os quadros candidatos dão igualmente espaçados ao longo da linha do tempo do jogo, ou os intervalos podem ser não-equivalentes, de modo que alguns quadros estão mais próximos um do outro que outros ao longo da linha do tempo do jogo. Em uma configuração, uma densidade mais alta de quadros candidatos é gerada a partir de porções mais iniciais da linha do tempo do jogo. Em uma configuração, uma densidade mais alta dos quadros candidatos é gerada tanto de regiões iniciais quanto posteriores da linha do tempo do jogo, enquanto que uma densidade menor de quadros candidatos é gerada a partir de porções centrais da porção selecionada da linha do tempo do jogo.
Após um usuário ter escolhido uma porção do jogo a partir da qual cria um minigame, configurações da presente invenção proporcionam sistemas e métodos para criar um minigame que pode ser jogado com base na porção selecionada do jogo. Mais especificamente, o minigame permite a outro usuário jogar substancialmente a mesma porção do videogame que o usuário original jogou, e possivelmente substancialmente sob as mesmas condições e parâmetros. Nesse sentido, o minigame é mais que simplesmente um video repetido do jogo do usuário original {embora uma repetição em videoclipe do jogo do usuário original possa ser apresentada em conjunto com o minigame), mas é uma porção que pode ser jogada do próprio videogame que foi designada com base na seleção do usuário de seu próprio jogo. Um segundo usuário pode, dessa maneira, experimentar uma experiência de jogo substancialmente similar àquela do usuário original. A Figura 5 ilustra uma série de capturas de tela demonstrando um método para gerar um minigame a partir de um videogame em nuvem existente, de acordo com uma configuração da invenção. A captura de tela 500 mostra o jogo em videogame de um usuário. Na configuração ilustrada, o usuário joga o nivel 3 de um videogame. Ao completar o nivel, é oferecida ao usuário uma opção de gerar uma fatia de jogo ou minigame com base no jogo do usuário daquele nivel. Quando o usuário opta por gerar uma fatia de jogo, então no então na captura de tela 504 é apresentada ao usuário uma interface para selecionar um ponto de partida para a fatia de jogo a partir do jogo gravado do usuário. Como foi descrito, uma representação da linha do tempo do jogo pode ser mostrada com um slider ajustável que o usuário pode mover para designar um ponto de partida para a fatia de jogo. Após o usuário ter definido o ponto de partida, então na captura de tela 506 é apresentada ao usuário a interface configurada para permitir a seleção de um ponto final para a fatia de jogo. Mais uma vez, um slider ajustável é movido pelo usuário para designar o ponto final ao longo da linha do tempo do jogo na interface. Após os pontos de inicio e fim da linha do tempo do jogo do usuário serem designados, a fatia de jogo ou minigame é gerada pelo sistema, como descrito aqui em outro ponto. Na captura de tela 508, podem ser apresentadas ao usuário opções adicionais, tais como uma opção para compartilhar a fatia de jogo recém-criada com outros usuários ou então informar de outra maneira outros usuários da fatia de jogo recém-criada, uma opção de gerar outra fatia de jogo a partir da mesma linha do tempo do jogo, uma opção de continuar o jogo do videogame naquele momento, uma opção de ver as fatias de jogo existentes do usuário, etc. Se o usuário escolher ver suas fatias de jogo existentes, então, na captura de tela 510, uma interface é mostrada exibindo as fatias de jogo anteriormente criadas. Na configuração ilustrada, o usuário pode selecionar uma das fatias de jogo anteriormente criadas, e ver informação e estatísticas relacionadas à fatia de jogo, como mostrado na captura de tela 512. A informação e as estatísticas relacionadas a uma determinada fatia de jogo podem incluir qualquer um dentre: um titulo da fatia de jogo, o videogame a partir do qual a fatia de jogo foi criada originalmente, a data em que a fatia de jogo foi criada, o número de vezes em que a fatia de jogo foi jogada por outros usuários, uma percentagem de finalização indicando uma porcentagem média da fatia de jogo que é completada por usuários que se propõem a jogar a fatia de jogo, comentários deixados por outros usuários, etc.
Embora na configuração descrita naquele momento seja apresentada uma opção de gerar uma fatia de jogo para um usuário em seguida à finalização de um nível do videogame, deve ser observado que em outras configurações o usuário pode gerar uma fatia de jogo em qualquer outro momento durante ou fora do jogo do videogame, contanto que exista jogo gravado do videogame a partir da qual uma seleção possa ser definida pelo usuário para uma fatia de jogo. Por exemplo, em uma configuração pode ser apresentada uma interface que proporciona acesso a vários jogos gravados a partir de vários videogames que são associados ao usuário. O usuário pode selecionar o jogo de um videogame especifico e gerar uma fatia de jogo selecionando uma porção do jogo gravado a partir da qual vai gerar a fatia de jogo de acordo com as configurações descritas aqui . A Figura 6 ilustra um sistema para gerar código de fatia de jogo, de acordo com uma configuração da invenção. Os termos fatia de jogo e minigame são usados alternadamente aqui para definir uma porção destacada e que pode ser jogada de um videogame que é gerado com base na seleção do usuário de jogo gravado existente. Na configuração ilustrada, o jogo de usuário 600 conceitualmente representa um usuário que interage com uma versão integral de um videogame. O código de jogo principal 602 é executado para definir a versão integral do videogame mostrada pelo usuário, À medida que o videogame é jogado, ele gera vários tipos de emissão de jogo, incluindo dados de video, dados sobre o estado do jogo, e dados alimentados pelo usuário. Esses podem ser gravados de modo a definir o jogo gravado pelo usuário. Na configuração ilustrada, uma corrente de imagem 604 representa conceitualmente os dados de video emitidos pelo videogame. Metadados de estado do jogo 606 e dados alimentados pelo usuário 608 também são mostrados. Os dados do estado do jogo 606 incluem dados que definem o estado de jogo do videogame em execução a cada momento durante o jogo. Os dados de estado do jogo podem incluir os valores de quaisquer variáveis que definam o estado de execução do videogame. Os dados alimentados pelo usuário são dados gerados pela captura de ações iniciadas pelo usuário que ocorrem durante a interatividade com o videogame, tais como aqueles que podem ser proporcionados via ativação de dispositivos de feed em dispositivos controladores, detecção de dados de sensor (por exemplo, sensores de movimento), entrada de áudio capturada, e similares.
Como foi descrito, uma interface de usuário pode mostrar graficamente o jogo gravado do usuário para facilitar a seleção pelo usuário de uma porção do jogo do usuário a partir da qual é gerada uma fatia de jogo. Na configuração ilustrada, o usuário definiu uma seleção 610 de seu jogo gravado. Essa seleção do jogo gravado pelo usuário é utilizada por um gerador de fatia de jogo para gerar código de fatia de jogo 622 que define um jogo limitado com base na porção selecionada do jogo do usuário. O gerador de fatia de jogo 612 inclui um analisador de estado de jogo 614 que analisa o estado de jogo da seleção gravada 610. Com base na análise do estado de jogo da seleção gravada, um processador de ponto de interrupção do jogo determina pontos de interrupção apropriados para definir o começo e o fim da fatia de jogo. Pontos de interrupção podem ser definidos com base na geografia, tempo, realização de tarefa ou meta, fronteiras da cena (fisica ou temporal), ou qualquer outro aspecto de um videogame de acordo com o qual o jogo do videogame possa ser segmentado para gerar uma fatia de jogo. Uma breve descrição de algumas configurações ilustrativas irá servir para destacar certas possibilidades para determinação de um ponto de interrupção.
Por exemplo, alguns videogames acarretam controle de um personagem que pode ser movido de uma cena ou local geográfico para outra cena ou local geográfico. A porção selecionada do jogo do usuário pode ser determinada para ser gerada a partir do jogo em uma determinada cena. Em uma configuração como essa, as fronteiras da cena em particular pode definir o ponto de interrupção geográfico para a fatia de jogo, selecionando a cena para a exclusão de outras cenas, o que pode acarretar a exclusão de outras cenas adjacentes ou acrescentadas, bem como de cenas que não são adjacentes ou acrescentadas ou então menos relacionadas ou não relacionadas à cena especifica. Deve ser observado que a seleção de jogo gravado 610 pode acarretar jogo a partir de múltiplas cenas, e nesse caso o processador de ponto de interrupção do jogo 616 pode ser configurado para definir pontos de interrupção de acordo com os limites das cenas múltiplas que são utilizadas para a seleção de jogo gravado.
Deve ser notado que uma cena pode ser tanto geográfica quanto temporal em sua natureza. Isto é, a cena pode não apenas definir uma região geográfica dentro de um espaço virtual definido pelo videogame, mas também pode ser configurada para existir durante um determinado tempo ou em um ponto cronológico determinado dentro do contexto mais amplo do videogame. Uma cena como essa pode ter objetivos ou metas definidos que devem ser conseguidos pelo jogador. ãssim, pontos de interrupção do jogo podem ser definidos tom base na cronologia ou outros aspectos temporais tonforme definido pelo videogame.
Além disso, uma determinada cena pode ter objetos ou características associados que são apresentados como porção da cena durante o jogo. Esses objetos ou características podem ser analisados para definir outros pontos de interrupção de acordo com a sua inclusão. Por exemplo, os objetos na cena podem ser retirados de um subconjunto de biblioteca de implementos e nesse caso o subconjunto de biblioteca de implementos pode ser definido para a fatia de jogo pelo processador de ponto de interrupção do jogo 616, excluindo-se outros objetos na biblioteca de implementos que não são utilizados na(s) cena(s) associada(s) com a seleção de jogo gravado. Deve ser entendido que objetos e características podem ser elementos dinâmicos de uma determinada cena, com mecanismos associados definindo sua mudança em resposta a eventos que estão ocorrendo no videogame. Por exemplo, um objeto poderia ter um módulo modelador contra danos que determina e ajusta a aparência do objeto quando ele é danificado (por exemplo, quando atingido por uma arma). Ou uma característica poderia ser um veículo que é disponibilizado durante a cena, com o veículo tendo lógica associada que define sua aparência durante o jogo, bem como sua operação e resposta à entrada do usuário. Essa lógica ou modelador contra danos podem definir ainda pontos de interrupção do jogo para a geração da fatia de jogo. Vários aspectos de um videogame que definem ou são utilizados de outra maneira para uma porção selecionada de um videogame podem ser a base para definir um ponto de interrupção do jogo. Os exemplos presentemente descritos são proporcionados apenas a titulo de exemplo e não a titulo de limitação. Deve ser apreciado que em outras configurações, outros aspectos de um videogame podem formar a base para definir pontos de interrupção para gerar uma fatia de jogo.
Em alguma configuração, um videogame pode ser organizado em várias cenas que têm de ser completadas de maneira linear, de modo que uma cena subseqüente não pode ser experimentada até que sua cena precedente tenha sido completada primeiramente. Cada cena pode incluir um número qualquer de objetivos ou metas, alguns dos quais podem ser exigidos para completar a cena e alguns dos quais podem ser opcionais para completar a cena. Objetivos podem incluir navegar de um local de partida para um local de término predefinido dentro da cena, sobreviver por uma extensão predefinida de tempo, destruir um número predefinido de inimigos, adquirir um determinado número de pontos, derrotar um inimigo em particular, ou qualquer outra atividade que pode definir um objetivo dentro do jogo. Uma cena pode ter vários pontos de finalização predefinidos, isto é, pontos em que o usuário, uma vez tendo alcançado o ponto de finalização, é capaz de retornar àquele ponto se o usuário se torna impedido de continuar o jogo por alguma razão (por exemplo, usuário deixa o jogo, o personagem do jogo do usuário morre ou esgota suas vidas ou saúde, o veiculo do usuário bate, etc.). Em pontos de finalização predefinidos, um videogame pode ser configurado para salvar automaticamente o progresso do usuário, ou apresentar uma opção para o usuário salvar seu progresso.
Em uma configuração, o processador de ponto de interrupção de jogo 616 é configurado para definir um ponto de interrupção de jogo em pontos de finalização predefinidos. Em uma configuração, isso se consegue encontrando-se os pontos de finalização mais próximos dos pontos de inicio e fim da seleção de jogo gravado do usuário, e utilizando-se esses pontos de finalização mais próximos para definir os pontos de interrupção do jogo para a fatia de jogo. Em outra configuração, o ponto de finalização mais próximo que ocorre antes do ponto de partida selecionado da seleção de jogo gravado é utilizado para definir um ponto de interrupção de partida, enquanto que um ponto de finalização mais próximo que ocorre após o ponto final selecionado da seleção de jogo gravado é utilizado para definir um ponto de interrupção final para a criação da fatia de jogo. Em mais outra configuração, se um ponto de finalização se encontra dentro de um raio predefinido (por exemplo, antes ou depois) dos pontos de inicio ou fim da seleção de jogo gravado, então esse ponto de finalização é utilizado para definir um ponto de interrupção de jogo inicial ou final correspondente. Ao passo que se nenhum ponto de finalização se encontra dentro do raio predefinido, então é definido um ponto de interrupção de jogo que corresponde mais proximamente ao ponto inicial ou final selecionado pelo usuário para a seleção gravada. Em outras configurações, o raio predefinido para os pontos inicial e final pode diferir com o propósito de determinar se é possível utilizar um ponto de finalização existente para definir um ponto de interrupção de jogo.
Como foi discutido, o processador de ponto de interrupção de jogo 616 determina pontos de interrupção apropriados aplicáveis a vários aspectos do videogame com base na análise da seleção de jogo gravado dos usuários. Os pontos de interrupção definidos pelo processador 616 servem para definir o campo limitado da fatia de jogo que será produzida com base na seleção de jogo gravado dos usuários. Em uma configuração, um processador de sobreposição 617 é proporcionado para gerar sobrecamadas que podem contribuir para uma experiência de usuário melhor ao jogar a fatia de jogo gerada pelo gerador de fatia de jogo 612. Por exemplo, em uma configuração o processador de sobreposição 617 define dados de fatia pré-jogo que definem informações de video ou jogo adicionais que podem ser proporcionadas como introdução para a fatia de jogo antes do jogo efetiva da fatia de jogo. Um exemplo de dados de fatia pré-jogo é um video introdutório que pode proporcionar um contexto a um usuário que inicia o jogo de fatia pré-jogo. Em outra configuração, os dados de fatia pré-jogo podem definir jogo introdutório para a fatia de jogo, que pode proporcionar a um usuário uma oportunidade de aprender técnicas que podem ser úteis ou exigidas para jogar o jogo da fatia. Em outra configuração, os dados de fatia pré-jogo podem definir uma série de uma ou mais telas ou imagens informativas que fornecem informações sobre a fatia de jogo para o usuário. Tais informações podem incluir configuração do controlador, informações sobre os fundamentos da história, objetivos ou metas, mapas, ou qualquer outro tipo de informações relativas à fatia de jogo que possam ser úteis para o usuário ou melhorar de outra maneira a experiência do usuário de jogar a fatia de jogo. O processador de sobreposição 617 também pode ser configurado para definir dados de fatia pós-jogo. Em algumas configurações, os dados de fatia pós-jogo podem definir video ou imagens a serem mostradas em seguida à finalização do jogo da fatia de jogo. Por exemplo, um video de congratulações poderia ser mostrado após um usuário completar a fatia de jogo. Esse vídeo pode ser customizado com base no jogo do usuário da fatia de jogo, por exemplo, mostrando informações ou imagens que se baseiam no jogo do usuário. Em uma configuração, os dados de fatia pós-jogo podem definir um mecanismo de reprodução para reproduzir porções gravadas do jogo do usuário da fatia de jogo após sua finalização. Em outra configuração, os dados de fatia pós-jogo podem ser configurados para exibir estatísticas sobre o jogo dos usuários da fatia de jogo, e podem indicar uma comparação do jogo dos usuários com a de outros usuários ou a do criador original da fatia de jogo. Em outras configurações, os dados de fatia pós-jogo podem definir elementos interativos adicionais a serem apresentados para o usuário mediante a finalização da fatia de jogo. Esses podem incluir opções para adquirir parcialmente ou completamente o videogame no qual a fatia de jogo se baseia, redirecionar opções para fontes adicionais de informações relacionadas ao videogame, etc.
Em algumas configurações, o processador de sobreposição 617 pode ser configurado para definir elementos que estão sobrepostos na fatia de jogo. Esses podem incluir elementos que podem ser customizados por um usuário que está jogando a fatia do jogo, tal como customização de personagens, objetos, propriedades, e outros tipos de opções de customização. Em algumas configurações, o processador de sobreposição 617 pode ser configurado para definir elementos simplificados para uma fatia de jogo de modo a reduzir a complexidade do código da fatia de jogo e a quantidade de recursos exigida para executar a fatia de jogo. A titulo de exemplo, muitos videogam.es incluem entidades de inteligência artificial (AI) tais como personagens, veículos, inimigos, etc. Essas entidades com AI podem no videogame integral ser governadas por modelos de inteligência artificial que definem a reação e a atividade das entidades com AI com base em eventos que ocorrem no videogame. Entretanto, no contexto de uma fatia de jogo que é e de escopo limitado, pode ser aceitável simplesmente definir a atividade de uma entidade de AI através de definição por hardcode ou extrapolações simplificadas, ao invés de modelar completamente a atividade da entidade AI como aconteceria no videogame integral.
Por exemplo, no jogo gravado do videogame completo um determinado personagem AI se move de uma determinada maneira de acordo com seu modelo de AI que provavelmente não vai mudar na fatia de jogo, então ele pode ser mais eficiente para definir uma aproximação do movimento do personagem de AI para a fatia de jogo. Essa aproximação não iria exigir que o modelo de AI completo fosse incluído como porção do código de fatia de jogo, no entanto proporcionaria ao usuário jogando a fatia de jogo uma experiência substancialmente similar com relação àquele personagem de AI à do jogo original do usuário da qual a fatia de jogo foi gerada. A economia de recursos realizada através da aproximação de atividade das entidades com AI pode ser ainda mais significativa quando múltiplas entidades com AI estão presentes e interagindo na seleção de jogo gravado pelo usuário. Porque cada uma das entidades com AI pode ter modelos de AI que dependem da emissão daqueles das outras entidades de AI. Entretanto, ao se gravar o jogo a atividade de cada uma dessas entidades com AI é conhecida, e, portanto, pode ser reproduzida na fatia de jogo através de mecanismos simplifiçados tais como codificação direta de suas variáveis de controle e aproximação de sua atividade.
Continuando a referência à Figura 6, um processador de estado de configuração de jogo 618 é proporcionado para determinar um estado inicial da fatia de jogo. Com base na operação do analisador de estado de jogo 614, do processador de ponto de interrupção de jogo 616, e do processador do estado de configuração de jogo 618, um gerenciador de conjunto de código 620 monta várias porções de código para definir o código de fatia de jogo 622. Quando o código de fatia de jogo 622 é executado, o jogo do usuário 624 proporciona informações para definir o estado de execução do código de fatia de jogo, que produz emissão de jogo dados de video e dados de retorno para apresentar a fatia de jogo para o usuário. Os dados de video podem incluir video sobreposto de fatia de pré-jogo 622, video de fatia de jogo 624 que é o video resultante do jogo da fatia de jogo, e video sobreposto de fatia pós-jogo 626.
Deve ser apreciado que em uma configuração, o código de fatia de jogo 622 é totalmente autossuficiente, incluindo todas as porções de código que são exigidas para executar a fatia de jogo. Entretanto, em outras configurações, o código de fatia de jogo 622 pode incorporar referências ou indicadores para porções de código existentes no código de jogo principal do videogame integral. Além disso, o código de fatia de jogo 622 pode incluir referência ou utilizar implementos existentes em bibliotecas de implementos do código de jogo principal do videogame integral. Entretanto, em outras configurações, novas bibliotecas de implementos podem ser geradas para o código de fatia de jogo. A Figura 7A ilustra a modificação de um espaço virtual com propósitos de gerar uma fatia de video de um videogame, de acordo com uma configuração da invenção. O mapa 7 00 representa uma cena ou porção geográfica de um videogame. O mapa como mostrado é uma representação bidimensional que pode ser representativa de um espaço virtual tridimensional que é navegado e experimentado durante o jogo efetiva do videogame. Como mostrado, o mapa 700 ilustra uma região 702, e diversos trajetos 794, 706, 708, e 710. No jogo gravado do videogame, o personagem 712 de um usuário se move da região 702 para o trajeto 710. Com base nesse movimento gravado e em outra análise do videogame, pode ser determinado que os trajetos adicionais 704, 706 e 708 não são necessários para a geração da fatia de jogo. Os trajetos podem representar escolhas incorretas se comparados ao trajeto 710, ou podem levar a áreas que não são relevantes para a fatia de jogo, ou podem prejudicar a capacidade do jogador de uma fatia do jogo de seguir o trajeto e experimentar um jogo similar àquele do usuário original. Além disso, se as áreas às quais os trajetos 704, 706 e 708 levam não forem suportadas pela fatia de jogo, então a inclusão de tais trajetos podería causar confusão entre os jogadores, ou pelo menos ser uma experiência desinteressante para o usuário. Portanto, em um mapa modificado 720, os trajetos 704, 706 e 708 não estão disponibilizados para jogo na fatia de jogo, enquanto que o trajeto 710, e também a região 702, permanecem inalteradas. Então, quando um usuário joga a fatia de jogo que incorpora a topografia definida pelo mapa 720, ele vai experimentar um espaço virtual no qual os trajetos 704, 706 e 708 não estão disponíveis para passagem. O usuário então mais provavelmente irá passar pelo trajeto 710 como o usuário original, experimentando assim jogo similar.
Será observado que a porção de um espaço virtual definida para uma fatia de jogo ou minigame pode ser definida por fronteiras que são determinadas com base no jogo gravado do usuário. As fronteiras vão definir uma sub-região do espaço virtual maior, e incluem um subconjunto das características que estão disponíveis no espaço virtual maior. Em algumas configurações, fronteiras espaciais virtuais podem ser determinadas determinando-se locais no espaço virtual definido pelo jogo do usuário, e determinando-se a seguir fronteiras predefinidas associadas ao espaço virtual que estão mais próximas daqueles locais e organizadas de modo a abrangê-los. Por exemplo, o jogo de um usuário pode definir um trajeto atravessado por um personagem de videogame de um usuário. Esse trajeto pode ser analisado e baseado na localização do trajeto no espaço virtual, um conjunto de fronteiras predifinidas pode ser escolhido de modo a definir uma região que abrange o trajeto. Em algumas configurações, fronteiras predefinidas podem ser definidas por características específicas que definem inerentemente porções do espaço virtual, por exemplo, portas, janelas, paredes, quartos, entradas, cercas, estradas, interseções, corredores, etc. A Figura 7B ilustra a modificação de um gráfico de cena com o propósito de gerar uma fatia de jogo, de acordo com configurações da invenção. Um gráfico de cena 730 ilustra conceitualmente a organização de várias cenas A a G de um videogame. Deve ser apreciado que cenas como as descritas aqui podem ser de natureza geográfica e/ou temporal, e cada uma pode representar uma porção que pode ser jogada de um videogame, tal como um estágio, um nivel, uma seção, um local, ou qualquer outra unidade organizacional dentro do videogame de acordo com a qual um jogador possa progredir de uma cena para outra cena. No gráfico de cena 730 vários nós são mostrados representativos das cenas A a G. Como mostrado, um jogador pode progredir da cena A para a cena B, e da cena B para uma das cenas D ou E. O jogador também pode progredir da cena A para cena C, e da cena C para qualquer das cenas F ou G. O gráfico de cena 730 é ilustrativo da organização de cena do videogame integral. Entretanto, para propósitos de criar uma fatia de jogo, nem todas as cenas disponíveis podem ser exigidas para a fatia do jogo. Assim, a título de exemplo, um gráfico de cena 732 ilustra a organização das cenas para uma fatia de jogo. Como mostrado, o gráfico de cena 732 inclui as cenas A, B, C, e D, mas não as outras cenas que estavam incluídas no gráfico de cena 739 do videogame integral. Assim, um usuário pode progredir da cena A para qualquer das cenas B ou C, e da cena C para a cena F. Entretanto, as outras cenas do gráfico de cena do videogame integral 730 não estão disponíveis para jogo na fatia de jogo. Como foi descrito, sistemas de acordo com configurações da invenção podem ser configurados para limitar a inclusão de cenas quando se gera uma fatia de jogo. Dessa maneira, a fatia de jogo não inclui cenas que não são exigidas para o contexto limitado de seu jogo e propósito pretendido. A Figura 8 ilustra um método para gerar uma fatia de jogo, de acordo com uma configuração da invenção. Na operação de método 800, o jogo de um usuário de um videogame é gravado, incluindo a gravação em video do jogo dos usuários e dados de entrada e dados de estado de jogo do videogame. Na operação de método 802, uma interface de usuário é apresentada para seleção de jogo gravado para gerar uma fatia de jogo. A interface define mecanismos para receber entrada de usuário para definir pontos de partida e finais a partir do jogo gravado. Por exemplo, uma interface para verificar o video do jogo gravado pode ser proporcionada de modo a permitir ao usuário que defina pontos de partida e finais dentro do video de jogo com base na navegação ou reprodução do vídeo de jogo. Na operação de método 804, é recebida a seleção definida pelo usuário de video de jogo. Na operação de método 806, pontos de interrupção de videogame são identificados com base na seleção definida pelo usuário recebida de video de jogo. Em uma configuração, há pontos de interrupção predefinidos para o videogame. Com base na seleção definida pelo usuário de video de jogo, os pontos de interrupção do jogo que estão mais próximos dos pontos de partida e finais da seleção definida pelo usuário podem ser escolhidos como pontos de interrupção do jogo para que a fatia de jogo seja gerada. Na operação de método 808, o código de jogo é definido para a seleção de fatia como definido pelos pontos de interrupção identificados. Essa operação de método 810, o estado de configuração de jogo é definido para a seleção de fatia. Em uma configuração, o estado de configuração de jogo se baseia em um estado de jogo que existia durante o jogo gravado do usuário. Operação de método 812, o código de fatia de jogo é gerado, e na operação de método 814, o código de fatia de jogo é armazenado em uma biblioteca de fatia de jogo e associado à conta do usuário.
Em uma configuração, o método pode incluir a operação de método 816, em que as seleções de video de fatia de jogo são geradas com base no video e dados de jogo gravados do usuário. Seleções sugeridas do jogo dos usuários podem ser determinadas com base na análise do jogo gravado do usuário. Por exemplo, porções do jogo em que um alto nível de atividade (por exemplo, um nível de atividade que excede um limite predefinído) é detectado poderíam ser sugeridas como possíveis seleções de vídeo de fatia de jogo. Na operação de método 818, a interface de usuário mencionada para a seleção de fatia de jogo pode apresentar as seleções de vídeo de fatia de jogo sugeridas para o usuário. Em uma configuração, uma captura de tela representativa de cada seleção de vídeo de fatia de jogo sugerida pode ser apresentada ao usuário. Na operação de método 820, uma seleção pelo usuário de uma das seleções de video de fatia de jogo sugeridas é recebida. Com base na seleção do usuário, o código de fatia de jogo pode ser gerado e armazenado como foi descrito anteriormente. A Figura 9A ilustra uma interface para navegar em fatias de jogo associadas a vários títulos de jogo, de acordo com uma configuração da invenção. Na configuração ilustrada, a interface é organizada em uma série de abas, incluindo as abas 900, 902 e 904, as quais quando selecionadas proporcionam acesso a várias páginas correspondentes a diferentes títulos de jogo. Na configuração ilustrada, a aba 900 está sendo selecionada, de modo que a página apresentada fornece informações sobre fatias de jogo que foram criadas para um título de jogo específico TI. Uma lista de fatia de jogo 904 lista as várias fatias de jogo que foram criadas a partir do título de jogo Tl. Em uma configuração, a lista de fatia de jogo 904 também identifica o usuário que criou a fatia de jogo (por exemplo, mostra um nome de usuário do usuário que criou a fatia de jogo) . Em uma configuração, a lista de fatia de jogo 904 pode ser explorada ou navegada de modo a destacar fatias de jogo diferentes daquelas listadas na lista de fatia de jogo 904. Na configuração ilustrada, uma fatia de jogo A criada por um usuário A está então destacada, o que faz com que detalhes 906 sejam mostrados, os quais se relacionam à mesma fatia de jogo A. Os detalhes 906 podem incluir vários tipos de informações relacionadas à fatia de jogo A, tais como o nível ou estágio a partir do qual a fatia de jogo foi gerada, um detalhe de jogo que proporciona informações mais específicas sobre o local a partir do qual a fatia de jogo foi criada, comentários do usuário A que criou a fatia de jogo, comentários de terceiros, um número de vezes em que a fatia de jogo foi jogada, ou qualquer outro tipo de informação sobre a fatia de jogo que possa ser proporcionada quando a listagem da fatia de jogo está destacada. A Figura 9B ilustra uma página de informações de fatia de jogo, de acordo com uma configuração da invenção. A página de informações sobre fatia de jogo é para a fatia de jogo A discutida com referência à Figura 9A, e pode ser alcançada quando o usuário seleciona a lista da fatia de jogo A como mostrado na Figura 9A. Continuando a referência à Figura 9B, a página de informações sobre fatia de jogo proporciona vários tipos de entrada relacionada à fatia de jogo. Além das informações bibliográficas sobre a fatia de jogo (por exemplo, titulo, nome de usuário do usuário que criou a fatia de jogo, data de criação, etc.), pode ser mostrado um video 910 da fatia de jogo. Em uma configuração, o video 910 é o video de jogo gravado do usuário original que criou a fatia de jogo. Em outra configuração, o video 910 podería ser vídeo de jogo gravado de outros usuários, tal como um usuário que alcançou o placar mais alto na fatia de jogo, ou um usuário que jogou mais recentemente a fatia de jogo. Em uma configuração, o vídeo 910 poderia ser um feed ao vivo de um usuário que está jogando a fatia de jogo naquele momento. Em outras configurações, ao invés de um vídeo uma imagem representativa de fatia de jogo poderia ser mostrada. A página de informações sobre fatia de jogo pode incluir ainda um botão selecionável 912 para iniciar o jogo da fatia de jogo. A página de informações sobre fatia de jogo pode incluir também uma seção de detalhes 914, que pode apresentar vários detalhes e informações estatísticas sobre a fatia de jogo, tais como o número de jogadas, a velocidade de finalização em média, etc. A página de entrada sobre a fatia de jogo pode incluir também uma seção de comentários 916, apresentando comentários deixados pelos usuários. Um botão de seleção 918 pode ser proporcionado para selecionar várias opções para separar os comentários (por exemplo, ordem cronológica, ordem cronológica inversa, mais popular, por classificação, por relação com o usuário naquele momento (por exemplo, comentários de amigos do usuário em um gráfico social são priorizados), etc.). A Figura 10 ilustra uma visualização de informações da conta do usuário, incluindo visualizações ao vivo em uma rede social de jogo em nuvem, de acordo com uma configuração da invenção. Uma seção de biblioteca 1002 mostra vários títulos de jogo na biblioteca de usuário. Esses podem ser títulos de jogo que o jogador comprou ou adquiriu de alguma outra maneira. A mostra de um título de jogo pode incluir a mostra de gráficos representativos, além de informações sobre o título. Será apreciado que jogos podem ser títulos de jogos em versões integrais, mas também miniversões de versões limitadas, cada uma das quais pode ser uma porção de um título de jogo em versão integral ou ser limitada em alguma capacidade se comparada ao título de jogo em versão integral. Uma lista de amigos 1004 lista amigos do usuário naquele momento em uma rede social associada ao sistema de jogo em nuvem (isto é, outros usuários no gráfico social do usuário naquele momento). A rede social pode ser uma rede social que é especifica para o sistema de jogo em nuvem, ou pode ser uma rede social (de terceiros) que existe independente do sistema de jogo em nuvem, com o qual o sistema de jogo em nuvem se comunica para obter informações sobre o gráfico social do usuário. A lista de amigos 1004 pode incluir informações adicionais sobre os amigos do usuário, tais como a exibição de jogos que são de propriedade de cada um dos amigos, a identificação do status on-line do amigo (por exemplo, online, off-line, inativo, etc.), a última conexão do amigo e a sua duração, o último jogo jogado pelo amigo, etc.
Em uma configuração, uma seção de usuário ativa transmitida ao vivo 106 proporciona visualizações ao vivo do jogo de amigos que estão on-line naquele momento e podem estar jogando um videogame. Em uma configuração, cada usuário tem uma opção de definir se torna ou não seu jogo ao vivo disponível para ser visto ao vivo por outros usuários. Em uma configuração como essa, visualizações ao vivo são apresentadas apenas daqueles usuários que têm a opção designada para permitir que seu jogo possa ser visto ao vivo por outros usuários. Na configuração ilustrada, a seção de usuário ativo ao vivo 1006 inclui uma visualização ao vivo 1008 do jogo naquele momento de um amigo A, bem como uma visualização ao vivo do jogo naquele momento de um amigo B. Em uma configuração, o usuário naquele momento pode navegar ou percorrer os amigos da lista de amigos 1004 e/ou navegar as visualizações ao vivo que estão disponíveis na seção de usuário ativo ao vivo 1006. Em uma configuração, uma visualização ao vivo pode ser destacada guando o usuário naquele momento navega para ela, e pode ser apresentada de uma maneira distinta de outras visualizações ao vivo. Por exemplo, visualizações ao vivo podem ser exibidas em um esquema de cor não-saturada por default, mas serem exibidas em um esquema de cor completamente saturada quando destacadas ou selecionadas. Visualizações ao vivo também poderíam ser exibidas em uma resolução menor, velocidade de quadro, ou tamanho por default, mas quando selecionadas serem exibidas a uma resolução mais alta, velocidade de quadro, ou tamanho. Dessa maneira, a largura de banda pode ser alocada para uma visualização ao vivo especifica com base na seleção de usuário, para apresentar uma visualização ao vivo que o usuário está interessado era ver com maior fidelidade que outras visualizações ao vivo que podem estar ativas simultaneamente. Deve ser apreciado que a visualização ao vivo pode exibir não apenas o jogo especifico de um videogame, mas também outra atividade de uma amiga no sistema de jogo em nuvem, tal como sua navegação através de menus ou outros tipos de atividade relacionada à sua sessão de jogo em nuvem.
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.
Em uma configuração, a visualização ao vivo de um determinado usuário pode ser filtrada de modo a não expor informações potencialmente delicadas ou pessoais para ser vista por outros. Por exemplo, o sistema de jogo em nuvem pode suportar uma função de bate-papo. Como alguns usuários podem desejar que seus bate-papos permaneçam particulares, pode ser proporcionada uma opção que exclui conexões ao bate-papo quando se apresenta uma visualização ao vivo. Deve ser apreciado que uma função de bate-papo pode ser implementada durante a ati\ridade de jogo bem como durante uma atividade não ligada a jogo, e pode ser filtrada a partir de visualizações ao vivo de uma ou de ambas essas circunstâncias. Em outra configuração, aspectos de um videogame podem ser filtrados de uma visualização ao vivo. Por exemplo, um usuário pode desejar manter determinadas configurações definidas pelo usuário em segredo, pois elas podem conferir uma vantagem para aquele usuário durante o jogo. Assim, uma opção pode ser proporcionada para atividade relacionada a configurações que não devem ser exibidas como porção do feed ao vivo (por exemplo, quando um usuário acessa uma interface de configurações do videogame). Em outra configuração, a visualização ao vivo pode ser configurada para evitar que se veja entrada pessoal (por exemplo, evitar que ela seja vista quando um usuário acessa uma página de informações pessoais, entre em informações sobre pagamento, entre com uma senha, etc.).
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.
Em uma configuração, a opção de pedir para entrar no jogo do segundo usuário é declarada mediante a determinação de um status de propriedade do videogame pelo primeiro usuário. Se o primeiro usuário não possui o videogame, então nenhuma opção pode ser apresentada, enquanto que se o primeiro usuário possui o mesmo videogame que o segundo usuário, então a opção de pedir para se juntar ao jogo do segundo usuário é disponibilizada como porção da interface. Em uma configuração, quando o primeiro usuário é determinado como não sendo proprietário do videogame, então o primeiro usuário pode ainda se juntar ao segundo usuário em um modo de mult icamadas, mas em uma capacidade limitada, sendo, por exemplo, limitada em termos de duração do jogo, cenas/níveis/estágios/etc. disponíveis, opções de customização, capacidades, técnicas, armas, personagens, veículos, ou qualquer outro aspecto do videogame que possa ser limitado. Em uma configuração, em seguida ao jogo da versão limitada do videogame, é proporcionada ao primeiro usuário uma opção de compra de uma porção adicional do videogame. 107 Continuando com a referência à Figura 10, as informações mostradas podem incluir também as informações sobre a história do jogo 1012 dos amigos do usuário. As informações sobre a história do jogo 1012 pode proporcionar informações sobre a história de jogo de um determinado amigo, tais como os jogos jogados mais recentemente, a duração das sessões de jogo, estatísticas relativas ao jogo, etc. 108 Será apreciado que muitos métodos e configurações para apresentar uma interface de jogo em nuvem são possíveis de acordo com várias configurações da invenção. Em uma configuração como essa, um método para exibir um status de jogo naquele momento de usuários de um sistema de jogo em nuvem é proporcionado, incluindo as seguintes operações de método: apresentar uma interface de jogo em nuvem de um primeiro usuário; determinar um ou mais usuários secundários que são amigos do primeiro usuário; determinar um status de naquele momento de cada um dos usuários secundários, o status naquele momento sendo um dentre on-line ou off-line; para pelo menos um segundo usuário on-line, apresentar um feed ao vivo de uma sessão de jogo ocorrendo naquele momento do segundo usuário na interface de jogo em nuvem do primeiro usuário, o feed ao vivo inclui proporcionar uma opção para o primeiro usuário de se juntar à sessão de jogo do segundo usuário que está acontecendo on-line; em que iniciar o modo em múltiplas camadas inclui determinar um status de propriedade primeiro usuário com relação a um videogame que define a sessão de jogo que está acontecendo do segundo usuário on-line; em que é determinado que o primeiro usuário é proprietário do videogame, então o modo de múltiplas camadas proporciona para ser jogada uma versão integral do videogame; em que quando é determinado que o primeiro usuário não é proprietário do videogame, então o modo de múltiplos jogadores proporciona condições de jogo de uma versão limitada do videogame.
Em uma configuração, a versão limitada do videogame define uma redução, se comparada à versão integral do videogame, em um ou mais dos niveis disponíveis, cenas disponíveis, características disponíveis, limite de tempo, espaço virtual, duração da campanha, número de vidas, ou um número de repetições.
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.
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.
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.
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.
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.
Em uma configuração, apresentar a interface de jogo em nuvem do primeiro usuário inclui apresentar uma lista de cada um dos usuários secundários em uma ordem de prioridade, a ordem de prioridade se baseando em um ou mais dentre status naquele momento, quão recente é a conexão, ou a propriedade de jogos em comum de jogos com o primeiro usuário. A Figura 11 ilustra um método para apresentar feeds de jogo ao vivo de amigos do usuário naquele momento, de acordo com uma configuração da invenção. Na operação de método 1100, um usuário naquele momento se conecta a um sistema de jogo em nuvem. Na operação de método 1102, os amigos do usuário naquele momento são identificados a partir de um gráfico social do usuário naquele momento. Conforme foi notado, o gráfico social do usuário naquele momento pode ser de uma rede social que é específica para o sistema de jogo em nuvem ou talvez de uma rede social que existe separadamente do sistema de jogo em nuvem. Na operação de método 1104, as informações da biblioteca sobre os amigos do usuário são recuperadas. As informações da biblioteca sobre os amigos do usuário podem identificar títulos de jogo nas bibliotecas dos amigos do usuário. Na operação de método 1106, os status atuais dos amigos do usuário naquele momento são identificados. Se o status naquele momento de um determinado amigo está on-line então na operação de método 1108 é determinado se o determinado amigo está naquele momento engajado em um jogo de um videogame no sistema com base em nuvem. Caso esteja, então na operação de método 1112, é obtido um feed de jogo ao vivo para aquele usuário. Na operação de método 1110, os amigos do usuário naquele momento são priorizados para exibição com base em vários fatores ou preferências. Na operação de método 1114, os amigos do usuário naquele momento e as informações sobre seus status e os feeds de histórico de jogos são apresentados em ordem de prioridade. Em uma configuração, amigos do usuário que estão on-line naquele momento podem ser priorizados em relação a amigos que estão off-line. Em uma configuração, amigos do usuário naquele momento que estão correntemente engajados em um jogo ativo podem ser priorizados em relação a amigos que não estão correntemente engajados em um jogo ativo. Em uma configuração, amigos podem ser priorizados com base em quão recentemente eles se conectaram ao sistema de jogo em nuvem. Em outra configuração, amigos podem ser priorizados com base na propriedade comum de videogames. Os exemplos apresentados de priorizaçâo de amigos são fornecidos meramente a titulo de exemplo e não a titulo de limitação. Será apreciado pelos especialistas na técnica que em outras configurações os amigos do usuário naquele momento podem ser priorizados e apresentados de acordo com a ordem de prioridade com base em qualquer outro fator relevante.
A Figura 12 ilustra um sistema incluindo um sistema de jogo em nuvem e uma rede social, de acordo com uma configuração da invenção. Um sistema de jogo 1200 proporciona acesso a seus jogos com base em nuvem. O sistema de jogo em nuvem inclui uma biblioteca de jogos 1202 que contém vários títulos de jogos que podem ser jogados por usuários. Os dados de usuário 1204 contêm vários tipos de dados que são associados a contas de usuários, tais como os títulos de jogo que são de propriedade de um usuário, e qualquer jogo em andamento salvo pelo usuário. Na configuração ilustrada, várias sessões de jogo são mostradas conceitualmente, incluindo uma sessão A, uma sessão B, e uma sessão C. A sessão A define o jogo de um usuário A, que vê o jogo da sessão A em um mostrador A. O jogo da sessão A é apresentado como a visualização 1210 no mostrados 1208 do usuário A. De maneira similar, a sessão B define o jogo de um usuário B, que é apresentado no dispositivo 1212 do usuário B como a visualização 1214. Na configuração ilustrada, a visualização 1214 da sessão do usuário B mostra uma interface incluindo visualizações ao vivo de outros usuários, incluindo uma visualização ao vivo da sessão A e uma visualização ao vivo da sessão C. À medida que prossegue o jogo das sessões A e C, um video do jogo é transmitido das sessões A e C e pode ser transmitido em streaming pela sessão do usuário B, de modo a ser mostrado na visualização 1214 do usuário B. O video do jogo pode ser processado por streaming via sessão do usuário B, por exemplo, diminuindo-se a resolução, tamanho, velocidade de quadro, saturação de cor, etc. para conservar a largura de banda.
Continuando com a referência à Figura 12, uma rede social 1216 também é mostrada. A rede social 1216 inclui dados de usuário 1218, que incluem dados tais como gráficos sociais do usuário, postagens, fotos, videos, informações biográficas, etc. Apps 1220 podem ser rodados na plataforma de rede social. Uma interface gráfica de usuário (GUI) 1222 define uma interface para interagir com a rede social. Uma API 1224 facilita o acesso à rede social. Um módulo de notificação 1226 cuida da notificação de usuários da rede social de acordo com as suas preferências. Como foi notado, a visualização 1214 do usuário B inclui feeds ao vivo das sessões dos outros usuários. Em uma configuração, os amigos do usuário B foram determinados com base em um acesso à API 1224 da rede social 1216 para determinar membros do gráfico social do usuário B. Esses membros foram mencionados para os usuários do sistema de jogo em nuvem para proporcionar feeds de jogo ao vivo de amigos do usuário B, incluindo feeds das sessões A e C.
Em uma configuração, o usuário A opta por compartilhar de sua sessão A com seu gráfico social. A sessão do usuário A comunica pela API 1224 para ativar o módulo de notificação 1226 da rede social 1216 para enviar uma notificação apropriada para amigos no gráfico social do usuário A. Quando um usuário de rede social 1230 que está no gráfico social do usuário A acessa a rede social via um dispositivo 1228, eles podem ver uma mensagem ou postagem do usuário A sobre a sessão do usuário A. Caso esteja configurado para isso, um usuário pode receber notificações tais como um e-mail indicando que o usuário A compartilhou alguma coisa na rede social. Deve ser apreciado que o usuário A pode compartilhar várias atividades relacionadas a videogame, tais como progressos em um videogame, convites para jogar um videogame, comentários sobre um videogame, um convite para ver ou jogar uma fatia de jogo que o usuário A criou, um videoclipe do jogo do usuário A, etc. A Figura 13 é um gráfico ilustrando várias variáveis de estados de jogo ao longo do tempo, de acordo com configurações da invenção. Deve ser apreciado que em várias configurações pode haver muitos tipos diferentes de variáveis de estado de jogo que serão particulares para videogames específicos. Aquelas mostradas e descritas com referência à configuração ilustrada são proporcionadas meramente a titulo de exemplo e não a título de limitação. As variáveis de estado de jogo podem incluir valores que são definidos pelo videogame em execução, bem como valores que são definidos por uma entrada de usuário. Na configuração ilustrada, existem variáveis de posição mostradas indicando as posições X, Ύ e Z de um objeto em um espaço virtual de um videogame tal como um personagem ou veiculo. Variáveis de ângulo de câmera indicam a direção de uma câmera virtual ou vista virtual no videogame. Em uma configuração, o ângulo de câmera é definido por e o componente de azimute medido (por exemplo, ao longo de um plano horizontal) com relação a e referência de azimute e um componente de inclinação medido com relação a uma referência de inclinação (por exemplo, relativa à vertical). Variáveis de ação tais como as variáveis de ação ilustradas A e B indicam a iniciação e a sustentação de várias ações dentro do videogame. Deve ser apreciado que ações para um determinado videogame serão especificas para o contexto do videogame. A titulo de exemplo, ações poderíam incluir a iniciação de manobras especificas, a aplicação de técnicas, o acionamento de mecanismos de modificação que modificam uma ação existente tal como aumentar seu nível de intensidade ou frequência, etc., ou qualquer outro tipo de ação ou atividade que possa ser acionada por uma entrada do usuário durante o curso do videogame. Continuando a referência à Figura 13, uma variável de arma indica o disparo de uma arma do videogame. Uma variável de saúde indica um nível de saúde, por exemplo, de um personagem do usuário no videogame. Variáveis de botão indicam o estado de botões em um dispositivo controlador, por exemplo, se o botão está em um estado comprimido ou em um estado liberado. Variáveis relativas ao estado do joystick na configuração ilustrada indicam uma magnitude de movimento de um joystick relativo a uma posição neutra. Essas variáveis de estado de jogo que foram descritas com referência à configuração ilustrada são meramente exemplificativas, e será reconhecido pelos especialistas na técnica que muitos outros tipos de variáveis de estado de jogo podem ser acompanhados ao longo do tempo.
Com referência mais uma vez à configuração da Figura 6, em uma configuração o analisador de estado de jogo 614 pode ser configurado para analisar as variáveis de estado de jogo de um jogo gravado pelo usuário. Com base na análise do jogo gravado pelo usuário, várias regiões de interesse do jogo gravado pelo usuário podem ser definidas e apresentadas para o usuário como possíveis seleções a partir das quais gerar uma fatia de jogo. Por exemplo, uma região de jogo caracterizada por altos niveis de atividade para determinadas variáveis de estado de jogo poderíam definir uma seleção do jogo gravado pelo usuário. Deve ser apreciado que o nível de atividade para uma determinada variável de estado de jogo pode se basear em vários fatores tais como nivel de intensidade, frequência de ativação, duração de sustentação, etc. Em algumas configurações, a análise das variáveis de estado de jogo pode acarretar na busca de regiões de jogo em que os níveis de atividade de duas ou mais variáveis de estado de jogo diferentes estão relacionadas em uma maneira predefinida, por exemplo, as duas ou mais variáveis têm altos níveis de atividade simultaneamente. Um alto nível de atividade pode ser determinado com base em um limite predefinido.
Em várias configurações, uma região de interesse do jogo gravado pelo usuário pode ser automaticamente determinada com base na detecção de limite de uma ou mais dentre as seguintes: uma ou mais entradas de usuário, velocidade de entrada de usuário, frequência de entrada, repetição de tipos de entradas, ocorrências de padrões de entradas, entradas em combinação (por exemplo, teclas combinadas), vetores de movimento, pressão exercida em um controlador, excitação de um usuário (por exemplo, detectada com base em dados capturados de imagem ou áudio do usuário) . A Figura 14A ilustra um método de gerar uma fatia de jogo para um videogame do tipo linear, de acordo com uma configuração da invenção. Falando de maneira geral, um videogame linear é um no qual a progressão do jogador através do videogame segue um curso linear, em que para progredir no videogame o jogador tem que primeiro completar um objetivo antes de progredir para um objetivo seguinte. Assim, todos os jogadores têm que completar os mesmos objetivos na mesma ordem para progredir no videogame. Os objetivos em um videogame linear podem estar presos a locais geográficos e temporais dentro do contexto de uma linha de história espaço-temporal do videogame. Na operação de método 1400, uma cena de um videogame é identificada. A cena pode ser de natureza tanto espacial quanto temporal, e ter vários objetivos definidos dentro da mesma. Na operação de método 1402, uma extensão espacial ou temporal da cena é definida. A duração da cena pode ser definida de acordo com a entrada do usuário, e também pode ser definida com base em objetivos que estão ligados à cena. Na operação de método 1404, são definidas as propriedades iniciais de itens, personagens, ou quaisquer outros objetos dentro da cena aos quais as propriedades podem ser atribuídas. Na operação de método 1406, uma fatia de jogo é gerada para a duração identificada da cena tendo as propriedades iniciais como definido anteriormente. A Figura 14B ilustra um método de gerar uma fatia de jogo para um videogame do tipo mundo aberto, de acordo com uma configuração da invenção. Um videogame do tipo mundo aberto pode ser caracterizado como um em que o usuário tem a liberdade de buscar um número qualquer de objetivos em uma ordem de sua própria escolha. Videogames do tipo mundo aberto tipicamente também permitem ao usuário navegar um ou mais espaços virtuais à sua vontade. A fim de progredir para diferentes níveis do videogame ou para o videogame completo, pode ser exigido que se complete um determinado conjunto de objetivos, entretanto, usuários podem ser livres para completar esses objetivos em ordens diferentes. Na operação de método 1410, é identificado um local dentro de um mundo virtual do videogame. Na operação de método 1412, é identificada uma porção limitada do mundo virtual do videogame. A porção limitada do mundo virtual pode ser definida com base em entrada do usuário definindo uma seleção de jogo gravada como foi descrito aqui. Por exemplo, um jogo de um usuário em um videogame de mundo aberto pode abranger uma grande variedade de locais durante o curso do jogo. Entretanto, com o propósito de gerar uma fatia de jogo, o usuário pode selecionar uma porção de jogo que ocorre dentro de uma região geográfica limitada do mundo virtual do videogame. Essa região geográfica limitada pode ser determinada com base na análise da porção selecionada de usuário de seu jogo gravado, por exemplo, rastreando um local de um personagem controlado pelo usuário dentro do mundo virtual e definindo limites que incluem todos os locais nos quais se constatou a existência do personagem. Na operação de método 1414, são definidas as propriedades iniciais de vários objetos, personagens, itens, veículos, ou outros objetos encontrados dentro da região geográfica limitada previamente determinada a partir da seleção de jogos gravada pelo usuário. Na operação de método 1416, a fatia de jogo é gerada com base na região geográfica limitada do mundo aberto e as propriedades previamente definidas. A Figura 14C ilustra um método para gerar uma fatia de jogo para um videogame de esportes, de acordo com uma configuração da invenção. A fatia de jogo pode ser gerada com base em uma seleção definida pelo usuário de jogos gravados pelo usuário. Na operação de método 1420, uma configuração é identificada com base na seleção de jogos gravados pelo usuário. A título de exemplo, a configuração pode definir um local de um evento esportivo, tal como uma quadra, estádio, pista, ou qualquer outra configuração de local na qual possa ocorrer um evento esportivo do videogame. Ma operação de método 1422, é definido um período de tempo com base na seleção de jogos gravados pelo usuário. O período de tempo do videogame esportivo pode determinar determinados aspectos da fatia de videogame, tais como a inclusão de regras ou atividades especiais que ocorrem em determinados períodos de tempo durante um esporte. Na operação de método 1424, os jogadores da fatia de jogo são determinados com base nos jogadores incluídos na seleção de jogos gravados pelo usuário. Os jogadores podem incluir um ou mais personagens que foram definidos pelo usuário, bem como personagens com inteligência artificial (AI), que foram controlados pela lógica de controle do personagem com AI do videogame em execução no momento do jogo. Como foi descrito em outro lugar aqui, as ações dos personagens com AI podem ser semelhantes em alguns casos. Enquanto que em outras configurações, a lógica de controle do personagem com AI é definida para a fatia de jogo com os parâmetros como eles foram definidos na seleção de jogos gravados pelo usuário. Na operação de método 1426, são definidos atributos de cena para a configuração de local da fatia de videogame de esporte. Por exemplo, esses podem incluir atributos tais como condições do tempo, da pista ou da quadra, e outros atributos da configuração de esporte. Na operação de método 1428, a fatia de jogo para o videogame é gerada com base nos parâmetros mencionados anteriormente. A Figura 15 ilustra conceitualmente a formação de um jogo em fatias com múltiplos jogos, de acordo com uma configuração da invenção. Um videogame pode ser organizado em vários níveis ou estágios. Na configuração ilustrada, é mostrado um jogo de usuário em vários níveis de um videogame. Especificamente, uma linha do tempo do jogo 1500 representa o jogo do usuário a partir de um primeiro nível do videogame, enquanto que uma linha do tempo do jogo 1502 e uma linha do tempo do jogo 1506 representam o jogo do usuário a partir do segundo e terceiro níveis, respectivamente, do videogame. De acordo com uma configuração da invenção, um usuário pode concatenar múltiplas fatias de jogo do videogame para formar um minigame de fatia de um jogo múltiplo maior. Na configuração ilustrada, uma seleção 1502 da linha do tempo do jogo 1500 é utilizada para definir uma primeira fatia de jogo 1514. Uma seleção 1504 de dois da linha do tempo do jogo do usuário 15 é utilizada para definir uma segunda fatia de jogo 1818. E uma seleção 1508 da linha do tempo do jogo do usuário 1506 é utilizada para definir uma terceira fatia de time 1522. A primeira, segunda e terceira fatias de jogo estão dispostas em ordem de sequência para definir o minigame 1510. Ao fazer assim, o minigame 1510 inclui fatias de jogo de cada um dentre o primeiro, segundo e terceiro níveis do videogame. Dessa maneira, um usuário que joga o minigame 1510 é capaz de experimentar porções limitadas de múltiplos níveis do videogame ao jogar o minigame 1510. Isso pode ser útil em proporcionar uma exibição prévia ou demonstração mais estimulante de um videogame que os videogames convencionais em que usuário só pode jogar uma porção de um nível ou estágio do videogame. A experiência é análoga àquela de uma exibição prévia de um filme, que tipicamente proporciona clipes de porções diferentes do mesmo filme, e não apenas um único clipe. De acordo com configurações da invenção, os usuários podem usufruir de demonstrações do jogo em múltiplas porções, o que proporciona uma noção melhor do escopo do videogame integral, e que pode incluir o jogo de maneira contínua de uma porção para a próxima.
Em uma configuração, um usuário pode inserir material adicional, tal como um vídeo, mensagem, imagens, ou qualquer outro tipo de informações definidas pelo asuário, antes ou depois de uma fatia do jogo. Na oonfiguração ilustrada, uma introdução 1512 é proporcionada para apresentar um jogador no minigame 1510 e também talvez apresentar o jogador para a primeira fatia de jogo 1514. Além disso, uma mensagem 1516 é inserida entre a primeira fatia de jogo 1514 e a segunda fatia de jogo 1518 e a terceira fatia de jogo 1522. Em uma configuração, o material inserido pode incluir video de jogo gravado do jogo do usuário original a partir do qual foi gerada a fatia de jogo. Se o jogo gravado é mostrado antes de se jogar a fatia de jogo, o jogador que inicia a fatia de jogo pode entender melhor a fatia de jogo e seus objetivos antes de iniciar o jogo, enquanto que se for mostrado após a fatia de jogo ter sido jogada, o jogador pode entender como seu jogo da fatia de jogo se compara àquela do usuário original. A Figura 16 ilustra conceitualmente a geração de um minigame em fatias com múltiplos jogos, de acordo com uma configuração da invenção. Na configuração ilustrada, uma linha do tempo do jogo gravado do usuário 1600 para um jogo A é mostrada, juntamente com a linha do tempo do jogo gravado do usuário 1604 para um jogo B, e a linha do tempo do jogo gravado do usuário 1608 para um jogo C. Em uma configuração, o usuário pode gerar um minigame em fatias com múltiplos jogos com base em fatias de jogo de diferentes videogames. Na configuração ilustrada, uma seleção 1602 do jogo gravado pelo usuário 1600 é utilizada para definir uma fatia de jogos 1616, enquanto que uma seleção 1606 do jogo gravado pelo usuário 1604 é utilizada para definir uma fatia de jogo 1620, e uma seleção 1610 do jogo gravado pelos usuários 1608 é utilizada para definir uma fatia de jogo 1624. As fatias de jogo 1616, 1620 e 624 estão organizadas em sequência para definir o minigame 1612. Opcionalmente, material adicional pode ser inserido antes ou depois de uma fatia de jogo. Na configuração ilustrada, uma introdução 1614 é inserida antes da fatia de jogo 1616, enquanto que um intervalo 1618 é definido entre a fatia de jogo 1616 e a fatia de jogo 1620, e outro intervalo 1622 é definido entre a fatia de jogo 1620 e a fatia de jogo 1624.
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.
Configurações da invenção foram descritas de maneira genérica com referência a sistemas de jogo em nuvem. Entretanto, deve ser apreciado por aqueles especializados na técnica que conceitos e princípios similares como os que foram descritos aqui podem ser aplicados a sistemas de videogame com base em console tradicionais, possivelmente em conjunto com os sistemas de jogo com base em nuvem. Por exemplo, um usuário pode jogar um videogame com base em console e ter os dados de entrada do jogo do usuário e os metadados mantidos do jogo gravados durante o jogo. Com base nos dados de entrada do jogo do usuário e nos metadados do estado do jogo, a emissão efetiva do videogame pode ser regenerada posteriormente. Portanto, os dados de entrada gravados e os metadados do estado do jogo podem ser utilizados em conjunto com o código do videogame para proporcionar uma interface para seleção de uma porção do jogo do usuário a partir da qual gerar um minigame, como foi descrito. O código do minigame pode ser gerado no console e enviado para um sistema por solicitação e disponibilizado para ser baixado por outros usuários. Em outra configuração, o código do minigame é gerado pelo sistema por solicitação após recebimento da porção selecionada dos dados de entrada do jogo dos usuários e metadados do estado de jogo. 0 sistema por solicitação processa a porção selecionada dos dados de entrada do jogo dos usuários e os metadados do estado de jogo para gerar o código do minigame com base no código de videogame armazenado no sistema por solicitação. Uma vez gerado, o minigame pode ser disponibilizado para jogo com base em nuvem em que a execução do minigame ocorre no sistema com base em nuvem, mas também pode ser disponibilizado para ser baixado para sistemas com base em console tradicionais para execução no console para facilitar o jogo do minigame com base em console. Dessa maneira, minigames podem ser criados e jogados tanto por usuários dos sistemas de jogo em video com base em console quanto por usuários dos sistemas de jogo em video com base em nuvem.
Configurações da invenção foram descritas de maneira genérica com referência a minigames ou porções de videogames definidas por usuário que podem ser jogadas. Entretanto, será observado por aqueles especializados na técnica que muitos dos princípios elucidados aqui também se aplicam prontamente à geração e compartilhamento de jogo gravado, incluindo o compartilhamento de video de jogo gravado, capturas de tela, e streaming ao vivo de jogo ativo. Em algumas configurações, proporcionar acesso a um minigame (por exemplo, em resposta à recepção de uma notificação) pode incluir uma apresentação de video gravado do jogo do usuário original que formou a base para o minigame. Em mais outras configurações, métodos, sistemas, e interfaces são considerados para facilitar o compartilhamento do jogo do usuário no gráfico social do usuário.
Em uma configuração, um método para armazenar jogo é considerado. O jogo pode ser executado pelo sistema de operação de um console de jogo em resposta a uma solicitação de usuário, que pode vir na forma de uma operação de arquivo padrão com relação a um conjunto de dados associados ao jogo desejado. O pedido pode ser transmitido de um aplicativo associado a um jogo. O jogo pode compreender, por exemplo, conteúdo em video, conteúdo em áudio e/ou conteúdo visual estático, incluindo papel de parede, temas, conteúdo de código "add-on", ou qualquer outro tipo de conteúdo associado a um jogo. É observado que esse conteúdo pode ser gerado por usuário ou desenvolvedor, gratuito ou pago, integral ou para experiência, e/ou para venda ou aluguel.
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.
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.
Opcionalmente, porções do jogo não recuperadas do armazenador ou porções do jogo fora de um intervalo para jogo em particular (por exemplo, uma duração, nível, capítulo, curso, etc. em particular) podem ser removidas do armazenador. Esse processo de remoção pode ser completado utilizando-se operações de arquivo padrão no sistema de operação.
As porções do jogo podem ser exibidas em qualquer um dentre um número de dispositivos mostradores que tenham acesso ao jogo armazenado. Por exemplo, o jogo armazenado pode ser exibido em um aparelho de televisão conectado ao console de jogo a partir do qual o jogo foi capturado. Em outro exemplo, o jogo armazenado pode ser exibido em um computador para o qual o jogo armazenado foi transmitido. O jogo armazenado pode ser exibido sozinho ou em conjunto com outras informações, tais como em ura site da rede de mídia social.
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.
Com respeito ao armazenamento, transmissão e/ou exibição das porções do jogo como descrito aqui, é considerado que porções do jogo podem ser armazenadas, transmitidas e exibidas como dados de imagem ou de video. Em outra configuração, entretanto, porções do jogo podem ser armazenadas e transmitidas como telemetria ou metadados representativos dos dados de imagem ou video, e podem ser recriadas como imagens ou video por um console de jogo ou outro dispositivo antes da exibição.
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.
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.
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.
Similarmente, o progresso até chegar a um resultado, além da obtenção efetiva do troféu ou do desvio sstatístico, pode ser armazenado para ser incluído na torção de jogo. Por exemplo, uma captura de tela pode ser tomada em cada um dos níveis de um a 10, criando um álbum de fotos para deixar na memória o recebimento de um troféu para chegar ao nível 10. Outro exemplo, um vídeo pode ser feito do usuário vencendo uma corrida da primeira até a quinta vez, onde um troféu seja entregue após cinco vitórias.
Assim, de acordo com configurações da invenção, pelo menos uma parte do jogo executado sempre pode ser mantida em um armazenador que esteja sendo rodado. Em outras palavras, quando um pedido de compartilhamento de uma porção do jogo é recebido, uma porção do jogo anterior já pode ser capturada para incluir material anterior. Por exemplo, se um pedido de compartilhar jogo for recebido após um usuário cruzar a linha de chegada em um jogo de corrida, o jogo armazenado pode incluir material do usuário cruzando a linha de chegada. Em outras palavras, um usuário será capaz de capturar momentos que ocorrem antes que um pedido seja feito para se compartilhar o jogo. A Figura 17 ilustra uma interface para compartilhar jogo, de acordo com uma configuração da invenção. A interface 1700 como mostrada inclui vários ícones selecionáveis para facilitar o compartilhamento com os amigos de um usuário, por exemplo, membros de um gráfico social do usuário. Em uma configuração, a interface 1700 pode ser acessada a partir de um botão exclusivo em um dispositivo controlador. Quando o botão é pressionado durante o jogo, a interface 1700 pode ser apresentada para permitir ao usuário compartilhar seu jogo. O icone 1702 pode ser selecionado para iniciar o envio de uma captura de tela para o jogo do usuário. Em uma configuração, a região 1704 do icone 1702 é povoada com uma captura de tela do jogo recente do usuário, proporcionando assim uma exibição prévia em pequena escala da captura de tela que possa ser compartilhada. Em uma configuração, a seleção do icone 1702 pode proporcionar acesso a uma seleção de captura de tela adicional que permite ao usuário selecionar uma captura de tela especifica a partir do jogo gravado pelo usuário para compartilhar o gráfico social do usuário. Isso pode assumir a forma de uma linha de tempo de video de jogo navegável, que pode ser percorrida ou navegada para identificar um ponto em particular no tempo dentro do jogo e sua captura de tela correspondente. O icone 706 pode ser selecionado para iniciar o envio de um video do jogo do usuário. A região 1708 do icone 1706 pode ser configurada para mostrar um videoclipe representativo do jogo recente do usuário, por exemplo, os últimos 5 segundos do jogo do usuário, uma realização recente, etc., exibindo assim uma exibição prévia em pequena escala de um videoclipe do jogo do usuário que pode ser compartilhada com outros. O icone 1710 pode ser selecionado para iniciar streaming de video ao vivo do jogo ativo do usuário. Em uma configuração, a seleção do icone 1710 vai acionar o recomeço do jogo do usuário. Em outra configuração, a seleção do icone 1710 proporciona acesso a uma interface para determinar configurações para a transmissão do video em streaming, tais como com quem compartilhar o video em streaming, se incluir um fluxo de video de uma captura de Imagem local que se destina a mostrar o próprio usuário durante o jogo, se habilitar comentários, etc.
Será apreciado que o usuário pode compartilhar jogo (por exemplo, uma captura de tela, video, ou fluxo de jogo ao vivo selecionado) com um ou mais amigos selecionados, com todo o seu gráfico social, ou com qualquer usuário da rede social. A rede social pode ser uma rede social de jogo associada à plataforma na qual o videogame é rodado, ou uma rede social de terceiros que existe em separado do videogame ou de sua plataforma. A rede social pode ser acessada através de uma API definida para permitir uma interface com a rede social. Usuários com os quais o jogo foi compartilhado podem receber uma notificação informando-lhes do jogo compartilhado. Essa notificação pode tomar a forma de uma postagem para um feed de noticias sociais, uma mensagem particular através da rede social, uma notificação dentro do jogo, um e-mail, uma notificação por bate-papo, etc. Compartilhar o jogo na rede social pode acarretar tornar o jogo disponível para outros subconjuntos da rede social que podem ser ou não parte do gráfico social do usuário que está compartilhando. Por exemplo, para um determinado videogame, o jogo pode ser compartilhado ou disponibilizado para qualquer usuário da rede social que também possui o videogame e, portanto, tem acesso garantido ao jogo compartilhado do videogame. Esse jogo compartilhado pode ser acessado por fóruns on-line, salas de bate-papo, ou outros canais on-line que estejam disponíveis apenas para jogadores do videogame. Em uma configuração, um videogame pode ter uma página ou site exclusivo(a) na rede social. Certamente, será apreciado que da perspectiva do usuário que está compartilhando, podem ser proporcionadas opções para permitir ao usuário especificar e adaptar com quem e com qual fórum seu jogo será compartilhado. A Figura 18 ilustra uma interface 1800 para selecionar uma porção de video de jogo gravado para compartilhamento, de acordo com uma configuração da invenção. A interface 1800 inclui uma região de exibição prévia 1802, que mostra em sequência uma exibição prévia de uma porção naquele momento selecionada de video do jogo do usuário. Capturas de tela 1804, 1806, 1808, 1810 e 1812 estão posicionadas adjacentes entre si em ordem cronológica para definir uma linha do tempo de capturas de tela indicando o conteúdo do video de jogo. As diversas capturas de tela 1804, 1806, 1808, 1810 e 1812 podem ser quadros de imagem extraídos a intervalos regulares do vídeo de jogo. A linha do tempo da captura de tela pode ser rolada para a esquerda ou para a direita para mostrar outros quadros que precedem ou sucedem aqueles exibidos naquele momento. Os marcadores 1814 e 1816 indicam os pontos de início e fim para um videoclipe selecionado naquele momento (ou segmento ou porção). O videoclipe selecionado naquele momento pode ser repetidamente exibido na região de exibição prévia 1802, como foi observado.
Em uma configuração, botões 1818 e 1820 podem ser selecionados para reduzir ou aumentar, respectivamente, a duração da porção de vídeo selecionada. Uma opção de exibição prévia 1822 pode ser selecionada para acionar a repetição de uma exibição prévia em tela cheia do videoclipe selecionado naquele momento. Uma opção de editar 1824 pode ser selecionada para acessar características adicionais para editar vídeo. A Figura 19 ilustra uma interface 1900 para se ver um fluxo de vídeo ao vivo relativo ao jogo de um usuário? de acordo com uma configuração da invenção. Na referência 1902, o nome e/ou pseudônimo do usuário que está colocando o jogo em streaming é mostrado. Na referência 1904, o número de usuários que estão observando naquele momento o fluxo de vídeo ao vivo é mostrado. O fluxo de vídeo ao vivo do jogo do usuário é mostrado na região de exibição de video 1906. Adicionalmente, um vídeo de usuário ao vivo 1908 pode ser incluído, mostrando um vídeo ao vivo do usuário efetivo cujo jogo está sendo colocado em streaming ao vivo. Uma opção de comando 1910 pode ser selecionada para permitir que o usuário que está vendo emita comandos que afetam o videogame, ou mesmo assuma controle do jogo do usuário que está em streaming. Será observado que a emissão de comandos internos ao jogo ou controlando remotamente o jogo do usuário podem requerer permissão, predefinída ou solicitada no momento do jogo, ao usuário que está jogando o jogo que permita ao usuário que está vendo que realize essas ações.
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.
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.
Embora configurações da invenção tenham sido descritas com referência ao acesso a diversas interfaces para compartilhamento a partir do aperto de um botão exclusivo, será apreciado que, em outras configurações, pode não ser solicitado a algumas ou a todas essas interfaces que facilitem o compartilhamento de jogo para um gráfico social de usuário. Por exemplo, em uma configuração, um botão controlador pode ser configurado para capturar uma tela do jogo do usuário quando pressionado. A teia capturada pode então ser automaticamente enviada e compartilhada com o gráfico social do usuário.
Em outra configuração, apertar um botão especifico no controlador inicia a gravação de um video de jogo. Quando o botão específico é pressionado uma segunda vez, a gravação do vídeo de jogo é interrompida, e o videoclipe pode ser enviado para o gráfico social do usuário e compartilhado no mesmo. Em uma configuração, o envio e o compartilhamento do videoclipe com o gráfico social do usuário pode ocorrer automaticamente em seguida ao término da operação de gravação do vídeo. Entretanto, em outra configuração, quando o botão específico é pressionado uma segunda vez para interromper a gravação, uma interface é apresentada para permitir que o usuário customize várias opções tais como editar o vídeo, determinar usuários específicos com os quais compartilhar o vídeo, acrescentar uma legenda ou título, etc. Após a customização pelo usuário, o vídeo pode ser compartilhado com outros ou ser disponibilizado de alguma outra maneira para ser visto.
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.
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.
GERAÇÃO AUTOMÁTICA DE MINIGAMES SUGERIDOS PARA
JOGO EM NUVEM COM BASE EM JOGO GRAVADO
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.
Em uma configuração, gravar o jogo do usuário inclui gravar um ou mais de dados de entrada do usuário ou dados de estado de jogo. Em uma configuração, analisar o jogo gravado pelo usuário inclui determinar niveis de atividade dos dados de entrada do usuário ou dados de estado de jogo, a região de interesse sendo uma região tendo niveis de atividade que excedem um limite predefinido.
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.
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.
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.
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.
Em uma configuração, a região de interesse é automaticamente identificada com base na correspondência com um ou mais limites. Em uma configuração, pelo menos um dos referidos limites é associado a uma ou mais entradas de usuário, uma velocidade de entrada de usuário, uma frequência de entrada de usuário, repetições de uma entrada de usuário, um padrão de entrada, compartilhamento do contexto do jogo com outros usuários, postagem de comentários associados com o jogo em uma rede social, ou popularidade de porções do videogame com base nos niveis de compartilhamento da rede social.
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.
Em uma configuração, gravar o jogo do usuário inclui gravar um ou mais dentre dados de entrada do usuário ou dados de estado de jogo. Em uma configuração, analisar o jogo gravado pelo usuário inclui determinar niveis de atividade dos dados de entrada do usuário ou dados de estado de jogo, cada região de interesse sendo uma região tendo niveis de atividade que excedem um limite predefinido.
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.
Em uma configuração, cada região de interesse é automaticamente identificada com base em correspondência com um ou mais limites.
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.
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.
Em uma configuração, definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira temporal dentro de um contexto temporal do videogame. 173 Em uma configuração, definir fronteiras inclui identificar um ponto de partida mais próximo ou um ponto final mais próximo de um ou mais dentre um estágio, nível ou cena.
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.
GERAÇÃO DE UM MINIGAME EM MÚLTIPLAS PARTES PARA JOGO EM NUVEM COM BASE EM JOGO GRAVADO
Em uma configuração, um método para gerar uma versão limitada que pode ser jogada de um videogame é proporcionado, incluindo as seguintes operações de método: gravar um jogo de usuário de uma versão integral do videogame; determinar uma pluralidade porções definidas por usuário do jogo gravado pelo usuário; para cada porção definida por usuário, definir fronteiras dentro de um contexto de jogo do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; posicionar cada uma das porções que podem ser jogadas do videogame em uma série para definir a versão limitada do videogame; em que o método é executado por um processador, Em uma configuração, determinar cada porção definida por usuário do jogo gravado por usuário inclui receber um ponto de partida definido pelo usuário e um ponto final definido pelo usuário dentro do jogo gravado pelo usuário, e determinar a porção definida por usuário com base no ponto de partida recebido definido pelo usuário e no ponto final definido pelo usuário.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
COMPARTILHAR JOGO GRAVADO EM UM GRÁFICO SOCIAL
Em uma configuração, um método para compartilhar jogo gravado em um gráfico social é proporcionado, incluindo as seguintes operações de método: gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; em resposta a recepção do comando, entrar em um estado pausado da sessão de jogo e apresentar uma interface de compartilhamento; processar a entrada recebida pela interface de compartilhamento para determinar uma seleção definida pelo usuário do vídeo gravado; compartilhar a seleção definida pelo usuário do vídeo gravado em um gráfico social do usuário; retomar o estado ativo da sessão de jogo; em que o método é executado por um processador.
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.
Em uma configuração, apresentar a interface de compartilhamento inclui recuperar e apresentar uma ou mais porções do vídeo do armazenador.
Em uma configuração, a interface de compartilhamento incluí um seletc-r de duração para definir uma duração da seleção definida pelo usuário.
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.
Em uma configuração, enviar a seleção inclui comprimir a seleção e enviar a seleção comprimida.
Em uma configuração, compartilhar a seleção inclui gerar uma notificação para um membro do gráfico social do usuário.
Em uma configuração, a notificação é definida por um ou mais dentre uma mensagem particular, uma mensagem de bate-papo, uma notificação dentro do jogo, uma postagem para um feed de noticias social, um e-mail.
Em uma configuração, compartilhar a seleção inclui apresentar a seleção em uma página de perfil do usuário .
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.
Em outra configuração, um método para compartilhar jogo gravado em um gráfico social é proporcionado, incluindo as seguintes operações de método: gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; em resposta à recepção do comando, determinar uma seleção definida pelo usuário do video gravado; compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário; em que o método é executado por um processador.
Em uma configuração, gravar em video o jogo do usuário inclui armazenar o video em um armazenador durante o estado ativo da sessão de jogo.
Em uma configuração, determinar a seleção definida pelo usuário do video gravado inclui recuperar e apresentar o video a partir do armazenador, e processar a entrada do usuário identificando uma porção do video.
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.
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.
Em outra configuração, é proporcionado um meio legível por computador não-transitório tendo instruções de programa definidas no mesmo para compartilhar jogo gravado sm um gráfico social. As instruções de programa incluem: instruções de programa para gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; instruções de programa para receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; instruções de programa para, em resposta à recepção do comando, determinar uma seleção definida pelo usuário do video gravado; instruções de programa para compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário.
Em uma configuração, a gravação em video do jogo do usuário inclui armazenar o video em um armazenador durante o estado ativo da sessão de jogo.
Em uma configuração, determinar a seleção definida pelo usuário do video gravado inclui recuperar e apresentar o video a partir do armazenador, e processar a entrada do usuário identificando uma porção do video.
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.
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.
CONTROLE REMOTO DE UM JOGO DE UM PRIMEIRO USUÁRIO POR UM SEGUNDO USUÁRIO
Em uma configuração, é fornecido um método para proporcionar controle remoto do jogo de um usuário, o método incluindo as seguintes operações de método: apresentar um feed em video ao vivo do jogo de um primeiro usuário para um segundo usuário remoto; processar uma solicitação para transferir o controle do jogo do primeiro usuário para o segundo usuário; iniciar o controle do jogo do primeiro usuário pelo segundo usuário; em que o método é executado por pelo menos um processador.
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.
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.
Em uma configuração, o feed em video ao vivo é apresentado através de uma interface social para o segundo usuário, a interface social proporcionando acesso a um gráfico social do segundo usuário, o primeiro usuário sendo definido como um membro do gráfico social do segundo usuário.
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.
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.
Em uma configuração, a apresentação do feed em video ao vivo do jogo do primeiro usuário para o segundo usuário inclui apresentar o feed em video ao vivo em um formato que não é de tela cheia; e a iniciação do controle do jogo do primeiro usuário pelo segundo usuário inclui acionar a apresentação do feed em video ao vivo em um formato de tela cheia.
Em outra configuração, um método para proporcionar jogo com múltiplos jogadores é proporcionado, incluindo as seguintes operações de método: apresentar um feed em video ao vivo de uma sessão de jogo de um primeiro usuário; processar uma solicitação para que um segundo usuário se junte à sessão de jogo do primeiro usuário; iniciar o jogo pelo segundo usuário na sessão de jogo do primeiro usuário; em que o método é executado por pelo menos um primeiro processador.
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.
Em uma configuração, o feed em video ao vivo é apresentado através de uma interface social para o segundo usuário, a interface social proporcionando acesso a um gráfico social do segundo usuário, o primeiro usuário sendo definido como um membro do gráfico social do segundo usuário.
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.
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.
Em uma configuração, apresentar o feed em video ao vivo do jogo do primeiro usuário para o segundo usuário inclui apresentar o feed em video ao vivo em um formato que não é de tela cheia; e a iniciação do jogo segundo usuário na sessão de jogo do primeiro usuário inclui acionar a apresentação do feed em video ao vivo em um formato de tela cheia.
Em outra configuração, é proporcionado um meio legível por computador não-transitório tendo instruções de programa incorporadas no mesmo para proporcionar controle remoto do jogo de um usuário, as instruções de programa incluindo: instruções de programa para apresentar um feed em video ao vivo do jogo de um primeiro usuário para um segundo usuário remoto; instruções de programa para processar uma solicitação para transferir o controle do jogo do primeiro usuário para o segundo usuário; instruções de programa para iniciar o controle do jogo do primeiro usuário pelo segundo usuário.
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.
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.
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.
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.
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.
Em uma configuração, a apresentação do feed em vídeo ao vivo do jogo do primeiro usuário para o segundo usuário inclui apresentar o feed em vídeo ao vivo em um formato que não é de tela cheia; e a iniciação do controle do jogo do primeiro usuário pelo segundo usuário inclui acionar a apresentação do feed em vídeo ao vivo em um formato de tela cheia. A Figura 20 ilustra hardware e interfaces de usuário que podem ser usados para proporcionar interatividade com um videogame, de acordo com uma configuração da presente invenção. A Figura 20 ilustra esquematicamente a arquitetura do sistema como um todo do dispositivo de entretenimento Sony® Playstation 3®, um console que pode ser compatível para fazer a interface de um dispositivo de controle com um programa de computador que executa em um dispositivo de computação base de acordo com configurações da presente invenção. Uma unidade de sistema 2000 é proporcionada, com vários dispositivos periféricos que podem ser conectados à unidade de sistema 2000. A unidade de sistema 2000 compreende: um processador Cell 2028; uma unidade 2026 de memória de acesso aleatório dinâmico (XDRAM) Rambus®; uma unidade gráfica Reality Synthesizer 2030 com uma memória de acesso aleatória em video exclusiva (VRAM) 2032; e uma ponte 1/0 2034. A unidade de sistema 2000 também compreende um leitor de disco óptico Blu Ray® Disk BD-ROM® 2040 para ler a partir de um disco 2040a e um drive de hard disk (HDD) com estojo 2036, acessível através da ponte I/O 2034. Opcionalmente a unidade de sistema 2000 também compreende um leitor de cartão de memória 2038 para ler cartões de memória flash compactos, cartões de memória Memory Stick® e similares, o qual é similarmente acessível através da ponte I/O 2034. A ponte 1/0 2034 também se conecta a seis entradas de Barramento em Série Universal (USB) 2.0 2024; a uma entrada Ethernet gigabit 2022; a uma entrada de rede sem fio (wi-fi) IEEE 802.11b/g 2020; e a uma entrada para link sem fio Bluetooth® 2018 capaz de suportar até sete conexões Bluetooth.
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.
As entradas sem fio, USB e Ethernet também proporcionam conectividade para outros dispositivos periféricos além dos controladores de jogo 2002-2003, tais como: um controle remoto 2004; um teclado 2006; um mouse 2008; um dispositivo portátil para entretenimento 2010, tal como um dispositivo de entretenimento Sony Playstation Portable®; uma câmera de video tal como uma câmera de video EyeToy® 2012; um headset com microfone 2014; e um microfone 2015. Tais dispositivos periféricos podem, portanto, em principio serem conectados à unidade de sistema 2000 sem a utilização de fio; por exemplo, o dispositivo de entretenimento portátil 2010 pode se comunicar via uma conexão wi-fi com esta finalidade, enquanto o headset com microfone 2014 pode se comunicar por um link Bluetooth. A provisão dessas interfaces significa que o dispositivo Playstation3 também é potencialmente compativel com outros dispositivos periféricos tais como gravadores de video digital (DVRs), conversores, câmeras digitais, reprodutores portáteis de midia, VoiceOver para ifones, telefones móveis, impressores e scanners.
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®.
Os controladores de jogo 2002-2003 são operáveis para se comunicar sem utilização de fio com a unidade de sistema 200 pelo link Bluetooth, ou serem conectados a uma entrada USB, proporcionando também assim energia com a qual carregar a batería dos controladores de jogo 2002-2003. Os controladores de jogo 2002-2003 podem incluir também memória, um processador, um leitor de cartão de memória, uma memória permanente tal como a memória flash, emissores de luz tais como uma sessão esférica iluminada, LEDs, ou luzes infravermelhas, microfone e alto-falante para comunicações por ultrassom, uma câmara acústica, uma câmera digital, um relógio interno, uma forma reconhecível tal como a seção esférica voltada para o console de jogo, e comunicações sem fio utilizando protocolos tais como Bluetooth®, WiFi™, etc. O controlador de jogo 2002 é um controlador projetado para ser usado com duas mãos, e o controlador de jogo 2003 é um controlador para só uma das mãos com um acessório. Além do joystick ou joysticks análogos e botão ou botões de controle convencionais, o controlador de jogo é suscetível a uma determinação de local tridimensional. Consequentemente gestos e movimentos pelo usuário do controlador de jogo podem ser traduzidos como entradas em um jogo além dos comandos convencionais de botão ou joystick ou no lugar dos mesmos. Opcionalmente, outros dispositivos periféricos habilitados sem a utilização de fios tais como o dispositivo Playstation™ Portátil pode ser usado como controlador. No caso do dispositivo Playstation™ Portátil, informações adicionais sobre o jogo ou de controle (por exemplo, instruções de controle ou número de vidas) podem ser proporcionadas na tela do dispositivo. Outros dispositivos de controle alternativos ou suplementares também podem ser usados, tais como um tapete de dança (não mostrado) , uma pistola de luz (não mostrada), um volante e pedais (não mostrados) ou bespokes controladores, tais como um ou mais botões de tamanho grande para um quiz que exige respostas rápidas (também não mostrado). O controle remoto 2004 também é operável para se comunicar sem o uso de fio com a unidade de sistema 2000 por um link Bluetooth. O controle remoto 704 compreende controles adequados para a operação do leitor de Blu Ray™ Disk BD-ROM 2040 e para a navegação do conteúdo do disco. O leitor de Blu Ray™ Disk BD-ROM 2040 é operável para ler CD-ROMs compatíveis com os dispositivos Playstation e Playstation 2, além dos CDs convencionais pré-gravados e virgens, e os chamados CDs Super Áudio. O leitor 2040 também é operável para ler DVD-ROMs compatíveis com os dispositivos Playstation2 e Playstation 3, além dos DVDs convencionais pré-gravados e virgens. O leitor 2040 é operável ainda para ler BD-ROMs compatíveis com o dispositivo Playstation3, bem como Blu-Rays convencionais pré-gravados e virgens. A unidade de sistema 2000 é operável para fornecer áudio e vídeo, ou gerado ou decodificado pelo dispositivo Playstation 3 via a unidade gráfica Reality Synthesizer 2030, através de conectores de áudio e vídeo para um dispositivo de saída de imagem e de som 2042 tal como um monitor ou televisor tendo um mostrador 2044 e um ou mais alto-falantes 2046. Os conectores de áudio 2050 podem incluir saídas análogas e digitais convencionais, enquanto os conectores de vídeo 2052 podem incluir diversificadamente um vídeo componente, S-vídeo, vídeo compósito e uma ou mais saídas de Interface Multimídia de Alta Definição (HDMI). Consequentemente, a saida de video pode estar em formatos tais como PAL ou NTSC, ou em alta definição de 720p, 1G80Í ou 1080p. O processamento (geração, decodificação e assim por diante) de áudio é executado pelo processador Cell 2028. O sistema de operação do dispositivo Playstation 3 suporta um som surround Dolby© 5.1, o Dolby® Theatre Surround (DTS), e a decodificação do som surround 7.1 a partir de discos Blu-Ray®.
Na presente configuração, a câmera de video 2012 compreende um dispositivo acoplado de carga única (CCD), um indicador de LED, e um aparelho para compressão e codificação de dados em tempo real com base em hardware de modo que dados de video comprimidos possam ser transmitidos em um formato apropriado tal como um padrão MPEG com base em imagem interna (grupo expert em imagem animada) para decodificação pela unidade de sistema 2000. O indicador LED da câmera está organizado para iluminar em resposta a dados de controle apropriados da unidade de sistema 2000, por exemplo, para significar condições de luz adversas. Configurações da câmera de video 2012 podem se conectar de várias maneiras à unidade de sistema 700 por uma entrada de comunicação USB, Bluetooth ou wi-fi. Configurações da câmera de video podem incluir um ou mais microfones associados e também podem ser capazes de transmitir dados de áudio. Em configurações da câmera de vídeo, o CCD pode ter uma resolução adequada para captura de vídeo em alta definição. Quando em uso, imagens capturadas pela câmera de vídeo podem, por exemplo, ser incorporadas dentro de um jogo ou interpretadas como entradas de controle de jogo. Em Dutra configuração, a câmera é uma câmera infravermelha adequada para detectar luz infravermelha.
Em geral, para que ocorra uma comunicação de dados bem-sucedida com um dispositivo periférico tal como uma câmera de video ou controle remoto por uma das entradas de comunicação da unidade de sistema 2000, uma peça apropriada de software tal como um acionador de dispositivo deve ser proporcionada. A tecnologia de acionador de dispositivo é bem conhecida e não será descrita em detalhe aqui, exceto para dizer que o especialista na técnica vai estar ciente de que um acionador de dispositivo ou interface de software similar pode ser exigido na presente configuração descrita. A Figura 21 ilustra um hardware adicional que pode ser usado para processar instruções, de acordo com uma configuração da presente invenção. O processador Cell 208 tem uma arquitetura que compreende quatro componentes básicos: estruturas externas de entrada e saida compreendendo um controlador de memória 2160 e um controlador de interface de barramento dual 2170A, B; um processador principal chamado de Elemento de Processamento de Energia 2150; oito co-processadores chamados de Elementos de Processamento Sinérgico (SPEs) 2110A-H; e um barramento de dados circular conectando os componentes acima mencionados como Barramento de Interconexão de Elemento 2180. O desempenho de ponto de flutuação total do processador Cell é 218 GFLOPS, em comparação com os 6,2 GFLOPs do dispositivo Emotion Engine do Playstation 2. O Elemento de Processamento de Energia (PPE) 2150 se baseia em um núcleo de PowerPC (PPÜ) 855 que atende ao multirosqueamento simultâneo em dois sentidos Power 570 rodando com um relógio interno de 3,2 GHz. Ele compreende um cache nivel 2 (L2) de 512 kB e a um cache nivel 1 (Ll) de 32 kB. O PPE 2150 é capaz de oito operações de uma só posição por estilo de relógio, transladando para 25,6 GFLOPs a 3,2 GHz. O papel principal do PPE 2150 é atuar como controlador para os Elementos de Processamento Sinérgico 2110A-H, que cuida da maior parte da carga de trabalho do computador. Ao operar o PPE 2150 mantém uma fila de trabalhos, agendando trabalhos para os Elementos de Processamento Sinérgico 2110A-H e monitorando seu andamento. Consequentemente cada Elemento de Processamento Sinérgico 2110A-H roda um núcleo cujo papel é buscar um trabalho, executá-lo e sincronizar com o PPE 2150.
Cada Elemento de Processamento Sinérgico (SPE) 2110A-H compreende uma respectiva Unidade de Processamento Sinérgico (SPU) 2120A-H, e um respectivo Controlador de Fluxo de Memória (MFC) 2140A-H que compreende por sua vez um respectivo Controlador de Acesso de Memória Dinâmica (DMAC)2142A-H, uma respectiva Unidade de Gerenciamento de Memória (MMU)2144A-H e uma interface de barramento (não mostrada) . Cada SPU 2120A-H é um processador RISC cronometrado em 3,2 GHz e compreendendo RAM 2130A-H local de 256 kB, que pode em princípio ser expandido até 4GB. Cada SPE proporciona em teoria 25,6 GFLOPS de desempenho com precisão única. Uma SPU pode operar em membros com ponto de flutuação de precisão única, 4 números de 32 bits, 8 números inteiros de 16 bits, ou 16 inteiros com 8 bits em um único ciclo do relógio. No mesmo ciclo do relógio ele também pode desempenhar uma operação de memória. A SPU 2120Α-Η não acessa diretamente a memória XDRAM 2026 do sistema; os endereços de 64 bits formados pela SPU 2120A-H são passados para o MFC 214GA-H que instrui seu controlador 2142A-H a acessar a memória via Barramento de Interconexão de Elemento 2180 e controlador de memória 2160. 0 Barramento de Interconexão de Elemento (EIB) 2180 é um barramento de comunicação logicamente circular interno ao processador Cell 2028 que conecta os elementos de processador acima, isto é, o PPE 2150, o controlador de memória 2160, a interface de barramento dual 2170A,B e os 8 SPEs 2110A-H, totalizando 12 participantes. Os participantes podem simultaneamente ler e escrever para o barramento a uma taxa de 8 bytes por ciclo do relógio. Como observado anteriormente, cada SPE 2110A-H compreende um DMAC 2142A-H para agendar sequências mais longas de ler ou escrever. O EIB compreende quatro canais, dois de cada em direções horária e anti-horária. Consequentemente para 12 participantes, o fluxo de dados mais longo quanto a etapas entre dois participantes quaisquer é de seis etapas na direção apropriada. A largura máxima instantânea teórica de banda EIB para 12 fendas é, portanto, de 96B por relógio, no caso da utilização integral através de um arbítrio entre participantes. Isso é igual a um largura de banda teórica máxima de 307,2 GB/s (gigabytes por segundo) a uma taxa de relógio de 3,2GHz. O controlador de memória 2160 compreende uma interface XDRAM 2162, desenvolvida pela Rambus Incorporated. O controlador de memória faz uma interface com o Rambus XDRAM 2026 com uma largura de banda máxima teórica de 25,6 GB/s. A interface de barramento dupla 2170A,B compreende uma interface 2172A,B de sistema Rambus FlexIO®. A interface é organizada em 12 canais cada um tendo uma largura de 8 bits, com cinco trajetos sendo voltados para dentro e sete voltados para fora. Isso proporciona uma largura de banda máxima teórica de 62,4 GB/s (36,4 GB/s voltados para for, 26 GB/s voltados para dentro) entre o processador Cell e a Ponte 1/0 2034 via controlador 2170A e a unidade gráfica Reality Simulator 2130 via controlador 2170B.
Dados enviados pelo processador Cell 2128 para a unidade gráfica Reality Simulator 2130 vão tipicamente compreender listas de exibição, sendo uma sequência de comandos para desenhar vértices, aplicar texturas a polígonos, especificar condições de luz, e assim por diante. A Figura 22 é uma ilustração exemplificativa da cena A até a cena E com o respectivo usuário de A a E interagindo com os clientes de jogo 2202 que estão conectados ao processamento do servidor pela internet, de acordo com uma configuração da presente invenção. Um cliente de jogo é um dispositivo que permite aos usuários se conectarem aos aplicativos do servidor e a efetuar o processamento via internet. 0 cliente de jogo permite aos usuários acessar e reproduzir online conteúdo ligado a entretenimento como, entre outros, filmes, músicas e fotos. Além disso, o cliente de jogo pode proporcionar acesso a aplicativos ligados à comunicação on-line, como VOIP, protocolos de bate-papo por texto, e e-mail.
Um usuário interage com o cliente de jogo via controlador. Em algumas configurações o controlador é um controlador especifico de cliente de jogo enquanto em outras configurações, o controlador pode ser uma combinação de teclado e mouse. Em uma configuração, o cliente de jogo é um dispositivo autossuficiente capaz de transmitir sinais de áudio e video para criar um ambiente multimídia através de um monitor/televisão e um equipamento de áudio associado. Por exemplo, o cliente de jogo pode ser, entre outros, um cliente magro, um cartão PCI-express interno, um cartão PCI-express externo, um dispositivo ExpressCard, um dispositivo USB interno, externo ou sem fio, ou um dispositivo Firewíre, etc. Em outras configurações, o cliente de jogo está integrado a uma televisão ou outro dispositivo multimidia tal como um DVR, aparelho de Blu-Ray, aparelho de DVD ou receptor em múltiplos canais.
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.
Quando um cliente de jogo 2202 se conecta a u módulo de processamento de servidor, o controle de sessão de usuário pode ser usado para autenticar o usuário. Um usuário autenticado pode ter armazenamento distribuído virtual e processamento de rede virtual. Exemplos de itens que podem ser armazenados como parte de um armazenamento distribuído virtual de usuário incluem meios adquiridos tais como, entre outros, jogos, vídeos e música, etc. Além disso, armazenamento distribuído pode ser usado para salvar o status do jogo de múltiplos jogos, configurações customizadas para jogos avulsos, e configurações gerais para o cliente de jogo. Em uma configuração, o módulo de localização geográfica do processamento de servidor é usado para determinar a localização geográfica de um usuário e de seu respectivo cliente de jogo. A localização geográfica do usuário pode ser usada tanto pela lógica de compartilhamento/comunicação quanto pelo serviço de processamento de equilíbrio de carga para otimizar o desempenho com base no local geográfico e processar as demandas dos módulos de processamento de servidor múltiplo. Colocar no mundo virtual ou o processamento de rede ou o armazenamento de rede ou ambos permitiría o processamento de tarefas de clientes de jogo a serem dinamicamente mudados para um módulo (ou módulos) de processamento de servidor subutilizado(s) . Assim, o balanceamento de carga pode ser usado para minimizar a latência associada tanto a um recall do que está armazenado quanto à transmissão de dados entre módulos de processamento de servidor e clientes de jogo. O módulo de processamento de servidor tem instâncias do aplicativo de servidor Δ e do aplicativo de servidor B. O módulo de processamento de servidor é capaz de suportar múltiplos aplicativos de servidor como indicado pelo aplicativo de servidor Xx e aplicativo de servidor X2. Em uma configuração, o processamento do servidor se baseia em uma arquitetura de computação de aglomerado que permite múltiplos processadores dentro de um aglomerado para processar aplicativos de servidor. Em outra configuração, um tipo diferente de esquema de processamento de múltiplos computadores é aplicado para processar os aplicativos de servidor. Isso permite que o processamento do servidor seja escalonado a fim de acomodar um número maior de clientes de jogo que executam múltiplos aplicativos de cliente e aplicativos de servidor correspondente. Alternativamente, o processamento do servidor pode ser escalonado para acomodar crescentes demandas de computação necessárias para processamento de gráfico ou de jogo mais complexo, compressão de jogo, ou complexidade de aplicativo. Em uma configuração, o módulo de processamento de servidor desempenha a maior parte do processamento via aplicativo do servidor. Isso permite que componentes relativamente caros tais como processadores gráficos, RAM, e processadores gerais estejam localizados em uma posição central e reduz o custo do cliente de jogo. Dados de aplicativo de servidor processados são enviados de volta para o cliente de jogo correspondente via internet para serem dispostos em um monitor . A cena C ilustra um aplicativo exemplificativo que pode ser executado pelo cliente de jogo e pelo módulo de processamento de servidor. Por exemplo, em uma configuração o cliente de jogo 2202C permite ao usuário C criar e ver uma lista de amigos 2220 que inclui o usuário A, o usuário B, o usuário D e o usuário E. Como mostrado, na cena C, o usuário C é capaz de ver imagens em tempo real ou avatares do respectivo usuário no monitor 2204C. O processamento do servidor executa os respectivos aplicativos do cliente de jogo 2202C e com os respectivos clientes de jogo 2202 dos usuários A, usuário B, usuário D e usuário E. Pelo fato do processamento do servidor estar consciente dos pedidos que estão sendo executados pelo cliente de jogo B, a lista de amigos do usuário A pode indicar qual jogo o usuário B está jogando. Mais ainda, em uma configuração, o usuário A pode ter uma visualização real do videogame diretamente do usuário B. Isto é habilitado pelo mero envio meramente pelo envio de dados processados do aplicativo do servidor do usuário B para o cliente de jogo A além do cliente de jogo B.
Além de possibilitar a visualização de video de amigos, o aplicativo de comunicação pode permitir comunicações em tempo real entre amigos. Como aplicado ao exemplo anterior, isso permite ao usuário A encorajar ou dar dicas enquanto assiste video em tempo real do usuário B. Em uma configuração uma comunicação de voz nos dois sentidos em tempo real é estabelecida através de um aplicativo cliente/servidor. Em outra configuração, um aplicativo cliente/servidor converte a fala em texto para exibição na tela de um amigo. A cena D e a cena E ilustram os respectivos usuário D e o usuário E interagindo com consoles de jogo 2210D e 2210E respectivamente. Cada console de jogo 2210D e 2210E está conectado ao módulo de processamento do servidor e ilustra uma rede onde o servidor que está processando os módulos coordena o jogo tanto para os consoles de jogo quanto para os clientes de jogo. A Figura 23 ilustra uma configuração de uma arquitetura de Provedor de Serviço de Informação. Os Provedores de Serviço de Informação (ISP) 2370 envia múltiplos serviços de informação para os usuários 2382 geograficamente dispersos e conectados via rede 2386. Um ISP pode enviar apenas um tipo de serviço, tal como atualizações de preço de ações, ou uma variedade de serviços tais como meios de transmissão, noticias, esportes, jogos, etc. Além disso, os serviços oferecidos por cada ISP são dinâmicos, isto é, serviços podem ser acrescentados ou retirados a qualquer momento. Assim, o ISP que proporciona um tipo particular para um indivíduo em particular pode mudar ao longo do tempo. Por exemplo, um usuário pode ser servido por um ISP bem proximamente do usuário enquanto o usuário está na cidade onde reside, e o usuário pode ser servido por um ISP diferente quando o usuário viaja para uma cidade diferente. O ISP da cidade-residência vai transferir a informação requerida e os dados para o novo ISP, de modo que a informação do usuário "segue" o usuário para a nova cidade tornando os dados mais próximos do usuário e mais fáceis de serem acessados. Em outra configuração, uma relação mestre-servidor pode ser estabelecida entre um ISP mestre, que gerencia a informação para o usuário, e um ISP servidor, que faz uma interface diretamente com o usuário sob controle do ISP mestre. Em outra configuração, os dados são transferidos de um ISP para outro ISP enquanto o cliente se move ao redor do mundo para fazer com que o ISP em melhor posição para servir o usuário seja aquele que envia esses serviços. O ISP 2370 inclui o Provedor de Serviço de Aplicativo (ASP) 2372, que proporciona serviços com base em computador para clientes em uma rede. O software oferecido utilizando um modelo ASP também é chamado algumas vezes de software on-demand ou software ou software ou como serviço (SaaS). Uma forma simples de proporcionar acesso a um programa de aplicativo especifico (tal como um gerenciamento de relação de cliente) é pela utilização de um protocolo padrão tal como HTTP. O software do aplicativo reside no sistema do fornecedor e é acessado por usuários através de um navegador de rede utilizando HTML, por um software para cliente de uso especial oferecido pelo fornecedor, ou outra interface remota tal como um cliente magro.
Serviços enviados por uma área geográfica ampla frequentemente utilizam computação por solicitação. A computação por solicitação é um estilo de computação no qual recursos que podem ser escalonados e frequentemente virtualizados são proporcionados como serviço pela internet. Os usuários não precisam ser especialistas na infreestrutura de tecnologia na "nuvem" que os suporta. A computação em nuvem pode ser dividida em diferentes serviços, tais como Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS), e Software como Serviço (SaaS). Serviços de computação em nuvem frequentemente proporcionam aplicativos comerciais comuns on-line que são acessados a partir de um navegador da rede, enquanto o software e os dados estão armazenados nos servidores. 0 termo nuvem é usado como metáfora para a internet, com base em como a internet é apresentada em diagramas de rede de computador e é uma abstração para a infraestrutura complexa que ela encerra.
Além disso, o ISP 2370 inclui um Servidor de Processamento de Jogo (GPS) 2374 que é usado pelos clientes do jogo para jogar videogames com um e múltiplos jogadores. A maior parte dos videogames jogados na internet opera via uma conexão com um servidor de jogo. Tipicamente, jogos usam um aplicativo servidor exclusivo que coleta dados de jogadores e os distribui para outros jogadores. Isto é mais eficiente e efetivo que uma organização de igual para igual, mas requer um servidor separado para servir de hospedeiro para o aplicativo servidor. Em outra configuração, o GPS estabelece comunicação entre os jogadores e seus respectivos dispositivos de jogo trocam informações sem se basear no GPS centralizado. GPSs exclusivos são servidores que rodam independentemente do cliente. Esses servidores são normalmente rodados em hardware exclusivo localizado em centros de dados, proporcionando mais largura de banda e potência de processamento exclusivo. Servidores exclusivos são o método preferido de hospedar servidores de jogo para a maioria dos jogos com múltiplos jogadores com base em PC. Jogos massivamente com múltiplos jogadores rodam em servidores dedicados normalmente hospedados pela companhia de software que são donos do titulo do jogo, permitindo aos mesmos controlar e atualizar o conteúdo. 0 Servidor de Processamento de Transmissão (BPS) 2376 distribui sinais de áudio ou vídeo para uma audiência. A transmissão para uma faixa muito estreita de audiência é algumas vezes chamada narrowcasting. O trecho final da distribuição de transmissão é como o sinal chega ao ouvinte ou espectador, e ele pode vir pelo ar como uma estação de rádio ou estação de TV para uma antena e receptor, ou pode vir por TV a cabo ou rádio a cabo (ou "cabo sem fio") pela estação ou diretamente a partir de uma rede. A internet também pode trazer rádio ou TV para o recipiente, especialmente por multicast permitindo que o sinal e a largura de banda sejam compartilhados. Historicamente, as transmissões foram delimitadas por uma região geográfica, tal como transmissões nacionais ou transmissão regional. Entretanto, com a proliferação da internet rápida, transmissões não são definidas por geografias uma vez que o conteúdo pode chegar a quase qualquer pais no mundo. O Provedor de Serviço de Armazenamento (SSP) 2378 proporciona espaço de armazenamento no computador e serviços de gerenciamento relacionados. SSPs também oferecem backup periódico e arquivamento. Pelo oferecimento de armazenamento como serviço, os usuários podem ordenar mais armazenamento conforme necessário. Outra vantagem significativa é que os SSPs incluem serviços de backup e os usuários não vão perder todos os seus dados se os hard drives de seus computadores falharem. Além disso, uma pluralidade de SSPs pode ter cópias totais ou parciais dos dados do usuário, permitindo aos usuários acessar dados de uma maneira eficiente independentemente de se o usuário está localizado ou o dispositivo sendo usado para acessar os dados. Por exemplo, um usuário pode acessar arquivos pessoais no computador doméstico, bem como em telefone celular enquanto o usuário está se mudando. O Provedor de Comunicações 380 proporciona conectividade para os usuários. Um tipo de Provedor de Comunicações é um Provedor de Serviço de Internet (ISP) que oferece acesso para a internet. O ISP conecta seus clientes utilizando uma tecnologia de transmissão de dados apropriada para enviar datagramas de Protocolo da Internet, tal como discagem, DSL, modem de cabo, sem fio ou interconexões exclusivas de alta velocidade. O Provedor de Comunicações também pode proporcionar serviços de mensagem, tais como e-mail, mensagem instantânea, e texto de SMS. Outro tipo de Provedor de Comunicações é o provedor de Serviço de Rede (NSP) que vende largura de banda ou acesso à rede proporcionando acesso de backbone direto à internet. Provedores de serviço de rede podem consistir de companhias de telecomunicações, portadores de dados, provedores de comunicações sem fio, provedores de serviço da internet, operadores de televisão a cabo oferecendo acesso a internet de alta velocidade, etc. Ά Troca de Dados 2388 interconecta os diversos módulos dentro do ISP 2370 e conecta esses módulos aos usuários 2382 via rede 2386. A Troca de Dados 2388 pode cobrir uma pequena área onde todos os módulos de ISP 2370 estão muito próximos, ou podem cobrir uma grande área geográfica quando os diferentes módulos estão geograficamente dispersos. Por exemplo, a Troca de Dados 2388 pode incluir um Ethernet Gigabit (ou mais rápido) dentro de um arquivo de um centro de dados, ou uma rede de área virtual intercontinental (VLAN).
Os usuários 2382 acessam os serviços remotos com o dispositivo de cliente 2384, que inclui pelo menos uma CPU, um mostrador e 1/0. O dispositivo de cliente pode ser um PC, um celular, um netbook, um PDA, etc. Em uma configuração, o ISP 2370 reconhece o tipo de dispositivo usado pelo cliente e ajusta o método de comunicação empregado. Em outros casos, dispositivos de cliente usam um método de comunicação padrão, tal como HTML, para acessar os ISP 2370.
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.
Com as configurações acima em mente, deve ser entendido que a invenção pode empregar várias operações implementadas por computador envolvendo dados armazenados em sistemas de computador. Essas operações são aquelas que exigem manipulação física de quantidades físicas. Qualquer das operações descritas aqui que formam parte da invenção são operações de máquina úteis. A invenção também se refere a um dispositivo ou um aparelho para desempenhar essas operações. O aparelho pode ser construído especialmente para o uso requerido, ou o aparelho pode ser computador de uso geral seletivamente ativado ou configurado por um programa de computador armazenado no computador. Em particular, várias máquinas de uso geral podem ser usadas com programas de computador escritos de acordo com os ensinamentos aqui, ou pode ser mais conveniente para construir um aparelho mais especializado para desempenhar as operações exigidas. A invenção também pode ser incorporada com código legível por computador em um meio legível por computador. O meio legível por computador é qualquer dispositivo de armazenamento de dados que possa armazenar dados, os quais podem ser lidos por um sistema de computador. Exemplos do meio legível por computador incluem hard drives, armazenamento ligado à rede (NAS), memória apenas para leitura, memória de acesso aleatório, CD-ROMs, CD-Rs, CD-RWs, fitas magnéticas e outros dispositivos de armazenamento ópticos e não-óticos. O meio legível por computador pode incluir meio tangível legível por computador distribuído em um sistema de computador acoplado a rede de modo que o código legível por computador é armazenado e executado de uma maneira distribuída.
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.
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.
REIVINDICAÇÕES

Claims (38)

1. Método para gerar uma versão limitada que pode ser jogada de um videogame, compreendendo: gravar o jogo de um usuário de uma versão integral do videogame; analisar o jogo gravado do usuário para determinar uma região de interesse; definir fronteiras dentro de um contexto de jogo do videogame com base na região de interesse determinada; e gerar a versão limitada do videogame com base nas fronteiras definidas; em que o método é executado por um processador.
2. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que gravar o jogo do usuário inclui gravar um ou mais dentre os dados de entrada do usuário ou dados do estado do j ogo.
3. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 2, em que analisar o jogo gravado pelo usuário inclui determinar níveis de atividade dos dados de entrada do usuário ou dados de estado de jogo, a região de interesse sendo uma região tendo níveis de atividade que excedem um limite predefinido.
4. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira espacial dentro de um espaço virtual do videogame.
5. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 4, em que a fronteira espacial dentro do espaço virtual do videogame define uma porção do espaço virtual menor que uma totalidade do espaço virtual, a porção do espaço virtual tendo um subconjunto de características do espaço virtual.
6. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira temporal dentro de um contexto temporal do videogame.
7. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que definir fronteiras inclui identificar um ponto de partida mais próximo ou um ponto final mais próximo de um ou mais dentro de um estágio, nível ou cena.
8. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que analisar o jogo gravado do usuário inclui determinar configurações de estado de jogo do usuário com base no jogo gravado do usuário; e em que gerar a versão limitada do videogame inclui definir a versão limitada do videogame de modo a ter configurações de estado de jogo inicial com base nas configurações de estado de jogo de usuário determinadas.
9. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 1, em que a região de interesse é automaticamente identificada com base na correspondência com um ou mais limites.
10. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 9, em que pelo menos um dos referidos limites é associado a uma ou mais entradas de usuário, uma velocidade de entrada de usuário, uma frequência de entrada de usuário, repetições de uma entrada de usuário, um padrão de entrada, compartilhamento do contexto do jogo com outros usuários, postagem de comentários associados com o jogo em uma rede social, ou popularidade de porções do videogame com base nos níveis de compartilhamento da rede social.
11. Método para gerar uma versão limitada que pode ser jogada de um videogame, compreendendo: gravar o jogo de um usuário de uma versão integral do videogame; determinar uma pluralidade de porções definidas pelo usuário do jogo gravado do usuário; para cada porção definida pelo usuário, definir fronteiras dentro de um contexto de jogo do videogame com base na porção definida pelo usuário, e gerar uma porção que pode ser jogada do videogame com base nas fronteiras definidas; posicionar cada uma das porções com que se pode jogar do videogame em uma série para definir a versão limitada do videogame; em que o método é executado por um processador.
12. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, em que determinar cada porção definida por usuário do jogo gravado por usuário inclui receber um ponto de partida definido pelo usuário e um ponto final definido pelo usuário dentro do jogo gravado pelo usuário, e determinar a porção definida por usuário com base no ponto de partida recebido definido pelo usuário e no ponto final definido pelo usuário.
13. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, em que gravar o jogo do usuário inclui gravar um ou mais dentre os dados de entrada do usuário ou dados de estado de jogo.
14. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 13, em que gerar a porção que pode ser jogada do videogame inclui analisar os dados do estado de jogo para identificar elementos de código, e posicionar os elementos de código para definir código executável definindo a porção que pode ser jogada do videogame.
15. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, em que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira espacial dentro de um espaço virtual do videogame.
16. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 15, em que a fronteira espacial dentro do espaço virtual do videogame define uma porção do espaço virtual menor que a totalidade do espaço virtual, a porção do espaço virtual tendo um subconjunto de características do espaço virtual.
17. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, em que definir fronteiras dentro de um contexto de jogo do videogame inclui definir uma fronteira temporal dentro de um contexto temporal do videogame.
18. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, compreendendo ainda: para cada porção definida por usuário, analisar o jogo gravado pelo usuário para determinar as configurações de estado de jogo do usuário; e em que gerar a porção que pode ser jogada do videogame inclui definir a porção que pode ser jogada do videogame de modo a ter configurações de estado de jogo inicial com base nas configurações de estado de jogo determinadas de usuário.
19. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, em que definir fronteiras inclui identificar um ponto de partida mais próximo ou um ponto final mais próximo de um ou mais dentro de um estágio, nível ou cena.
20. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 11, compreendendo ainda: gravar um vídeo definido por usuário; em que posicionar as porções que podem ser jogadas do videogame inclui posicionar o vídeo definido por usuário em um local dentro da série que precede ou sucede uma das porções que podem ser jogadas do videogame.
21. Método para gerar uma versão limitada que pode ser jogada de um videogame, de acordo com a reivindicação 20, em que o video definido por usuário inclui video de pelo menos uma das porções definidas por usuário do jogo gravado do usuário.
22. Método para compartilhar jogo gravado em um gráfico social, compreendendo: gravar em video o jogo de um usuário durante um estado ativo de uma sessão de jogo; receber um comando para iniciar uma operação de compartilhamento durante o estado ativo da sessão de jogo; em resposta à recepção do comando, entrar em um estado pausado da sessão de jogo e apresentar uma interface de compartilhamento; processar a entrada recebida pela interface de compartilhamento para determinar uma seleção definida pelo usuário do video gravado; compartilhar a seleção definida pelo usuário do video gravado em um gráfico social do usuário; retomar o estado ativo da sessão de jogo; em que o método é executado por um processador.
23. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que gravar o video do jogo do usuário inclui armazenar o video em um armazenador durante o estado ativo da sessão de jogo.
24. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 23, em que apresentar a interface de compartilhamento inclui recuperar e apresentar uma ou mais porções do video do armazenador.
25. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que a interface de compartilhamento inclui um seletor de duração para definir uma duração da seleção definida pelo usuário.
26. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que compartilhar a seleção inclui enviar a seleção para disponibilidade em um serviço de rede social que define o gráfico social do usuário.
27. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 26, em que enviar a seleção inclui comprimir a seleção e enviar a seleção comprimida.
28. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que compartilhar a seleção inclui gerar uma notificação para um membro do gráfico social do usuário.
29. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 28, em que a notificação é definida por um ou mais dentre uma mensagem particular, uma mensagem de bate-papo, uma notificação dentro do jogo, uma postagem para um feed de noticias social, um e-mail.
30. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que compartilhar a seleção inclui apresentar a seleção em uma página de perfil do usuário.
31. Método para compartilhar jogo gravado em um gráfico social, de acordo com a reivindicação 22, em que a recepção do comando para iniciar a operação de compartilhamento é definida a partir do aperto de um botão em um dispositivo controlador.
32. Método para proporcionar controle remoto do jogo de um usuário, compreendendo: apresentar um feed em video ao vivo do jogo de um primeiro usuário para um segundo usuário remoto; processar uma solicitação para transferir o controle do jogo do primeiro usuário para o segundo usuário; iniciar o controle do jogo do primeiro usuário pelo segundo usuário; em que o método é executado por pelo menos um processador.
33. Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 32, em que iniciar o controle do jogo do primeiro usuário pelo segundo usuário inclui desativar o controle do jogo do primeiro usuário por um primeiro dispositivo controlador associado ao primeiro usuário, e ativar o controle do jogo do primeiro usuário por um segundo dispositivo controlador associado ao segundo usuário.
34 . Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 33, em que o controle do jogo do primeiro usuário pelo segundo dispositivo controlador inclui receber comandos de entrada do segundo dispositivo controlador e aplicar os comandos de entrada para definir o jogo do primeiro usuário.
35. Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 32, em que o feed em video ao vivo é apresentado através de uma interface social para o segundo usuário, a interface social proporcionando acesso a um gráfico social do segundo usuário, o primeiro usuário sendo definido como um membro do gráfico social do segundo usuário.
36. Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 35, em que a interface social inclui uma interface de comentários para postagem de comentários durante o jogo do primeiro usuário.
37. Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 32, em que o processamento da solicitação para transferir o controle inclui receber uma confirmação do primeiro usuário para permitir o controle do jogo do primeiro usuário pelo segundo usuário.
38. Método para proporcionar controle remoto do jogo de um usuário, de acordo com a reivindicação 32, em que a apresentação do feed em video ao vivo do jogo do primeiro usuário para o segundo usuário inclui apresentar o feed em video ao vivo em um formato que não é de tela cheia; e em que a iniciação do controle do jogo do primeiro usuário pelo segundo usuário inclui acionar a apresentação do feed em video ao vivo em um formato de tela cheia.
BR102013033136-8A 2012-12-21 2013-12-20 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 BR102013033136B1 (pt)

Applications Claiming Priority (11)

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

Publications (2)

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

Family

ID=50979420

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102013033136-8A BR102013033136B1 (pt) 2012-12-21 2013-12-20 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

Country Status (7)

Country Link
JP (4) JP6196147B2 (pt)
KR (7) KR101742662B1 (pt)
BR (1) BR102013033136B1 (pt)
MX (3) MX353112B (pt)
RU (1) RU2605840C2 (pt)
TW (3) TWI564062B (pt)
WO (1) WO2014100770A2 (pt)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6612019B2 (ja) * 2014-08-19 2019-11-27 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、制御データ送信方法および情報処理システム
US9919208B2 (en) 2014-12-11 2018-03-20 Immersion Corporation Video gameplay haptics
JP5770918B1 (ja) * 2014-12-18 2015-08-26 株式会社Cygames 情報処理プログラム、及び情報処理方法
US10207185B2 (en) * 2015-03-07 2019-02-19 Sony Interactive Entertainment America Llc Using connection quality history to optimize user experience
JP6893392B2 (ja) * 2015-08-04 2021-06-23 任天堂株式会社 ゲームシステム、ゲーム装置、制御プログラムおよびゲーム制御方法
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 (zh) * 2016-03-03 2019-08-06 腾讯科技(深圳)有限公司 一种信息交互的方法、设备及系统
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 (zh) * 2018-03-01 2021-01-21 致伸科技股份有限公司 人工智能之輔助操作系統
KR102551254B1 (ko) * 2018-04-06 2023-07-04 주식회사 엔씨소프트 게임 컨텐츠 공유 체험 서비스 제공 방법 및 이를 위한 컴퓨터 프로그램
KR102319298B1 (ko) * 2018-09-21 2021-10-29 주식회사 엔씨소프트 게임 캐릭터 제어 시스템, 서버 및 게임 캐릭터 제어 방법
US11943513B2 (en) 2018-12-21 2024-03-26 Sony Interactive Entertainment Inc. Information processing apparatus for presenting preview screen
JP7222722B2 (ja) * 2019-01-17 2023-02-15 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、情報処理方法およびコンピュータプログラム
US10741215B1 (en) 2019-06-28 2020-08-11 Nvidia Corporation Automatic generation of video playback effects
KR102329749B1 (ko) * 2019-08-05 2021-11-22 주식회사 엔씨소프트 게임 캐릭터 제어 서버, 시스템 및 방법
US11344799B2 (en) 2019-10-01 2022-05-31 Sony Interactive Entertainment Inc. Scene change hint and client bandwidth used at encoder for handling video frames after a scene change in cloud gaming applications
CN111147885B (zh) * 2020-01-03 2021-04-02 北京字节跳动网络技术有限公司 直播间互动方法、装置、可读介质及电子设备
CN111494965B (zh) * 2020-04-15 2021-09-14 腾讯科技(深圳)有限公司 信息处理方法、装置、设备及存储介质
CN111603764B (zh) * 2020-05-28 2021-05-28 腾讯科技(深圳)有限公司 一种云游戏的处理方法及设备
US20220008824A1 (en) * 2020-07-13 2022-01-13 Nvidia Corporation Game generation using one or more neural networks
CN111917768B (zh) * 2020-07-30 2022-05-13 腾讯科技(深圳)有限公司 虚拟场景的处理方法、装置及计算机可读存储介质
JP6923726B1 (ja) * 2020-08-13 2021-08-25 株式会社コロプラ 方法、コンピュータ可読媒体、および情報処理装置
KR102606834B1 (ko) * 2021-05-10 2023-11-29 주식회사 엔씨소프트 클라우드 게임 서비스 제공 시스템 및 클라우드 게임 서비스 제공 방법
TWI790801B (zh) * 2021-11-01 2023-01-21 宏碁股份有限公司 遠端遊戲執行方法與遠端遊戲執行系統
JP7216314B1 (ja) 2022-02-17 2023-02-01 株式会社Mixi プログラム、情報処理装置、及び情報処理方法
JPWO2023157618A1 (pt) * 2022-02-18 2023-08-24
EP4417278A1 (en) * 2023-02-15 2024-08-21 Sony Interactive Entertainment Inc. Apparatus, systems and method for video compositing
WO2024190569A1 (ja) * 2023-03-13 2024-09-19 ソニーグループ株式会社 情報処理装置、情報処理方法、プログラムおよびコンテンツ配信システム
JP2024143298A (ja) * 2023-03-30 2024-10-11 株式会社バンダイナムコエンターテインメント コンピュータシステム、プログラムおよびゲーム制御方法

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 (ru) * 2002-09-02 2004-09-20 Савин Вадим Георгиевич Способ компьютерной игры
JP3534343B2 (ja) * 2002-09-12 2004-06-07 株式会社コナミコンピュータエンタテインメントジャパン ゲームプログラム及びゲーム装置
JP3703800B2 (ja) * 2002-11-15 2005-10-05 株式会社スクウェア・エニックス 通信ゲームシステム
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 (ja) * 2004-06-29 2010-06-30 株式会社バンダイナムコゲームス プログラム、ゲーム装置、表示制御装置、サーバ及び情報記憶媒体
KR100682455B1 (ko) * 2005-03-17 2007-02-15 엔에이치엔(주) 게임 스크랩 시스템, 게임 스크랩 방법 및 상기 방법을실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한기록매체
JP5001445B2 (ja) * 2005-05-06 2012-08-15 任天堂株式会社 通信ゲームシステム
MX2008008438A (es) * 2005-12-27 2008-11-25 Massive Inc Direccion de presentaciones de medios, tal como en un video juego o ambiente de dispositivo movil.
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 (ja) * 2007-01-09 2012-11-07 株式会社バンダイナムコゲームス ゲーム装置、プログラム及び情報記憶媒体
KR20090000260A (ko) * 2007-02-09 2009-01-07 주식회사 엠게임 사용자의 흥미 유발을 위하여 단계적으로 공개하는 베타게임 제공 시스템 및 그 베타 게임 제공 방법
JP4203524B2 (ja) * 2007-02-14 2009-01-07 株式会社コナミデジタルエンタテインメント ゲームシステム、及び、これに含まれるゲーム装置
JP5203646B2 (ja) * 2007-07-17 2013-06-05 株式会社ソニー・コンピュータエンタテインメント ゲーム案内システム、ゲーム案内装置、ゲームサーバ、ゲーム案内方法、プログラム、及び情報記憶媒体
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 (ja) * 2009-01-29 2010-08-12 Funai Electric Co Ltd 動画編集装置
JP2010220089A (ja) * 2009-03-18 2010-09-30 Sony Corp ダイジェスト再生装置、ダイジェスト再生方法、およびプログラム
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 (ja) * 2009-05-18 2014-03-19 任天堂株式会社 ゲームプログラム,ゲーム装置およびゲームシステム
JP2010284473A (ja) * 2009-06-11 2010-12-24 Gonichi Sasaki ゲームプレイヤー評価システム
JP5417111B2 (ja) * 2009-10-01 2014-02-12 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲームシステムの制御方法、及びプログラム
JP5193242B2 (ja) * 2010-03-11 2013-05-08 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲーム部分実行支援方法及びプログラム
KR101139498B1 (ko) * 2010-04-20 2012-05-02 주식회사 넥슨코리아 온라인 게임에서의 타 유저 게임 플레이 화면 시청 시스템 및 그 방법
JP2010201180A (ja) * 2010-04-30 2010-09-16 Nintendo Co Ltd ゲーム装置およびゲームプログラム
JP5991649B2 (ja) * 2010-08-05 2016-09-14 株式会社ソニー・インタラクティブエンタテインメント ゲーム装置
JP2012038042A (ja) * 2010-08-05 2012-02-23 Sony Computer Entertainment Inc ゲーム装置
JP5271319B2 (ja) * 2010-08-12 2013-08-21 株式会社コナミデジタルエンタテインメント ゲームシステム及びそのプレイ内容の閲覧制御方法
JP5542020B2 (ja) * 2010-09-22 2014-07-09 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理方法、プログラム及び情報記憶媒体
JP5740972B2 (ja) * 2010-09-30 2015-07-01 ソニー株式会社 情報処理装置および情報処理方法
KR101269411B1 (ko) * 2010-12-31 2013-05-30 (주)네오위즈게임즈 스포츠게임을 제공하는 게임서버, 방법, 및 기록매체
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
KR20190057448A (ko) 2019-05-28
MX353112B (es) 2017-12-20
WO2014100770A8 (en) 2014-07-24
MX2014000227A (es) 2014-11-03
JP6434583B2 (ja) 2018-12-05
TWI564062B (zh) 2017-01-01
KR101742662B1 (ko) 2017-06-01
JP2019018076A (ja) 2019-02-07
RU2013156817A (ru) 2015-06-27
WO2014100770A2 (en) 2014-06-26
JP2020099729A (ja) 2020-07-02
MX2014000229A (es) 2014-11-03
KR20170061196A (ko) 2017-06-02
TW201440857A (zh) 2014-11-01
KR102292820B1 (ko) 2021-08-25
JP6196147B2 (ja) 2017-09-13
TW201440856A (zh) 2014-11-01
MX2014000231A (es) 2014-11-03
TWI559965B (en) 2016-12-01
JP2014121610A (ja) 2014-07-03
TW201438796A (zh) 2014-10-16
MX353111B (es) 2017-12-20
JP7461174B2 (ja) 2024-04-03
KR20190090077A (ko) 2019-07-31
BR102013033136B1 (pt) 2021-10-26
KR20200083658A (ko) 2020-07-08
WO2014100770A3 (en) 2014-08-21
JP2017200631A (ja) 2017-11-09
TWI573619B (zh) 2017-03-11
KR20210094149A (ko) 2021-07-28
KR20200083659A (ko) 2020-07-08
RU2605840C2 (ru) 2016-12-27
MX356707B (es) 2018-06-11
KR20150099829A (ko) 2015-09-01

Similar Documents

Publication Publication Date Title
JP7461174B2 (ja) 共有インターフェースを介してアクセスされるミニゲーム
US11014012B2 (en) Sharing gameplay in cloud gaming environments
US10016677B2 (en) Remote control of a first user's session by a second user
US12064699B2 (en) Method for sharing a portion of gameplay of a video game
US11406906B2 (en) Network connected controller for direct to cloud gaming
EP2745893B1 (en) Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay

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.