BR112014026924B1 - Sistema de jogo - Google Patents

Sistema de jogo Download PDF

Info

Publication number
BR112014026924B1
BR112014026924B1 BR112014026924-6A BR112014026924A BR112014026924B1 BR 112014026924 B1 BR112014026924 B1 BR 112014026924B1 BR 112014026924 A BR112014026924 A BR 112014026924A BR 112014026924 B1 BR112014026924 B1 BR 112014026924B1
Authority
BR
Brazil
Prior art keywords
game
golf
swing
data
mobile device
Prior art date
Application number
BR112014026924-6A
Other languages
English (en)
Other versions
BR112014026924A2 (pt
Inventor
Mark Jeffery
Manoj Rana
Robert S. Komorous-King
Original Assignee
Aquimo, 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 Aquimo, Llc filed Critical Aquimo, Llc
Publication of BR112014026924A2 publication Critical patent/BR112014026924A2/pt
Publication of BR112014026924B1 publication Critical patent/BR112014026924B1/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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • 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/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • 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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • 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/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/537Controlling 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 using indicators, e.g. showing the condition of a game character on screen
    • 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/812Ball games, e.g. soccer or baseball
    • 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/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • 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/10Features 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 input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features 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 input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
    • 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/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/406Transmission via wireless network, e.g. pager or GSM
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Pinball Game Machines (AREA)

Abstract

SISTEMA DE JOGO E MÉTODO Trata-se de uma plataforma de jogo distribuída (100) em que dispositivos móveis (10) (por exemplo, um telefone inteligente) com sensores de movimento são usados como controladores de entrada de um jogo. Um mecanismo de regras de jogo com base na nuvem (110) gerencia múltiplos jogadores e o conteúdo para exibir no jogo. A saída do jogo é exibida em qualquer visor habilitado para a Web (20) o qual é distinto fisicamente do dispositivo móvel (10). Múltiplos jogadores podem jogar simultaneamente o mesmo jogo, ou jogos diferentes, em múltiplas localizações geográficas.

Description

REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[001] Este pedido reivindica o benefício do Pedido Provisório no U.S. 61/641.825 de Jeffery et al., intitulado WEB-BASED SPORTS GAME PLATFORM WITH MOBILE PHONE MOTION SENSOR INPUT, depositado em 2 de maio de 2012, cujo conteúdo é incorporado ao presente documento por referência. Este pedido também é relacionado ao Pedido de Patente no U.S. 13/269.534 de Jeffery, depositado em 7 de outubro de 2011, e intitulado "Method and system for dynamic assembly of multimídia presenteation threads"; Pedido de Patente no U.S. 13/655.366 de Jeffery et al., intitulado Method and system to analyze sports motions using motion sensors of a mobile device, depositado em 18 de outubro de 2012; e Pedido de Patente no U.S. 13/659.774 de Jeffery et al., intitulado Method to provide dynamic customized sports instruction responsive to motion of a mobile device, depositado em 24 de outubro de 2012; cujos conteúdos são incorporados ao presente documento por referência em sua totalidade.
FUNDAMENTOS DA INVENÇÃO 1. CAMPO DA INVENÇÃO
[002] A presente invenção se refere ao campo de jogos de computador, e mais particularmente, a uma plataforma de jogo distribuída baseada em Web com entrada de sensor de movimento de dispositivo móvel.
2. DESCRIÇÃO DA TÉCNICA RELACIONADA
[003] Existe extensiva técnica anterior em jogos de vídeo, que remonta ao primeiro jogo de Pong em 1972, onde com um controlador muito simples os usuários batem uma "bola" (um ponto na tela) indo e voltando com "raquetes" (duas linhas curtas que deslizam para cima e para baixo) em uma tela monocromática. Os controladores e consoles de jogo têm avançado consideravelmente nos últimos 40 anos. O PlayStation Move, por exemplo, tem personalizado controladores para golfe (Tiger Woods Golf) e tênis (Grand Slam Tennis), ou luta (The Fight), em que o console de jogo custa aproximadamente US$ 250 e controladores personalizados US$ 70 adicionais. O controlador Move, por exemplo, usa uma câmera e captura movimento através de um controlador Bluetooth com sensores de luz infravermelha. O Xbox 360 Kinect não usa apenas um controlador físico, como movimentos do corpo do jogador são capturados através de três, 3-D câmeras e algoritmos sofisticados de reconhecimento de padrão. O Wii, PlayStation, e Xbox 360 têm capacidade de rede para desse modo habilitar jogos multijogador através de suas redes online integradas.
[004] Muitos jogos baseados em computador pessoal usam um teclado e/ou mouse de um computador como o controlador. No World of Warcraft, por exemplo, usando-se o teclado para comunicação, os usuários clicam seus caracteres e funções na tela para controlar os movimentos de soldados quando os mesmos se movem, lutam, e constroem. No Gameloft Let's Golf 3 e World PGA Tour Golf, os jogadores clicam uma "barra deslizante" para controlar o balanço de um personagem avatar de golfista. Embora esses jogos dispensem a necessidade de comprar controladores caros, os mesmos podem ser difíceis para controlar usando um teclado e/ou um mouse. Isto é particularmente evidente em jogos de alta habilidade tais como o golfe onde um balanço ideal para bater a bola requer um movimento multidimensional do corpo que combina um balanço do braço, giro do quadril e ombro, articulação do punho, deslocamento do quadril, rotação do antebraço e curso do balanço de dentro para fora, visto que cada um dos quais feito incorretamente resulta em uma tacada abaixo do ideal. De fato, simplesmente não é possível simular a dinâmica completa de um balanço de golfe usando um teclado e/ou um mouse.
[005] O controlador Nintendo Wii é conectado através de uma conexão Bluetooth ao console de jogo e determina aceleração em três eixos usando um acelerômetro ADXL330. O Wii remoto também apresenta um sensor ótico PixArt, que em combinação com uma Barra Sensora de 10 LEDS, conectada fisicamente ao console de jogo, permite a determinação de onde o Remoto Wii está apontando. Uma companhia Taiwanesa, ASRock, reivindica o uso de sensores de movimento de iPhone para simular o controlador para um jogo Nintendo Wii, para que os usuários possam jogar jogos existentes baseados em Wii ou PC usando um iPhone como um controlador de jogo. O iPhone é conectado usando Bluetooth ou uma rede WiFi ao console de jogo. Isso reduz o custo do controlador, mas os usuários ainda precisam do console de jogo ou de uma placa mãe de hardware específica de controlador de jogo em seus computadores pessoais. A instalação do software da ASRock também é desafiadora e existem algumas questões de usabilidade.
[006] Observe-se que o controlador Nintendo Wii, ou controlador simulado ASRock Wii usando um iPhone, fornece dados que não são uma representação precisa de muitos movimentos esportivos, tais como um balanço de golfe, um balanço de beisebol ou um Serviço de tênis. Isto é, o controlador Wii pode fornecer apenas aproximações grosseiras para muitos movimentos dos esportes. Por exemplo, o mesmo pode detectar se você fez um movimento de balanço de golfe, e aproximadamente quão forte você balançou, mas o método não pode calcular precisamente a velocidade no impacto ou o ângulo preciso da cabeça do taco durante o impacto.
[007] O Pedido de Patente Publicado no U.S. 2010/0069158 de Kim revela um método para multijogador em jogos de cartas e de tabuleiro tais como os Coreanos Hwatu e Mah-Jong com telefones móveis, um servidor de jogo, e um console de jogo conectado a um dispositivo de exibição. Entretanto, Kim requer explicitamente um console de jogo cabeado fisicamente ao dispositivo de exibição, tem entrada de dados de tecla simples (dados ASCII) a partir dos dispositivos móveis não adequados para uso para controle realístico de jogos de esportes, tal como golfe, e os telefones móveis precisam ser conectados ao console de jogo (por exemplo, através de Bluetooth, infravermelho ou uma conexão sem fio de LAN).
[008] A Patente no U.S. 8.019.878 de Allen et al. descreve um método para controlar um navegador de Web em uma rede de área local (LAN) com um dispositivo móvel a fim de criar um jogo. Entretanto, o método é limitado a dispositivos conectados na mesma LAN e requer conexão direta do dispositivo móvel com o navegador de Web na LAN e transferir por download um software conector para o navegador de Web, o qual não trabalha em TVs habilitadas para Web disponíveis correntemente.
[009] Existem limitações significativas nos jogos de vídeo da técnica anterior. No caso dos jogos baseados em console, o custo de propriedade total para o usuário é significativo (pelo menos $250 para a plataforma para suportar um único jogo, com jogos individuais custando aproximadamente $70 cada e controladores custando $70 adicionais). Talvez essa seja uma razão pela qual as vendas de jogos baseados em console têm ficado estagnadas por vários anos. A entrada típica de usuário de jogos para PC, tablet ou com base em telefone móvel, é através de um teclado de computador ou tela sensível ao toque, e esta interface não é ideal para jogos que envolvem movimentos esportivos do corpo, tal como golfe, beisebol, boliche ou tênis.
SUMÁRIO DA INVENÇÃO
[010] De acordo com os sistemas e métodos da presente invenção, é fornecida uma plataforma de jogo distribuída em que são usados dispositivos móveis com sensores de movimento como controladores de entrada de um jogo. Um servidor de jogo com base na nuvem gerencia múltiplos jogadores e o conteúdo para exibir no jogo. A saída do jogo é exibida em qualquer visor habilitado para a Web que seja fisicamente distinto do dispositivo móvel. Múltiplos jogadores podem jogar o mesmo jogo, ou jogos diferentes simultaneamente em múltiplas localizações geográficas.
[011] Uma característica notável da presente invenção é que cada usuário estabelece duas conexões de Internet simultâneas separadas: uma a partir do dispositivo móvel do usuário para um mecanismo de regras de jogo com base na nuvem, e a outra a partir do visor habilitado para a Web para o mecanismo de regras de jogo. Embora não exigido, também pode haver uma conexão a partir do dispositivo móvel diretamente para o dispositivo de exibição, se o dispositivo móvel e o dispositivo de exibição estiverem na mesma rede de área local (LAN) sem fio. Esta conexão opcional tem a vantagem de reduzir a latência para o usuário e o dispositivo de exibição. Isto é, onde o dispositivo de exibição está na mesma rede de área local (LAN) que o dispositivo móvel, passar dados de balanço diretamente para o dispositivo de exibição através da LAN é mais rápido do que enviar os dados através de múltiplos roteadores para um servidor remoto e então de volta através de múltiplos roteadores para o dispositivo de exibição.
[012] Além disso, é empregada uma arquitetura distribuída com três níveis de processamento computacional: movimentos do corpo são analisados usando o processador do dispositivo móvel, o mecanismo de regras de jogo com base na nuvem gerencia múltiplos jogadores, analisa interações do jogador, armazena e analisa históricos de movimento do jogador, e envia (ou permite a retirada de) conteúdo de jogo para cada dispositivo de exibição, e o próprio dispositivo de exibição processa a lógica de jogo local e gera animações usando uma lógica de jogo leve enviada do mecanismo de regras de jogo com base na nuvem.
[013] Existem pelo menos três vantagens significativas da presente abordagem:
[014] Não é necessário nenhum equipamento adicional. Até 2015, haverá acima de um bilhão de telefone inteligentes no mundo, e todos esses novos telefones terão sensores de movimento. O sistema revelado neste documento é significativamente mais barato do que um console de jogo convencional, e no futuro próximo, o usuário médio terá todo o equipamento necessário: um dispositivo móvel com sensores de movimento e um visor habilitado para a Web.
[015] Um teclado de computador, mouse, ou tela sensível ao toque não é necessário para controlar o jogo. A abordagem de teclado é particularmente irrealista para movimentos esportivos de jogos tais como golfe, beisebol ou tênis. Para golfe, tênis ou beisebol, por exemplo, existe uma experiência mundial significativamente mais real balançando um telefone para bater uma bola virtual exibida em uma TV habilitada para Web, em vez de bater uma tecla em um teclado ou clicar um mouse. Além disso, controladores de jogo de Wii e captura de movimento do corpo baseada em vídeo são não particularmente precisos, e correntemente não permitem análise precisa de um balanço de golfe, por exemplo, apenas movimento grosseiro.
[016] Os consoles de jogo, tais como um Wii ou Xbox, habilitam gerar gráfico rico de objetos tridimensionais e têm a capacidade computacional equivalente a um supercomputador de alto desempenho, tal como um Cray Y-MP, dos anos 1990. O sistema revelado habilita jogos multijogador simultâneos em múltiplas localizações geograficamente dispersas sem comprar um console de jogo ou computador pessoal com um processador gráfico de alto desempenho. Os jogos revelados são projetados especificamente para trabalhar em qualquer dispositivo habilitado para a Web, com relativamente baixa capacidade computacional, e têm conteúdo de gráficos rico que atualmente é uma melhoria para alguns jogos de console, tais como Tiger Woods PGA Golf.
[017] Além disso, para implantar a plataforma de jogo distribuída baseada em Web revelada pelo menos cinco inovações técnicas significativas são utilizadas:
[018] um método para capturar dados brutos de movimento precisamente a partir de sensores de dispositivo móvel, analisar esses dados no dispositivo móvel, e transmitir os dados analisados de uma forma que habilita uma conexão de latência baixa;
[019] um método para reduzir sistematicamente a largura de banda e latência da mídia de exibição de jogos, enviados a partir do mecanismo de regras de jogo para o dispositivo de exibição habilitado para Web, e para enfileirar conteúdo para armazenamento em memória temporária no visor habilitado para Web para desse modo minimizar utilização de largura de banda e latência;
[020] um método para aprimorar a mídia de exibição de jogos para dispositivos de exibição específicos para desse modo simular o mundo real, ao mesmo tempo em que otimizando para a largura de banda e resolução do dispositivo de exibição;
[021] um método para a distribuição de computações de modo que o dispositivo móvel, mecanismo de regras de jogo, e visor habilitado para a Web idealmente analisam movimentos de jogo, multijogadores, regras de jogo, e respectivas animações de exibição de saída em uma arquitetura de processamento distribuída; e
[022] um método para que o mecanismo de regras de jogo e dispositivo de exibição detectem entradas de usuário que podem usar ou consulta periódica de um banco de dados de usuário ou uma arquitetura orientada a eventos, em que os dispositivos móveis publicam eventos de balanço, e o mecanismo de jogo e dispositivo de exibição subscrevem para eventos específicos para usuários específicos.
[023] Esses e outros aspectos, características, e vantagens da presente invenção ficarão evidentes a partir da descrição detalhada de modalidades preferidas a seguir, que deve ser lida em conexão com os desenhos em anexo.
BREVE DESCRIÇÃO DOS DESENHOS
[024] A Figura 1 ilustra vários tipos de movimento rotacional de um dispositivo móvel;
[025] A Figura 2 ilustra uma arquitetura exemplificativa para uma plataforma de jogo distribuída multijogador, de acordo com uma modalidade da presente invenção;
[026] A Figura 3 ilustra uma exemplificativa modalidade da arquitetura de plataforma de jogo multijogador, de acordo com uma modalidade da presente invenção;
[027] As Figuras 4(a) a (e) ilustram várias experiências de usuário em uma modalidade preferida de um jogo de golfe da presente invenção;
[028] A Figura 5 ilustra uma modalidade exemplificativa da plataforma de jogo multijogador para um jogo de golfe, de acordo com uma modalidade da presente invenção;
[029] As Figuras 6(a) e (b) ilustram a divisão do buraco de golfe em segmentos que correspondem a imagens digitais, de acordo com uma modalidade da presente invenção;
[030] As Figuras 7(a) e (b) ilustram a inclinação longitudinal e transversal do dispositivo móvel durante um exemplo de balanço de golfe completo útil para determinar precisão do balanço;
[031] As Figuras 8 (a) e (b) ilustram o uso de dados de inclinação longitudinal do dispositivo móvel para determinar o ponto de impacto e a velocidade da cabeça do taco de golfe através do ponto de impacto;
[032] As Figuras 9(a) e (b) ilustram o uso de inclinação longitudinal e orientação do dispositivo móvel durante um exemplo de balanço de golfe completo para determinar o ponto de impacto;
[033] A Figura 10 ilustra o uso de animações em camadas, cinemagráfico, e/ou sprite para aprimorar o realismo de uma imagem digital, de acordo com uma modalidade da presente invenção;
[034] As Figuras 11(a) a (c) ilustram mudanças na inclinação longitudinal, orientação e inclinação transversal do dispositivo móvel durante um exemplo de balanço de tênis ou balanço de golfe horizontal sentado;
[035] As Figuras 12(a) a (c) ilustram orientação, inclinação transversal e inclinação longitudinal para um balanço de beisebol; e
[036] As Figuras 13(a) a (c) ilustram inclinação longitudinal, inclinação transversal e orientação para um movimento de boliche.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[037] Como usado neste documento, um dispositivo móvel se refere a um dispositivo portátil que tem um microprocessador, memória, e sensores de movimento integrados. Exemplos desses dispositivos móveis incluem o iPhone da Apple, iPod da Apple e telefone inteligente Samsung Galaxy. Deve ser entendido que esses dispositivos móveis mencionados neste documento são destinados apenas a propósitos ilustrativos.
[038] Como usado neste documento, um dispositivo de exibição refere-se a qualquer visor conectado a Internet capaz de exibir graficamente uma página de Web.
[039] Como usado neste documento, uma imagem se refere a qualquer elemento gráfico visualmente perceptível incluindo, porém, sem limitação, uma fotografia, um sprite, um cinemagráfico, um vídeo, uma imagem matricial ou vetorial, uma animação, e outros objetos visuais gerados por mecanismos gráficos, e combinações dos mesmos.
[040] Como usado neste documento, utilização de largura de banda se refere à quantidade de dados que pode ser passada ao longo de um canal de comunicações em um dado período de tempo.
[041] Como usado neste documento, latência se refere ao atraso de tempo entre transmissão e recepção de dados.
[042] Como usado neste documento, ponto de calibração se refere à localização no tempo e espaço do dispositivo móvel em uma posição de configuração antes do início de um movimento esportivo.
[043] Como usado neste documento, ponto de impacto se refere à localização no tempo e espaço de impacto com um objeto virtual.
[044] Como usado neste documento, ponto de liberação se refere à localização no tempo e espaço da liberação de um objeto virtual.
[045] Em alguns esportes, tais como golfe, o ponto de impacto e ponto de liberação podem ser a mesma localização física no tempo e espaço. Entretanto, em outros esportes o ponto de impacto e ponto de liberação podem não coincidir. Por exemplo, em lacrosse a bola é pega por um longo bastão com punho (a bola impacta o bastão de lacrosse no ponto de impacto) e então é posteriormente arremessada do bastão de uma localização diferente (no ponto de liberação). Além disso, em alguns esportes existe apenas um ponto de liberação uma vez que não existe um ponto de impacto. Por exemplo, em pesca com mosca o ponto de liberação ocorre por um movimento súbito do pulso que transmite momento angular para a vara de pescar, o que acima de certo máximo valor faz com que o anzol com contrapeso se libere da vara.
[046] A Figura 1 ilustra vários tipos de rotacional movimento medidos pelos sensores de movimento de um dispositivo móvel 10. Esses sensores incluem um acelerômetro para captura de dados de aceleração X, Y e Z (expressos em G's ao longo de um eixo geométrico respectivo), e um giroscópio para medir inclinação longitudinal, inclinação transversal e orientação do dispositivo móvel 10 quando o mesmo se move (expresso em radianos com respeito a um eixo geométrico respectivo). Atualmente, os sensores de movimento tiram amostras em aproximadamente 100 vezes por segundo (100 hertz), com estes dados disponibilizados (ou consultando-se ou tendo-se os dados enviados) para uma aplicação carregada no dispositivo móvel 10. Um giroscópio representativo utilizável em juntamente com a presente invenção é o giroscópio L3G4200D fabricado por STMicroelectronics, Inc. Entretanto, deve ser entendido que a presente invenção não é limitada à tecnologia de sensor de movimento correntemente disponível.
[047] A Figura 2 ilustra uma arquitetura de uma plataforma de jogo exemplificativa 100, de acordo com uma modalidade da presente invenção. Como mostrado, os três componentes principais da plataforma de jogo 100 são os dispositivos móveis 10, um servidor de jogo 110, e dispositivos de exibição 20. O servidor de jogo 110 inclui um mecanismo de regras de jogo 115 que gerencia uma pluralidade de jogos sendo jogados. Como mostrado, o mecanismo de regras de jogo 115 tem acesso a um banco de dados de usuário 116, um banco de dados de recurso de jogo 117, e um arquivo de banco de dados de arquivos de movimento 118. O banco de dados de usuário 116 armazena informações de acesso e informações de jogo. Para golfe, as informações de jogo podem incluir dados de balanço para cada balanço feito durante o jogo, a pontuação corrente do jogador, número do buraco de golfe corrente, taco de golfe selecionado corrente, etc. O banco de dados de recurso de jogo 117 pode incluir conteúdo gráfico para simular o jogo no dispositivo de exibição 20. Por exemplo, para golfe, o banco de dados de recursos de jogos 117 pode incluir uma pluralidade de imagens 2-D ou vídeos de partes de cada um dos buracos de golfe indexados de modo que imagens possam ser recuperadas baseadas em qual segmento de um buraco de golfe a bola de golfe virtual é projetada para aterrissar. Como será descrito em mais detalhe, o banco de dados de recurso de jogo 117 também pode incluir vários outros elementos gráficos (tais como cinemagráficos, vídeos e sprites) para aprimorar a experiência do jogo. Os arquivos do banco de dados de arquivos de movimento 118 incluem dados históricos de movimento para análise de longo prazo, por exemplo, para golfe, dados de precisão de movimento de balanço para comparações longitudinais de balanço, melhoria da consistência de putting e chipping.
[048] Em a modalidade ilustrada, o servidor de jogo 110 é com base na nuvem o que permite conectividade global através da Internet 150. Para cada usuário, o dispositivo móvel do usuário 10 e o dispositivo de exibição 20 podem ser conectados simultaneamente ao servidor de jogo 110 através de conexões de Internet separadas e distintas. O dispositivo móvel 10 transmite dados, incluindo dados de movimento analisados para o servidor de jogo 110; por sua vez, o servidor de jogo 110, facilita a exibição de mídia de jogo no visor 20 através de uma conexão de Internet separada. Em uma modalidade, um mecanismo de lógica de jogo leve 120, na forma de um software de aplicação, pode ser enviado para um adequado dispositivo visor habilitado para a Web 20 onde uma quantidade substancial da lógica do mecanismo de regras de jogo 115 está codificado, e o mecanismo de lógica de jogo 120 então pode realizar muito do trabalho que de outra forma é realizado diretamente no servidor de jogo 110.
[049] Em uma modalidade, um dispositivo móvel do usuário 10 e dispositivo de exibição 20 podem ser conectados opcionalmente, através de uma rede de área local (LAN) na mesma rede representada pela linha tracejada 75 na Figura 2. A conexão de LAN permite latência muito baixa entre movimentos e exibições de animação do jogo para os usuários na mesma localização geográfica. Nessa modalidade, os dados de movimento passam diretamente do dispositivo móvel 10 para o dispositivo de exibição 20 e para o servidor de jogo 110 a fim de habilitar jogos multijogador em diferentes localizações geográficas (não na mesma LAN física). Dados de movimento são transmitidos de cada dispositivo móvel 10 para o servidor de jogo 110 através da Internet 150, onde os mesmos são usados para atualizar os dispositivos de exibição 10 e/ou 20 dos outros jogadores no jogo. A conexão de LAN 75 habilita passagem de dados muito rápida (milissegundo) para um dispositivo de exibição 20 na mesma LAN que o dispositivo móvel 10, acelerando o jogo para aquele jogador particular. Assim, por exemplo, balançar o dispositivo móvel 10 resultará na aparição de um voo da bola quase instantâneo no dispositivo de exibição 20 quando ambos estiverem conectados na mesma LAN, versus um apreciável (por exemplo, um terço de um segundo) atraso para dados transmitidos para o servidor de lógica de jogo e então encaminhados para o dispositivo de exibição 20 através de uma conexão não local.
[050] Quando o dispositivo de exibição é um computador pessoal (PC), TV habilitada para Web, tablet, ou dispositivo computacional similar, uma conexão pode ser obtida instalando-se um conector de navegador de Web adequado. Preferencialmente, será exigido que o usuário clique em um "botão de autorização" para instalar o conector e habilitar pesquisar a LAN por um dispositivo móvel 10 e comunicar com o dispositivo 10. Alternativamente, o programa pode ser um navegador de Web personalizado configurado para "ouvir" a rede local, de modo que o conector é efetivamente embutido. iPad, Android, e navegadores de Web de Web TV atuais não suportam funcionalidade de conector; entretanto é antecipado que no futuro próximo alguns desses dispositivos se tornarão plataformas mais abertas e habilitarão conexões similares. Para as plataformas iPad e Android, podem ser escritas apps personalizadas que são essencialmente camadas externas em volta de um navegador de Web com o conector incorporado. Assim, pode ser feita uma conexão direta de LAN a um dispositivo móvel 10 para uma grande variedade de plataformas de dispositivos de exibição habilitados para Web.
[051] A Figura 3 ilustra uma modalidade exemplificativa da arquitetura da plataforma de jogo multijogador, de acordo com uma modalidade da presente invenção. O dispositivo móvel 10 e o dispositivo de exibição habilitado para Web 20 podem estar na mesma localização geográfica ou em localizações diferentes. A comunicação entre o dispositivo móvel 10 e o dispositivo de exibição habilitado para Web 20 ocorre através do uso de consulta longa, tal como um WebSocket. Como mostrado, duas conexões de consulta longa diferentes 180 são estabelecidas entre o dispositivo móvel 10 e o servidor de jogo 110, e o servidor de jogo 110 e o dispositivo de exibição 20. O servidor de jogo 110 emprega uma pluralidade de portas de consulta 130 para desse modo suportar uma pluralidade de usuários e dispositivos de exibição.
[052] Na a descrição seguir da presente invenção, são revelados métodos exemplificativos para realizar vários aspectos da presente invenção. Deve ser entendido que os métodos e sistemas da presente invenção revelados neste documento podem ser realizados executando-se código de programa de computador escrito em uma variedade de linguagens de programação adequadas, tais como C, C++, C#, Objective-C, Visual Basic, e Java. Deve ser entendido que em algumas modalidades, partes substanciais da lógica da aplicação podem ser realizadas no dispositivo de exibição usando, por exemplo, o paradigma AJAX (JavaScript Assíncrono e XML) para criar uma aplicação de Web assíncrona. Além disso, deve ser entendido que em algumas modalidades o software da aplicação pode ser distribuído entre uma pluralidade de servidores diferentes (não mostrados).
[053] Também deve ser entendido que o software da invenção adicionalmente incluirá preferencialmente várias aplicações baseadas em Web escritas em HTML, PHP, Javascript, XML e AJAX acessível pelos clientes usando um navegador adequado (por exemplo, Safari, Internet Explorer, Mozilla Firefox, Google Chrome, Opera).
[054] Um aspecto significativo da presente invenção é uma abordagem sistemática para aperfeiçoar a utilização de largura de banda e minimizar a latência, ao mesmo tempo em que gerando resolução ideal de gráficos para um dispositivo de exibição específico 20. A latência é um motivo de preocupação particularmente importante e é relacionado à utilização de largura de banda e resolução de gráficos de exibição. Atrasos de tempo entre movimentos do corpo e ações simuladas de entrada do usuário no dispositivo de exibição de saída diminuem o realismo de um jogo de esportes. Além disso, atrasos para carregar a próxima cena também podem frustrar os usuários. Outra meta é habilitar como uma experiência de usuário tão sem emendas quanto possível, com saídas de exibição quase instantâneas em resposta a movimentos de entrada, com transições de menos do que um segundo de cena para cena de conteúdo rico de gráficos.
[055] Como um exemplo do impacto da utilização de largura de banda, um vídeo ou fotografia de 5 MB (megabyte) levará 40 segundos para ser transferido por download com uma conexão de 1 Mb/s (Tl). O mesmo vídeo levará 8 segundos para ser transferido por download com uma conexão de 5 Mb/seg, o que é a média de velocidade de conexão banda larga doméstica nos Estados Unidos. Assim, se a densidade de dados (número de bits) para o jogo é grande, então o usuário experimentará potencialmente atrasos significativos quando o conteúdo for transferido por download.
[056] É antecipado que em nos próximos anos à utilização média de largura de banda aumentará significativamente em países desenvolvidos, para aproximadamente 50 Mb/s. Isto é devido à invenção de redes de dados celular 4G e LTE, e linhas fixas a cabo e operadoras de telecomunicações atualizando seus sistemas para permanecerem competitivas com 4G. Em 50 Mb/s o arquivo de 5 MB levará apenas 0,8 segundos para ser transferido por download. Entretanto, simultaneamente ao longo do tempo, dispositivos de exibição estão aumentando de tamanho e resolução de pixel. Como exemplo, em 2012, o dispositivo de exibição de TV LCD médio é de 37" nos Estados Unidos com uma resolução de pixel de 1920 X 1080 e custa de US$ 300 a US$ 500, onde 46" com a mesma resolução custa aproximadamente US$ 700 e os dispositivos de 60" custam menos do que US$ 2000. Em 2015 o preço de um LCD de 60" pode estar próximo a US$ 700, mas a resolução aumentará para 2560 X 1440. Assim, existem fatores conflitantes da utilização de largura de banda e resolução de exibição, ambos aumentando em paralelo ao longo do tempo.
[057] Como um exemplo de latência, quando o usuário balança o dispositivo móvel 10 (assumindo que o dispositivo móvel e o dispositivo de exibição estão em redes diferentes), existe um atraso de tempo quando os dados são transmitidos através da Internet, para o servidor de jogo 110 onde computações são realizadas e então para o dispositivo de exibição 20. Este atraso de tempo é exacerbado se arquivos de grande largura de banda estiverem sendo transferidos simultaneamente para o dispositivo de exibição, excedendo a utilização de largura de banda do dispositivo, uma vez que os dados de movimento precisam essencialmente entrar em uma fila aguardando em linha com os outros dados de jogo sendo transferidos através do gargalo. Os métodos revelados neste documento aperfeiçoam a desempenho do sistema nas três dimensões de (1) utilização de largura de banda, (2) latência total do sistema, e (3) resolução do dispositivo de exibição.
[058] Nas Figuras 2 e 3, a latência total do sistema em ΔT para detecção de movimentos esportivos e exibição de saída é:
[059]
Figure img0001
[060] Onde ΔtA^iise de Balanço é o tempo para a análise do movimento esportivo no dispositivo móvel, & ΔtRede12 é o tempo transmissão através da rede a partir do dispositivo móvel 10 para o servidor de jogo 110, Δt Servidor de Jogo é o tempo de processamento no servidor de jogo 110, ΔtRede23 é o tempo de transmissão a partir do servidor de jogo 110 para o dispositivo de exibição 20 e Δ tMecanismo Gráfico é o tempo de processamento e para exibir animações, imagens ou outros dados no dispositivo de exibição 20. A vantagem de consulta longa, tal como WebSockets, na modalidade da Figura 3, é que os dados de movimento do dispositivo móvel 10 são difundidos para o mecanismo de jogo 110 como um evento que por sua vez difunde para o dispositivo de exibição 20. A latência é de aproximadamente 50 milissegundos (ms) entre conexões WebSocket nos Estados Unidos. Usando a arquitetura ilustrada na Figura 3 para pacotes de dados pequenos, tais como dados de movimento e atualizações de interface de usuário, portanto a latência total do sistema é restrita primariamente pelo processamento de análise do movimento no dispositivo móvel 10, o processamento do mecanismo de jogo, e a exibição do mecanismo gráfico, não o tempo de transmissão de dados através da Internet que é aproximadamente ΔtRede12 + ΔtRede23 = 100 mseg.
[061] Na prática, a arquitetura da Figura 3 fornece uma sincronização próxima a tempo real entre o dispositivo móvel 10, servidor de jogo 110 e visor habilitado para Web 20 para múltiplos usuários simultâneos. Esta arquitetura permite sincronização de atividades de usuário próxima a tempo real em um dispositivo móvel 10 e um dispositivo de exibição habilitado para Web 20 ao mesmo tempo em que simultaneamente habilita a transferência de dados de movimento de balanço para e a partir do servidor de jogo 110. Adicionalmente, a arquitetura da Figura 3 é altamente escalável, e pode ser implantada para acomodar milhares de jogadores jogando simultaneamente, sem se afastar do projeto essencial. Nesse caso, milhares de jogos diferentes podem estar em vários estágios de realização em qualquer dado tempo, e a arquitetura também pode suportar vários tipos de jogos de esportes diferentes, tais como golfe, beisebol, boliche, etc., sendo gerenciados pelo servidor de jogo 110, em qualquer dado tempo.
[062] Esses e outros elementos inovadores da invenção ficarão evidentes a partir da descrição detalhada da invenção a seguir no contexto de um jogo de golfe virtual multijogador, jogo de tênis de dois e quatro jogadores e um jogo de beisebol multijogador. Entretanto, deve ser entendido que os exemplos a seguir não são destinados a ser limitantes.
EXEMPLO DE JOGO DE GOLFE
[063] Com referência às Figuras 4 a 10, a presente invenção será esclarecida adicionalmente pelo exemplo a seguir de um jogo de golfe implantado usando técnicas descritas neste documento, de acordo com uma modalidade da presente invenção. As Figuras 4(a) a 4(e) mostram a experiência do usuário e a Figura 5 é a arquitetura distribuída de jogo golfe correspondente.
[064] Em uma modalidade, para acessar a plataforma de jogo distribuída 100, um usuário primeiro transfere por download uma aplicação ("app") para seu dispositivo móvel 10. Em uma modalidade para o Apple iPhone 4/4s, a app é programada em Objective C, e utiliza a estrutura CoreMotion incluída no Cocoa Touch SDK (conjunto de software de desenvolvimento) para obter acesso a, em 100 amostras por segundo, sensores baseados em hardware embutido tais como um acelerômetro, um giroscópio, e um magnetômetro. Uma camada acima dessa chamada "processamento encadeado de sinal" inclui uma classe de programas independente de plataforma para fornecer tempo real cálculos de análise de balanço. Sobre a camada de processamento encadeado de sinal fica uma camada de apresentação de jogo baseada em gráficos, que processa dados calculados por um mecanismo de processamento de sinal, passa esses dados para o mecanismo de regras de jogo com base em servidor, e apresenta para o usuário com o dispositivo móvel conteúdo específico para complementar a experiência do jogo.
[065] Em uma modalidade alternativa, um sítio de Web móvel pode acessar os mesmos sensores baseados em hardware usando simples manipuladores de eventos em Javascript em um navegador móvel. Entretanto o acesso a esses sensores através de um navegador geralmente muito mais lento do que a estrutura CoreMotion, com amostragem de 10 amostras por segundo com a tecnologia presente. Aqui foi usado o mesmo processamento encadeado de sinal para analisar dados de balanço, e um sítio de Web interativo em Javascript constrói a interação gráfica na tela para o dispositivo móvel.
[066] Em A Figura 4 (a), o usuário se registra em um sítio de Web designado usando seu dispositivo móvel 10, e então o visor habilitado para a Web do usuário 20 é conectado ao mesmo sítio de Web, abrindo qualquer navegador padrão e navegando pelo mesmo. Quando o usuário estabelece as conexões, em cada caso, é apresentada uma página de registro que solicita informações ao usuário. Em consequência do registro, um campo de prática ou campo de golfe virtual é apresentado para o dispositivo visor habilitado para a Web 20, transferido por download a partir do banco de dados de recursos de jogo 117 através do servidor de jogo 110. Entretanto, durante a carga inicial da página de web para o dispositivo de exibição 10, um mecanismo de lógica de jogo leve 120 também pode ser transferido por download em segundo plano. Este mecanismo de jogo com base em Web pode ser programado como uma aplicação assíncrona, usando AJAX, por exemplo.
[067] Em A Figura 4(b), uma vez registrado em ambos os dispositivos, 10 e 20, o usuário pode entrar no campo de prática ou escolher jogar jogos; em qualquer caso, o mesmo pode convidar amigos 30 para jogar. Os amigos convidados, uma vez registrados em seus próprios dispositivos, podem aceitar o convite e se juntar ao jogo do hospedeiro. O mecanismo de regras de jogo com base na nuvem 115 gerencia grupos de jogadores unindo os registros para cada um dos usuários em um banco de dados de jogadores para formar uma tabela temporária para cada jogo sendo jogado. Cada jogador com uma conta tem seu próprio conjunto de registros de banco de dados no banco de dados de usuário 116.
[068] Em A Figura 4(c), uma vez que o jogo inicia, cada jogador seleciona um taco de golfe de sua bolsa de golfe virtual específica e balança seu próprio dispositivo móvel 10, e, no "impacto," cada dispositivo analisa o balanço e envia um pequeno pacote dados de balanço para o servidor de jogo 110 onde esses dados são atualizados no banco de dados de usuário 116. A análise do movimento de balanço de golfe é descrita em detalhe na subseção a seguir. As interações entre um jogador e o mecanismo de regras de jogo 115, podem ser feitas usando vários dispositivos de entrada dos dispositivos móveis 10, tais como por entrada de tecla, tocando uma tela sensível ao toque, e, quando disponível, até mesmo por reconhecimento de voz.
[069] Esses dados de balanço então são passados para o dispositivo de exibição 20, usando um de três métodos descritos na subseção (2) a seguir. Na Figura 4(d), um mecanismo de dispositivo de exibição gráficos transferido por download 125 (usando um algoritmo para calcular ou estimar o voo da bola) gera o voo da bola 25 no visor 20. De maneira similar, quando os amigos batem suas bolas virtuais, seus dados de movimento são enviados de seus respectivos dispositivos móveis 10 para o servidor de jogo 110, onde esses dados são atualizados para o banco de dados de usuário 116. Na Figura 4(e), os mesmos então são passados para os usuários específicos, e os voos das bolas renderizados em cada um de seus ambientes específicos, de modo que cada um dos jogadores também vê a pluralidade de movimentos de jogo de balanço de golfe de cada um de seus amigos, de suas localizações específicas no ambiente de jogo.
[070] Os usuários clicam ou tocam para avançar para a localização de seus respectivos voos da bola. O mecanismo de jogo leve com base em Web transferido por download 120 contém a lógica para o dispositivo de exibição determinar onde os usuários estão no campo de golfe virtual dados seus balanços de golfe, e para solicitar o conteúdo de gráficos de exibição apropriado a partir do banco de dados de recursos de jogo 117 através do mecanismo de regras de jogo 115. Então o processo se repete exceto que agora mais provavelmente os jogadores estão em localizações diferentes no buraco de golfe. As localizações de jogador são atualizadas para o banco de dados de usuário 116, e o mecanismo de jogo 120 gera cada voo das bolas do jogador respectivo em sua respectiva localização no campo de golfe virtual. Adicionalmente, em uma modalidade, os jogadores são capazes de se comunicar com os outros, criando uma rede social de jogadores do jogo. Esta comunicação pode ser obtida pelo mecanismo de regras do jogo 115 que tem aplicações adequadas de voz sobre IP, bate-papo de texto, quadro de mensagem de texto, por exemplo.
[071] Adicionalmente a jogar o jogo, os usuários também podem comprar uma pluralidade de produtos e serviços virtuais. Esses incluem, porém, sem limitação: lições de golfe, tacos de golfe melhores, bolsas ou capas de taco de golfe personalizadas, bolas mágicas para estragar tacadas de amigos, prêmios virtuais para vencedores de torneios etc. como detalhado no Pedido no U.S. 13/659.774 de Jeffery et al., intitulado Method to provide dynamic customized sports instruction responsive to motion of a mobile device, depositado em 24 de outubro de 2012, os produtos virtuais também podem incluir instrução personalizada de golfe baseada na análise do balanço de golfe específico dos usuários.
[072] Um aspecto inovador relacionado da presente invenção é um "carregador de tacos virtual" habilitado por análise preditiva. Cada balanço que um usuário faz no sistema é capturado nos arquivos de banco de dados de arquivos de movimento 118. Para cada tacada de usuário, esses dados são explorados usando software analítico, e usados módulos preditivos. Assim, por exemplo, após 100 balanços do driver, se em média o usuário atinge 227,69 metros (249 jardas), mas desvia 27,43 metros (30 jardas) para a direita, no ponto de partida de um buraco particular o "carregador de tacos virtual" pode recomendar jogar uma madeira três, a fim de evitar o perigo da água 214,88 metros (235 jardas) distante e 22,86 metros (25 jardas) à direita.
[073] Os arquivos de banco de dados de arquivos de movimento 118 também podem ser acrescentados com dados capturados em um campo de golfe físico, através de uma entrada manual do usuário em seus app móveis através de toque na tela, ou comandos de voz após cada tacada, ou por um giroscópio e acelerômetro fisicamente fixados a um taco de golfe e conectados através de Bluetooth para o dispositivo móvel. Então o carregador de tacos virtual pode ser estendido para jogar golfe físico e virtual, de modo que em um campo de golfe físico é dado conselho similar a quando jogando no campo virtual.
[074] Aspectos técnicos adicionais do jogo de golfe revelado são descritos nas seções a seguir: (1) Mecanismo de jogo distribuído, (2) Análise de balanço do dispositivo móvel; e; (3) Otimização do dispositivo de exibição.
[075] Mecanismo de Jogo Distribuído
[076] A Figura 5 ilustra uma modalidade da plataforma de jogo 100 para um jogo de golfe. Como discutido anteriormente, a análise de jogo é distribuída pelos três componentes principais do sistema: os dispositivos móveis 10, o servidor de jogo 110, e os dispositivos de exibição 20. A Figura 5 fornece um exemplo de diferentes modos de jogar para quatro jogadores diferentes 30: A, B, C e D. É entendido que este exemplo é ilustrativo e não é limitado a quatro jogadores. Como mostrado, o jogador A tem um dispositivo móvel 10 mas não têm um dispositivo de exibição 20. Nesse modo, os gráficos do jogo são exibidos singularmente no dispositivo móvel 10 do jogador A. O jogador B está em uma localização geográfica diferente do jogador A e tem acesso a um dispositivo de exibição 20. A interação e exibição gráfica do jogo no dispositivo de exibição 20 são descritas no texto a seguir. Ilustrativamente, os jogadores C e D estão na mesma localização geográfica, diferente dos usuários A e B, com um dispositivo de exibição 20. Os usuários na mesma localização geográfica podem usar um dispositivo móvel único, configurado para saber a identidade dos respectivos jogadores que usam o dispositivo, ou podem ter seus próprios dispositivos móveis respectivos. É entendido que os exemplos mostrados na Figura 5 não são limitados a um fabricante de hardware particular.
[077] A análise do balanço de golfe é conduzida no dispositivo móvel 10 através do método descrito na seção a seguir. A saída dessa análise inclui, porém, sem limitação, velocidade de balanço do telefone móvel, ângulo do telefone durante o impacto (efeito hook ou slice), velocidade de rotação do antebraço, taxa de articulação do punho, e curso do balanço (de dentro para fora ou de fora para dentro). Esses dados são transmitidos para o servidor de jogo 110, que atualiza o banco de dados de usuário 116, gerencia interações de usuários diferentes, e serviço o conteúdo do jogo, quando necessário. Um mecanismo de jogo Javascript/ AJAX relativamente leve 120 pode ser transferido por download para um navegador de Web do dispositivo de exibição habilitado para HTML5 quando o usuário se registra. Este mecanismo de jogo 120 controla um ambiente de exibição específico dos usuários, dados os respectivos dados de balanço dos usuários passados a partir do servidor de jogo de golfe 110. O mecanismo de jogo 120 tem a lógica de jogo do jogo de golfe e um mecanismo de gráficos 125 para simulação do voo da bola e outras representações. Como discutido em detalhe nas seções a seguir, cada buraco de golfe é quebrado em segmentos que correspondem a fotografias ou vídeos bidimensionais. A quantidade de fotografias para cada buraco é selecionada para aperfeiçoar tanto a experiência do usuário como a largura de banda e latência do sistema, como revelado na seção a seguir. As localizações da grade para cada buraco são definidas avançando-se para cada buraco e são programadas no código Java do mecanismo de jogo do navegador de Web. O conteúdo gráfico que corresponde a cada localização na grade para cada buraco é armazenado no banco de dados de recursos de jogo 117.
[078] A distância e direção do voo da bola são determinadas primariamente pela velocidade da cabeça do taco, ângulo da face do taco, e ângulo no impacto. Para diferentes tacos de golfe, o ângulo da face será diferente. Entretanto, a velocidade do taco é diretamente proporcional à velocidade do telefone nas mãos do usuário durante o impacto. Como descrito na seção a seguir, foram conduzidos experimentos detalhados com câmeras de vídeo de alta velocidade em 1.000 quadros por segundo para verificar a precisão da velocidade do telefone e a velocidade da cabeça do taco para um taco de golfe de longa distância. Esses dados foram comparados a tabelas de distâncias de voo da bola de fabricantes para vários tacos e velocidades da cabeça do taco. A ocorrência de slide ou fade da bola reduz a distância, e a ocorrência de hook ou draw da bola aumenta a distância para pequenos graus de draw, mas então no geral reduz a distância para um hook de mais do que uns poucos graus.
[079] Dada a velocidade do telefone nas mãos do usuário, a altura do usuário, e o comprimento do taco é possível calcular a velocidade da cabeça do taco. Mais especificamente, usando uma pesquisa de tabela para vários tacos de golfe pode-se calcular as velocidades da cabeça do taco para tacos de golfe específicos, e mapear essa velocidade no voo das bolas para os vários ângulos da face de cada taco, novamente através de uma pesquisa de tabela. O curso do balanço e ângulo de hook ou slice então são usados como multiplicadores/divisores para calcular precisamente a distância e direção da tacada a partir dos dados de balanço do sensor do telefone móvel.
[080] As Figuras 6 (a) e (b) ilustram como cada buraco é dividido em uma grade virtual 190. O comprimento e a direção da tacada definem uma coordenada (X, Y) que é o ponto final da tacada. Este ponto final (X, Y) da tacada corresponde a uma localização específica na grade, ver a Figura 6 (a). Para cada localização na grade, a mídia 119 (que pode ser imagem, sprite, e/ou vídeo) é armazenada no banco de dados de recursos de jogo 1 17. Dadas as coordenadas (X, Y) do ponto final da tacada o mecanismo gráfico da página da Web consulta o banco de dados de recursos 1 17 e, através de uma pesquisa de tabela, exibe a mídia 119 que corresponde à localização (X, Y). A experiência do usuário então é de visualizar a mídia na página da Web da bandeira a partir da perspectiva da posição na localização da coordenada (X, Y), ver Figura 6(b). Quando o usuário balança novamente, a próxima coordenada (X, Y) é calculada a partir da velocidade de balanço, taco selecionado e ângulo da cabeça do taco no impacto. O mecanismo de gráfico então exibe a imagem apropriada a partir dos bancos de dados para a nova localização.
[081] O histórico de balanço para cada usuário é atualizado para os arquivos de banco de dados de arquivos de movimento 118. Esses dados são usados para analisar a desempenho do usuário ao longo do tempo, como descrito previamente. O banco de dados de usuário 116 também é atualizado, acompanhando o progresso de múltiplos jogadores no jogo. Esses dados são usados como dados mestres para atualizar o mecanismo de jogo 120, e habilitar o desenho de avatares de outros usuários e simulação de voo da bola em uma tela de exibição de usuários específica.
[082] O voo simulado da bola é renderizado em 2-D usando um módulo de mecanismo de gráficos 3-D 125 que é parte do mecanismo de jogo 120. Para uma resolução de exibição de 1600 X 900 pixel o voo da bola de golfe que segue um balanço é obtido animando-se a bola como um objeto individual sobre o segundo plano. A bola começa centralizada na página localizada próxima ao fundo e em um tamanho de 35 pixels de largura por 35 pixels de altura. Uma vez que um balanço é detectado, sua distância e direção são passadas para o mecanismo de jogo onde as mesmas são usadas para determinar o trajeto exato do voo da bola. O voo da bola é uma curva exponencial que passa a partir de sua posição inicial para uma posição alta determinada pelo taco usado:
[083] +0 pixels para o putter (esse cria um percurso reto semelhante a uma rolagem da bola)
[084] +200 pixels para o driver
[085] +225 a +325 pixels os ferros
[086] +350 pixels para os tacos cunha.
[087] Então a bola termina em uma Y posição em pixels que é igual a: a altura do horizonte da imagem + (a distância corrente da bandeira - a distância para frente que a bola foi batida) / 2 e uma posição X em pixels é igual a: o centro do pixel da imagem + a distância lateral que a bola foi batida * 4.
[088] Por todo o voo da bola, a bola é mostrada "diminuindo" em uma taxa exponencial invertida que termina em 3 pixels + 170 / a distância do balanço corrente. As quantidades de pixel dadas acima são entendidas como sendo ilustrativas e não limitantes.
[089] Uma característica particularmente importante da invenção é a geração próxima a em tempo real do voo da bola em seguida a um balanço de golfe do dispositivo móvel, com latência mínima. Enquanto o jogo estiver sendo jogado, o sítio de Web fica consultando repetidamente o banco de dados de usuário 116, procurando uma atualização. Quando uma atualização é detectada, os dados de balanço são tomados e passados para o jogo mecanismo 120, desencadeando uma simulação de voo da bola controlada pelos dados de balanço. Quão alto a bola voa na tela, quão a mesma cai, quanto para a esquerda ou direita a mesma se desloca, quão pequena a bola se torna, e quanto demora a animação, são influenciados por estes dados de balanço. Os voos da bola dos participantes são renderizados nas respectivas telas de cada jogador. Se uma pluralidade de jogadores está no campo de prática virtual, por exemplo, as maiores distâncias são exibidas. Se os jogadores estão em um jogo de golfe, cada jogador se move para uma nova posição no buraco determinado por seu balanço anterior. No jogo, os jogadores avançam até que os mesmos estejam virtualmente situados no green de putting, onde os mesmos simulam putting, e então avançam para o próximo buraco uma vez que a bola entre no buraco.
[090] Os inventores implantaram múltiplos métodos para exibição gráfica de voo da bola em tempo real em seguida a um balanço de um dispositivo móvel. A solução corrente AJAX, " consulta curta", é muito escalável e pode ser usada para atualizar o conteúdo em tempo real para grande quantidade de usuários.
[091] Embora a taxa de consulta padrão usada seja de uma vez por segundo, é possível consultar mais frequentemente, tal como 5 ou 6 vezes por segundo. Com consulta AJAX ou "consulta curta" a questão se torna a disponibilidade de largura de banda. Mesmo onde dados não estão sendo transferidos, meramente verificar se há um evento utiliza alguma largura de banda. Assim, se existem uma grande quantidade de usuários, por exemplo, 200.000, consultar 5 vezes por segundo requer uma quantidade considerável de largura de banda. Entretanto, a largura de banda geralmente aumenta melhor do que capacidade de processamento e espaço de armazenamento. Adicionalmente, a taxa consulta pode ser ajustada dinamicamente para gerenciar o uso de largura de banda.
[092] Novamente com referência à Figura 3, é ilustrada uma arquitetura que incorpora "consulta longa". A arquitetura usa tecnologia WebSocket de Web. Os inventores criaram uma arquitetura de consulta longa escalável de modo que dificilmente existe qualquer atraso quando o servidor "envia" os novos dados para o sítio de Web. Com consulta AJAX aguarda-se que o sítio de Web verifique os bancos de dados uma vez a cada meio segundo e pode haver um atraso perceptível.
[093] A consulta longa permite transmissão bidirecional de dados e uma tecnologia possível para consulta longa é um WebSocket, que é um protocolo de Web que proporciona canais de comunicações full duplex sobre uma única conexão TCP. A API de WebSocket está sendo padronizada pelo W3C, e o protocolo WebSocket tem sido padronizado pelo IETF como RFC 6455, que é incorporado ao presente documento em sua totalidade a título de referência.
[094] A Figura 3 ilustra um método através de arquitetura de consulta longa para controlar e navegar um visor habilitado para Web usando um dispositivo móvel como um controlador, e para transmitir dados de movimentos esportivos capturados pelos dispositivos móveis por toda a rede. O telefone e dispositivos de exibição habilitados para Web podem ficar na mesma ou diferentes localizações geográficas. A comunicação entre os dispositivos móveis e dispositivos de exibição habilitados para Web ocorre através do uso de tecnologia websocket. A Figura 5 é uma modalidade das arquiteturas da Figura 2 especificamente para golfe e pode ser implantada usando o método de consulta curta ou o método de consulta longa da Figura 3.
[095] Análise do balanço de golfe do dispositivo móvel
[096] Um aspecto importante da presente invenção é o analisador de movimento 130 que usa dados de um acelerômetro e giroscópio embutidos no dispositivo móvel 10, seguindo o Pedido no 13/655.366 de Jeffery et al., intitulado Method and system to analyze sports motions using motion sensors of a mobile device, depositado em 18 de outubro de 2012. Um desafio particular que a invenção supera envolve como analisar precisamente um balanço de golfe sem realmente bater uma bola ou segurar um taco ou raquete. Embora uma análise técnica de balanço seja descrita para golfe, deve ser entendido que a abordagem descrita neste documento é aplicável a outros movimentos tais como, porém sem limitação, bater ou jogar uma bola, mirar e atirar uma arma, ou arremessar uma vara de pesca por exemplos. A última seção generaliza o método de análise do movimento para outros esportes tais como boliche, tênis e beisebol.
[097] A Figura 7 ilustra a inclinação longitudinal (a) e inclinação transversal (b) do dispositivo móvel 10 durante um exemplo de balanço de golfe completo. Um elemento importante da presente invenção é a calibração do dispositivo móvel 10 segurando-se o dispositivo móvel 10 ainda na posição endereçada (posição 1). A identificação do movimento para a inclinação longitudinal então aumenta na rotação para trás (posição 2) e tem um mínimo local no topo da rotação para trás do golfe (posição 3). Entretanto, o mínimo (posição 3) é uma oscilação do sensor de movimento de inclinação longitudinal girando mais do que 180 graus. Na realidade, a inclinação longitudinal continua a aumentar para um máximo, maior do que 180 graus, no topo da rotação para trás. Entretanto, limitações do sensor restringem a oscilação do movimento para 0 a 180 graus. Os dados de inclinação longitudinal continuam a diminuir na rotação de descida (posição 4), de volta para o ponto de impacto (posição 5), como mostrado.
ANÁLISE DE PRECISÃO
[098] Observe-se que no ponto de impacto (posição 5), o dispositivo móvel 10 retornou para próximo ao ponto inicial de calibração (posição 1), que para o golfe é a posição da mão no impacto com uma bola de golfe virtual e um mínimo local. Para um balanço de golfe de alta velocidade o mínimo no ponto de impacto não retorna exatamente para a calibração zero devido a limites de resolução do giroscópio. Determinar o ponto de impacto é de importância vital devido à inclinação transversal do dispositivo móvel 10 neste ponto definir o hook ou slice do taco. Em outros esportes, o ponto de impacto é vital para determinar o hook e slice de um bastão ou uma raquete, e/ou o ponto de liberação em esportes de lançamento ou arremesso. A partir do ponto de impacto, o balanço de golfe continua com a finalização do movimento, posições (6) e (7).
[099] Resumindo, dados de inclinação longitudinal, ou a rotação em volta do eixo geométrico que corta o dispositivo móvel 10 nas metades superior e inferior quando olhando para a tela (eixo geométrico X) (ver Figura 1) é o fluxo de dados mais revelador quando um golfista se move por todo o seu balanço. O impacto pode ser encontrado no mínimo principal que se aproxima do o ponto de calibração inicial (que é definido como "zero" tomando-se a média de todos os dados de posição/orientação do telefone ao longo do curso de um segundo, por exemplo, tomado antes do balanço quando o golfista está em sua posição de configuração). Para contextualizar, em um balanço de golfista, os dados de inclinação longitudinal surgem como o golfista entra em sua rotação para trás, retorna a calibração quando o mesmo passa pelo impacto, então sobe novamente quando o mesmo se move em sua finalização do movimento. O impacto é a posição de inclinação longitudinal que chega mais próximo à configuração, ou ponto de calibração.
[0100] Em uma modalidade, o ponto de impacto para um balanço de golfe completo é selecionada como o segundo mínimo de inclinação longitudinal usando um algoritmo rastreador. Em outra modalidade, o mínimo pode ser confirmado alinhando o mesmo com um pico na aceleração Z. Quando é encontrado mais do que um mínimo maior na inclinação longitudinal, o mínimo selecionado como impacto é determinado por qual ponto tiver a maior aceleração Z. Essa confirmação ajuda em casos onde uma rotação para trás de golfista ou finalização da rotação é tão grande (próxima a 360 graus de rotação a partir da configuração) que o giroscópio inverte completamente e cria mínimos extras próximos à calibração.
[0101] Uma vez que impacto é encontrado, a precisão do balanço é determinada subtraindo os dados de inclinação transversal no impacto dos dados de inclinação transversal na calibração. Os dados de inclinação transversal, ou da rotação em volta do eixo geométrico que corta o telefone em metades esquerda e direita quando olhando para a tela (eixo geométrico Y) descreve posições de face "aberta e fechada" na cabeça do taco. A Figura 7 (b) mostra uma visualização expandida dos dados de inclinação transversal. Os balanços que retornam uma diferença negativa significam que o usuário girou mais no impacto o que implica em uma face fechada no impacto e um draw ou hook resultante dependendo da quantidade. Os balanços que retornam uma diferença positiva significam que o usuário girou menos no impacto o que implica em uma face aberta no impacto e um fade ou slice resultante. Os balanços que retornam um valor próximo a zero significam que a face do taco correspondeu muito proximamente à orientação de calibração no impacto e implica um voo reto da bola.
ANÁLISE DE VELOCIDADE
[0102] A velocidade da cabeça do taco é um parâmetro crítico para o golfe na definição da distância do voo da bola. Os fabricantes de taco de golfe têm tabelas empíricas que detalham a distância do voo da bola para bolas de golfes batidas por cabeças do taco que se movem a uma velocidade de balanço específica. Essas tabelas também levam em consideração o tipo de taco (por exemplo, driver, ferro 5, putter), o ângulo da face da cabeça do taco, a rigidez da haste, e outras variáveis que impactam o voo da bola.
[0103] A velocidade de balanço é um cálculo complexo devido à mecânica de movimentos esportivos. O desafio é que os sensores meçam os movimentos das mãos uma vez que estamos interessados em calcular a velocidade do equipamento esportivo virtual, tal como uma cabeça do taco de golfe. Foram conduzidos experimentos extensivos com atletas profissionais usando equipamentos esportivos ajustados apropriadamente para entender como os movimentos de mão e braço se traduzem para os dados de saída do sensor de movimento. Embora seja ilustrada a análise para golfe, deve ser avaliado que o presente método é generalizável para outros movimentos esportivos, tais como aqueles encontrados nos esportes de beisebol, tênis, boliche, basquetebol, futebol americano e tênis de mesa; entretanto, esses exemplos são entendidos como não sendo limitantes.
[0104] A Figura 8 (b) ilustra os elementos do movimento de balanço para um balanço de golfe completo. Se o taco é balançado exatamente em linha com os braços, então a velocidade do dispositivo móvel, V, é relacionada à velocidade da cabeça do taco (Vcabeça do taco) por:
[0105]
Figure img0002
[0106] Entretanto, jogadores experientes articulam seus pulsos e giram seus antebraços para aumentar a velocidade da cabeça do taco em direção à bola. Esses movimentos de articulação e giro podem aumentar dramaticamente a velocidade da cabeça do taco durante o impacto, de modo que a Equação (2) é uma subestimativa grosseira da velocidade de balanço de golfe para a maior parte dos golfistas. Entretanto a mesma é boa para a putting uma vez que não existe nenhuma articulação dos pulsos.
[0107] A Figura 8(a) ilustra especificamente como se calcula a velocidade do dispositivo móvel 10 para um balanço de golfe. A identificação do movimento para a inclinação longitudinal do dispositivo móvel 10 para um exemplo de balanço de golfe completo é ilustrada graficamente. O movimento esportivo correspondente é mostrado abaixo com os pontos (4), (5) e (6) em dados de inclinação longitudinal rotulados no balanço. Primeiro encontra-se o ponto de impacto nos dados de inclinação longitudinal, definido como o local de inclinação longitudinal mínima no fundo do balanço (ponto 5). Então se procura para frente e para trás por 60 graus nos dados de inclinação longitudinal. Esses pontos dados, assumindo articulação apropriada do pulso, alinhada com posições (4) e (6) no balanço. Geralmente, se passa aproximadamente um décimo de um segundo entre essas duas posições, de modo que dado o comprimento do braço do jogador pode-se encontrar a velocidade do dispositivo móvel 10 em volta de impacto dividindo o comprimento de um arco de 120 graus onde o raio do arco é igual ao comprimento do braço pela quantidade de tempo passada: Isto fornece a velocidade do dispositivo móvel 10 (velocidade da mão). Pode ser usado um método similar para chipping mas com um comprimento menor de arco de 55 graus ou menos devido ao comprimento reduzido do balanço.
[0108] Foi constatado, usando sincronismo de vídeo de alta velocidade, que a velocidade da cabeça do taco driver pode ser tão lenta quanto 2,4 vezes a velocidade da mão (isto no caso de um usuário balançando um taco com braços, antebraços, e pulsos rígidos) ou tão rápida quanto 6 vezes a velocidade da mão (no caso de um golfista profissional de classe mundial). A diferença entre esses dois multiplicadores vem da combinação de rotação do antebraço e articulação do punho o que permite que golfistas forcem a cabeça do taco a se deslocar por um comprimento de arco muito maior (algumas vezes até próximo a 180 graus) no tempo que as mãos levam para se deslocar pelos 90 graus de comprimento de arco em volta do impacto. O multiplicador escolhido é controlado diretamente pela aceleração do giroscópio durante o impacto nos eixos geométricos Z e Y (orientação e inclinação transversal) que levam em conta a articulação do punho e rotação do antebraço respectivamente.
[0109] A partir de experimentos detalhados com o iPhone 4 e 4s foi descoberto que o giroscópio é particularmente preciso, de modo que os dados de inclinação transversal são muito bons para predizer hook ou slice dentro de aproximadamente metade de um grau. Os dados de acelerômetro a partir do iPhone 4, entretanto, são "distorcidos", e não são particularmente precisos durante o balanço de golfe inteiro, mas trabalham bem para medir a velocidade de rotação do antebraço em volta do impacto. Por isto se divide o balanço em partes e se calcula uma velocidade média, V, do dispositivo móvel durante o impacto:
[0110]
Figure img0003
D1 é a distância entre os pontos (4) e (6) na Figura 8; e t2 - ti é o tempo gasto para cobrir a distância. É preferida uma distância mais curta, uma vez que esta habilita uma maior aproximação da velocidade instantânea no ponto de impacto. Entretanto a resolução de 0,0i seg do giroscópio corrente requer o uso o arco de i20 graus. No futuro, quando a resolução de amostragem do giroscópio aumentar, será preferido um arco de 30 graus ou menos.
[0111] A equação (3) é uma aproximação da velocidade instantânea real do dispositivo móvel, e é apenas uma aproximação de primeira ordem da velocidade da cabeça do taco de golfe, uma vez que a mesma não inclui a articulação do punho ou rotação do antebraço descritas acima. Através de experimentos detalhados com uma câmera de vídeo de alta velocidade pode-se encontrar multiplicadores para essas variáveis, com o resultado de calcular a velocidade da cabeça do taco dentro de +/- i0% para uma variedade de tipos de balanço. A partir da velocidade da cabeça do taco pode-se prever a distância do voo da bola em condições ideais.
[0112] É previsto que a qualidade dos dados fornecidos a partir do acelerômetro melhorará dramaticamente em versões futuras de iPhone ou telefones com base em Android. Em uma modalidade da presente invenção, a velocidade de um dispositivo móvel i0 (com um acelerômetro suficientemente preciso) no impacto é calculada integrando-se a aceleração (ax, ay, az) a partir do topo da rotação para trás (tbs) para o zero (t0) do dispositivo móvel:
[0113]
Figure img0004
com a velocidade total do dispositivo móvel no impacto: com a velocidade total do dispositivo móvel no impacto:
[0114]
Figure img0005
[0115] onde t0 - tbs é o tempo entre o mínimo no topo da rotação para trás (tbs) medido a partir dos dados de inclinação longitudinal e o zero no fundo do balanço no impacto, t0. As integrais são calculadas no software usando um algoritmo de quarta ordem Runge-Kutta. Ver, por exemplo, William H. Press et al., Numerical Recipes 3a Edição: The Art of Scientific Computing, 2007.
[0116] Os componentes vetoriais da velocidade (5) são difíceis de calcular precisamente com a versão corrente dos acelerômetros, uma vez que o acelerômetro interno tem uma saída distorcida, daí porque correntemente se usa a equação do método de média (3). Dados no movimento de balanço são apresentados para o usuário e armazenados, localmente para a app e em um servidor na conta do usuário, para comparações longitudinais de melhoria da consistência de balanço.
[0117] O usuário também pode fixar o telefone a seus tacos de golfe através de um suporte e comparar balanços de prática real aos balanços computados para distância e precisão. É usada uma análise similar quando o telefone é fixado ao taco, mas os multiplicadores são diferentes primariamente devido aos usuários balançarem o taco de golfe mais lentamente do que o telefone, o telefone é mais leve do que um taco de golfe assim naturalmente as mãos vão mais rápido.
[0118] Como um exemplo adicional de análise de balanço considera-se a putting, em vez do balanço completo de um taco de golfe. A PING Inc. criou previamente uma App de iPhone para putting. Entretanto sua invenção da técnica anterior tem três limitações significativas: Seu método (1) requer uma fixação a um putter, (2) requer impacto com uma bola física, e (3) não é precisa para putts longos (maiores do que aproximadamente 6,1 metros (20 pés)).
[0119] O método descrito neste documento não tem qualquer dessas limitações. Similar ao balanço completo descrito acima, o usuário segura o dispositivo móvel 10 como se o mesmo fosse um putter, e após um segundo sendo seguro imóvel o mesmo vibra: o telefone está pronto. O usuário então putts uma bola imaginária (virtual). Comparados ao balanço completo, os dados de inclinação longitudinal a partir do telefone são agora uma função de onda senoidal relativamente suave com um mínimo no impacto. O golpe do putter é analisado similar ao balanço de golfe completo, mas com velocidade média calculada a partir da Equação 3 onde D1 e D2 são as respectivas distâncias máximas da puxada para trás e batida durante o impacto com a bola. Uma vantagem da batida de putter é que a função é suave e a velocidade é relativamente lenta comparada ao balanço de golfe completo. Assim, as equações (4) e (5) também podem ser usadas para calcular uma velocidade instantânea no impacto - usa-se ambos os métodos, integração das equações (4) e velocidade média da Eq. (3), com um multiplicador de escala para o comprimento do putter para a velocidade na cabeça do putter no impacto com uma bola, ver Eq. (2). Para putts longos o método de aceleração se torna cada vez mais impreciso, assim o método de velocidade média fornece melhores resultados com um multiplicador derivado de medições empíricas.
[0120] A partir da velocidade da cabeça do putter a distância que a bola percorre pode ser calculada assumindo condições ideais. Entretanto, o mais importante é que pode-se quantificar diferenças no ângulo de rolamento do dispositivo móvel no impacto (similar a hook ou slice para o balanço completo) sem impacto com uma bola física. Também pode-se analisar os dados de aceleração do giroscópio para erros tais como desaceleração durante o putt, ou uma tração esquerda ou impulsão direita (esses dois últimos erros são identificados a partir da combinação de da segunda integral de aceleração, e dos dados de inclinação transversal). Dados da precisão do movimento de balanço também são apresentados para o usuário e armazenados, locais à app e no servidor na conta do usuário, para comparações longitudinais de melhoria da consistência da putting.
[0121] O método para putting, em conjunto com a plataforma de jogo distribuída, supera uma deficiência importante de da técnica de jogo de golfe anterior: putting é notoriamente não confiável em um jogo de golfe virtual. É sabido que golfistas experientes, que jogam nos torneios da PGA, têm consistentemente três ou quatro puts em jogos de golfe de computador, onde os mesmos fariam um ou dois puts em golfe físico. Como discutido previamente, o método usando o giroscópio do dispositivo móvel é consideravelmente mais preciso do que um controlador Nintendo Wii, por exemplo, assim pode-se replicar a putting do golfe profissional no jogo de golfe virtual.
DETECÇÃO DE IMPACTO MULTISSENSOR
[0122] Uma técnica para detectar o "ponto de impacto" com um objeto virtual usando um único tipo de dados rotacionais (inclinação longitudinal) do dispositivo móvel 10 foi descrita acima. A identificação do movimento esportivo (dados de inclinação longitudinal como uma função do tempo) foi analisada para características, específicas para o tipo de movimento esportivo (por exemplo, um balanço de golfe completo). A estrutura a priori da identificação do movimento esportivo foi necessária para isolar a localização no tempo e espaço do ponto de impacto virtual. Em outra modalidade, o conceito inventivo foi estendido para habilitar a detecção do ponto de impacto para muitas identificações diferentes de movimento, e para uma ampla gama de movimentos.
[0123] As Figuras 8(a) e (b) ilustram mudanças na inclinação longitudinal e orientação, respectivamente, do dispositivo móvel 10 durante um exemplo de balanço de golfe completo. Neste caso, o dispositivo móvel usado foi um Apple iPhone 4Gs. Como observado acima, a calibração do dispositivo móvel 10 é obtida segurando o dispositivo móvel 10 parado na posição endereçada (posição 1). A identificação do movimento para a inclinação longitudinal então aumenta na rotação para trás, (posição 2) e tem um local mínimo no topo da rotação para trás do golfe (posição 3). Entretanto, o mínimo (posição 3) é uma oscilação do sensor de movimento de inclinação longitudinal girando mais do que 180 graus. Como observado previamente, na realidade, a inclinação longitudinal continua a aumentar para um máximo, maior do que 180 graus, no topo da rotação para trás. Entretanto, limitações do sensor restringem a identificação do movimento para 0 a 180 graus. Os dados de inclinação longitudinal continuam a diminuir na rotação de descida (posição 4), de volta para o ponto de impacto (posição 5), como mostrado.
[0124] A partir de experimentos detalhados com câmeras de alta velocidade foi encontrado que o ponto de impacto virtual (posição 5) é um local de inclinação longitudinal mínima, onde o dispositivo móvel retornou próximo à posição endereçada inicial (posição 1). A partir do ponto de impacto (posição 5), o balanço de golfe continua através da finalização do movimento (posições 6 e 7).
[0125] Determinar o ponto de impacto é de vital importância devido à inclinação transversal do telefone neste ponto definir o hook ou slice do taco, bastão ou raquete, e/ou o ponto de liberação em esportes de arremesso ou lançamento. Os inventores usaram previamente usado software rastreador para buscar a identificação do movimento de inclinação longitudinal para o segundo mínimo. Entretanto este método não é aplicável universalmente, uma vez que balanços diferentes têm identificações do movimento diferentes.
[0126] Tipos de balanços de golfe diferentes podem ter identificações do movimento diferentes. Especificamente, foi descoberto que para pessoas mais velhas jogando golfe, existe uma tendência a abreviar a rotação para trás, de modo que a identificação do balanço parece mais com um chip, e não tem o primeiro mínimo na Figura 9(a).
[0127] Assim, o método rastreador que busca uma característica específica da identificação do movimento de uma única saída de sensor de movimento produz resultados errados. Especificamente, no caso de golfe, a identificação do movimento para um balanço completo de golfista profissional tem um ponto de impacto no segundo mínimo dos dados de inclinação longitudinal. Entretanto, um balanço curto não tem um segundo mínimo; assim buscar o segundo mínimo nesses tipos de tacadas criará um erro. Consequentemente, o método de usar dados de identificação do movimento para tipo único de medição rotacional para obter o ponto de impacto tem limitações. Na presente modalidade, usa- se pelo menos dois tipos diferentes de medição rotacional (inclinação longitudinal e orientação no golfe, por exemplo) para calcular o ponto de impacto e/ou ponto de liberação para superar isto.
[0128] A Figura 9(b) ilustra a orientação do dispositivo móvel através de um balanço de golfe completo. No caso balanços de golfe e de beisebol, a orientação muda rapidamente através do ponto de impacto (5). Assim, usando dados de sensor de movimento tanto da inclinação longitudinal como da orientação, pode-se isolar a zona de impacto procurando o mínimo dos dados de inclinação longitudinal de movimento que tem uma derivada de orientação máxima (mudança na orientação). Este método funciona para todos os tipos de balanços de golfe, e habilita a detecção precisa do ponto de impacto para chips e putts.
[0129] Uma vantagem significativa do método de detecção de ponto de impacto multissensor é habilitar a minimização de latência na análise do movimento no dispositivo móvel. Especificamente para golfe, usuários diferentes podem fazer balanços de golfe muito diferentes, e podem atrasar randomicamente seus inícios de balanço após o ponto de calibração. Os balanços mais lentos são completados aproximadamente 5 segundos após a calibração, enquanto que os balanços mais rápidos em apenas 2 segundos. Um método é para coletar dados para 5 segundos após o ponto de calibração a fim de capturar a grande maioria dos balanços, e então usar um rastreador para detectar o ponto de impacto mínimo. Entretanto, este método é ineficiente uma vez que o mesmo adiciona um atraso de até 3 segundos, dependendo da velocidade do balanço, e captura de dados adicionais que retarda o processamento no dispositivo móvel.
[0130] No presente método, o evento chave é quando a orientação iguala a orientação no ponto de calibração, ou cruza o zero equivalentemente, ver a Figura 9 (b). No caso de um slice o ponto de impacto será alguns centésimos de um segundo após a orientação cruzar o zero, e no caso de um hook o ponto de impacto será alguns centésimos de um segundo antes da orientação cruzar o ponto de calibração. Assim o cruzamento da orientação zero serviços como um indicador para localizar o ponto de impacto no fundo do balanço de golfe. Especificamente, procura-se quando a orientação cruza zero e trunca-se os dados após 150 mseg adicionais: o ponto de impacto será encontrado aproximadamente mais ou menos 100 mseg a partir do cruzamento da orientação zero.
[0131] Assumindo um tempo de processamento computacional menor do que 10 mseg, o tempo total de detecção de impacto e análise de balanço com o presente método é menor do que 200 mseg. Portanto, para um balanço de golfe a latência a análise de movimento do dispositivo móvel, útAnáiise de Balanço na Equ. (1), pode ser reduzido de aproximadamente 3 seg a menos do que 200 mseg usando o método de detecção de impacto multissensor original e inventivo. Assumindo a latência geral da Internet pública nos Estados Unidos de 50 mseg para transferência de pacotes de dados pequenos, ΔTRedel2 + ΔtRedez23 = 100 mseg na Equ. (1), o atraso total aproximado a partir do ponto de impacto no dispositivo móvel para o voo da bola no dispositivo de exibição é de aproximadamente 350 mseg, onde é entendido a transferência dos dados pode abranger milhares de milhas a partir do dispositivo móvel 10 para o servidor de jogo 110 e de volta para o dispositivo de exibição 20. Um usuário leva aproximadamente 500 mseg para completar sua finalização do movimento em um balanço de golfe, movimentos 5 a 7 na Figura 7. Assim o voo da bola aparece quase instantaneamente nos dispositivos de exibição 20 para os múltiplos usuários simultâneos 30 (A, B, C e D) no sistema de jogo de golfe Figura 5.
[0132] É entendido que o método descrito neste documento para reduzir a latência da análise do movimento no dispositivo móvel não é limitado a balanços de golfe e é generalizável para outros movimentos. Além disso, os múltiplos sensores podem não ser de inclinação longitudinal e orientação do dispositivo móvel, mas podem ser quaisquer dois da pluralidade de saídas de sensor disponíveis no dispositivo móvel.
[0133] Como descrito nessa invenção, os dados na precisão do movimento de balanço são apresentados para o usuário e armazenados no servidor de jogo 110 nos arquivos de banco de dados de arquivos de movimento 118, para comparações longitudinais de balanço, putting e chipping melhoria da consistência. Esses dados então são a fundação para o "Carregador de Tacos Virtual" analítico revelado acima e para fornecer instrução de golfe personalizada, como revelado em detalhado no Pedido no U.S. 13/659.774 de Jeffery et al., intitulado Method to provide dynamic customized sports instruction responsive to motion of a mobile device, depositado em 24 de outubro de 2012.
[0134] Otimização do Dispositivo de Exibição
[0135] Ainda outra vantagem da presente invenção comparada à técnica anterior é uma arquitetura projetada para operar em um ambiente distribuído de Internet para deste modo otimizar a utilização de largura de banda do dispositivo de exibição e minimizar a latência total - no contexto de golfe, o atraso de tempo entre balançar o dispositivo móvel e gerar o voo da bola no dispositivo de exibição, e gerar a mídia de exibição da próxima tacada. A minimização da latência foi discutida na Eq. (1) no contexto de passar dados de balanço do dispositivo móvel 10 para o servidor de jogo 110, e então para o mecanismo de gráficos 120. Aqui é focada a resolução dos gráficos e método para otimizar a velocidade de conexão à Internet de um dispositivo de exibição do usuário específico (utilização de largura de banda).
[0136] Gerar um jogo 3-D tal como golfe pode utilizar considerável capacidade computacional, e a qualidade dos gráficos dos jogos baseados em console da técnica anterior é limitada por este processamento. A presente abordagem é substancialmente diferente de jogos baseados em console em que cada um dos buracos de golfe é segmentado e imagens são mapeadas para os segmentos. Em uma modalidade, a tecnologia de imagem disponível correntemente tal como câmeras de alta gama dinâmica (HDR) é usada. As imagens podem ser aprimoradas adicionalmente através de cinemagráficos (filmes de vídeo curtos cíclicos) e sprites (vídeos curtos que podem ser controlados pelo mecanismo de gráficos) (como mostrado na Figura 10), de modo que árvores, uma bandeira, e nuvens parecem se mover com o vento, por exemplo. Em vez de fotografias as imagens podem ser de vídeo de tela cheia, tais como vídeo de alta definição comprimidos, vídeo HDR, ou outra tecnologia de imageamento ainda não inventada. O efeito pode ser deslumbrante, e ter uma baixa densidade de dados e exigências computacionais para cada tacada. Embora as imagens usadas possam ser (ou possam ser baseadas em) imagens digitais de um campo de golfe real tomadas com equipamento fotográfico, deve ser entendido que as imagens digitais não têm que corresponder a um campo de golfe real, mas podem, por exemplo, ser inteiramente uma representação artística de um campo de golfe ou representar uma simplificação de um terreno de campo de golfe real.
[0137] Folhas de estilo em cascata (CSS), suportadas em navegadores de Web desde 2000, permitem a formatação de gráficos e texto em uma página da Web. Uma característica do CSS é atribuir um número para as camadas de gráficos em uma página, chamado de índice Z. O índice Z define tanto o número da camada como a respectiva ordem da camada na pilha de imagens que compreendem uma página de Web particular.
[0138] A Figura 10 fornece um exemplo ilustrativo da presente técnica usando CSS para adicionar profundidade às imagens no jogo de golfe simulado. Essa abordagem minimiza processamentos gráficos no dispositivo de exibição, o que reduz a latência. Um índice Z de 300 é atribuído à imagem de segundo plano 200, no topo da imagem estão nuvens animadas 210 e obstáculos 220 e 230, os quais são camadas em distâncias específicas. Por exemplo, a cada um de uma árvore em 91,44 metros (100 jardas), 230, e arbustos e árvores 220 em 137,16 metros (150 jardas) são atribuídos respectivos índices z de 100 e 150, respectivamente.
[0139] O voo da bola 25 inicialmente tem um índice Z de 300, de modo que o mesmo é exibido no segundo plano principal, entretanto dependendo da distância do voo da bola, e hook ou slice, o índice Z é mudado. Assumindo que o voo da bola é de 109,73 metros (120 jardas) com um slice para a direita, então o índice Z do voo da bola 25 é mudado para 125 de modo que a mesma cai atrás da camada de árvores 100 e na frente da camada arbustos e árvores 150, por exemplo. Assim, muda-se dinamicamente o índice Z do voo da bola para criar o efeito de profundidade no ambiente de imagem 2-D de modo que a bola caia atrás das camadas que correspondem a distâncias específicas. Este método não é limitado a fotografias2-D, mas também pode ser aplicado a vídeo digital, vídeo HDR ou outra tecnologia de imageamento ainda não inventada.
[0140] Adicionalmente são ilustrados os aspectos inovadores da presente invenção revelando um método para reduzir a latência e otimizar a utilização de largura de banda do dispositivo de exibição.
Figure img0006
Figure img0007
TABELA 1. Comparações de densidades de imagem nos métodos da técnica anterior de jogos de golfe digitais, onde "Aquimo" é o novo método inventivo.
[0141] A Tabela 1 é uma comparação do novo método inventivo ("Aquimo") a outros métodos representativos, rotulados como Método 2 e Método 3, respectivamente. Especificamente usa-se menos do que 50 imagens para um par 3, 75 para um par 4, e 100 para um par 5 onde outros métodos usam 2X ou 4X esta quantidade. As tabelas 2(a) a 2(c) mostram os tempos de carga representativos em segundos para 10% dessas imagens para larguras de banda representativas de 5, 20, e 50 Mb/s, respectivamente. A largura de banda disponível aumenta ao longo do tempo, e o presente método otimiza especificamente as dimensões de resolução de imagem e tempos de pré-carga de imagens, e é sempre melhor do que a técnica anterior.
Figure img0008
Figure img0009
TABELA 2c. Largura de Banda Alta (50 Mb / seg).
[0142] Como um exemplo, usa-se analítica de movimentos de balanço passados do jogador para predizer voos da bola futuros. Assim, por exemplo, dada a distância média de driver, hook ou slice do usuário, e desvio padrão dessas métricas de balanço, pode-se predizer as 5 áreas principais no campo, que correspondem a imagens aprimoradas, onde é provável que a bola aterrisse. Os métodos mais granulares (Métodos 2 e 3 nas Tabelas 2a a 2c) precisam carregar muito mais imagens para cobrir as mesmas áreas. As Tabelas 2a a 2c mostram a comparação assumindo uma pré-carga de 10% para todos os métodos, e para as três larguras de bandas com imagens de baixa, média, e alta resolução.
[0143] A meta é fornecer a melhor experiência gráfica para o usuário quanto possível ao mesmo tempo em que considerando a utilização de largura de banda do dispositivo de exibição dos usuários. Assim, por exemplo, um usuário com uma conexão de largura de banda relativamente baixa de 5 Mb/s será servido por imagens de menor resolução, com um tempo de pré-carga de 6 seg para as próximas 5 imagens - isso é aceitável dado o tempo antecipado que o usuário gasta selecionando o taco de golfe, conversando com amigos etc. Entretanto, se o usuário tiver uma conexão de 50 Mb/s, será servido com imagens de alta resolução, com um tempo de pré- carga de 4 seg para 5 imagens.
[0144] A utilização de largura de banda para um dispositivo de exibição específico é medida como segue: É definida uma variável de Javascript, startLoad, configurada para o tempo corrente quando a imagem digital para uma tela de jogo (imagem 2-D, cinemagráficos, sprites, etc.) totalizando aproximadamente 2 MB é transferida do servidor de lógica de jogo. Uma segunda variável chamada finishLoad é definida quando termina o carregamento da imagem: finishLoad - startLoad = tempo. Se o tempo for maior do que 4 segundos para uma única imagem deve-se reduzir a resolução do conteúdo digital, e se o tempo de carga estiver abaixo de um segundo, a resolução de conteúdo digital do jogo é aumentada.
[0145] Portanto o usuário experimenta as imagens de resolução mais alta possível com um tempo razoável de pré- carga de segundo plano. O efeito é uma transição instantânea de tacada para tacada com as imagens de resolução mais alta possível compatibilizadas à utilização de largura de banda do usuário. Outros métodos, ilustrados como Método 2 e 3 na Tabela 2, não otimizam essas dimensões e portanto têm tempos de descarga de pré-carga proibitivos, causando atrasos de tempo potencialmente significativos para iniciar o jogo, em transições entre tacadas ou buracos, ou resoluções de imagem menores do que a ideal.
EXEMPLOS DE JOGOS DE ESPORTES ADICIONAIS
[0146] As técnicas descritas neste documento são generalizáveis para uma grande variedade de jogos que envolvem movimento do corpo, lançar, ou bater uma bola. Como exemplos adicionais, são descritos boliche, tênis, e beisebol. Entretanto, os métodos e sistemas da presente invenção não são limitados a golfe ou esses outros esportes, e são aplicáveis a muitos outros jogos de esportes, tais como esportes a motor, futebol americano, hóquei, rúgbi, etc. Adicionalmente, deve ser entendido que os métodos e sistemas da presente invenção podem ser aplicáveis a outros gêneros além de jogos de esportes.
[0147] Boliche
[0148] O jogo de boliche pode ser jogado por duas pessoas uma contra a outra ou times opostos. Cada usuário (ou time) "vê" uma vista principal que é o quadro da pista de boliche, uma vista aproximada do impacto com o pino, e os mesmos também podem afastar a imagem e ver pistas em qualquer lado onde amigos estão jogando simultaneamente. Cada uma pode ser fotografia, representação artística 2-D preferencialmente com cinemagráficos para luzes piscando no placar de pontuação, plateia torcendo, etc. ou a imagem principal pode ser tela de vídeo inteira.
[0149] Uma vantagem do presente método é que os sensores de movimento do telefone móvel podem ser usados para modelar mais precisamente o balanço de boliche, comparados à técnica anterior tais como um controlador Nintendo Wii. De modo que a velocidade do arremesso, a direção do arremesso, e a rotação angular, que transmite uma velocidade de rotação para a bola de boliche, também possam ser medidos. Para cada arremesso o usuário primeiro zera o telefone para iniciar com a mão pelo seu lado e voltada para o centro do dispositivo de exibição. O mesmo sente uma vibração, ou ouve um sinal de áudio, e então vai para um movimento de balanço de boliche.
[0150] Similar ao jogo de golfe, o balanço é analisado no dispositivo móvel 10, e os dados analisados são passados para o servidor de jogo de boliche 110, os quais então são passados para o dispositivo de exibição 20 usando um dos métodos descritos previamente. A trajetória da bola de boliche é desenhada dinamicamente através do mecanismo de gráficos do dispositivo de exibição transferido por download 125. Sprites são usados para modelar os vários movimentos e quedas dos pinos de acordo com a lógica programada no mecanismo de jogo com base em web 120, que é dependente da velocidade, trajetória e velocidade de rotação da bola passados para a análise de balanço do telefone móvel. Usa-se o mesmo método de pré-carregar conteúdo e minimizar a latência como no jogo de golfe descrito previamente. Também pode ser incorporada instrução de boliche no ambiente de jogo, seguindo o Pedido no U.S. 13/659.774 de Jeffery et al., intitulado Method to provide dynamic customized sports instruction responsive to motion of a mobile device, depositado em 24 de outubro de 2012.
[0151] Tênis
[0152] Tênis é jogado entre dois ou quatro jogadores em uma quadra com uma rede. É descrita a modalidade para dois jogadores, mas o método é generalizável para quatro com múltiplos jogos jogados simultaneamente por diferentes jogadores. São tiradas fotografias de várias áreas da quadra de tênis da perspectiva dos jogadores. Usa-se um conjunto mínimo de fotografias que são pré-carregadas no ambiente a fim de habilitar exibição instantânea para o usuário. Essas fotografias 2-D são aprimoradas com cinemagráficos da plateia torcendo e das nuvens se movendo, por exemplo, e por sprites do boleiro correndo pela quadra para apanhar uma bola que bate na rede. Alternativamente, pode ser usado vídeo de tela cheia no lugar de fotografias aprimoradas por cinemagráficos.
[0153] Os sprites são criados para avatares dos jogadores, imitando os golpes principais: serviço, forehand, backhand, lob etc. Esses sprites são controlados pelo mecanismo de jogo de tênis com base na Web, transferido por download para a página da Web do dispositivo de exibição. O voo da bola é renderizado dinamicamente pelo mecanismo de exibição de gráficos transferido por download, com dados entrados a partir dos sensores de movimento do telefone móvel.
[0154] O balanço do tênis é analisado usando sensores de movimento no telefone móvel em combinação com o sensor de posicionamento global. O telefone é zerado no início do serviço, quando as mãos do usuário estão se preparando para um serviço. Então pode-se analisar a inclinação longitudinal e transversal do telefone e a velocidade do telefone durante o impacto com a bola virtual - esses dados definem a direção e rotação transmitidos para a bola virtual.
[0155] Os movimentos de backhand, forehand e lob são analisados de maneira similar. Para esses procura-se por movimentos rotacionais específicos nos dados sincronizados com quando a bola virtual deve passar sobre a rede. Também são incorporados dados de GPS para saber se o jogador se deslocou para a direita ou esquerda da tela, ou andou para frente, em direção à rede. Esses dados são passados para o mecanismo de jogo de tênis, de modo que o jogador veja a mudança na quadra dinamicamente em resposta a suas posições. Por exemplo, se o jogador anda para frente no lado direito da tela o mesmo ver a imagem 2-D próxima à rede no lado direito da quadra.
[0156] É particularmente importante minimizar a latência no tênis, devido ao ritmo rápido. Existem pausas significativas entre cada golpe, de modo que existem oportunidades periódicas para recalibrar o zero de cada telefone móvel do usuário. Em uma modalidade preferida o dispositivo móvel 10 é conectado simultaneamente ao servidor de jogo com base na Web 110 e ao dispositivo de exibição 20 através de uma conexão local 75. Este método habilita transferência de dados direta indo e voltando entre os componentes locais do jogo.
[0157] Assim a análise do movimento é passada quase instantaneamente para o mecanismo de jogo local 120 para exibir o voo da bola. A bola leva aproximadamente um segundo para voar por cima da rede com uma rebatida, e emprega-se 0,2 seg consultando ou um WebSocket (Figura 3) para transmitir esses dados de telefone móvel para o(s) visor(es) do(s) outro(s) jogador(es) gerar(em) o gráfico. Pode-se antecipar o movimento da bola e enviar dados de 'detecção pré-impacto', por exemplo, para desse modo têm o avatar fazendo um movimento de balanço pré-retorno, para deste modo sincronizar o jogo com latência mínima.
[0158] Adicionalmente, pode ser incorporada instrução de tênis no ambiente de jogo, seguindo o Pedido no U.S. 13/659.774 de Jeffery et al., intitulado Method to provide dynamic customized sports instruction responsive to motion of a mobile device, depositado em 24 de outubro de 2012.
[0159] Beisebol
[0160] O beisebol é particularmente adequado para o método revelado. O banco de dados de recursos de jogo 117 pode incluir fotografias ou vídeos 2-D tomados sistematicamente em várias posições em um diamante de beisebol. As fotografias podem ser aprimoradas por cinemagráficos para a plateia, nuvens se movendo, etc. Sprites também são usados para aprimorar as imagens para fogos de artifício e aviões sobrevoando, por exemplo.
[0161] O jogo pode ser de jogador único rebatendo contra um time virtual, ou dois times de múltiplos jogadores, por exemplo. Para cada jogador/posição cria-se um banco de dados 117 de sprites para pegar, e arremessar. Por exemplo, o avatar do primeiro base predominantemente pegará a bola de múltiplas direções com um pé na base, arremessará a bola de volta para o arremessador, e pode ocasionalmente arremessar para segunda, terceira ou base principal. Assim esses sprites podem ser pré-carregados dependendo da sequência do jogo.
[0162] O mecanismo de regras de jogo 115 determina múltiplas interações do jogador, interfaces com o banco de dados de recursos de jogo 117 e com o banco de dados de usuários 116, e o mecanismo de jogo do sítio de Web 120 e mecanismos gráficos 125 são transferidos por download nos dispositivos de exibição de usuários específicos 20. A análise de movimento de balanço e arremesso é conduzida nos dispositivos móveis de usuários 10. Assim, por exemplo, o balanço do bastão é realizado balançando-se o dispositivo móvel. É definida uma zona de strike virtual no dispositivo de exibição, e os usuários balançam em bolas virtuais arremessadas pelo avatar do arremessador nessa zona. O método descrito na seção a seguir é usado para definir a velocidade do balanço e o curso do balanço. O sincronismo do balanço é usado para aproximar se o dispositivo móvel (bastão) potencialmente não acertou a bola ou acertou a bola para um strike. O mecanismo de regras de jogo 115 define um conjunto de balanços para arremessos correspondentes que resultam em vários golpes - golpes de base, bola aérea, corrida até a base principal etc. O mecanismo de lógica de jogo 120 então determina o voo da bola em resposta ao balanço do dispositivo móvel, e o sprite de animação do jogador responde. Os vários jogadores podem ser controlados por companheiros de time virtuais - os mesmos veem as respectivas fotografias ou vídeos 2-D do campo e sprites de avatar de jogador em suas respectivas localizações. Os sensores de movimento são usados para analisar um arremesso de uma bola, onde uma luva virtual na tela pega a bola.
[0163] Em uma modalidade preferida os strikes ou batidas são determinados usando o método a seguir. O tempo tvoo da bola, que a mesma leva do arremesso virtual para chegar ao jogador pode ser calculado a partir de t voo da bola = d/v onde d é a distância do arremessador para base principal (18,44 metros (60,5 pés) para a liga principal de beisebol ou 13,7 metros (45 pés) para ligas menores, como exemplos) e v é a velocidade do arremesso. Assumindo um arremesso de 152,9 km/h (95 mph) na liga principal de beisebol, o tempo de voo da bola de beisebol do arremessador para base principal é de 0,43 segundos. Isto é, t voo da bola = 0,43 segundos. O mecanismo com base na nuvem compara o registro de hora do arremesso, tarremesso, mais tvoo da bola para o registro de hora do ponto de impacto, tponto de impacto. Se os mesmos coincidirem dentro de um intervalo de tempo pré-determinado.
[0164]
Figure img0010
Figure img0011
(6) menor ou igual a δ segundos, 0,15 segundos, por exemplo, então pode ser assumido que o bastão virtual bateu a bola virtual, e então pode ser renderizada uma animação do voo da bola no visor habilitado para a Web 20 através do mecanismo de gráficos com base na nuvem 125. Entretanto, se em Δt > δ segundos, é assumido que o bastão virtual errou a bola virtual e o balanço é considerado um strike.
[0165] Preferencialmente, a análise e sincronização do movimento esportivo usa um dispositivo móvel sincronizado 10, um servidor de jogo com base na nuvem (ou na rede de outra forma) 120, e um Visor habilitado para a Web 20 cada um com uma fidelidade de 0,1 segundos ou menos. Navegadores de Web correntes têm registros de hora de relógio local não confiáveis e chamadas de Javascript para o relógio interno tipicamente não consultam em intervalos exatamente iguais. Em uma modalidade preferida, o Protocolo de Tempo de Rede (NTP) pode ser usado para sincronizar os sistemas computadores sobre uma rede de dados comutada por pacotes de latência variável. O cliente NTP de Java Script é usado para obter os deslocamentos de tempo dos clientes (dispositivo móvel 10 e dispositivo de exibição 20) e do servidor (mecanismo de software com base na nuvem). Isto determina a hora coordenada inicial baseada em um relógio externo preciso. Então é agendado uma chamada de retorno de Java Script usando setlnterval() na granularidade mais confiável possível, a qual é dependente do navegador de Web. Não é assumido que a chamada de retorno esteja sendo chamada em intervalos confiáveis, entretanto, mas em vez de usar a chamada de nova Date().getTime()de dentro da chamada de retorno e aplicar o deslocamento para o tempo coordenado real, e então interpolar para encontrar o tempo real do arremesso, t inclinação longitudinal, e o ponto de impacto virtual, t arremesso. Esses dados então são usados para calcular a Eq. (6).
[0166] Assim, o método é generalizável e extensível para o caso de uso onde o movimento esportivo está impactando um objeto virtual em movimento, tal como uma bola de beisebol ou bola de tênis, e pode ser aplicado de maneira similar a tênis, badminton, tênis de mesa, raquete bola, hóquei, basquetebol, futebol americano, e todos os outros esportes similares onde o objeto de esportes virtual (por exemplo, bola, disco, peteca) está em movimento e então batida, arremessada, ou agarrada pelo movimento esportivo e pelos equipamentos esportivos dos jogadores virtuais.
[0167] Instrução de beisebol, especialmente para rebatida e arremesso, pode ser incorporada no ambiente de jogo, seguindo o Pedido no U.S. 13/659.774 de Jeffery et al., intitulado Method to provide dynamic customized sports instruction responsive to motion of a mobile device, depositado em 24 de outubro de 2012
ANÁLISE DE MOVIMENTO DE ESPORTES EM GERAL
[0168] O método de usar dados de múltiplos sensores de movimento do dispositivo móvel para analisar um balanço de golfe é generalizável para outros tipos de movimentos esportivos. As Figuras 11(a) a (c) mostram exemplos de dados de movimento de um forehand de tênis, ou um balanço de golfe horizontal sentado. Neste exemplo o curso do balanço está no plano horizontal, mas com rotação do antebraço e articulação do pulso em volta de impacto. Assim, a identificação do movimento é diferente de uma posição de balanço de golfe e o ponto de impacto na Figura 11(a) a inclinação longitudinal é agora um cruzamento de zero dos dados de inclinação longitudinal. O desafio é detectar o cruzamento de zero correto. Neste exemplo, a orientação é um máximo local próximo ao ponto de impacto. Assim novamente usando dois tipos de medições rotacionais (inclinação longitudinal e orientação), ver Figuras 11 (a) e (b), inclinação longitudinal e orientação, respectivamente, pode- se detectar mais precisamente o ponto de impacto a partir de dados de um único sensor, neste caso inclinação longitudinal. No caso de um balanço de tênis, os dados de inclinação transversal no ponto de impacto, ver Figura 11 (c), podem ser usados para calcular a rotação de hook ou slice transmitido para a bola de tênis.
[0169] Observe-se que o ponto de calibração não precisa ser uma posição de configuração específica onde o dispositivo móvel 10 é mantido parado por um segundo na mesma posição. Para tênis e tênis de mesa o ponto de calibração pode ser obtido a partir de qualquer ponto onde o jogador tenha suas mãos em uma posição pronta para jogar, e/ou pode ser selecionado como um ponto final ou ponto de calibração de um movimento esportivo anterior.
[0170] Para ilustrar modalidades preferidas onde o movimento esportivo pode cruzar com um objeto virtual em movimento e o ponto de liberação e o ponto de impacto são diferentes do ponto de calibração, são fornecidos exemplos para beisebol e boliche.
[0171] Os dados de sensor de movimento de balanço de beisebol são ilustrados nas Figuras 12(a) a (c). Para um balanço de beisebol o ponto de calibração é uma posição de configuração com o dispositivo móvel 10 mantido em ambas as mãos para fora em frente ao corpo, com os polegares apontando para se alinhar naturalmente com o dispositivo móvel (bastão virtual) com uma bola em um ponto de partida virtual; as mãos ficam perpendiculares ao solo. Os dados mostrados são de um atleta profissional e ilustram as características essenciais de um movimento de balanço de beisebol ideal. Para o movimento esportivo de beisebol, a orientação na Figura 12 (a) é a variável chave, uma vez que quando o "bastão" é balançado através do ponto de impacto com uma bola virtual, a posição ideal da mão é com as palmas paralelas ao solo, o que causa uma mudança rápida na orientação do dispositivo móvel durante o impacto. A orientação no ponto de calibração foi zero; assim o ponto de impacto é quando a orientação cruza zero, ver Figura 13 (a), apesar do dispositivo móvel ser girado noventa graus relativo ao ponto de calibração. Em um balanço de beisebol ideal a inclinação transversal do bastão ocorre apenas após o ponto de impacto ver Figura 13(b). No caso existe uma inclinação transversal máxima no ponto de impacto, então os pulsos têm uma tendência a levantar o bastão sobre o topo da bola, provocando uma bola baixa ou perdida: este é o "balanço bolha".
[0172] A inclinação longitudinal e orientação do dispositivo móvel 10 tomadas juntas fornecem compreensão do ângulo do bastão através do ponto de impacto. Por exemplo, os dados de inclinação longitudinal na Figura 12(c) mostram que as mãos inclinadas para baixo no ponto de impacto, uma vez que a inclinação longitudinal é negativa no ponto de impacto e não retorna para zero até após o ponto de impacto, e assim o bastão deve ter contatado a bola virtual se a mesma tiver sido arremessada abaixo do ponto de calibração, isto é, na metade inferior da zona de strike.
[0173] Como um último exemplo, considera-se o caso de uso onde o ponto de liberação é diferente tanto do ponto de calibração e como do ponto de impacto. As Figuras 13(a) a (c) ilustram os dados do sensor de movimento de dispositivo móvel para um movimento esportivo de boliche. Nesse exemplo, o ponto de calibração é a mão em repouso, relaxada e totalmente estendida no lado do jogador, com a palma da mão voltada para frente. O movimento de boliche é primeiro trazer a bola de boliche virtual até o queixo, carregada em ambas as mãos, e então balançar para baixo e para frente ao mesmo tempo em que dando alguns passos. Os dados de inclinação longitudinal ilustram como a inclinação longitudinal do dispositivo móvel 10 aumenta quando o dispositivo móvel 10 é trazido até o queixo, onde existe um mínimo local quando o jogador começa a andar para frente. Então, a inclinação longitudinal diminui quando o jogador balança para baixo no movimento de balanço para trás, onde existe um zero de inclinação longitudinal que corresponde ao zero de calibração inicial, e então o movimento muda para a rotação de descida final para um segundo zero, que é o ponto de liberação da bola de boliche virtual.
[0174] Similar ao balanço de golfe descrito previamente, a velocidade da bola de boliche virtual pode ser calculada a partir de Eq. (3) e a diferença de tempo entre os pontos de 30 ou 60 graus de inclinação longitudinal, similar à Figura 8, ou integrando a Eq. (4). A taxa de mudança dos dados de inclinação transversal, a derivada de inclinação transversal, através do ponto de liberação é proporcional à velocidade de rotação transmitida para a bola de boliche virtual. Assim pode-se calcular a velocidade e rotação da bola de boliche virtual no ponto de liberação.
[0175] Observe-se neste exemplo que o ponto de liberação é diferente no espaço do ponto de calibração, e o ponto de impacto é removido adicionalmente do ponto de liberação. Neste exemplo, o ponto de impacto ocorre no espaço virtual. Como descrito acima, usando uma plataforma de jogo baseada na nuvem 100 a bola de boliche pode ser exibida em uma pista de boliche virtual em um visor habilitado para a Web HTML5, tal como uma Web TV, e o impacto com os pinos simulado no tempo e espaço dada a velocidade e rotação da bola de boliche virtual, e o comprimento de da pista de boliche virtual. Assim, o jogador executa o movimento de boliche virtual, e vê a boliche bola virtual descer a pista e bater nos pinos no visor habilitado para a Web, com um percurso e velocidade determinados pela velocidade e rotação calculados a partir da identificação do balanço do dispositivo móvel e sincronizado no tempo para parecer um movimento contínuo.
[0176] Embora essa invenção tenha sido descrita em conjunto com as várias modalidades exemplificativas apresentadas acima, é evidente que muitas alternativas, modificações e variações ficará evidente para os indivíduos versados na técnica. Consequentemente, as modalidades exemplificativas da invenção, como apresentadas acima, destinam-se a ser ilustrativas, não limitantes. Várias mudanças podem ser feitas sem se afastar do espírito e escopo da invenção.

Claims (7)

1. SISTEMA DE JOGO (100), caracterizado por compreender; um servidor de jogo (110) configurado para gerenciar pelo menos um jogo, em que (a) é estabelecida uma primeira conexão entre um primeiro dispositivo (10) e o servidor de jogo (110), em que o primeiro dispositivo (10) tem primeiros sensores de movimento; (b) é estabelecida uma segunda conexão entre um segundo dispositivo (20) e o servidor de jogo; (c) uma terceira conexão é estabelecida entre um terceiro dispositivo (10) e o servidor de jogo (110), em que o terceiro dispositivo (10) tem segundos sensores de movimento; (d) no servidor de jogo (110), através da primeira conexão, dados de movimento do primeiro dispositivo de jogo são recebidos do primeiro dispositivo (10), em que os dados de movimento do primeiro dispositivo de jogo são determinados através do uso dos primeiros sensores de movimento responsivos ao primeiro dispositivo (10) sendo movido por um primeiro jogador durante um jogo; (e) no segundo dispositivo (20), é exibido o primeiro conteúdo de imagem relacionado ao jogo, em que o primeiro conteúdo de imagem é renderizado com base, pelo menos em parte, nos dados de movimento de jogo recebidos do primeiro dispositivo; (f) no servidor de jogo (110), através da terceira conexão, dados de movimento do terceiro dispositivo jogo são recebidos do terceiro dispositivo (10), em que os dados de movimento do terceiro dispositivo jogo são determinados através do uso dos segundos sensores de movimento responsivos ao terceiro dispositivo (10) sendo movido por um segundo jogador durante o jogo; e (g) no segundo dispositivo (20) relacionado ao jogo, é exibido o segundo conteúdo de imagem, em que o segundo conteúdo de imagem é renderizado com base, pelo menos em parte, nos dados de movimento de jogo recebidos do terceiro dispositivo, em que o segundo dispositivo (20) inclui uma aplicação de Web assíncrona tendo lógica de jogo por download de servidor de jogo (110).
2. SISTEMA DE JOGO (100), de acordo com a reivindicação 1, caracterizado pelo segundo dispositivo (20) ser um visor habilitado para Web.
3. SISTEMA DE JOGO (100), de acordo com a reivindicação 1, caracterizado pela primeira conexão e a segunda conexão serem conexões de Internet separadas.
4. SISTEMA DE JOGO (100), de acordo com a reivindicação 1, caracterizado pelos primeiros sensores de movimento incluírem um giroscópio e um acelerômetro.
5. SISTEMA DE JOGO (100), de acordo com a reivindicação 1, caracterizado pelo primeiro dispositivo (10) analisar dados brutos de movimento obtidos a partir do giroscópio e do acelerômetro para determinar os primeiros dados de movimento do jogo.
6. SISTEMA DE JOGO (100), de acordo com a reivindicação 1, caracterizado pelos dados de movimento do primeiro dispositivo de jogo incluírem velocidade de balanço e ângulo de rolamento.
7. SISTEMA DE JOGO (100), de acordo com a reivindicação 6, caracterizado pelos dados de movimento do primeiro dispositivo de jogo incluírem velocidade de rotação do antebraço, articulação do punho e curso do balanço.
BR112014026924-6A 2012-05-02 2013-05-02 Sistema de jogo BR112014026924B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261641825P 2012-05-02 2012-05-02
US61/641,825 2012-05-02
US13/875,179 US9022870B2 (en) 2012-05-02 2013-05-01 Web-based game platform with mobile device motion sensor input
US13/875,179 2013-05-01
PCT/US2013/039219 WO2013166251A1 (en) 2012-05-02 2013-05-02 Web-based game platform with mobile device motion sensor input

Publications (2)

Publication Number Publication Date
BR112014026924A2 BR112014026924A2 (pt) 2017-06-27
BR112014026924B1 true BR112014026924B1 (pt) 2022-05-17

Family

ID=49512930

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014026924-6A BR112014026924B1 (pt) 2012-05-02 2013-05-02 Sistema de jogo

Country Status (9)

Country Link
US (2) US9022870B2 (pt)
EP (1) EP2844359B1 (pt)
JP (1) JP6313283B2 (pt)
KR (1) KR101800795B1 (pt)
CN (1) CN104394949A (pt)
AU (1) AU2013256266B2 (pt)
BR (1) BR112014026924B1 (pt)
CA (1) CA2869785C (pt)
WO (1) WO2013166251A1 (pt)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9821210B2 (en) * 2011-05-11 2017-11-21 Karsten Manufacturing Corporation Systems, methods, and articles of manufacture to measure, analyze and share golf swing characteristics
CN103677320B (zh) * 2012-08-30 2018-09-25 索尼公司 遥控器、远端设备、多媒体***及控制方法
JP5406396B1 (ja) * 2013-04-03 2014-02-05 株式会社 ディー・エヌ・エー サーバー装置、及び、プログラム
US9911231B2 (en) * 2013-10-08 2018-03-06 Samsung Electronics Co., Ltd. Method and computing device for providing augmented reality
IN2013CH04559A (pt) * 2013-10-08 2015-04-10 Samsung Electrinics Company
CN104571986B (zh) * 2013-10-22 2018-07-06 精工爱普生株式会社 显示***、显示装置以及显示方法
US9744458B2 (en) * 2013-11-13 2017-08-29 Gaijin Entertainment Corp. Method for simulating video games on mobile device
US9669300B2 (en) 2013-12-27 2017-06-06 Ballcraft, Llc Motion detection for existing portable devices
WO2015143251A1 (en) * 2014-03-19 2015-09-24 Virtuix Holdings Inc. Method of generating an input in an omnidirectional locomotion system
US9339714B2 (en) 2014-05-20 2016-05-17 Arccos Golf Llc System and method for monitoring performance characteristics associated with user activities involving swinging instruments
ES2552881B1 (es) 2014-06-02 2016-07-12 Samsung Electronics Iberia, S.A.U. Dispositivo portable y método de control mediante gestos
US10222868B2 (en) 2014-06-02 2019-03-05 Samsung Electronics Co., Ltd. Wearable device and control method using gestures
WO2016036425A1 (en) * 2014-09-05 2016-03-10 Ballcraft, Llc Motion detection for portable devices
US11045723B1 (en) 2014-11-18 2021-06-29 Razer (Asia-Pacific) Pte. Ltd. Gaming controller for mobile device and method of operating a gaming controller
SG11201704034PA (en) 2014-11-18 2017-06-29 Razer (Asia-Pacific) Pte Ltd Gaming controller for mobile device and method of operating a gaming controller
CN105897811B (zh) * 2015-01-26 2019-04-23 ***通信集团公司 一种数据同步方法和装置
US20160260319A1 (en) * 2015-03-04 2016-09-08 Aquimo, Llc Method and system for a control device to connect to and control a display device
JP2016209120A (ja) * 2015-04-30 2016-12-15 セイコーエプソン株式会社 スイング支援装置、スイング支援方法、プログラム、およびスイング支援システム
US9770639B2 (en) 2015-07-21 2017-09-26 Arccos Golf, Llc System and method for monitoring performance characteristics associated with user activities involving swinging instruments
US9578493B1 (en) * 2015-08-06 2017-02-21 Adtile Technologies Inc. Sensor control switch
CN105597323A (zh) * 2015-12-25 2016-05-25 北京像素软件科技股份有限公司 一种网络游戏中地形变化的实现方法及***
KR101729887B1 (ko) 2016-01-25 2017-04-25 엔에이치엔엔터테인먼트 주식회사 롱폴링 처리 방법 및 시스템
CN107092430B (zh) * 2016-02-18 2020-03-24 纬创资通(中山)有限公司 空间绘画计分方法、用于进行空间绘画计分的装置及***
US20170269712A1 (en) * 2016-03-16 2017-09-21 Adtile Technologies Inc. Immersive virtual experience using a mobile communication device
CN105933788A (zh) * 2016-04-15 2016-09-07 成都趣梦网络科技有限公司 一种html5游戏控制方法、装置及终端
CN106055078B (zh) * 2016-05-31 2019-03-01 Oppo广东移动通信有限公司 一种移动终端的传感器处理方法、装置及移动终端
US10709975B2 (en) * 2016-06-29 2020-07-14 Intel Corporation Systems and methods for manipulating a virtual object
KR20180040451A (ko) * 2016-10-12 2018-04-20 엘지전자 주식회사 이동 단말기 및 그의 동작 방법
US11794094B2 (en) * 2016-10-17 2023-10-24 Aquimo Inc. Method and system for using sensors of a control device for control of a game
CN106559481A (zh) * 2016-11-02 2017-04-05 深圳市合互联技术有限责任公司 一种提供应用的方法及服务器
US10478732B2 (en) 2016-11-07 2019-11-19 Microsoft Technology Licensing, Llc Arbitrating an outcome of a multiplayer game session
US9773330B1 (en) 2016-12-29 2017-09-26 BioMech Sensor LLC Systems and methods for real-time data quantification, acquisition, analysis, and feedback
US11318350B2 (en) 2016-12-29 2022-05-03 BioMech Sensor LLC Systems and methods for real-time data quantification, acquisition, analysis, and feedback
US10352962B2 (en) 2016-12-29 2019-07-16 BioMech Sensor LLC Systems and methods for real-time data quantification, acquisition, analysis and feedback
US10973439B2 (en) 2016-12-29 2021-04-13 BioMech Sensor LLC Systems and methods for real-time data quantification, acquisition, analysis, and feedback
US9983687B1 (en) * 2017-01-06 2018-05-29 Adtile Technologies Inc. Gesture-controlled augmented reality experience using a mobile communications device
KR101881565B1 (ko) * 2017-01-10 2018-07-24 동서대학교산학협력단 운동 물리량 측정기반 모션데이터 생성-편집시스템 및 모션데이터 편집 프로그램 장치
WO2018136419A1 (en) 2017-01-17 2018-07-26 Arccos Golf, Llc Autonomous personalized golf recommendation and analysis environment
JP2018126391A (ja) * 2017-02-09 2018-08-16 株式会社セガゲームス ゲーム装置、プログラム及びゲームシステム
JP7061848B2 (ja) * 2017-06-13 2022-05-02 任天堂株式会社 通信システム、サーバ、情報処理方法及びプログラム
US10593149B2 (en) * 2017-12-14 2020-03-17 Igt Skill based mobile device input to effect game outcome
US11465056B2 (en) 2018-01-12 2022-10-11 Bunch Live, Inc. Game mediation component for enriching multiplayer gaming sessions
US11103772B2 (en) 2018-01-12 2021-08-31 Bunch Live, Inc. Mediating multiplayer electronic game sessions
KR102046918B1 (ko) 2018-02-19 2019-11-20 동서대학교 산학협력단 서브모터를 이용한 모션 입력 장치 및 모션 입력 방법
CN112437910A (zh) * 2018-06-20 2021-03-02 威尔乌集团 握住和释放虚拟对象
CN109144642B (zh) * 2018-08-14 2022-02-18 Oppo广东移动通信有限公司 显示控制方法、装置、电子设备及存储介质
CN109621424B (zh) * 2018-12-18 2022-05-13 深圳源中瑞科技有限公司 一种可扩展的游戏构建方法、游戏运行方法和存储介质
US11642596B2 (en) 2019-04-29 2023-05-09 Bunch Live, Inc. Game mediation infrastructure for establishment of multiplayer gaming sessions
JP6624767B1 (ja) 2019-08-26 2019-12-25 株式会社ブラック 情報処理システム及び情報処理方法
US11295527B2 (en) * 2019-08-30 2022-04-05 Sprongo, LLC Instant technique analysis for sports
US11606617B2 (en) * 2020-03-11 2023-03-14 Augusta National, Inc. Method, apparatus and computer program product for presenting a sporting event
CN112791385A (zh) * 2021-03-22 2021-05-14 腾讯科技(深圳)有限公司 游戏运行方法、装置、控制设备以及服务器
JP7457745B2 (ja) * 2022-03-30 2024-03-28 任天堂株式会社 ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317722B1 (en) 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US7789742B1 (en) 1999-05-12 2010-09-07 Wilbert Q. Murdock Smart golf club multiplayer system for the internet
US6545661B1 (en) * 1999-06-21 2003-04-08 Midway Amusement Games, Llc Video game system having a control unit with an accelerometer for controlling a video game
KR20010003645A (ko) 1999-06-24 2001-01-15 윤종용 이동통신시스템에서 에이티엠 시그널링 수행장치
US20070066396A1 (en) * 2002-04-05 2007-03-22 Denise Chapman Weston Retail methods for providing an interactive product to a consumer
JP2004113689A (ja) 2002-09-30 2004-04-15 Mitsumi Electric Co Ltd ゴルフゲーム機能付き携帯電話機
EP1587588A2 (en) 2002-12-19 2005-10-26 Fortescue Corporation Method and apparatus for determining orientation and position of a moveable object
US20050054457A1 (en) 2003-09-08 2005-03-10 Smartswing, Inc. Method and system for golf swing analysis and training
US7300358B2 (en) 2003-11-24 2007-11-27 Karsten Manufacturing Corporation Multiple flex shaft system for golf clubs
TW200537901A (en) 2004-04-22 2005-11-16 Yuh-Swu Hwang Method and apparatus enable mobile phone capable of exercise measuring and workout support
EP1904189A2 (en) 2004-05-19 2008-04-02 Motus Corporation Motion tracking and analysis apparatus and method and system implementations thereof
US7982738B2 (en) 2004-12-01 2011-07-19 Microsoft Corporation Interactive montages of sprites for indexing and summarizing video
US8083589B1 (en) * 2005-04-15 2011-12-27 Reference, LLC Capture and utilization of real-world data for use in gaming systems such as video games
KR100703490B1 (ko) 2005-04-18 2007-04-03 삼성전자주식회사 비동기 방식을 기반으로 한 이동 통신 단말기의 시간동기화 방법 및 그 시스템
US7927216B2 (en) 2005-09-15 2011-04-19 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
US7942745B2 (en) 2005-08-22 2011-05-17 Nintendo Co., Ltd. Game operating device
US8218657B2 (en) 2005-09-02 2012-07-10 Netgear, Inc. System and method for automatic adjustment of streaming video bit rate
EP1810721A1 (en) 2006-01-19 2007-07-25 Friends-for-Golfers GmbH Golf diagnosis apparatus, golf equipment device, golf diagnosis system, and method of mounting a golf diagnosis apparatus
US7806777B2 (en) 2006-04-18 2010-10-05 World Golf Tour, Inc. Automatically adapting virtual equipment model
WO2008052605A1 (en) 2006-10-31 2008-05-08 Friend For Golfers Gmbh Data processing system and golf diagnosis apparatus
WO2008101248A2 (en) 2007-02-16 2008-08-21 Bodymedia, Inc. Systems and methods for understanding and applying the physiological and contextual life patterns of an individual or set of individuals
WO2008144729A2 (en) 2007-05-21 2008-11-27 World Golf Tour, Inc. Electronic game utilizing photographs
JP2009000163A (ja) * 2007-06-19 2009-01-08 Nec Corp ゲームシステム、ゲームサーバ、携帯端末、ゲーム管理方法およびプログラム
US8850230B2 (en) 2008-01-14 2014-09-30 Microsoft Corporation Cloud-based movable-component binding
US8029359B2 (en) 2008-03-27 2011-10-04 World Golf Tour, Inc. Providing offers to computer game players
JP5438290B2 (ja) 2008-07-01 2014-03-12 住友ゴム工業株式会社 ゴルフクラブのスイングシミュレーション方法
JP2012507091A (ja) * 2008-10-27 2012-03-22 ソーシャル・ゲーミング・ネットワーク インターラクティブなプロキシミティディスプレイのテザーのための装置、方法およびシステム
KR20100086819A (ko) * 2009-01-23 2010-08-02 삼성전자주식회사 휴대단말기의 게임 실행 방법 및 시스템
US9459936B2 (en) 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
US8303387B2 (en) 2009-05-27 2012-11-06 Zambala Lllp System and method of simulated objects and applications thereof
WO2011085494A2 (en) 2010-01-12 2011-07-21 Ppg Technologies Inc. Game device swing detector
WO2011096203A1 (ja) 2010-02-03 2011-08-11 任天堂株式会社 ゲームシステム、操作装置、およびゲーム処理方法
EP2353677A3 (en) * 2010-02-03 2014-01-22 Nintendo Co., Ltd. Game system, image output device, and image display method
CA2731025C (en) * 2010-02-05 2014-10-07 Fletcher Lu Mobile social fitness networked game
KR20130018708A (ko) 2010-03-05 2013-02-25 브래스 몽키, 인크. 웹 브라우저에서의 양방향 통신 및 컨텐츠의 제어를 하기 위한 시스템 및 방법
KR101852812B1 (ko) * 2010-08-23 2018-04-27 엘지전자 주식회사 게임 애플리케이션 제공 방법 및 그 방법을 채용한 영상표시기기
US20120052933A1 (en) 2010-08-30 2012-03-01 Craig Alan Olson Multifunctional gaming platform
JP5258861B2 (ja) * 2010-09-27 2013-08-07 株式会社東芝 Gui処理装置、gui処理方法およびgui処理プログラム
KR101059258B1 (ko) 2010-12-31 2011-08-26 (주) 골프존 모바일 단말기를 이용한 가상 골프 시뮬레이션 방법, 이를 위한 어플리케이션의 가상 골프 시뮬레이션 구현 방법, 이를 위한 어플리케이션 설계 방법, 이를 위한 어플리케이션의 프로그램 수행 방법 및 이를 제공하는 모바일 단말기
US8910309B2 (en) * 2011-12-05 2014-12-09 Microsoft Corporation Controlling public displays with private devices
JP5248689B1 (ja) * 2012-02-17 2013-07-31 株式会社コナミデジタルエンタテインメント ゲーム制御装置、プログラム、ゲーム制御方法、ゲーム制御システム

Also Published As

Publication number Publication date
US20150238858A1 (en) 2015-08-27
BR112014026924A2 (pt) 2017-06-27
EP2844359B1 (en) 2017-01-11
CN104394949A (zh) 2015-03-04
AU2013256266A1 (en) 2014-10-16
JP2015525085A (ja) 2015-09-03
EP2844359A1 (en) 2015-03-11
JP6313283B2 (ja) 2018-04-18
KR101800795B1 (ko) 2017-12-20
EP2844359A4 (en) 2015-09-23
AU2013256266B2 (en) 2015-04-09
WO2013166251A1 (en) 2013-11-07
KR20150006463A (ko) 2015-01-16
US9022870B2 (en) 2015-05-05
CA2869785A1 (en) 2013-11-07
US20130296048A1 (en) 2013-11-07
CA2869785C (en) 2018-02-13

Similar Documents

Publication Publication Date Title
CA2869785C (en) Web-based game platform with mobile device motion sensor input
US12005344B2 (en) Motion mirroring system that incorporates virtual environment constraints
US20240058691A1 (en) Method and system for using sensors of a control device for control of a game
CN104023799B (zh) 使用移动装置的动作传感器对体育动作进行分析的方法和***
JP5286267B2 (ja) ゲーム装置、ゲームプログラム及びオブジェクトの操作方法
US20090029754A1 (en) Tracking and Interactive Simulation of Real Sports Equipment
US20110172017A1 (en) Game machine, game program, and game machine control method
US11328559B2 (en) System and method for enabling wagering event between sports activity players with stored event metrics
US20220270447A1 (en) System and method for enabling wagering event between sports activity players with stored event metrics
WO2021178755A1 (en) Use of projectile data to create a virtual reality simulation of a live-action sequence
KR102623146B1 (ko) 클럽 추천 장치 및 방법
RU2629152C1 (ru) Система и способ вычисления прогноза игровой ситуации после воздействия игровых инструментов на игровые предметы
CN104063048A (zh) 用于在计算机模拟中捕捉对象时需要附加用户输入的方案

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]
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 02/05/2013, OBSERVADAS AS CONDICOES LEGAIS