BR112015017980B1 - Método executado em uma plataforma de dispositivo de cliente de ataque, plataforma de dispositivo de cliente de ataque, e, meio de armazenamento legível por computador - Google Patents

Método executado em uma plataforma de dispositivo de cliente de ataque, plataforma de dispositivo de cliente de ataque, e, meio de armazenamento legível por computador Download PDF

Info

Publication number
BR112015017980B1
BR112015017980B1 BR112015017980-0A BR112015017980A BR112015017980B1 BR 112015017980 B1 BR112015017980 B1 BR 112015017980B1 BR 112015017980 A BR112015017980 A BR 112015017980A BR 112015017980 B1 BR112015017980 B1 BR 112015017980B1
Authority
BR
Brazil
Prior art keywords
hit
attack
client device
response
device platform
Prior art date
Application number
BR112015017980-0A
Other languages
English (en)
Other versions
BR112015017980A2 (pt
Inventor
Glenn Fiedler
Vincent NAPOLI
Jason McDONALD
Original Assignee
Sony Computer Entertainment America Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment America Llc filed Critical Sony Computer Entertainment America Llc
Publication of BR112015017980A2 publication Critical patent/BR112015017980A2/pt
Publication of BR112015017980B1 publication Critical patent/BR112015017980B1/pt

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • 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/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Child & Adolescent Psychology (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer And Data Communications (AREA)

Abstract

método para esconder a latência em uma plataforma de dispositivo de cliente de ataque, plataforma de dispositivo de cliente de ataque, plataforma de dispositivo de cliente de ataque, de defesa e de observação configurada para operar em uma rede, e, meio legível por computador não transitório aspectos da presente divulgação descrevem métodos e aparelhos que se escondem latência durante uma interação entre uma plataforma de dispositivo de cliente de ataque e uma plataforma de dispositivo de cliente de defesa em um jogo multiplayer jogado em uma rede. a plataforma de dispositivo de cliente de ataque prediz se um ataque bem-sucedido será feito e entrega um evento de acerto para a plataforma de dispositivo de cliente de defesa. a fim de proporcionar mais tempo para esperar por uma resposta de acerto a partir da plataforma de dispositivo de cliente de defesa a plataforma de dispositivo de cliente de ataque inicia um modo de animação alterada que prolonga o tempo de execução da animação.

Description

CAMPO DA DIVULGAÇÃO
[001] A presente divulgação está relacionada com jogos multiplayer e, mais particularmente, a métodos para esconder a latência em jogos multiplayer em rede.
FUNDAMENTOS DA INVENÇÃO
[002] Aplicações distribuídas multiusuário em tempo real, como jogos multiplayer online, estão se tornando cada vez mais populares devido à proliferação do acesso à Internet de banda larga. Mesmo com o aumento de popularidade de jogos multiplayer on-line, ainda existem muitas desvantagens que precisam ser abordadas. Um dos principais inconvenientes refere-se ao desempenho da rede e às velocidades de transferência de dados que podem influenciar drasticamente a experiência de jogo.
[003] Jogos multiplayer online permitem que os jogadores em localizações geográficas amplamente distribuídas joguem o mesmo jogo dentro do mesmo ambiente de jogo ao mesmo tempo. O recurso multiplayer permite aos jogadores desfrutar de interação com outros indivíduos, quer seja sob a forma de parceria, concorrência, ou rivalidade, e também oferece aos jogadores uma forma de comunicação social. Em uma variedade de diferentes tipos de jogo multiplayer online os jogadores podem competir individualmente contra dois ou mais competidores humanos, trabalhar em cooperação com um parceiro humano a fim de alcançar um objetivo comum, supervisionar as atividades de outros jogadores, ou se envolver em um jogo que incorpora uma eventual combinação das opções acima.
[004] Atualmente, cada aplicativo de jogo multiplayer online lida com desempenho da rede, tal como largura de banda de rede. No entanto, pode haver limitações na qualidade e largura de banda de redes criada ou usada durante o jogo em um jogo multiplayer online. Essas limitações podem levar a atrasos na transmissão de dados e, assim, causar animação lenta ou descontínua da jogabilidade. Por exemplo, em jogos baseados em combate corporal, quando um primeiro jogador ataca um segundo jogador, pode haver latência na transmissão de dados a partir do computador do primeiro jogador para o computador do segundo jogador, o que pode levar a uma inconsistência na animação de jogabilidade. A animação retardada pode afetar o sincronismo das reações dos jogadores. Como resultado, os jogadores podem sentir que o jogo é injusto. Por exemplo, no lado do primeiro jogador, um avatar controlado pelo primeiro jogador pode usar um taco contra um avatar controlado por um segundo jogador, antes que o avatar controlado pelo segundo jogador fosse capaz de bloquear o taco com um escudo. No entanto, no lado do segundo jogador, quando o avatar controlado pelo primeiro jogador começou a brandir o taco, o avatar do segundo jogador já havia levantado seu escudo, mas foi morto de qualquer maneira, uma vez que no lado primeiro jogador ele ainda estava desprotegido.
[005] É neste contexto que surgem os aspectos da presente divulgação.
BREVE DESCRIÇÃO DAS FIGURAS
[006] A FIG. 1 é um diagrama esquemático de plataformas do dispositivo do cliente para um atacante, um defensor, e um observador se comunicarem através de uma rede de acordo com um aspecto da presente divulgação.
[007] As FIGs. 2A-2C são diagramas em bloco que retratam o armazenamento e a transferência de eventos de acerto e respostas de acerto entre as plataformas de dispositivos de cliente para o atacante, o defensor, e o observador.
[008] A FIG. 3A é uma linha do tempo que mostra os diferentes períodos que ocorrem durante uma animação de ataque que não utiliza quaisquer modos de animação ajustados.
[009] As FIGs. 3B-3D são linhas do tempo que retratam diferentes períodos que ocorrem durante uma animação de ataque e que incluem um ou mais modos de animação ajustados de acordo com vários aspectos da presente divulgação.
[0010] A FIG. 4 é um diagrama de fluxo que ilustra um método de esconder a latência de acordo com um aspecto da presente divulgação.
[0011] As FIGs. 5A-5C são diagramas em bloco que descrevem as instruções de como o atacante, defensor, a observador ocultam a latência de acordo com vários aspectos da presente divulgação.
DESCRIÇÃO DETALHADA DAS FIGURAS
[0012] Embora a seguinte descrição detalhada contenha muitos detalhes específicos para os fins de ilustração, aquele versado na técnica irá apreciar que muitas variações e alterações dos detalhes seguintes estão dentro do âmbito da presente revelação. Consequentemente, os aspectos da presente divulgação descritos abaixo são apresentados sem qualquer perda de generalidade para, e sem impor limitações nas, reivindicações que se seguem a esta descrição.
[0013] Os aspectos da presente divulgação descrevem aparelhos e métodos para esconder a latência em um jogo multiplayer jogado através de uma rede. O jogo multiplayer pode compreender um atacante e um defensor. O atacante pode estar jogando o jogo em uma primeira plataforma de dispositivo de cliente, e o defensor pode estar jogando o jogo em uma segunda plataforma de dispositivo de cliente. Ambas as plataformas de dispositivos de cliente podem estar conectadas em uma rede. De acordo com aspectos da presente divulgação, o atacante pode iniciar uma ou mais animações de ataque. A primeira plataforma de dispositivo de cliente pode prever que uma ou mais animações de ataque irá resultar em um acerto bem- sucedido contra o defensor. Quando uma previsão positiva é feita, a plataforma de dispositivo de cliente do atacante pode gerar um evento de acerto. O evento de acerto pode compreender uma ou mais animações de ataque iniciadas, e um identificador de acerto único (ID) que irá ser utilizado para rastrear os resultados de uma ou mais das animações de ataque. O evento de acerto pode então ser armazenado em uma tabela de acerto na plataforma de dispositivo de cliente do atacante e entregue à plataforma de dispositivo de cliente do defensor pela conexão de rede. A taxa de reprodução de uma ou mais animações de ataque pode ser retardada na plataforma de dispositivo de cliente do atacante, a fim de prolongar o tempo disponível no qual a plataforma de dispositivo de cliente do atacante poderá receber uma resposta da plataforma de dispositivo de cliente do defensor para indicar se o ataque foi de fato um sucesso como previsto.
[0014] Ao receber o evento de acerto, a plataforma de dispositivo de cliente do defensor armazena as informações em uma tabela de acerto e depois determina se uma ou mais animações de ataque resultam em um ataque bem-sucedido sobre o defensor. A título de exemplo, a plataforma de dispositivo de cliente do defensor pode determinar que o ataque foi um sucesso, uma falta, ou um ataque bloqueado. Plataforma de dispositivo de cliente do defensor, em seguida, gera uma resposta acerto que compreende o apropriado ou mais animações de resposta e o mesmo ID acerto que foi associado com o evento acerto. A resposta de acerto é armazenada na tabela de acerto e também é entregue à plataforma de dispositivo de cliente do atacante através da conexão de rede. Uma vez recebida pela plataforma de dispositivo de cliente do atacante, a resposta de acerto é armazenada na tabela de acerto do atacante também. A plataforma de dispositivo de cliente do atacante pode então executar as animações de resposta que foram identificadas na resposta de acerto.
[0015] Aspectos da presente invenção descrevem a forma como os aparelhos e métodos respondem a diferenças no comprimento da latência. Antes do evento de acerto ser entregue pela plataforma de dispositivo de cliente do atacante, o atacante não sabe quão longa a latência será, e, portanto, precisa ser capaz de acomodar qualquer resultado potencial. Os seguintes passos implementados pela plataforma de dispositivo de cliente do atacante dependem de a resposta de acerto ser recebida pelo atacante: (1) durante um período pré-acerto; (2) após o período pré-acerto; ou (3) após um período de pausa de acerto prolongado (ou nunca recebida).
[0016] De acordo com as instâncias da presente divulgação se a resposta de acerto é recebida durante o período de pré-acerto a plataforma de dispositivo de cliente do atacante causa buffer nas animações de resposta para jogar no ponto de impacto entre o atacante e o defensor. De acordo com certos exemplos da presente divulgação, se a resposta de acerto é recebida após o período pré-acerto, a plataforma de dispositivo de cliente do atacante pode implementar um período de pausa de acerto estendido, que pode durar por um período de tempo predeterminado. Isso permite mais tempo para permitir que a resposta de acerto seja recebida pela plataforma de dispositivo de cliente do atacante. Uma vez que a plataforma de dispositivo de cliente do atacante recebeu a resposta de acerto, pode ser armazenada na tabela de acerto do atacante e as animações de resposta podem ser implementadas após, pelo menos, o período de pausa de acerto padrão ter sido concluído.
[0017] De acordo com certos exemplos da presente divulgação, se a resposta de acerto não tiver sido recebida antes de o comprimento máximo pré-determinado de tempo, a plataforma de dispositivo de cliente do atacante pode atingir tempo limite. Quando os tempos da plataforma de dispositivo de cliente do atacante passam do limite de tempo, todos os dados na tabela de sucesso relativos ao acerto de ID que não recebeu a resposta de acerto podem ser removidos. Além disso, a animação de resposta pode ser substituída com uma animação de tempo limite esgotado. A animação de tempo limite esgotado pode descrever um ataque perdido.
[0018] Aspectos da presente invenção descrevem ainda aparelhos e métodos que proporcionam animação sem falhas durante a transição entre as uma ou mais animações de ataque e as uma ou mais animações resposta. Isto é crítico porque a máquina de ataque e máquina de defesa podem executar as animações em momentos diferentes, devido à latência entre as máquinas. A fim de assegurar que as animações do atacante permanecem em fase com as animações do defensor, a plataforma de dispositivo de cliente do atacante utiliza as informações da tabela de acerto do atacante. Em primeiro lugar, após a leitura da tabela, se a plataforma de dispositivo de cliente detecta que ele deve estar em um período de pausa de acerto, como resultado de qualquer evento de acerto, então a plataforma de dispositivo de cliente irá inserir uma pausa no primeiro quadro da animação de resposta. Depois disso, a pausa será encerrada (e a animação de resposta será retomada uma vez que a plataforma de dispositivo de cliente do atacante determine que tanto: (1) a pausa de acerto é completa de acordo com a plataforma do dispositivo de cliente do atacante; e (2) a plataforma de dispositivo de cliente do atacante recebeu uma indicação de que o defensor está fora de pausa também.
[0019] Em outras palavras, a animação de resposta sofre buffer e é jogada em ambas as máquinas de atacante e defensor no ponto de impacto, por exemplo, o fim do pré-acerto, se ele estiver disponível. A animação de resposta pode permanecer pausada no primeiro quadro dessa animação no caso comum. A animação de resposta pode então "sair de pausa"após a resposta de acerto e voltar ao jogo. Isso é importante porque o jogo pode parecer consideravelmente pior se a animação de resposta de acerto não tem o primeiro quadro rodando no ponto de acerto.
[0020] Os aspectos adicionais da presente invenção descrevem aparelhos e métodos semelhantes como descrito acima, com a adição de um observador, e uma plataforma de dispositivo de cliente de um observador. A adição do observador requer que o evento de acerto e a resposta de acerto sejam enviados para o observador também. Além disso, o observador pode implementar uma transição sem falhas entre as animações de ataque e as animações de resposta de uma maneira substancialmente semelhante à da plataforma de dispositivo de cliente do atacante.
[0021] A FIG. 1 é um diagrama em bloco que descreve três diferentes plataformas de dispositivo de cliente 102, 103 e 104 que podem ser capazes de comunicar-se umas com as outras através de uma rede 160. Cada plataforma de dispositivo de cliente pode ser utilizada por um ou mais jogadores do jogo a qualquer momento. Para simplicidade, os aspectos da presente divulgação descreverão cada plataforma de dispositivo de cliente como tendo um jogador único, mas deve ser evidente para aqueles versados na técnica que dois ou mais jogadores podem jogar o jogo a partir de uma plataforma de dispositivo de cliente única. De acordo com a FIG. 1 há uma plataforma de dispositivo de cliente 102 que está associada com um jogador atacante, uma plataforma de dispositivo de cliente 103 associada com um defensor, e uma plataforma de dispositivo de cliente 104 associada com um jogador observador. Tal como aqui utilizado, plataforma de dispositivo de cliente 102 pode ser referida como o "atacante ", plataforma de dispositivo de cliente 103 pode ser referida como o "defensor", e a plataforma de dispositivo de cliente 104 pode ser referida como o "observador". Nos casos em que dois ou mais jogadores estão jogando em uma única plataforma de dispositivo de cliente, os rótulos de "atacante ", "defensor", e "observador" podem ser específicos para os jogadores individuais e não utilizados para definir a plataforma de dispositivo de cliente como um todo.
[0022] A plataforma do jogador atacante 102 pode incluir uma unidade de processamento central (CPU) 131. A título de exemplo, uma CPU 131 pode incluir um ou mais processadores, que podem ser configurados de acordo com, por exemplo, dual-core, quad-core, multi-core, ou arquitetura de processador Cell. Atacante 102 também pode incluir uma memória 132 (Por exemplo, RAM, DRAM, ROM e semelhantes). A CPU 131 pode executar um programa de controle de processos 133, porções dos quais podem ser armazenadas na memória 132. O atacante 102 também pode incluir circuitos de apoio bem conhecidos 140, tais como circuitos de entrada / saída (I/O) 141, fontes de alimentação (P/S) 142, um relógio (CLK) 143 e o cache 144. O atacante 102 pode, opcionalmente, incluir um dispositivo de armazenamento em massa 134 tal como uma unidade de disco, unidade de CD-ROM, unidade de fita ou similares para armazenar programas e / ou dados. O atacante 102 também pode incluir, opcionalmente, uma unidade de exibição 137. A unidade de exibição 137 podem estar sob a forma de um tubo de raios catódicos (CRT) ou tela de painel plano que apresenta texto, números ou símbolos gráficos. Um controle 145 pode ser ligado ao atacante 102 através do circuito I/O 141 ou pode ser diretamente integrado no atacante 102. O controle 145 pode facilitar a interação entre o atacante 102 e um jogador do jogo que pode controlar a jogabilidade. O controle 145 pode incluir um teclado, mouse, joystick, caneta de luz, controles de mão ou outro dispositivo. O atacante 102 pode incluir uma interface de rede 139, configurada para permitir a utilização de outros de Wi-Fi, uma porta Ethernet ou outros métodos de comunicação.
[0023] A interface de rede 139 pode incorporar hardware adequado, software, firmware ou qualquer combinação de dois ou mais destes para facilitar a comunicação através de uma rede de comunicações eletrônica160. A interface de rede 139 pode ser configurado para implementar a comunicação com ou sem fio através de redes de área local e redes de longa distância, tais como a Internet. O atacante 102 pode enviar e receber dados e / ou solicitações de arquivos através de um ou mais pacotes de dados através da rede 160.
[0024] A plataforma do atacante 102 pode acessar um programa de jogo 106 que tem uma funcionalidade de múltiplos jogadores. Pode haver mais do que um programa de jogo 106 armazenado no invasor 102. Os programas de jogos podem ser armazenados na memória 132 ou no dispositivo de armazenamento em massa 134. Além disso, um ou mais programas de jogos 106 podem ser armazenados num local remoto acessível ao atacante 102 através da rede 160. Cada programa de jogo 106 contém código executável de jogo que é usado pela CPU 131 para gerar animações em resposta às entradas fornecidas pelo jogador.
[0025] Os componentes anteriores podem trocar sinais uns com os outros através de um barramento de sistema interno 150. O atacante 102 pode ser um computador de aplicação geral que se torna um computador para fins especiais ao executar o código que implementa modalidades da presente invenção, tal como aqui descritas. A título de exemplo, e não a título de limitação, o atacante 102 pode ser console PlayStation 3 da Sony Computer Entertainment, um console portátil PlayStation Vita, um computador doméstico, um telefone celular ou qualquer outro dispositivo similar capaz de jogar jogos de videogame multiplayer através de uma rede.
[0026] A plataforma do jogador defensor 103 pode ser um dispositivo substancialmente semelhante ao do atacante 102. Elementos da plataforma do jogador defensor 103 que correspondem aos mesmos elementos de plataforma do atacante 102 são indicados pelos mesmos números de referência com uma única plica (') anexa. No entanto, deve notar-se que as modalidades específicas podem ser diferentes, por exemplo, a plataforma do atacante 102 pode ser um console PlayStation 3, e a plataforma do defensor 103 pode ser um console portátil PlayStation Vita. Além disso, a plataforma do observador 104 pode ser um dispositivo substancialmente semelhante à plataforma do defensor103 e plataforma do atacante 102. Elementos da plataforma do observador 104 que correspondem aos mesmos elementos de plataforma do atacante 102 são indicados pelos mesmos números de referência com uma plica dupla ('') anexa. Mais uma vez, as modalidades específicas da plataforma do observador 104 podem ser diferentes das do atacante 102 e do defensor 103. Enquanto a Fig. 1 só descreve três plataformas de dispositivo de cliente, uma cada dentre atacante 102, defensor 103e observador 104, aspectos adicionais da presente invenção incluem sistemas com um maior ou menor número de plataformas de dispositivo de cliente. A título de exemplo, e não como forma de limitação, pode haver apenas um atacante 102 e um defensor 103 quando existem apenas dois jogadores que jogam o jogo 106, pode haver dois ou mais observadores 104 que estão cada um observando as interações entre o atacante 102 e o defensor 103, pode haver vários defensores 103 se um atacante 102 está atacando vários adversários ao mesmo tempo, pode haver múltiplos atacante s 102, se um defensor 103 está a ser atacado por dois ou mais oponentes ao mesmo tempo, ou qualquer combinação dos mesmos.
[0027] Os aspectos da presente divulgação permitem jogos peer-to- peer. Cada plataforma de dispositivo de cliente pode ser associada com um avatar, ou seja, o atacante 102 está associado com um avatar atacante, o defensor103 está associado com um avatar defensor, e o observador 104 está associado com um avatar observador. Cada plataforma de dispositivo de cliente pode entregar informação de estado e evento associada com seus respectivos avatares para as outras plataformas de dispositivo de cliente. A título de exemplo, e não como forma de limitação, as informações de estado podem incluir posições e movimentos do avatar. A título de exemplo, e não como forma de limitação, as informações do evento podem incluir animações de ataque, como o brandir de um taco ou soco, animações defensivas, tais como bloqueio ou outras manobras evasivas, e animações de resposta que resultam de um ataque bem-sucedido, tais como cair no chão ou ser empurrado para trás. As informações de estado e de evento podem ser entregues por cada plataforma de dispositivo de cliente em intervalos normais, como 30 pacotes por segundo. Ao exibir a jogabilidade em suas respectivas unidades de exibição 137, uma plataforma de dispositivo de cliente irá utilizar as informações de estado e de evento para exibir proxies dos outros avatares. Por exemplo, o avatar do atacante pode ser exibido no visor do atacante 137 de acordo com informações de estado e evento geradas pelo atacante 102, e os avatares de proxy para o avatar de observador e o avatar de defensor podem ser exibidos no visor do atacante 137 de acordo com os dados do estado e do evento que foram transmitidos para o atacante 102 a partir das respectivas plataformas de dispositivos de cliente para o observador 104 e defensor 103.
[0028] Especificamente, no que diz respeito aos aspectos da presente divulgação, informações de evento relacionadas com animações de ataque e animações de resposta são discutidas. Esconder a latência na entrega desses eventos permite jogabilidade que é justa para os jogadores do jogo e permite animações com menos falhas. As FIGs. 2A-2C são diagramas em bloco que mostram como eventos de acerto 230 e respostas de acerto 231 são fornecidos e armazenados por as plataformas de dispositivo de cliente respectivas102, 103 e 104.
[0029] Um evento de acerto 230 pode ser gerado por um atacante 102 uma vez que o atacante prevê que as uma ou mais animações irão provavelmente resultar num ataque bem-sucedido. Em geral, a previsão de um ataque bem-sucedido pode ser feita olhando para frente quanto à animação para determinar se o atacante irá ou não conectar com qualquer um dos volumes de colisão no atacante. A título de exemplo, a previsão pode ser feita, presumindo que as posições do atacante e defensor são estacionárias. A partir deste pressuposto inicial, o caminho futuro da arma do atacante, tais como, mas não limitados a, uma espada, um taco, ou um punho, é determinado para ver se a qualquer quadro após o início da animação haverá uma colisão entre o atacante e o defensor. A animação de ataque pode ser avançada quadro-a- quadro a partir de um tempo atual para um tempo pré-acerto e em cada quadro a plataforma do atacante 102 pode verificar se há previsão da colisão com o defensor. Eventos de sucesso 230 podem compreender uma ou mais animações de ataque que são previstas resultando num ataque bem-sucedido e um identificador de acerto correspondente (ID). A ID de acerto é um identificador único que pode ser utilizado por cada uma das plataformas de dispositivo de cliente 102, 103e 104 para controlar as animações. A fim de proporcionar um identificador única, a ID de acerto pode compreender um componente de memória de acesso aleatório de 8 bits (RAM) e um componente modulo de 8 bits. O primeiro evento de acerto 230 pode ter um componente modulo de "1" e cada evento subsequente de acerto 230 pode ser incrementalmente aumentado em 1. A título de exemplo, uma série de IDs de acerto pode ser {RAM-1, RAM-2, RAM-3, RAM-4, ...}, em que a memória RAM é um número aleatório de 8 bits.
[0030] Na FIG. 2A o atacante 102 previu que uma ou mais ações de avatar do atacante irão provavelmente resultar em um ataque bem-sucedido no avatar do defensor. Portanto, um evento de acerto 230 foi gerado. O evento de acerto é armazenado numa tabela de acerto 235 localizada no atacante 102. A título de exemplo, a tabela de acerto 235 pode estar localizada na memória 132. A tabela de acerto 235 é usada para associar o evento de acerto 230 com uma resposta de acerto 231 que pode ser recebida a partir do defensor 103 no futuro. Além disso, o atacante 102 entrega o evento de acerto 230 para o defensor 103 e ele observador 104 através da rede 160, tal como indicado pelas setas tracejadas.
[0031] Na FIG. 2B o observador 104 e o defensor 103 receberam o evento de acerto 230 e o armazenaram em suas respectivas tabelas de acerto 235. O observador 104 deve, de preferência, receber e armazenar o evento de acerto 230 para que o observador 104 exiba corretamente as animações de ataque e resposta em sua unidade de exibição 137''. A informação armazenada na tabela do observador 235 indicará quando animações, tais como uma pausa de acerto, devem ser iniciadas e terminadas.
[0032] Além de armazenar o evento de acerto 230 em sua tabela de acerto 235, o defensor 103 pode também resolver se o uma ou mais animações de ataque correspondem a um ataque bem-sucedido. O problema dos defensores 103 serem feridos quando já estavam protegidos contra um ataque, como pode ser o caso na técnica anterior, é evitado através da resolução do sucesso de um ataque contra o defensor103. Em vez de confiar em informações de proxy que podem não refletir a posição mais recente do avatar do defensor (como pode ocorrer se o ataque foi resolvido pelo atacante 102) uma ou mais animações de ataque são resolvidas usando as informações de estado e evento mais atuais disponíveis para o defensor 103. Depois de resolver o ataque, o defensor 103 pode gerar uma resposta de acerto 231. A resposta de acerto 231 é armazenado na tabela de acerto do defensor 235 e também é fornecida através da rede para o atacante 102 e o observador 104. A resposta de acerto pode compreender informações de identificador de uma ou mais animações e resposta do mesmo ID de acerto que foi associado com o evento de acerto 230. As uma ou mais animações de resposta corresponderão ao resultado do ataque. Por exemplo, se uma ou mais animações de ataque foram determinadas resultando em um ataque bem-sucedido, em seguida, uma ou mais animações de resposta podem incluir animações que mostram avatar do defensor caindo no chão ou sendo derrubado para trás. Alternativamente, se o ataque estava determinado a ser bem-sucedido, a animação de resposta pode incluir avatar do defensor a bloquear o ataque, ou evitando o ataque completamente. Uma vez que o evento de acerto 230 é resolvido imediatamente após o recebimento pelo defensor 103, todas as ações de bloqueio ou de evasão iniciadas pelo defensor 103 após a recepção não irão alterar o resultado do ataque. O evento de acerto 230 pode ser recebido antes que haja contato entre avatares atacante e defensor, e, portanto, pode ser desejável desativar animações de bloqueio ou evasão subsequentes do avatar do defensor uma vez que o evento de acerto 230 foi recebido. Isso impedirá que o jogador controlando o avatar de defesa de sentir que ele foi atingido embora estivesse no meio de um movimento de bloqueio.
[0033] Na FIG. 2C o atacante 102 e o observador 104 receberam a resposta de acerto e armazenaram os dados em suas respectivas tabelas de acerto 235. O atacante 102 e o observador 104 podem agora ser capazes de exibir toda a interação entre o avatar do atacante e avatar do defensor. A transmissão do evento de acerto 230 e o recebimento da resposta de acerto 231 deve ter lugar antes da animação de ataque iniciada pelo atacante 102 ser concluída para que a animação apareça sem falhas. Quando latência é grande o suficiente para que os dados não possam fazer um IDa e volta entre o atacante 102 e o defensor 103 antes da animação de ataque ser completado, a jogabilidade sofre. Por conseguinte, a capacidade de esconder a latência permite uma melhor jogabilidade num ambiente de jogo para múltiplos jogadores.
[0034] Os aspectos da presente divulgação escondem a latência com a utilização de um ou mais modos de alteração de animação. A FIG. 3A é uma linha do tempo de ataque padrão 300 num sistema que não utiliza técnicas de ocultação de latência. As FIGs. 3B-3D mostram exemplos de prazos alargados de ataque 301, 301 'e 302 que utilizam modos de animação de ataque alterados a fim de ocultar as latências de acordo com aspectos da presente divulgação. Deve notar-se que as linhas de tempo representadas nas Figs. 3A-3D não estão em escala. Na FIG. 3A, a linha do tempo padrão 300 inicia-se quando uma ou mais animações de ataque são iniciadas em 310. A título de exemplo, uma animação de ataque pode ser quando um avatar controlado pelo atacante 102 começa brandindo um taco contra um avatar controlado pelo defensor 103. O período de tempo após a animação de ataque ter sido iniciada em 310 e antes do contato entre o avatar do atacante e avatar do defensor é feita em312 e é definida como o período de pré-acerto 311. O período de pré-acerto 311 pode ter um comprimento variável de tempo, dependendo de fatores tais como, mas não limitados a, tipo de arma, a distância entre avatares, poder de ataque, a força do avatar atacante, ou qualquer combinação dos mesmos. A título de exemplo, e não a título de limitação, o período de pré-acerto 311 pode ser de aproximadamente 100 ms. Neste caso, onde não há técnicas de ocultação de latência sendo implementadas, a resposta de acerto 231 é recebida pelo atacante 102 antes do final do período de pré-acerto 311. Uma vez que a resposta de acerto 231 foi recebida, uma animação de resposta 314 sofre buffer para que possa ser iniciada uma vez que o ponto de contato 312 foi atingido. A taxa de reprodução do primeiro quadro da animação de resposta 314 pode ser substancialmente reduzida ou mesmo receber uma pausa por um breve período de tempo, a fim de produzir um efeito de pausa de acerto. A duração do efeito pausa de acerto é considerada o período de pausa de acerto 313. O período de pausa de acerto 313 pode ter um comprimento variável de tempo, dependendo de fatores tais como, mas não limitados a, tipo de arma, a distância entre avatares, poder de ataque, a força do avatar de defesa ou ataque, tamanho do avatar de ataque ou defesa, ou qualquer combinação dos mesmos. A título de exemplo, e não como forma de limitação, a taxa de reprodução do primeiro quadro da animação de resposta pode ser retardada para um valor pequeno, mas não nulo, por exemplo, cerca de 1/1000 de velocidade normal. Após o fim do período de pausa de acerto 313, a animação de resposta 314 pode retomar uma taxa de reprodução normal. Em um caso ideal a animação de resposta de acerto pode ser iniciada nas máquinas de atacante e observador no ponto de acerto, por exemplo, no final do pré-acerto, mas antes de pausa de acerto.
[0035] A FIG. 3B representa uma linha do tempo de ataque estendida 301 que incorpora um modo de animação alterado de acordo com aspectos da presente divulgação. A linha do tempo301 é substancialmente semelhante à linha de tempo de ataque 300 com a exceção de que o período de pré-acerto 311 é substituído por um período de pré-acerto estendido 315. A extensão do período de pré-acerto 311 fornece um tempo adicional para o atacante 102 receber a resposta de acerto 231 antes do contato entre o avatar do atacante e avatar do defensor ser feita em 312.
[0036] O período de pré-acerto estendido 315 é substancialmente semelhante ao período pré-acerto 311 com a exceção de que a taxa de reprodução do período de pré-acerto estendida 315 é retardada em comparação com a taxa de reprodução do período de pré-acerto 315. Como a taxa de reprodução do período de pré-acerto estendida é diminuída, o tempo de latência que pode ser escondida é aumentado. No entanto, diminuindo a taxa de reprodução do período de pré-acerto estendido 311 demais pode resultar em animações de ataque que parecem lentas e sem resposta para o jogador. O limite de quanto a taxa de reprodução do período de pré-acerto estendido 315 pode ser reduzida é dependente do tipo de jogo, e das expectativas dos jogadores que jogam o jogo. A título de exemplo, num jogo do tipo de combate a taxa de reprodução do período de pré-acerto estendido 315 pode ser cerca de dois terços da taxa de reprodução do período de pré- acerto 311 sem que as animações pareçam lentas e sem resposta. Como tal, um período de pré-acerto 311 que dura 100 ms pode ter um período de pré- acerto estendido 315 que dura cerca de 150 ms. Idealmente, os 50 ms adicionais são suficientes para proporcionar tempo para receber a resposta de acerto 231 antes do contato entre o avatar do atacante e avatar do defensor ser feita em312.
[0037] No entanto, se a resposta de acerto 231 não for recebida antes do ponto de contato 312, então o período de pausa de acerto 313 pode também ser usado como um período de tempo adicional para esconder a latência como mostrado na FIG. 3C. Antes de entrar no período de pausa de acerto 313, a animação de ataque 310 pode ser interrompida um pouco antes do ponto de contato 312. Em algum ponto no período pausa de acerto 313 a resposta de acerto 231 pode ser recebida. Uma vez recebida, a animação de resposta 314 pode ser iniciada a uma velocidade de reprodução reduzida, tal como uma taxa de reprodução de cerca de 1/1000 de velocidade normal. A taxa de reprodução reduzida durante a pausa de acerto é suficientemente lenta tal que a animação esteja efetivamente "em pausa". Por exemplo, retardar a animação a uma metade da velocidade normal pode ser demasiado rápido. Uma taxa de reprodução superior a zero (por exemplo, 1/1000 da taxa normal) é desejável, desde que ela seja lenta o suficiente para que a animação seja praticamente pausada. No entanto, uma taxa muito lenta (em oposição a zero) de reprodução pode ser desejável para efeito visual. A animação retardada pode parecer melhor do que aquela que está completamente parada. Após o período de pausa de acerto 313 ter terminado, a animação de resposta 314 pode continuar à taxa normal de reprodução.
[0038] Note-se que durante o período de pausa de acerto a animação da plataforma do defensor 103 pode também congelar. O defensor também pode rodar uma animação de resposta de acerto, por exemplo, correspondente a "ser acertado" ou "bloquear" e o primeiro quadro de animação da resposta do defensor pode congelar (por exemplo, escala de tempo a 1/1000 da velocidade normal, como com a animação de ataque) para o impacto visual durante o período de pausa de acerto.
[0039] Linha do tempo estendida 302 na FIG. 3D fornece um aspecto adicional da presente divulgação que proporciona ainda mais tempo para esconder a latência, se a de acerto 231 não foi recebida até o final do período de pausa de acerto 313. Nesta circunstância, o modo de animação alterado pode ainda compreender um suplementar período 316 de pausa de acerto. O período de pausa de acerto suplementar 316 estende o comprimento do período de pausa inicial de acerto 313 de modo a permitir tempo adicional para a resposta de acerto 231 ser recebida pelo atacante 102. O período de pausa de acerto suplementar 316 pode ser uma quantidade ilimitada de tempo. Neste caso, o período de pausa de acerto suplementar pode não terminar até a resposta de acerto 231 ser recebida. No entanto, se a quantidade de tempo utilizada para a suplementar pausa de acerto 316 é muito grande, o jogo pode tornar-se excessivamente lento e sem resposta. Normalmente, a suplementação de pausa de acerto 316 pode fornecer um adicional de 200-300 ms antes da pausa se tornar muito distrativa para o jogador do jogo. Se, no final do período de pausa de acerto suplementar 316, ainda não houve uma resposta de acerto 231, então o atacante 102 pode presumir que uma resposta de acerto 231 nunca virá. Neste exemplo, o atacante 102 pode esgotar o tempo limite. Quando o atacante 102 esgota o tempo limite, o atacante irá apagar todos os dados em sua tabela de dados que correspondem à ID de acerto que não foi respondido e retomar a partir do período de pausa de acerto suplementar 316. Ao se cancelar a pausa, uma animação de esgotamento de tempo limite 314'pode ser iniciada. A título de exemplo, e não como forma de limitação, a animação de esgotamento de tempo limite 314'pode ser uma continuação da animação de ataque, resultando em um ataque perdido.
[0040] Um aspecto adicional da presente invenção envolve o processo de saída do período de pausa de acerto 313 (ou, se necessário, o período de pausa de acerto suplementar 316) de uma maneira que permita à animação resposta para ambos os avatares de ataque e defesa ser sincronizada. Devido à latência que foi sido escondida, pode haver casos em que o defensor 103 inicia o período de animação de resposta 314 antes que o atacante 102 ou o observador 104 iniciem o período de animação de resposta 314. Em tais situações, o avatar de proxy do defensor 103 pode ser mostrado como se movendo na unidade de exibição do atacante 137 antes do avatar atacante começar o período de animação de resposta 314. Este cenário cria uma animação desconexa e é indesejável. A fim de assegurar que a passagem do período de pausa de acerto 313 (ou o período pausa de acerto suplementar 316) para o período de animação de resposta 314 ocorra ao mesmo tempo tanto para o avatar local e o avatar de proxy, a plataforma de dispositivo de cliente não deve fazer a transição até que tenha recebido a confirmação de que tanto o avatar do atacante e avatar do defensor tenham atingido o ponto de transição.
[0041] Do ponto de vista do defensor 103 a determinação de quando cancelar a pausa e começar o período de animação de resposta 314 é relativamente simples. Se o defensor 103 determina que um ataque foi bem- sucedido, e as uma ou mais animações de ataque incluídas no evento de acerto 230 incluem uma instrução para implementar um período de pausa de acerto 313, então o defensor 103 iniciará o período de pausa de acerto 313. Não há necessidade de adicionar em um período de pausa de acerto suplementar 316 porque não há nenhuma latência que precisa ser escondida, pois nenhuma informação adicional é necessária pelo defensor 103 para iniciar a animação de resposta. Uma vez que o período de pausa de acerto 313 é concluído, o defensor 103 pode iniciar o período de animação de resposta 314 tanto para o avatar local (ou seja, avatar do defensor) e o avatar de proxy (ou seja, o avatar do atacante).
[0042] Para que o atacante 102 determine se ele pode fazer a transição do período pausa de acerto 313 (ou o período de pausa de acerto suplementar 316) para o período de animação de resposta 314 o atacante 102 precisa saber que ambas: (1) as informações de estado e de evento na tabela de acerto do atacante 235 indicam que avatar de proxy do defensor não está mais no período pausa de acerto 313; e (2) que o atacante 102 não está mais no período pausa de acerto 313 ou um período pausa de acerto suplementar 316. Se qualquer uma das duas condições não for atendida, em seguida, o atacante 102 deve permanecer em pausa. Portanto, a transição do período de pausa de acerto 313 para o período de animação de resposta 314 pode ocorrer como um resultado de dois cenários separados.
[0043] De acordo com o primeiro cenário, o atacante 102 pode determinar que o período de pausa de acerto 313 para seu avatar foi ultrapassado e está aguardando uma resposta do defensor 103 que indica que o avatar do defensor saiu do período de pausa de acerto 313 também. A indicação de que o avatar do defensor saiu o período de pausa de acerto 313 pode ser entregue como parte das informações de estado que são transmitidas para cada plataforma de dispositivo de cliente. Uma vez que o atacante 102 recebe uma atualização que indica que o avatar do defensor saiu de pausa, então o atacante 102 pode sair de pausa também. O primeiro cenário ocorre normalmente quando a resposta de pausa 231 for recebida antes do final do período de pré-acerto estendido 315.
[0044] O segundo cenário geralmente ocorre quando o atacante 102 precisa adicionar um período de pausa de acerto suplementar 316, a fim de permitir uma maior latência. Nesta situação, o defensor 103 pode já ter feito a transição do período pausa de acerto 313 para o período de animação de resposta 314. Mesmo que o defensor 103 possa estar transmitindo a outras plataformas de dispositivo de cliente que ele saiu de pausa, o avatar de proxy do defensor exibido na unidade de exibição do atacante 137 pode ser mantido em um estado congelado porque o atacante 102 ainda não recebeu as informações de estado atualizadas na resposta de acerto 231 devido às latências no sistema. Além disso, quando em um período de pausa de acerto o atacante 102 pode ignorar atualizações de posição de transmissão normais do defensor 103. Portanto, o avatar local do defensor (ou seja, a posição do avatar do defensor como exibida na unidade de exibição do defensor 137') pode já ter começado a andar para trás, embora o avatar de proxy do defensor (ou seja, a posição do avatar do defensor como exibida na unidade de exibição do atacante 137) ainda está congelado. A transição para o período de animação de resposta 314 pode então ser feita uma vez que o atacante 102 recebe uma atualização que o período de pausa de acerto 313 é preenchido de acordo com as informações na sua tabela de acerto 235. Quando o atacante 102 finalmente faz a transição para o período de animação de resposta 314, o avatar local do defensor e avatar de proxy do defensor podem estar em posições diferentes. Portanto, o atacante 102 pode implementar uma ou mais ações a fim de unir os locais de avatar de proxy do defensor e a verdadeira posição do avatar local do defensor. A título de exemplo, e não como forma de limitação, depois de o atacante 102 ter concluído a suplementar pausa de acerto 316, o atacante 102 pode interpolar uma trajetória a partir da posição incorreta (isto é, onde avatar de proxy do defensor está localizado durante a pausa de acerto) que irá rapidamente fazer com o avatar de proxy do defensor convergir com a localização e a trajetória do avatar local do defensor. As condições necessárias para fazer a transição do período pausa de acerto 313 para o período de animação de resposta 314 com respeito ao observador 104 são substancialmente semelhantes às do atacante 102.
[0045] Quando em pausa de acerto em todas as máquinas para as quais o defensor é um objeto remoto de proxy (máquinas de observador e atacante), atualizações normais de posição da máquina de defensor podem ser ignoradas enquanto há pausa de acerto. Em seguida, quando a pausa de acerto é completada, a interpolação normal a partir da posição atual para a posição recentemente atualizado interpola rapidamente a partir da posição incorreta, de volta para a trajetória em que a defesa foi colocada, como resultado do resultado do ataque. Isto pode ser implementado por uma atualização de posição física em que fazemos tween da posição pausada para o caminho do defensor resultante do acerto. Atualizações de posição são comumente usadas em um jogo para sincronizar movimento do jogador. Basicamente, na máquina do defensor, o defensor já reagiu ao acerto. Na máquina do atacante a reação do defensor é adiada até a máquina do atacante saia de pausa. Como exemplo disso, imagine um bastão de beisebol que bate uma bola de beisebol secamente. A bola de beisebol (defensor) já está voando no ar do ponto de vista da bola de beisebol. A bola de beisebol é mantida congelada no bastão na máquina do batedor (do atacante) até que a máquina do batedor esteja pronta para sair da pausa de acerto. Então, conforme a bola de beisebol voa através do ar na máquina do batedor a posição da bola de beisebol é interpolada tal que rapidamente converge com a trajetória da bola já voando pelo ar na máquina da bola de beisebol.
[0046] Os mecanismos descritos anteriormente para a transição de um período de pausa de acerto 313 (ou um período de pausa de acerto suplementar 316) para o período de animação de resposta 314 também se aplicam quando há vários eventos de acerto 230 e respostas de acerto 231 salientes. Em muitos jogos com múltiplos jogadores um único jogador pode ser tanto um atacante e um defensor a qualquer momento, ou pode ser atacado por uma pluralidade de outros jogadores ao mesmo tempo. Portanto, ao determinar se devem fazer a transição de um período de pausa de acerto 313 para um período de animação de resposta 314, é importante analisar todos os períodos pendentes de pausa de acerto 313 e período suplementar de pausa de acerto 316. Por exemplo, se você é um atacante 102 que entregou um único evento de acerto 230 para um defensor 103, mas o defensor 103 foi atacado por outros jogadores em aproximadamente ao mesmo tempo, então você pode precisar esperar até que o defensor 102 indique que ele tenha saído de todas as pausas de acerto dos ataques próximos antes de você sair do período de pausa de acerto 313 também.
[0047] Como mostrado na FIG. 4, o atacante 102 e o defensor 103 podem ser configurados para implementar um método para ocultar as latências em um jogo com múltiplos jogadores de acordo com um método da invenção 400. Vários aspectos do método 400 podem ser implementados por execução de instruções executáveis por computador rodando no atacante 102 no defensor 103 e / ou no observador 104. Especificamente, um atacante 102 pode ser configurado, por exemplo, por uma programação adequada, para implementar certas instruções de atacante 481. Além disso, um defensor 103 pode ser configurado para executar certas instruções de defensor 482. Além disso, um observador 104 pode ser configurado para executar certas instruções de observador 483. Na FIG. 4 as setas tracejadas representam o fluxo de dados entre o atacante 102, o defensor 103, e / ou o observador 104 através da rede 160.
[0048] Inicialmente, em 484 o atacante 102 pode prever que as ações um ou mais de ataque iniciadas pelo atacante 102 irão provavelmente resultar em um ataque bem-sucedido contra o defensor 103. Em seguida, o atacante 102 pode gerar um evento de acerto 230 no bloco 485. O evento de acerto pode compreender uma ou mais ações de ataque e um identificador única de acerto. Além disso, o evento de acerto 230 pode ser armazenado numa tabela de acerto 235 localizada no atacante 102. O atacante 102 pode então entregar o evento de acerto 230 para o defensor 103 e o observador 104 no bloco 486. De modo a proporcionar mais tempo disponível para esconder potenciais latências nas transferências de dados entre o atacante 102 e o defensor 103, o atacante pode iniciar um modo de animação alterada em 488. O modo de animação alterada pode compreender a utilização de um período de pausa de acerto prolongado 315 e / ou adição de um período suplementar de pausa de acerto 316 após o período de pausa de acerto 313 ter expirado se é necessário mais tempo para esconder a latência. Enquanto o atacante 102 está no modo de animação alterada, o defensor 103 pode receber o evento de acerto 230 no bloco 487. O defensor 103 pode também armazenar o evento de acerto 230 numa tabela de acerto 235 localizada no defensor. Da mesma forma, o observador 104 pode receber evento 230 no bloco 487'e armazenar o evento de acerto em uma tabela de acerto local 235. Após o recebimento do evento de acerto, o defensor 103 pode determinar se o evento de acerto 230 irá resultar em um ataque bem-sucedido ou malsucedido no defensor103 no bloco 489. Depois de resolver o evento de acerto 230, o defensor pode gerar uma resposta de acerto 231 no bloco 490. A resposta de acerto 230 pode compreender informações de identificador de uma ou mais animações de resposta que devem ser apresentadas de acordo com o sucesso ou a falha de uma ou mais animações de ataque. A resposta de acerto 231 pode ainda compreender a identificador de acerto que foi associada com o evento de acerto 230. O defensor 102 pode também armazenar a resposta de acerto em sua tabela de acerto local 235. No bloco 491 o defensor 103 pode, então, entregar a resposta de acerto 231 para o atacante 102 e o observador 104 através da rede 160. O atacante 102 recebe a resposta de acerto 231 no bloco 492 e pode armazenar o evento de acerto 231 na tabela de acerto local do atacante 235. Da mesma forma, o observador 104 poderá receber a resposta de acerto 231 no bloco 492'e pode armazenar o evento de acerto 231 na tabela de acerto local do observador 235. A resposta de acerto 231 pode ser recebida pelo atacante 102 antes do período de pré-acerto estendido 316 ter terminado, durante o período de pausa de acerto 313, durante o período de pausa de acerto prolongada 316. Se a resposta de acerto 231 não foi recebida antes do período de pausa de acerto prolongado 316 ter expirado, então uma resposta de acerto presumida 231'pode ser gerada pelo atacante 102. A resposta de acerto presumida 231'pode idealmente, mas não necessariamente, presumir que as uma ou mais ações de ataque não produzem um ataque bem- sucedido. No bloco 493, o defensor 103 pode executar uma ou mais animações de resposta de acordo com a informação incluída na resposta de acerto 231. No bloco 494, o atacante 102 pode executar uma ou mais animações de resposta de acordo com a informação incluída na resposta de acerto 231. No bloco 494 'o observador 104 pode executar uma ou mais das animações de resposta de um modo substancialmente semelhante ao do atacante 102. Para cada uma das plataformas de dispositivo de cliente 102, 103 e 104 a transição do período de pausa de acerto 313 (ou o período de pausa de acerto prolongado 316) para o período de animação de resposta 314 pode ser feita uma vez que elas determinaram que, de acordo com suas informações locais, o período de pausa de acerto 313 (ou o período de pausa de acerto prolongada 316) concluiu, e que receberam a transmissão do defensor do 102 de que seu avatar local concluiu o período de pausa de acerto 313 também.
[0049] Como mostrado na FIG. 5A, um conjunto de instruções de atacante 581 pode ser implementado, por exemplo, pelo atacante 102. As instruções de atacante 581 podem ser formadas em um meio legível por computador tal como uma memória não transitória 132 ou o dispositivo de armazenamento de massa 134. As instruções de atacante 581 podem também ser parte do programa de controle do processo 133. Em 584 as instruções podem incluir instruções para prever que um ataque bem-sucedido será feito contra o defensor 102. Em seguida, em 585 o atacante 102 pode ser instruído para gerar um evento de acerto 230. As instruções 581 podem então ter o atacante 102 entregando o evento de acerto 230 para o defensor 103 e o observador 104. Em seguida, o atacante 102 pode ser instruído a iniciar um modo de animação alterada em 588. Em 593 ao atacante podem ser fornecidas instruções para receber uma resposta de acerto 231 do defensor 103. Finalmente, o atacante 102 pode ser instruído a executar uma ou mais animações de resposta de acordo com a resposta de acerto 231 em 594.
[0050] Como mostrado na FIG. 5B, um conjunto de instruções de defensor 582 pode ser implementado, por exemplo, pela defesa 103. As instruções de defensor 582 podem ser formadas em um meio legível por computador tal como uma memória não transitória 132'ou o dispositivo de armazenamento de massa 134'. As instruções de defensor 582 podem também ser parte do programa de controle do processo 133 '. Em 587 as instruções de defensor 582 podem incluir instruções para receber um evento de acerto 230 do atacante 102. Após o recebimento do evento de acerto 230, o defensor 103 pode ser instruído a resolver o caso de acerto 230 localmente, a fim de determinar se as uma ou mais ações de ataque que foram incluídas em caso de sucesso 230 resultam em um sucesso ou um ataque malsucedido contra o defensor 103 em 589. Em seguida, em 590 ao defensor 103 podem ser proporcionadas instruções para a geração de uma resposta de acerto 231. As instruções, em seguida, podem direcionar o defensor 102 a entregar a resposta de acerto 231 para o atacante 102 e o observador 103 em 591. Finalmente, em 493 o defensor 103 pode ser instruído a executar uma ou mais animações de resposta que podem estar presentes na resposta de acerto 231.
[0051] Como mostrado na FIG. 5C, um conjunto de instruções de observador 583 pode ser implementado, por exemplo, pelo observador 104. As instruções de defensor 583 podem ser formadas em um meio legível por computador tal como uma memória não transitória 132"ou o dispositivo de armazenamento em massa 134". As instruções de observador 583 podem também ser parte do programa de controle de processo 133". Em 587'as instruções de observador 583 pode incluir instruções para receber um evento de acerto 230 do atacante 102. Depois disso, em 592'o observador 104 pode ser instruído a receber uma resposta de acerto 231 do defensor 103. Finalmente, em 594'o observador 104 pode ser instruído a executar as uma ou mais animações resposta que podem estar presentes na resposta de acerto 231.
[0052] Embora o que veio acima seja uma descrição completa da modalidade preferida da presente invenção, é possível utilizar diversas alternativas, modificações e equivalentes. O escopo da invenção deve ser determinado não com referência à descrição acima, mas, em vez disso, deve ser determinado com referência às reivindicações anexas, juntamente com o escopo completo de equivalentes. Qualquer característica aqui descrita, se preferencial ou não, pode ser combinada com qualquer outra característica aqui descrita, se preferencial ou não. Nas reivindicações que se seguem, o artigo indefinido "um/uma" ou "uns/umas"refere-se a uma quantidade de um ou mais do item seguinte ao artigo, exceto quando expressamente indicado em contrário. As reivindicações anexas não devem ser interpretadas como abrangendo as limitações de meio-mais-função, a menos que tal limitação seja explicitamente recitada em uma determinada reivindicação usando a frase “significa para”.

Claims (10)

1. Método executado em uma plataforma de dispositivo de cliente de ataque (102), configurado para operar em uma rede (160) para esconder latência durante uma interação entre um primeiro avatar controlado pela plataforma de dispositivo de cliente de ataque e um segundo avatar controlado por uma plataforma de dispositivo de cliente de defesa (103) em um jogo multiplayer jogado em rede, caracterizadopelo fato de que compreende: a) prever que uma ou mais animações de ataque realizadas pelo primeiro avatar irão provavelmente resultar um ataque bem-sucedido contra o segundo avatar por determinar se, em qualquer quadro após o início da animação, haverá uma colisão entre o primeiro avatar e o segundo avatar, em que as uma ou mais animações de ataque incluem pelo menos um período de pré-acerto; b) uma vez que um ataque bem-sucedido provável é previsto, gerar um evento de acerto que corresponde a uma ou mais animações de ataque, em que o evento de acerto compreende um identificador de acerto (ID), que é único para o evento de acerto; c) entregar o evento de acerto para, pelo menos, a plataforma de dispositivo de cliente de defesa através da conexão de rede; d) iniciar um modo de animação alterada durante a exibição de uma ou mais animações de ataque na plataforma de dispositivo de cliente de ataque, em que o modo de animação alterada compreende pelo menos um período de pré-acerto estendido que substitui o período de pré-acerto; e) receber uma resposta de acerto a partir da plataforma do dispositivo de cliente de defesa através da conexão de rede em que a resposta de acerto é identificada com o mesmo ID de acerto que o evento de acerto; em que a resposta de acerto determina se um ataque bem-sucedido foi feito contra o segundo avatar; e em que a resposta de acerto inclui ainda informações identificando uma ou mais animações de resposta a serem exibidas uma vez que o período de animação resposta é iniciado; e f) iniciar o período de animação de resposta após a plataforma de dispositivo de cliente de ataque determinar que o primeiro avatar terminou de exibir a uma ou mais animações de ataque no modo de animação alterada e a plataforma de dispositivo de cliente de ataque ter recebido um sinal a partir da plataforma de dispositivo de cliente de defesa que indica que o segundo avatar iniciou o período de animação de resposta.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a resposta de sucesso é recebida antes do final da porção de pré- acerto prolongado de uma ou mais animações de ataque.
3. Método de acordo com a reivindicação 1, caracterizado pelo fato de que as uma ou mais animações de ataque ainda compreendem um período de pausa de acerto, em que o período de pausa de acerto começa após o período de pré-acerto estendido terminar.
4. Método de acordo com a reivindicação 3, caracterizado pelo fato de que a resposta de acerto é recebida após o período de pré-acerto estendido terminar.
5. Método de acordo com a reivindicação 4, caracterizado pelo fato de que o modo de animação alterada inclui ainda: um período de pausa de acerto suplementar, em que o período de pausa de acerto suplementar é adicionado após o período de pausa de acerto.
6. Método de acordo com a reivindicação 5, caracterizado pelo fato de que: (i) o período de pausa de acerto suplementar estende um período de tempo até que a resposta de acerto é recebida; ou (ii) o período de pausa de acerto suplementar estende um período de tempo até que um período de tempo pré-determinado tenha decorrido.
7. Método de acordo com a reivindicação 6, caracterizado pelo fato de que compreende adicionalmente: no caso de (ii), deletar todos os dados correspondentes à ID de acerto, e substituir a animação de resposta com uma animação de tempo limite esgotado quando o tempo limite pré-determinado tenha decorrido antes da resposta de acerto ser recebida.
8. Método de acordo com a reivindicação 7, caracterizado pelo fato de que a animação de esgotamento de tempo limite corresponde a um ataque perdido.
9. Plataforma de dispositivo de cliente de ataque (102) configurada para operar em uma rede (160), caracterizada pelo fato de que compreende: um processador (131); uma memória (132) acoplada ao processador; uma ou mais instruções (136) incorporadas na memória para executar um método pelo processador, as instruções sendo configuradas para esconder latência durante uma interação entre um primeiro avatar controlado pela plataforma de dispositivo de cliente de ataque e um segundo avatar controlado por uma plataforma de dispositivo de cliente de defesa (103) em um jogo multiplayer jogado através da rede, o método executado compreendendo: a) prever que uma ou mais animações de ataque realizadas pelo primeiro avatar irão provavelmente resultar em um ataque bem-sucedido contra o segundo avatar, por determinar se, em qualquer quadro após o início da animação, haverá uma colisão entre o primeiro avatar e o segundo avatar, em que as uma ou mais animações de ataque incluem pelo menos um período de pré-acerto; b) uma vez que um ataque bem-sucedido provável é previsto, gerar um evento de acerto que corresponde a uma ou mais animações de ataque, em que o evento compreende um identificador de acerto (ID), que é único para o evento de acerto; c) entregar o evento de acerto para, pelo menos, a plataforma de dispositivo de cliente de defesa através da conexão de rede; d) iniciar um modo de animação alterada durante a exibição de uma ou mais animações de ataque na plataforma de dispositivo de cliente de ataque, em que o modo de animação alterada compreende pelo menos um período de pré-acerto estendido que substitui o período de pré-acerto; e) receber uma resposta de acerto a partir da plataforma do dispositivo de cliente de defesa através da conexão de rede, em que a resposta de acerto é identificada com o mesmo ID de acerto que o evento de acerto; em que a resposta de acerto determina se um ataque bem-sucedido foi feito contra o segundo avatar; e em que a resposta de acerto inclui ainda informações identificando uma ou mais animações de resposta a serem exibidas uma vez que o período de animação resposta é iniciado; e f) iniciar o período de animação de resposta após a plataforma de dispositivo de cliente de ataque determinar que o primeiro avatar terminou de exibir uma ou mais animações de ataque no modo de animação alterada e a plataforma de dispositivo de cliente de ataque ter recebido um sinal a partir da plataforma de dispositivo de cliente de defesa que indica que o segundo avatar iniciou o período de animação de resposta.
10. Meio de armazenamento legível por computador, caracterizado pelo fato de que contém em si instruções armazenadas, as quais, quando executadas por um computador, fazem com que o computador realize o método conforme definido na reivindicação 1.
BR112015017980-0A 2013-01-29 2014-01-23 Método executado em uma plataforma de dispositivo de cliente de ataque, plataforma de dispositivo de cliente de ataque, e, meio de armazenamento legível por computador BR112015017980B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/753,391 2013-01-29
US13/753,391 US9674267B2 (en) 2013-01-29 2013-01-29 Methods and apparatus for hiding latency in network multiplayer games
PCT/US2014/012815 WO2014120558A1 (en) 2013-01-29 2014-01-23 Methods and apparatus for hiding latency in network multiplayer games

Publications (2)

Publication Number Publication Date
BR112015017980A2 BR112015017980A2 (pt) 2017-07-11
BR112015017980B1 true BR112015017980B1 (pt) 2021-09-21

Family

ID=51223529

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015017980-0A BR112015017980B1 (pt) 2013-01-29 2014-01-23 Método executado em uma plataforma de dispositivo de cliente de ataque, plataforma de dispositivo de cliente de ataque, e, meio de armazenamento legível por computador

Country Status (10)

Country Link
US (2) US9674267B2 (pt)
EP (1) EP2950899B1 (pt)
JP (1) JP6047670B2 (pt)
KR (1) KR101707639B1 (pt)
CN (1) CN105163823B (pt)
BR (1) BR112015017980B1 (pt)
CA (1) CA2898846C (pt)
MX (1) MX350373B (pt)
RU (1) RU2625074C2 (pt)
WO (1) WO2014120558A1 (pt)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674267B2 (en) 2013-01-29 2017-06-06 Sony Interactive Entertainment America, LLC Methods and apparatus for hiding latency in network multiplayer games
JP5602963B1 (ja) * 2014-01-30 2014-10-08 グリー株式会社 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
WO2018091860A1 (en) * 2016-11-15 2018-05-24 Space Ape Games (Uk) Ltd Latency-tolerant responsive real-time multiplayer networking for racing videogames
US10569168B2 (en) * 2017-05-24 2020-02-25 Nintendo Co., Ltd. Information processing system, apparatus, method, and storage medium storing program to address game delay between apparatuses
JP6927750B2 (ja) * 2017-05-24 2021-09-01 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および、情報処理方法
JP6979292B2 (ja) * 2017-06-28 2021-12-08 株式会社タイトー ゲーム機
CN109568963B (zh) * 2017-09-29 2021-12-03 腾讯科技(深圳)有限公司 虚拟资源数据处理方法、装置、计算机设备及存储介质
US10924525B2 (en) 2018-10-01 2021-02-16 Microsoft Technology Licensing, Llc Inducing higher input latency in multiplayer programs
US10576370B1 (en) * 2018-11-02 2020-03-03 Electronic Arts Inc. Client detection of game-state performance for triggering game assist
CN110099045B (zh) * 2019-04-08 2021-09-10 中国人民解放军战略支援部队信息工程大学 基于定性微分博弈和演化博弈的网络安全威胁预警方法及装置
CN110124309A (zh) * 2019-05-06 2019-08-16 腾讯科技(深圳)有限公司 虚拟角色控制方法和装置、存储介质及电子装置
JP2023011071A (ja) * 2021-07-11 2023-01-23 株式会社スクウェア・エニックス プラン処理プログラムおよびプラン処理システム
CN113633970B (zh) * 2021-08-18 2024-03-08 腾讯科技(成都)有限公司 动作效果的显示方法、装置、设备及介质
KR102318171B1 (ko) * 2021-08-26 2021-10-28 티니스튜디오 주식회사 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버
KR102365155B1 (ko) * 2021-08-26 2022-02-18 티니스튜디오 주식회사 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버
KR102374592B1 (ko) * 2021-08-26 2022-03-16 티니스튜디오 주식회사 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577180A (en) 1995-01-05 1996-11-19 The 3Do Company Zone data streaming for 3-dimensional video environment
WO1998014886A1 (en) 1996-09-30 1998-04-09 Sandcastle, Inc. Synchronization of events occurring over a network in the presence of latency
JP3324735B2 (ja) 1997-07-15 2002-09-17 コナミ株式会社 ゲームシステム及びゲーム用プログラムが記録されたコンピュータ読取可能な記録媒体
AU8496398A (en) 1997-07-18 1999-02-10 Net Exchange, Inc. Apparatus and method for effecting correspondent-centric electronic mail
US6330636B1 (en) * 1999-01-29 2001-12-11 Enhanced Memory Systems, Inc. Double data rate synchronous dynamic random access memory device incorporating a static RAM cache per memory bank
US6415317B1 (en) * 1999-10-01 2002-07-02 Joshua Michael Yelon Software system for reducing the appearance of latency in a multi-user environment
EP1197251A3 (en) 2000-10-10 2004-01-02 Hasbro Inc. Wireless interactive electronic toy
US7244181B2 (en) 2000-11-14 2007-07-17 Netamin Communication Corp. Multi-player game employing dynamic re-sequencing
US20030177187A1 (en) 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US6475090B2 (en) * 2001-03-29 2002-11-05 Koninklijke Philips Electronics N.V. Compensating for network latency in a multi-player game
JP3412693B2 (ja) * 2001-06-28 2003-06-03 株式会社コナミコンピュータエンタテインメント大阪 ネットワークゲーム進行制御システム、ネットワークゲーム進行制御方法及びネットワークゲーム進行制御プログラム
US7222187B2 (en) 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
JP3866603B2 (ja) 2002-03-29 2007-01-10 株式会社コナミデジタルエンタテインメント 通信ゲームシステム及びゲームプログラム
US20030217135A1 (en) 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US20050071306A1 (en) 2003-02-05 2005-03-31 Paul Kruszewski Method and system for on-screen animation of digital objects or characters
GB0302926D0 (en) 2003-02-08 2003-03-12 Grex Games Ltd System architecture and engine for massively multi-user operation
JP2004267554A (ja) * 2003-03-10 2004-09-30 Square Enix Co Ltd コンピュータゲームにおけるオブジェクトのパラメータ制御方法、このための装置、ゲーム機、コンピュータプログラム、および記憶媒体
US7549924B2 (en) 2003-05-09 2009-06-23 Microsoft Corporation Instant messaging embedded games
JP2005034303A (ja) * 2003-07-18 2005-02-10 Sega Corp ネットワークゲームシステムおよびネットワークゲーム処理方法
FR2875009B1 (fr) 2004-09-03 2006-10-13 Siemens Vdo Automotive Sas Procede de connexion de charges electriques a des bornes d'un amplificateur, et de detection d'un eventuel defaut de connexion de ces charges
US20060135258A1 (en) * 2004-12-17 2006-06-22 Nokia Corporation System, network entity, client and method for facilitating fairness in a multiplayer game
KR100508875B1 (ko) * 2005-01-14 2005-08-17 엔에이치엔(주) 실시간 온라인 게임에서의 동적 공격량 조절시스템 및 방법
JP4754243B2 (ja) 2005-03-15 2011-08-24 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
JP4047874B2 (ja) * 2005-06-28 2008-02-13 株式会社コナミデジタルエンタテインメント ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム
US20070298879A1 (en) * 2005-06-30 2007-12-27 Konami Digital Entertainment Co., Ltd. Game Device
US20070265094A1 (en) 2006-05-10 2007-11-15 Norio Tone System and Method for Streaming Games and Services to Gaming Devices
US9104962B2 (en) 2007-03-06 2015-08-11 Trion Worlds, Inc. Distributed network architecture for introducing dynamic content into a synthetic environment
KR20090021871A (ko) 2007-08-28 2009-03-04 주식회사 네오플 캐릭터 능력 값 보정 방법 및 서버
US8257173B2 (en) 2008-02-05 2012-09-04 Disney Enterprises, Inc. System and method for driving artificial intelligence (AI) characters having continuous reevaluation of current goals and navigation path
JP5519130B2 (ja) 2008-07-16 2014-06-11 株式会社バンダイナムコゲームス プログラム、ゲーム機
US20100056275A1 (en) 2008-09-04 2010-03-04 United States Of America As Represented By The Secretary Of The Army Massively Multiplayer Online Game Technologies
US9457270B2 (en) 2009-11-09 2016-10-04 Sony Interactive Entertainment America Llc Level server system for peer-to-peer cooperative games
US8805773B2 (en) 2010-09-03 2014-08-12 Sony Computer Entertainment America, LLC Minimizing latency in network program through transfer of authority over program assets
US20120142429A1 (en) 2010-12-03 2012-06-07 Muller Marcus S Collaborative electronic game play employing player classification and aggregation
US8562443B2 (en) * 2011-09-02 2013-10-22 Zynga Inc. Semi-synchronous multi-participant application updates
US20130095931A1 (en) 2011-10-18 2013-04-18 Sony Computer Entertainment America Llc Data management for computer systems
US9674267B2 (en) 2013-01-29 2017-06-06 Sony Interactive Entertainment America, LLC Methods and apparatus for hiding latency in network multiplayer games

Also Published As

Publication number Publication date
EP2950899B1 (en) 2018-11-14
KR20150103199A (ko) 2015-09-09
CN105163823B (zh) 2018-09-11
JP6047670B2 (ja) 2016-12-21
WO2014120558A1 (en) 2014-08-07
RU2625074C2 (ru) 2017-07-17
CA2898846A1 (en) 2014-08-07
CN105163823A (zh) 2015-12-16
MX2015009741A (es) 2016-03-31
US9674267B2 (en) 2017-06-06
US20170259174A1 (en) 2017-09-14
BR112015017980A2 (pt) 2017-07-11
KR101707639B1 (ko) 2017-02-16
EP2950899A1 (en) 2015-12-09
US10004989B2 (en) 2018-06-26
RU2015131040A (ru) 2017-03-03
EP2950899A4 (en) 2017-02-22
CA2898846C (en) 2020-04-21
US20140213367A1 (en) 2014-07-31
MX350373B (es) 2017-09-04
JP2016511018A (ja) 2016-04-14

Similar Documents

Publication Publication Date Title
BR112015017980B1 (pt) Método executado em uma plataforma de dispositivo de cliente de ataque, plataforma de dispositivo de cliente de ataque, e, meio de armazenamento legível por computador
US10912998B2 (en) Network game system for executing event in network game
US10456680B2 (en) Determining play of the game based on gameplay events
JP6995117B2 (ja) 仮想的シーンにおける通知方法、関連装置、およびコンピュータ記憶媒体
US8636589B2 (en) Systems and methods that enable a spectator's experience for online active games
US20200376381A1 (en) Posture adjustment method and apparatus, storage medium, and electronic device
US11534683B2 (en) Multi-user game system with character-based generation of projection view
JP7451563B2 (ja) 仮想キャラクタの制御方法並びにそのコンピュータ機器、コンピュータプログラム、及び仮想キャラクタの制御装置
JP6675692B2 (ja) ゲームシステム、ゲーム端末、及びプログラム
TW201034727A (en) Game device, method for controlling game, information recording medium, and program
JP6405479B1 (ja) ゲームシステム、ゲーム端末、及びプログラム
JP7437152B2 (ja) プログラム、端末装置及びシステム
JP7256854B2 (ja) ゲームのためのプログラム、方法及び電子装置
JP2023030220A (ja) ゲームのためのプログラム、方法及び電子装置
JP2019141563A (ja) ゲームシステム、ゲーム端末、及びプログラム
JP2021100462A (ja) ゲームシステム、端末装置、ゲーム方法、ゲームプログラム及びゲームサーバ
JP2019141266A (ja) ゲームシステム、ゲーム制御装置、及びプログラム

Legal Events

Date Code Title Description
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]
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 23/01/2014, OBSERVADAS AS CONDICOES LEGAIS.