MX2014000227A - Generacion automatica de mini-juegos sugeridos para juego en la nube con base en la mecanica de juego grabada. - Google Patents

Generacion automatica de mini-juegos sugeridos para juego en la nube con base en la mecanica de juego grabada.

Info

Publication number
MX2014000227A
MX2014000227A MX2014000227A MX2014000227A MX2014000227A MX 2014000227 A MX2014000227 A MX 2014000227A MX 2014000227 A MX2014000227 A MX 2014000227A MX 2014000227 A MX2014000227 A MX 2014000227A MX 2014000227 A MX2014000227 A MX 2014000227A
Authority
MX
Mexico
Prior art keywords
game
user
mechanics
video
video game
Prior art date
Application number
MX2014000227A
Other languages
English (en)
Other versions
MX356707B (es
Inventor
David Perry
Kelvin Yong
Victor Octav Suba Miura
Philippe Dias
Original Assignee
Sony Comp Entertainment
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/831,178 external-priority patent/US9352226B2/en
Priority claimed from US13/831,190 external-priority patent/US9364743B2/en
Priority claimed from US13/839,382 external-priority patent/US9345966B2/en
Application filed by Sony Comp Entertainment filed Critical Sony Comp Entertainment
Publication of MX2014000227A publication Critical patent/MX2014000227A/es
Publication of MX356707B publication Critical patent/MX356707B/es

Links

Classifications

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

Landscapes

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

Abstract

Se provee un método para generar una versión limitada jugable de un juego de video; se graba una mecánica de juego de usuario de una versión completa del juego de video; la mecánica de juego grabada del usuario se analiza para determinar una región de interés; los limites se definen dentro del contexto de mecánica de juego del juego de video con base en la región determinada de interés; la versión limitada del juego de video se genera con base en los límites definidos.

Description

GENERACIÓN AUTOMÁTICA DE MINI-JUEGOS SUGERIDOS PARA JUEGO EN LA NUBE CON BASE EN LA MECÁNICA DE JUEGO GRABADA CAMPO DE LA INVENCIÓN La presente invención se relaciona con métodos y sistemas para la generación automática de mini-juegos sugeridos con base en la mecánica de juego grabada, generación de mini-juegos de múltiples partes para juego en la nube con base en la mecánica de juego grabada, compartiendo la mecánica de juego grabada a un perfil social, y control remoto de una mecánica de juego del primer usuario por un segundo usuario.
ANTECEDENTES DE LA INVENCIÓN La industria de video juegos ha presenciado muchos cambios a través de los años. Como la potencia de la computación se expande, de manera similar los desarrolladores de video juegos han creado software de juego que toma ventaja de estos incrementos en la potencia de la computación. Para este fin, los desarrolladores de juegos de video han estado codificando juegos que incorporan operaciones sofisticadas y matemáticas para producir una experiencia de juego muy realista.
Ejemplos de plataformas para juego, pueden ser Sony Playstation®, Sony Playstation2® (PS2), y Sony Playstation3® (PS3), cada una de las cuales se vende en al forma de una consola de juego. Como se conoce bien, la consola de juego está diseñada para conectarse a un monitor (usualmente una televisión) y permite interacción con el usuario a través de controladores portátiles. La consola de juego está diseñada con hardware de procesamiento especializado, incluyendo un CPU, un sintetizador de gráficas para procesamiento de operaciones gráficas intensivas, una unidad vectorial para realizar transformaciones geométricas, y otro hardware de cola, microcódigo, y software. La consola de juego está diseñada adicionalmente con una charola de disco óptico para recibir discos compactos de juego para juego local a través de la consola de juego. También es posible juego en línea, donde un usuario puede jugar interactivamente contra o con otros usuarios en el Internet. Como la complejidad de jugo continúa para intrigar a los jugadores, los fabricantes de juego y hardware han continuado innovando para permitir interactividad adicional y programas de computadora.
Una tendencia de crecimiento en la industria de juego de computadora es desarrollar juegos que incrementen la interacción entre el usuario y el sistema de juego. Una manera de lograr una experiencia interactiva más enriquecedora es usar controladores de juego inalámbricos cuyo movimiento es rastreado por el sistema de juego para rastrear los movimientos del jugador y usar estos movimientos como entradas para el juego. Hablando generalmente, el gesto de entrada se refiere a tener un dispositivo electrónico tal como un sistema de computadora, consola de video juego, dispositivo inteligente, etc., que reacciona con algún gesto hecho por el jugador y capturado por el dispositivo electrónico.
Otra tendencia de crecimiento en la industria involucra el desarrollo de sistemas de juego basados en la nube. Tales sistemas pueden incluir un servidor de procesamiento remoto que ejecuta una aplicación de juego, y se comunica con un cliente reducido local que puede configurarse para recibir entrada desde los usuarios y proporcionar video en una pantalla.
Es en este contexto que surgen las modalidades de la invención.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Las modalidades de la presente invención proporcionan métodos y sistemas para generación automática de mini-juegos sugeridos con base en la mecánica de juego grabada, generación de mini-juegos de múltiples partes para juego en la nube con base en el juego grabado, compartir la mecánica de juego con un perfil social, y control remoto de una primera mecánica de juego del usuario por un segundo usuario. Debería apreciarse que la presente invención puede implementarse en numerosas maneras, tales como un proceso, un aparato, un sistema, un dispositivo o un método en un medio legible en computadora. Varias modalidades inventivas de la presente invención se describen abajo.
En una modalidad, se provee un método para generar una versión limitada jugable de un video juego, incluyendo las siguientes operaciones del método: grabar una mecánica de juego de usuario de una versión completa del video juego; analizar la mecánica de juego grabada del usuario para determinar una región de interés; definir límites dentro de un contexto de la mecánica de juego del video juego con base en la región de interés determinada; y generar la versión limitada del video juego con base en los límites definidos; en donde el método se ejecuta por un procesador.
En otra modalidad, se provee un método para generar una versión limitada jugable de un video juego, incluyendo las siguientes operaciones del método: grabar una mecánica de juego del usuario de una versión completa del video juego; analizar la mecánica de juego grabada del usuario para determinar una o más regiones de interés; presentar cada una de las regiones de interés para selección; recibir una entrada de selección indicando una región seleccionada de interés; para la región seleccionada de interés, definir límites dentro de un contexto de mecánica de juego del video juego con base en la región de interés seleccionada; y generar la versión limitada del video juego con base en los límites definidos; en donde el método se ejecuta por un procesador.
En otra modalidad, se provee un método para generar una versión limitada jugable de un video juego, incluyendo las siguientes operaciones del método: grabar una mecánica de juego del usuario de una versión completa del video juego; en donde registrar el juego del usuario incluye grabar uno o más de datos de entrada de usuario o datos de estado de juego; analizar la mecánica de juego grabada del usuario para determinar una o más regiones de interés; en donde cada región de interés se identifica automáticamente con base en la correspondencia a uno o más umbrales; presentar cada una de las regiones de interés para la selección; recibir una entrada de selección indicando una región seleccionada de interés; para la región seleccionada de interés, definir los límites dentro de un contexto de mecánica de juego del video juego con base en la región seleccionada de interés; generar la la versión limitada del video juego con base en los límites definidos; en donde el método se ejecuta por un procesador.
En una modalidad, se provee un método para generar una versión limitada jugable de un video juego, que incluye las siguientes operaciones del método: grabar una mecánica de juego del usuario de una versión completa del video juego; determinar una pluralidad de porciones definidas por el usuario de la mecánica de juego grabada del usuario; para cada porción definida del usuario, definir límites dentro de un contexto de mecánica de juego del video juego con base en la porción definida de usuario; y generar una porción jugable del video juego con base en los limites definidos; colocar cada uno de las porciones jugables del video juego en una serie para definir la versión limitada del video juego; en donde el método se ejecuta por un procesador.
En otra modalidad, se provee un medio legible en computadora tangible que tiene instrucciones de programa incorporadas en éste para generar una versión limitada jugable de un video juego, incluyendo las siguientes instrucciones de programa para grabar una mecánica de juego del usuario de una versión completa del video juego; instrucciones de programa para determinar una pluralidad de porciones definidas por el usuario de la mecánica de juego grabada del usuario; instrucciones de programa para, para cada porción definida por el usuario, definir límites dentro de un contexto de mecánica de juego del video juego con base en la porción definida por el usuario, y generar una porción jugable del video juego con base en los límites definidos; instrucciones de programa para disponer cada una de las porciones jugables del juego de video en una serie para definir la versión limitada del juego de video.
En otra modalidad, se provee un sistema, que incluye lo siguiente: por lo menos un dispositivo de computadora servidor, por lo menos un dispositivo de computadora servidor que tiene lógica para generar una versión limitada jugable de un video juego, que incluye, lógica para grabar una mecánica de juego de usuario de una versión completa del video juego; lógica para determinar una pluralidad de porciones definidas por el usuario de la mecánica de juego grabada del usuario; lógica para, para cada porción definida por el usuario, definir límites dentro de un contexto de mecánica de juego de video con base en la porción definida por el usuario, y generar una porción jugable del video juego con base en los límites definidos; lógica para colocar cada una de las porciones jugables del video juego en una serie para definir la versión limitada del video juego.
En una modalidad, se provee un método para compartir la mecánica de juego grabada a un perfil social, incluyendo las operaciones del método siguientes: grabar video de una mecánica de juego del usuario durante un estado activo de una sesión de mecánica de juego; recibir un comando para iniciar una operación de compartir durante el estado activo de la sesión de juego; en respuesta a recibir el comando, entrando a estado pausado de la sesión de mecánica de juego y presentando una interfaz de coparticipación; procesar la entrada recibida vía la interfaz de compartición para determinar una selección definida por el usuario del video grabado; compartir la selección definida por el usuario del video grabado a un perfil social del usuario; reanudar el estado activo de la sesión de mecánica de juego; en donde el método se ejecuta por un procesador.
En otra modalidad, se provee un método para compartir la mecánica de juego grabada a un perfil social, incluyendo las operaciones del método siguientes: grabar video de una mecánica de juego de usuario durante un estado activo de una sesión de mecánica de juego; recibir un comando para iniciar una operación compartida durante el estado activo de la sesión de mecánica de juego; en respuesta a recibir el comando, determinar una selección definida por el usuario del video grabado; compartir la selección definida por el usuario del video grabado a un perfil social del usuario; en donde el método se ejecuta por un procesador.
En otra modalidad, se provee un medio legible en computadora no transitorio que tiene instrucciones de programa definidos en éste para compartir la mecánica de juego grabada a un perfil social. Las instrucciones de programa incluyen: instrucciones de programa para grabar video de una mecánica de juego de usuario durante un estado activo de una sesión de mecánica de juego; instrucciones de programa para recibir un comando para iniciar una operación compartida durante el estado activo de la sesión de mecánica de juego; instrucciones de programa para, en respuesta a recibir el comando, determinar una selección definida por el usuario del video grabado; instrucciones de programa para compartir la selección definida del video grabado a un perfil social del usuario.
En una modalidad, se proporciona un método para proporcionar control remoto de una mecánica de juego de usuario, el método incluye las siguientes operaciones del método: presentar una alimentación de video en vivo de una mecánica de juego de primer usuario hacia un segundo usuario; procesar una solicitud para control de transición de juego de la mecánica de juego del primer usuario hacia el segundo usuario; iniciar el control de la mecánica de juego del primer usuario por el segundo usuario; en donde el método se ejecuta por al menos un procesador.
En otra modalidad, se proporciona un método para proporcionar mecánica de juego de múltiples jugadores, incluyendo las siguientes operaciones del método: presentar alimentación de video en vivo de la sesión de mecánica de juego del primer usuario hacia un segundo usuario remoto; procesar una solicitud para un segundo usuario para unirse a la sesión de mecánica de juego del primer usuario; iniciar la mecánica de juego por el segundo usuario en la sesión de mecánica de juego del primer usuario; en donde el método se ejecuta por al menos un procesador.
En otra modalidad, se proporciona un medio legible en computadora no transitorio que tiene instrucciones de programa integradas en éste para proporcionar control remoto de una mecánica de juego de usuario, las instrucciones de programa incluyen: instrucciones de programa para presentar una alimentación de video en vivo de una mecánica de juego del primer usuario a un segundo usuario remoto; instrucciones de programa para procesar una solicitud para control de transición de la mecánica de juego del primer usuario hacia el segundo usuario; instrucciones de programa para iniciar el control de la mecánica de juego del primer usuario por el segundo usuario.
Otros aspectos de la invención serán evidentes a partir de la siguiente descripción detallada, tomada en combinación con los dibujos anexos, ilustrando a manera de ejemplo los principios de la invención.
BREVE DESCRIPCION DE LOS DIBUJOS La invención puede entenderse con referencia a la siguiente descripción tomada en combinación con los dibujos anexos en los cuales: La Fig. 1A ilustra un usuario jugando un video juego basado en la nube, de conformidad con las modalidades de la invención.
La Fig. 1B ilustra múltiples usuarios en múltiples ubicaciones acoplados en la mecánica de juego de video juegos basados en la nube.
La Figura 2A ilustra un sistema para juego en la nube, de conformidad con una modalidad de la invención.
La Figura 2B ilustra conceptualmente la acumulación de títulos de juego a través de varias generaciones de consolas de juego, de conformidad con las modalidades de la invención.
La Figura 3 ilustra un método para proporcionar demostraciones de juego a un usuario, de conformidad con una modalidad de la invención.
La Fig. 4A ilustra la organización jerárquica de varias porciones de un video juego, de conformidad con una modalidad de la invención.
La Figura 4B ilustra una interfaz para seleccionar una porción de una linea de tiempo de mecánica de juego para generación de un mini-juego o parte de juego, de conformidad con una modalidad de la invención.
La Figura 4C ilustra una interfaz para seleccionar una porción de una línea de tiempo de mecánica juego para generación de un mini-juego, de conformidad con una modalidad de la invención.
La Figura 5 ilustra una serie de capturas de pantalla demostrando un método para generar un mini-juego de un juego de video existente basado en la nube, de conformidad con una modalidad de la invención.
La Figura 6 ilustra un sistema para generar código de parte del juego, de conformidad con una modalidad de la invención.
La Figura 7A ilustra la modificación de un espacio virtual para propósito de generar una parte del juego de un video juego, de conformidad con una modalidad de la invención.
La Figura 7B ilustra la modificación de una gráfica de escena para propósitos de generar una parte del juego, de conformidad con las modalidades de la invención.
La Figura 8 ilustra un método para generar una parte de juego, de conformidad con una modalidad de la invención.
La Figura 9A ilustra una interfaz para buscar partes de juego asociadas con varios títulos de juego, de conformidad con una modalidad de la invención.
La Figura 96 ilustra una página de información de parte de juego, de conformidad con una modalidad de la invención.
La Figura 0 ilustra una vista de una información de cuenta de usuario, incluyendo vistas en vivo de amigos en una red social de juego en la nube, de conformidad con una modalidad de la invención.
La Figura 11 ilustra un método para presentar alimentaciones de mecánica de juego en vivo de amigos del usuario actual, de conformidad con una modalidad de la invención.
La Figura 12 ilustra un sistema que incluye un sistema de juego en la nube y una red social, de conformidad con una modalidad de la invención.
La Figura 3 es una gráfica ilustrando varias variables de estado de juego en el tiempo, de conformidad con las modalidades de la invención.
La Figura 14A ilustra un método para generar una parte de juego para un video juego tipo lineal, de conformidad con una modalidad de la invención.
La Figura 14B ilustra un método para generar una parte de juego para un video juego de tipo mundial, de conformidad con una modalidad de la invención.
La Figura 14C ilustra un método para generar una parte de juego para un video juego de deportes, de conformidad con una modalidad de la invención.
La Figura 15 ilustra conceptúa Imente la formación de una parte de múltiple-juego, de conformidad con una modalidad de la invención.
La Figura 16 ilustra conceptúa Imente la generación de una parte de mini-juego de múltiple juego, de conformidad con una modalidad de la invención.
La Figura 17 ilustra una interfaz para compartir la mecánica de juego, de conformidad con una modalidad de la invención.
La Figura 18 ilustra una interfaz 1800 para seleccionar una porción de mecánica de video de juego grabada para compartir, de conformidad con una modalidad de la invención.
La Figura 19 ilustra una interfaz 1900 para ver un flujo de video en vivo de una mecánica de juego de usuario, de conformidad con una modalidad de la invención.
La Figura 20 ilustra hardware e interfases de usuario que pueden usarse para proveer interactividad con un video juego, de conformidad con una modalidad de la presente invención.
La Figura 21 ilustra hardware adicional que puede usarse para procesar instrucciones, de conformidad con una modalidad de la presente invención.
La Figura 22 es una ilustración ejemplar de la escena A a la escena E con el usuario respectivo A al usuario E interactuando con los clientes de juego 1102 que están conectados al servidor de procesamiento vía el Internet, de conformidad con una modalidad de la presente invención.
La Figura 23 ilustra una modalidad de una arquitectura de Información de Servicio de Proveedor.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La siguiente modalidad describe métodos y aparatos para la generación automática de mini-juegos sugeridos con base en la mecánica de juego grabada, generación de mini-juegos de múltiples partes para juego en la nube con base en la mecánica de juego grabada, compartiendo la mecánica de juego grabada a un perfil social, y control remoto de una mecánica de juego del primer usuario por un segundo usuario.
Será obvio, sin embargo, para un experto en la técnica, que la presente invención puede ser practicada sin algunos o todos estos detalles específicos. En otras instancias, operaciones de proceso bien conocidas no han sido descritas con detalle para no opacar innecesariamente la presente invención.
La Fig. 1A ilustra un usuario jugando un video juego basado en la nube, de conformidad con las modalidades de la invención. Como se muestra, un usuario U1 juega un juego de video basado en la nuble como se muestra en una pantalla 100. Un video juego basado en la nube es un video juego que se ejecuta principalmente en un servidor remoto. Un servidor, en una modalidad, puede incluir servidores individuales o servidores que se ejecutan en un centro de datos de máquina virtual, donde muchos servidores pueden virtualizarse para proveer el procesamiento solicitado. En la modalidad ilustrada, servidores de juego en la nube 104 ejecutan el video juego que se presenta en la pantalla 100. Un cliente 101 se sitúa en la ubicación del usuario para recibir y procesar entradas y comunicar estos a los servidores de juego en la nube 104 y también para recibir datos de audio y video de los servidores de juego en la nube 104. El cliente 101 y los servidores de red de la nube 104 se comunican sobre una red 102, tal como el Internet. En otras modalidades, el cliente puede ser cualquier dispositivo, ya sea portátil o no, ya sea inalámbrico o no, siempre que el cliente pueda comunicarse con una red y proveer acceso a una pantalla para visualizar la mecánica de juego y permitir la entrada de un usuario para accionar interactividad. En una modalidad, el cliente es un cliente escaso. Sin embargo, en otras modalidades, el cliente puede ser una computadora de propósito general, una computadora de propósito especial, una consola de juegos, una computadora personal, una computadora portátil, una computadora tableta, un dispositivo de computación móvil, un dispositivo de juego portátil, un teléfono celular, un sintonizador externo, una interfaz/dispositivo de medio de transmisión, una televisión inteligente o pantalla en red, o cualquier otro dispositivo de computación capaz de ser configurado para cumplir la funcionalidad de un cliente como se define en la presente. En una modalidad, el servidor de juego en la nube se configura para detectar el tipo de dispositivo de cliente el cual se utiliza por el usuario, y provee una experiencia de juego en la nube apropiada para el dispositivo de cliente del usuario. Por ejemplo, configuraciones de imagen, configuraciones de audio y otros tipos de configuraciones pueden optimizarse para el dispositivo de cliente del usuario.
En varias modalidades, el grado de procesamiento realizado por el cliente puede variar con respecto al procesamiento de entrada y salida. Sin embargo, hablando ampliamente, el estado de juego de video se mantiene sustancialmente y ejecuta en los servidores de juego en la nuble 104, con el cliente funcionando principalmente para recibir y comunicar entradas de usuario, y recibir datos de video/audio para reproducción. El cliente 101 puede ser un dispositivo solo que está conectado a la pantalla 100 y provee datos de video para reproducción en la pantalla 100. En otras modalidades, el cliente puede integrarse en la pantalla 100. En una modalidad, la pantalla 100 es una pantalla en red proporcionando una plataforma de sistema operativo para aplicaciones o "apps" utilizando la conectividad de red de la pantalla. En tal modalidad, el cliente puede definirse por una aplicación ejecutada en la plataforma provista por el sistema operativo de la pantalla.
La Fig. 1B ilustra múltiples usuarios en múltiples ubicaciones acoplados en la mecánica de juego de video juegos basados en la nube. El usuario U1 se muestra en una primera ubicación interactuando con un juego de video reproducido en la pantalla 100. Los usuarios U2 y U3 se muestran en una segunda ubicación interactuando con un juego de video reproducido en una pantalla 106. Un usuario U4 se muestra en una tercera ubicación jugando un juego de video reproducido en una pantalla 108. Los usuarios U5, U6 y U7 se muestran en una cuarta ubicación interactuando con un juego de video reproducido en una pantalla 110.
En cada una de las primera, segunda, tercera y cuarta ubicaciones, por lo menos un dispositivo de computación se provee para procesar la entrada de los varios usuarios y reproducir un jugo de video basado en la nube en sus pantallas respectivas. Debería apreciarse que el dispositivo de computación puede integrarse en una pantalla, o puede ser un dispositivo independiente tal como una computadora personal, caja de conexión, consola de juego, o cualquier otro tipo de dispositivo que tiene por lo menos un procesador y memoria para procesamiento y almacenamiento de datos. El dispositivo de computadora puede ejecutar o definir un cliente, como se ha descrito arriba. Los dispositivos de computadora están en red, y se comunican sobre una red, tal como el Internet 102, con servidores de juego en la nube 104.
Los servidores de juego en la nube 104 ejecutan varios juegos de video los cuales son jugados por los usuarios, definiendo un estado de juego del juego de video dado de momento a momento, y enviando datos de video (incluyendo datos de imagen y datos de audio) a un dispositivo de computadora en una ubicación particular. El dispositivo de computación en una ubicación dada procesa la entrada del usuario(s) que juega el video juego, y transmite los datos de entrada hacia el servido de juego en la nube, el cual a su vez procesa los datos de entrada para afectar el estado de juego del video juego. Debería apreciarse que el juego basado en la nube facilita el juego con múltiples jugadores de jugadores ubicados en diferentes ubicaciones proporcionando la ejecución del video juego en un servidor remoto que es accesible por todos los jugadores sobre una red. En esta manera, la ejecución del video juego no depende de alguna conductividad en red o hardware el jugador único, aunque tal afectará la experiencia de usuario para ese jugador dado.
La Figura 2A ilustra un sistema para juego en la nube, de conformidad con una modalidad de la invención. Como se muestra, un usuario 200 opera un controlador 202 para proveer entrada a un video juego basado en la nube. El controlador 202 puede incluir cualquiera de varios tipos de dispositivos de entada, tales como botones, palanca para juegos, panel táctil, y hardware de detección de movimiento tal como acelerómetros, y magnetómetros y giroscopios. En una modalidad, el controlador 202 puede incluir un objeto iluminado que puede rastrearse para determinar la ubicación del controlador 202. El controlador 202 puede comunicarse inalámbricamente con un cliente de juego escaso 204. El cliente 204 se comunica sobre una red 208 con un servicio de juego en la nube 210. El cliente 204 procesa datos desde el controlador 202 para generar datos de entrada que se comunican hacia un video juego ejecutado por el servicio de juego en la nube 210. Adicionalmente, el cliente 204 recibe datos de video desde el servicio de juego en la nube 210, para reproducción en la pantalla 206. En una modalidad, el cliente 204 puede procesar los datos de video recibidos para proveer un flujo de video en un formato compatible con la pantalla 206. En una modalidad, el cliente 204 puede incluir una cámara para rastrear un dispositivo controlador o un objeto ubicado en el dispositivo controlador Como se ha notado, el objeto puede iluminarse para adicionalmente facilitar el rastreo con base en el análisis de los marcos de imagen capturados de la cámara.
El servicio de juego en la nube 210 incluye recursos para proveer un ambiente en el cual un juego de video puede ejecutarse. Hablando ampliamente, los recursos pueden incluir varios tipos de hardware servidor de computadora, incluyendo procesadores, dispositivos de almacenamiento, y equipo en red, los cuales pueden utilizarse para facilitar la ejecución de una aplicación de juego de video. En la modalidad ilustrada, una librería de video juego 212 incluye varios títulos de juego. Cada titulo de juego define código ejecutable asi como datos asociados y librerías activas las cuales se utilizan para instanciar un video juego. La computadora principal 214 puede ser un dispositivo de computación único que define una plataforma para ilustrar máquinas virtuales 216. En otra modalidad, la computadora principal 214 puede en si misma ser una plataforma de recurso virtualizada. En otras palabras, la computadora principal 214 puede funcionar en uno o dispositivos de computadora servidor, manipulando la ubicación y el uso de los recursos definidos por los dispositivos de computación de servidor, mientras que presenta una plataforma unificada bajo la cual las máquinas virtuales 216 puede ser ilustradas.
Cada máquina virtual 216 define un ambiente de recursos el cual puede soportar un sistema operativo, bajo el cual una aplicación de video juego 218 puede correrse. En una modalidad, una máquina virtual puede configurarse para emular el ambiente de recurso de hardware de una consola de juego, con un sistema operativo asociado con la consola de juego que está corriendo en la máquina virtual para soportar la corrida de los títulos de juego los cuales fueron desarrollados para esa consola de juego. En otra modalidad, el sistema operativo puede configurarse para emular un ambiente de sistema operativo nativo de una consola de juego, a través de la máquina virtual subyacente puede o no configurarse para emular el hardware del juego. En otra modalidad, una aplicación de emulador se corre por encima del sistema operativo de una máquina virtual, el emulador se configura para emular el ambiente del sistema operativo nativo de una consola de juego para soportar juegos de video diseñados para esa consola de juego. Debería apreciarse que una variedad de consolas de juego de legado y actuales pueden emularse en un sistema de juego con base en la nube. En esta manera, un usuario puede acceder a títulos de juego de diferentes consolas de juego vía el sistema de juego en la nube.
Cuando el usuario 200 solicita jugar un título de juego de video específico, el título de juego de video se recupera de la librería 212. Su una máquina virtual compatible no ha sido ya ilustrada o no está disponible para uso, entonces una nueva máquina virtual compatible es ¡nstanciada en la computadora principal 214. El título de video juego recuperado entonces se ejecuta como una aplicación 218 en la máquina virtual ¡nstanciada recientemente o disponible 216. En una modalidad, esto puede implicar determinar la plataforma apropiada para el título de juego de video (por ejemplo cuya consola de juego o sistema operativo requiere el juego para correr) y asignar el título de jugo de video a una máquina virtual apropiada para ejecución, por ejemplo, uno teniendo una aplicación de emulador capaz de manipular la ejecución del título de video juego. El video juego en ejecución se comunica con el cliente de juego 204 para proveer una experiencia de juego interactiva para el usuario 200. Más específicamente, la aplicación de video juego de ejecución 2 8 recibe datos de entrada desde el cliente 204 sobre la red 208. La aplicación 218 procesa los datos de entrada para actualizar el estado de juego de la aplicación de ejecución. Como cambia el estado de juego, la aplicación 218 da salida a datos de video que se envían al cliente 204 para reproducción en la pantalla 206. Adicionalmente, la aplicación 218 también puede dar salida a datos de retroalimentación hacia el cliente 204 que se utiliza para proveer un mecanismo de retroalimentación adicional hacia el usuario. A manera de ejemplo, el controlador del usuario 202 puede incluir un mecanismo de retoalimentación de vibración táctil que puede activarse con base en los datos de retroalimentación de salida desde la aplicación de juego de video.
En una modalidad, el sistema de juego en la nube se configura para detectar el tipo de dispositivo cliente asociado con el usuario, y también un tipo de controlador disponible para el usuario para proveer entrada hacia el juego de video basado en la nube. Por ejemplo, en una modalidad, cuando un usuario ingresa al sistema de juego en la nube, se le puede presentar una opción para designar el tipo de dispositivo de cliente con el cual éstos acceden al sistema de juego en la nube. En una modalidad, una serie de opciones de dispositivo de cliente se presentan de las cuales el usuario puede seleccionar una correspondiente a su dispositivo de cliente. También se le puede presentar al usuario una opción para designar el tipo de dispositivo controlador que ellos usarán para jugar un juego de video. En una modalidad, una serie de opciones de controlador puede presentarse al usuario, de la cual el usuario puede seleccionar para designar un tipo de controlador correspondiente a su hardware de controlador. En otras modalidades, el sistema de juego en la nube puede configurarse para detectar automáticamente el tipo de dispositivo de cliente y/o el tipo de dispositivo de controlador.
Por ejemplo, al momento de ingresar, el dispositivo de cliente puede enviar información hacia el servidor de juego en la nube identificándose el mismo como un dispositivo de controlador conectado (por ejemplo, en respuesta a una solicitud desde el servidor de juego en la nube. Con base en esta información, el servidor de juego en la nube puede determinar una configuración de salida de video juego apropiada y configuración de parámetro de entrada para proveer una experiencia de juego optimizada para el dispositivo de cliente de usuario y dispositivo controlador. En una modalidad, se emplea una tabla de búsqueda para determinar la configuración de video juego y la configuración de parámetro de entrada con base en un dispositivo de cliente detectado y un dispositivo controlador detectado.
Debería apreciarse que un juego de video dado puede desarrollarse para una plataforma específica y un dispositivo controlador asociado específico. Sin embargo, cuando tal juego se hace disponible vía un sistema de juego en la nube como se presenta en la presente, el usuario puede acceder al juego de video con un dispositivo de controlador diferente. Por ejemplo, un juego puede haberse desarrollado para una consola de juego y su controlador asociado, mientras que el usuario puede estar accediendo a una versión basada en la nube del juego desde una computadora personal utilizando un teclado y ratón. En tal escenario, la configuración de parámetro de entrada puede definir un mapeo desde las entradas las cuales pueden generarse por el dispositivo de controlador disponible por el usuario (en este caso, un teclado y ratón) hacia entradas las cuales son aceptables para la ejecución del juego de video.
En otro ejemplo, un usuario puede acceder al sistema de juego en la nube vía un dispositivo de computadora de tableta, un teléfono de pantalla sensible al tacto, u otro dispositivo accionado por pantalla sensible al tacto. En este caso, el dispositivo de cliente y el dispositivo de controlador están integrados juntos en el mismo dispositivo, con entradas que son provistas a manera de gestos/entradas de pantalla sensible al tacto detectadas. Para tal dispositivo, la configuración de parámetro de entrada puede definir entradas de pantalla sensible al tacto particulares correspondientes a entradas de juego para el juego de video. Por ejemplo, botones, un control direccional, u otros tipos de elementos de entrada pueden desplegarse o superpuestos durante la corrida del juego de video para indicar las ubicaciones en la pantalla sensible que el usuario puede tocar para generar una entrada de juego. Gestos tales como lecturas magnéticas en direcciones particulares o movimientos de contacto específicos también pueden detectarse como entradas de juego. En una modalidad, puede proveerse un tutorial al usuario indicando cómo proporcionar entrada vía la pantalla sensible al tacto para la mecánica de juego, por ejemplo, antes de iniciar la mecánica de juego del juego de video, para aclimatar al usuario con la operación de los controles en la pantalla sensible al tacto.
En algunas modalidades, el dispositivo de cliente sirve como el punto de conexión para un dispositivo controlador. Esto es, el dispositivo controlador se comunica vía una conexión alámbrica o inalámbrica con el dispositivo de cliente para transmitir las entradas desde el dispositivo de controlador hacia el dispositivo de cliente. El dispositivo de cliente puede a su vez procesar estas entradas y después trasmitir datos de entrada hacia el servidor de juego en la nube vía una red (por ejemplo, accedido vía una dispositivo de red local tal como un enrutador). Sin embargo, en otras modalidades, el controlador puede en sí mismo ser un dispositivo en red, con la capacidad de comunicar entradas directamente vía la red haca el servidor de juego en la nube, sin ser requerido comunicar tales entradas a través del primer dispositivo de cliente. Por ejemplo, el controlador puede conectarse a un dispositivo de red local (tal como el enrutador mencionado anteriormente) para enviar y recibir datos desde el servido de juego en la nube. Así, mientras que el dispositivo de cliente puede aún requerir recibir salida de video desde el juego de video basado en la nube y reproducirla en una pantalla local, latencia de entrada puede reducirse permitiendo que el controlador envíe entradas directamente sobre la red hacia el servidor de juego en la nube evitando el dispositivo de cliente, evitando el dispositivo de cliente.
En una modalidad, un controlador en red y el dispositivo de cliente pueden configurarse para enviar ciertos tipos de entradas directamente desde el controlador hacia el servidor de juego en la red, y otros tipos de entradas vía el dispositivo de cliente. Por ejemplo, entradas cuya detección no depende en algún hardware adicional o procesamiento además del mismo controlador pueden enviarse directamente desde el controlador hacia el servidor de juego en la nube vía la red, evitando el dispositivo de cliente. Tales entradas pueden incluir entradas de botón, entradas de palanca de juego, entradas de detección de movimiento integradas (por ejemplo, acelerómetro, magnetómetro, giroscopio), etc. Sin embargo, las entradas que utilizan hardware adicional o requieren procesamiento por el dispositivo de cliente pueden enviarse por el dispositivo de cliente hacia el servidor de juego en la nube. Esto puede incluir video capturado o audio desde el ambiente de juego que puede procesarse por el dispositivo de cliente antes de enviar hacia el servidor de juego en la nube. Adicionalmente, las entradas desde el hardware de detección de movimiento del controlador pueden procesarse por el dispositivo de cliente en combinación con video capturado para detectar la posición y movimiento del controlador, lo cual podría comunicarse subsecuentemente por el dispositivo de cliente hacia el servidor de juego en la nube. Podría apreciarse que el dispositivo de controlador de conformidad con varias modalidades también puede recibir datos (por ejemplo, datos de retroalimentación) desde el dispositivo de cliente o directamente desde el servidor de juego en la nube.
La Figura 2B ilustra conceptualmente la acumulación de títulos de juego a través de varias generaciones de consolas de juego, de conformidad con las modalidades de la invención. En la industria de juego de video, juegos de video se desarrollan para las consolas de juego de video específicas. Con el tiempo una librería de títulos de juego se acumula para una consola de juego específica. Por ejemplo, en el diagrama ilustrado, una consola de primera generación 220 tiene una colección de títulos de juego 228 los cuales han sido desarrollados para esto. Una consola de segunda generación 222 se ha asociado ahí con una colección de títulos de juego 230 la cual se ha desarrollado para esto. Y una consola de tercera generación 224 también se muestra, teniendo una colección de títulos de juego 232 desarrollada para esto. En otras modalidades, puede haber una colección de títulos de juego 234 la cual ha sido desarrollada específicamente como juegos basados en la nube para uso en combinación con un cliente 226. Además, otros tipos de juegos tales como juegos de Internet pueden desarrollarse y agruparse para distribución sobre un sistema de juego en la nube, como se describe en la presente. Se apreciará que títulos de juego de diferentes generaciones de consolas de juego pueden coleccionarse y consolidarse en la librería de juego en la nube 212. Como se muestra, la librería 212 incluye una librería de consola de primera generación 236 la cual incluye los títulos de juego los cuales se han desarrollado para la consola 220 de la primera generación. En una manera similar, la librería 212 también incluye una librería de consola de la segunda generación 238 y una librería de consola de la tercera generación 240 la cual contiene juegos de vídeo que se han desarrollado para las consolas de la segunda y la tercera generación, respectivamente. Los juegos los cuales se han desarrollado para el cliente 226 y otros tipos de juegos tales como juegos de Internet también pueden incluirse en la librería de juego 212. Como puede observarse, un gran número de títulos de juego a través de varias generaciones de consolas de video juego puede coleccionarse y hacerse disponibles vía una librería de juego en la nube. Como se ha descrito, cada uno de estos juegos puede ejecutarse en una máquina virtual que simula el ambiente del sistema operativo asociado con una consola de juego dada para la cual fue desarrollado un juego. En esta manera, los usuarios que acceden al sistema de juego basado en la nube son capaces de acceder fácilmente y jugar juegos desde a través de muchas consolas diferentes así como juegos desde otros contactos tales como juegos de Internet y juegos los cuales se han desarrollado específicamente para uso con el sistema de juego basado en la nube.
La Figura 3 ilustra un método para proporcionar demostraciones de juego a un usuario, de conformidad con una modalidad de la invención. Se muestra una interfase 300 que provee viñetas o iconos 302, 304, 306, 308, 310 y 312 de varios títulos de juego que están disponibles para demostración. Cada icono puede configurarse para proveer una imagen indicativa del juego que éste representa. En una modalidad, cuando navega el usuario hacia un icono dado, el icono puede activarse para mostrar una animación o video clip que es representativo del juego de video o el cual de otra manera provee información adicional hacia el usuario acerca del contenido del juego de video. En la modalidad ilustrada, un usuario ha navegado hacía el ¡cono 302 el cual por lo tanto es resaltado y despliega una animación activa mostrando una escena desde el juego de video. Cuando un usuario selecciona un icono, una vista previa de video puede mostrarse de conformidad con la operación del método 314. Si el usuario continúa para seleccionar el juego en la operación del método 316, entonces en la operación del método 318, el código de juego para la demostración se activa. En la operación del método 320, la demostración del juego se hace disponible instantáneamente para mecánica de juego por el usuario. Debería apreciarse que debido a que la demostración de juego está basada en la nube, éste puede hacerse disponible instantáneamente desde una instanciación precargada de la demostración del juego en el sistema basado en la nube. Cuando la demostración del juego se activa, la instanciación precargada de la demostración del juego se dispara para ejecutar. En la operación el método 322, se determina si el usuario desea continuar la mecánica de juego de la demostración de juego o reproducir una demostración adicional del juego de video, si una está disponible. Si es así, entonces el método regresa a operación 322 de ejecución continuada de la demostración de juego o ejecuta una nueva demostración para el juego de video. Si no, entonces en la operación del método 324, el usuario se presenta con una opción para comprar una mini versión del juego de video. Adicionalmente, en la operación del método 326, el usuario puede presentarse con una opción para comprar una versión completa del juego de video. Si el usuario elige comprar una mini versión o una versión completa del juego, entonces en la operación del método 328 esa versión del juego se incorpora a la cuenta del usuario. Debería apreciarse que debido a que los juegos están hechos disponibles sobre un sistema de juego basado en la nube, la incorporación de un juego hacia una cuenta del usuario puede simplemente implicar privilegios de acceso asociados a la versión específica del juego con la cuenta del usuario. Además, una vez comprado, el juego puede hacerse disponible prácticamente instantáneamente desde el sistema basado en la nube para mecánica de juego por el usuario, especialmente cuando el juego puede pre-instanciarse en el sistema basado en la nube.
La Fig. 4A ilustra la organización jerárquica de varias porciones de un video juego, de conformidad con una modalidad de la invención. A manera de ejemplo, un juego de video puede organizarse en varias secciones 400. En la modalidad ilustrada, esto puede incluir una sección de configuración, una sección de introducción, secciones de varios niveles, y una sección final. Un nivel dado puede dividirse adicionalmente en varias escenas. Como se muestra, la sección de nivel 3 se divide en varias escenas 402. Como el usuario juega a través de una escena dada, una línea de tiempo de mecánica de juego de la escena puede grabarse, incluyendo video grabado de la mecánica de juego del usuario así como datos de entrada grabados y estados de juego de la aplicación de juego ejecutada. En la modalidad ilustrada, la línea de tiempo de la mecánica de juego 404 como representativa de la mecánica de juego de los usuarios de la escena 2 del nivel 3 del juego. De conformidad con las modalidades de la invención, un usuario puede seleccionar porciones de su mecánica de juego grabada desde la cual genera un mini juego o parte de juego. Por ejemplo, en la modalidad ilustrada la línea de tiempo de la mecánica de juego 404 tiene un tiempo de inicio T0 y un tiempo final T2 una porción de la línea de tiempo de mecánica de juego desde un tiempo Tx hasta un tiempo Ty se ha seleccionado desde la cual generar un mini-juego.
La Figura 4B ilustra una interfaz para seleccionar una porción de una línea de tiempo de mecánica de juego para generación de un mini-juego o parte de juego, de conformidad con una modalidad de la invención. En la modalidad ilustrada, la interfaz 412 se presenta en una pantalla sensible al tacto 411 de un dispositivo 410. En una modalidad, el dispositivo 410 es un dispositivo de computadora de tableta. La interfaz 412 incluye una línea de tiempo de mecánica de juego seleccionable 414. En una vista expandida 430 de la línea de tiempo de mecánica de juego 414 puede observarse que en una modalidad la línea de tiempo de mecánica de juego 414 se representa como una tira de película con marcadores ajustables 416 y 418. El marcador 416 designa el punto de inicio a lo largo de la línea de tiempo de mecánica de juego 414 de la selección, mientras que el marcador 418 designa el punto final a lo largo de la línea de tiempo de mecánica de juego de la selección. Además, un marcador 419 puede colocarse dentro de la porción de la línea de tiempo de mecánica de juego 414 que ha sido encontrada pro el marcador de inicio 416 y el marcador final 418. Para facilidad de uso y proporcionar al usuario un entendimiento visual de cual porción de su mecánica de juego se selecciona, puede mostrarse un cuadro de inicio 420 correspondiente al punto a lo largo de la línea de tiempo de mecánica de juego en el cual se ha colocado el marcador 416. El cuadro de inicio 420 es una imagen del video de mecánica de juego grabado correspondiente al tiempo en el cual el marcador de inicio 416 se coloca. De manera similar, un cuadro final representativo 424 puede mostrarse correspondiente al punto a lo largo de la línea de tiempo de la mecánica de juego en la cual el marcador 418 se ha colocado. En una manera similar, el cuadro final 424 es una imagen del video de mecánica de juego grabado correspondiente al tiempo en el cual se coloca el marcador final 418. Adicionalmente, un marco representativo 422 puede desplegarse correspondiente a la posición del marcador 419 a lo largo de la línea de tiempo de la mecánica de juego. El marco representativo 422 puede utilizarse como una imagen representativa para el mini-juego que se crea con base en la porción seleccionada de la línea de tiempo de mecánica de juego. Debería apreciarse que aunque en la modalidad ilustrada una interfaz de pantalla sensible al tacto se provee y describe, en otras modalidades varios otros tipos de entrada pueden utilizarse para seleccionar los puntos de inicio y final para definir una porción de la mecánica de juego para la creación de un mini-juego. Por ejemplo, puede proveerse entrada vía un controlador de juego, un teclado, vía entrada de gesto, entrada de voz, y de conformidad con otros tipos de dispositivos de entrada y mecanismos para permitir la selección de una porción de la mecánica de juego junto con la selección de un marco de imagen representativo del video de mecánica de juego grabado.
En algunas modalidades los marcadores de selección pueden no ser continuamente ajustables a lo largo de la linea de tiempo de mecánica de juego, pero en lugar de eso pueden configurarse para poner con presión los puntos de tiempo pre-definidos a lo largo de la línea de tiempo de mecánica de juego. Por ejemplo, los puntos de tiempo predefinidos pueden definirse para corresponder con eventos específicos que ocurren en la línea de tiempo de mecánica de juego. Los eventos específicos de una línea de tiempo de mecánica de juego dada para los cuales los puntos de tiempo previamente definidos serán asignados pueden generarse con base en el análisis de la mecánica de juego de los usuarios, y dependerán de la arquitectura específica de la mecánica de juego del video juego. En una modalidad, los puntos de tiempo predefinidos puede asignarse con base en la ubicación geográfica de un símbolo dentro de un mundo virtual por el video juego. Por ejemplo, los puntos de tiempo previamente definidos pueden asignarse a tiempos específicos en los cuales un símbolo se mueve desde una localidad geográfica a otra localidad geográfica, por ejemplo el movimiento de una localidad de escena a otra localidad de escena, movimiento desde una ciudad a otra ciudad, entrando a una estructura, entrando a un cuarto dentro de una estructura, entrando a un tipo diferente de ambiente, o cualquier otro tipo de transición geográfica de importancia. En otra modalidad, los puntos de tiempo predefinidos pueden asignarse con base en el desarrollo de un símbolo de usuario o entidad la cual se controla en el video juego. Por ejemplo, los puntos de tiempo previamente definidos pueden asignarse cuando un símbolo o entidad controlada por el usuario cumple una tarea, adquiere una destreza, adquiere un objeto, pasa un nivel o completa de otra manera una porción del video juego, o realiza o logra cualquier otro tipo de actividad significativa en el juego de video.
La Figura 4C ilustra una interfaz para seleccionar una porción de una línea de tiempo de mecánica juego para generación de un mini-juego, de conformidad con una modalidad de la invención. Una línea de tiempo de mecánica de juego 414 ilustra gráficamente una línea de tiempo a lo largo de la cual el usuario puede establecer los marcadores de inicio y final 416 y 418 para designar una selección de la mecánica de juego desde la cual generar un mini-juego. Se muestra un marco de inicio 410 correspondiente a la posición del marcador de inicio 416, así como un marco final 424 correspondiente a la posición del marcador final 418. Se apreciará que los marcos pueden identificarse del video grabado de la mecánica de juego del usuario. Un número de marcos candidatos 440, 442, 444 y 446 se presentan, de los cuales el usuario puede seleccionar uno para ser utilizado como un marco representativo para el mini-juego. Los marcos candidatos pueden determinarse de acuerdo con una variedad de métodos. Por ejemplo, los marcos candidatos puede presentarse a partir de intervalos fraccionados de la porción seleccionada de la línea de tiempo de mecánica de juego. Los intervalos pueden ser equivalentes, de tal manera que los marcos candidatos se separan igualmente a lo largo de la línea de tiempo de mecánica de juego, o los intervalos pueden ser no equivalentes, de tal manera que algunos marcos son más próximos entre sí que otros a lo largo de la línea de tiempo de mecánica de juego. En una modalidad, una densidad más alta de marcos candidatos se genera de porciones anteriores de la porción seleccionada de la linea de tiempo de mecánica de juego en comparación con porciones posteriores de la porción seleccionada de la línea de tiempo de mecánica de juego. En una modalidad, una densidad más alta de marcos candidatos se genera de ambas regiones anteriores y recientes de la porción seleccionada de la línea de tiempo de mecánica, mientras que una densidad menor de marcos candidatos se genera de las porciones centrales de la porción seleccionada de la linea de tiempo de mecánica de juego.
Después de que un usuario ha seleccionado una porción de mecánica de juego desde la cual crear un mini-juego, las modalidades de la presente invención proporcionan sistemas y métodos para crear un mini-juego jugable con base en la porción seleccionada de la mecánica de juego. Más específicamente, el mini-juego permite que otro usuario juegue sustancialmente la misma porción del video juego que el usuario original jugó, y posiblemente bajo sustancialmente las mismas condiciones y parámetros. En este sentido, el mini-juego es más que simplemente una repetición de video de la mecánica de juego del usuario original (aunque un clip de video de repetición de la mecánica de juego del usuario original puede presentarse en combinación con el mini-juego), pero es una porción jugable del juego de video mismo que se ha designado con base en la selección de usuario de su propia mecánica de juego. Así un usuario secundario puede experimentar una experiencia de mecánica de juego sustancialmente similar a esa del usuario original.
La Figura 5 ilustra una serie de capturas de pantalla demostrando un método para generar un mini-juego de un juego de video existente basado en la nube, de conformidad con una modalidad de la invención. La pantalla de captura 500 muestra el juego de video juego de un usuario. En la modalidad ilustrada, el usuario juega un nivel 3 de un juego de video. En la pantalla de captura 502, el usuario ha completado el nivel 3 del juego de video. Bajo terminación del nivel, se provee al usuario una opción para generar un parte de juego o mini-juego con base en la mecánica de juego del usuario de ese nivel. Cuando el usuario opta por generar una parte de juego, entonces en la pantalla de captura 504 el usuario se presenta con una interfaz para seleccionar un punto de inicio para la parte de juego de la mecánica de juego grabada del usuario. Como se ha descrito, una representación de una línea de tiempo de mecánica de juego puede mostrarse con un deslizador ajustable el cual el usuario puede mover para designar un punto de inicio para la parte de juego. Después de que el usuario ha definido el punto de inicio, entonces en la pantalla de captura 506, el usuario se presenta con la interfaz configurada para permitir la selección de un punto final para la parte de juego. Nuevamente, un deslizador ajustable se mueve por el usuario para designar el punto final a lo largo de la línea de tiempo de mecánica de juego representativa en la interfaz. Después de que son designados los puntos de inicio y final de la línea de tiempo de mecánica de juego del usuario, la parte de juego o mini-juego se genera por el sistema, como se describió en otra parte en la presente. En la pantalla de captura 508, el usuario puede presentarse con opciones adicionales, tales como una opción para compartir la parte de juego creada recientemente con otros usuarios o de otra manera informar a otros usuarios de la parte de juego generada recientemente, una opción para generar otra parte de juego de la misma línea de tiempo de mecánica de juego, una opción para continuar la mecánica de juego del juego de video actual, una opción para observar las partes de juego existentes del usuario, etc. Si el usuario selecciona observar sus partes de juego existentes, entonces en la pantalla de captura 510, se muestra una ¡nterfase desplegando las partes de juego creadas anteriormente del usuario. En la modalidad ilustrada, el usuario puede seleccionar una de las partes de juego creadas anteriormente, y observar estadística e información relacionada con esa parte de juego, como se muestra en la pantalla de captura 512. La información y estadística relacionadas con una parte de juego dada puede incluir cualquiera de lo siguiente: un título de la parte de juego, el juego de video del cual la parte de juego se creó originalmente, la fecha en que se creó la parte de juego, el número de veces que la parte de juego se ha jugado por otros usuarios, un porcentaje de terminación indicando un porcentaje promedio de la parte de juego que está completada por los usuarios que toman la parte de juego para jugar, comentarios dejados por otros usuarios, etc.
Aunque en la actualidad la modalidad descrita, se presenta una opción al usuario para generar una parte de juego después de terminación de un nivel del juego de video, debería apreciarse que en otras modalidades el usuario puede generar una parte de juego en cualquier otro momento durante o fuera de la mecánica de juego del juego de video, siempre que la mecánica de juego grabada del juego de video exista desde la cual puede definirse una selección por el usuario para una parte de juego. Por ejemplo, en una modalidad puede presentarse una interfaz que provee acceso a varias mecánicas de juego grabadas de varios juegos de video que están asociados con el usuario. El usuario puede seleccionar la mecánica de juego de un juego de video específico y generar una parte de juego seleccionando una porción de la mecánica de juego grabada a partir de la cual generar la parte de juego de conformidad con las modalidades descritas en la presente.
La Figura 6 ilustra un sistema para generar código de parte del juego, de conformidad con una modalidad de la invención. Los términos parte de juego y mini-juego se usan intercambiablemente en la presente para definir una porción jugable y discreta de un juego de video que se genera con base en la selección del usuario de mecánica de juego grabada existente. En la modalidad ilustrada, la mecánica de juego de usuario 600 representa conceptualmente un usuario interactuando con una versión completa de un juego de video. El código de juego principal 602 se ejecuta para definir la versión completa del juego de video desplegado por el usuario. Cuando el juego de video se juega, éste genera varios tipos de salida de mecánica de juego, incluyendo datos de video, datos de estado de juego, y datos de entada de usuario. Éstos pueden grabarse para definir la mecánica de juego grabada del usuario. En la modalidad ilustrada, un flujo de imagen 604 representa conceptualmente la salida de datos de video por el juego de video. Los metadatos del estado de juego 606 y los datos de entrada del usuario 608 también se muestran. Los datos de estado de juego 606 incluyen datos definiendo el estado de juego del juego de video ejecutándose de momento a momento durante la mecánica de juego. Los datos del estado de juego pueden incluir los valores de cualesquier variables las cuales definen el estado de ejecución del juego de video. Los datos de entrada del usuario son datos generados capturado acciones iniciadas por el usuario que ocurren durante la interactividad con el juego de video, tal como se provee vía la activación de dispositivos de entrada en los dispositivos del controlador, detección de datos de sensor (por ejemplo, sensores de movimiento), entrada de audio capturada, y similares.
Como se ha descrito, una interfaz de usuario puede ilustrarse gráficamente la mecánica de juego grabada del usuario para facilitar la selección por el usuario de una porción de la mecánica de juego del usuario desde la cual generar una parte de juego. En la modalidad ilustrada, el usuario ha definido una selección 610 de su mecánica de juego grabada. Esta selección de la mecánica de juego grabada del usuario se utiliza por un generador de parte del juego para generar el código de parte del juego 622 el cual define un juego limitado con base en la porción seleccionada de la mecánica de juego del usuario. El generador de parte de juego 612 incluye un analizador de estado de juego 614 el cual analiza el estado de juego de la selección grabada 610. Con base en el análisis del estado de juego de la selección grabada, un procesador de punto de ruptura de juego determina puntos de ruptura apropiados para definir el inicio y el final de la parte de juego. Los puntos de ruptura pueden definirse con base en la geografía, tiempo, tarea o cumplimiento de meta, límites de escena (física o temporal), o cualquier otro aspecto de un juego de video de acuerdo con el cual la mecánica de juego del juego de video puede segmentarse para generar una parte de juego. Una breve descripción de algunas modalidades ilustrativas servirán para resaltar ciertas posibilidades para determinación del punto de ruptura.
Por ejemplo, algunos juegos de video implican control de un símbolo que puede retirarse de una escena geográfica o localidad a otra escena o localidad. La porción seleccionada de la mecánica de juego del usuario puede determinarse para ser generada desde la mecánica de juego en una escena particular. En tal modalidad, los límites de la escena particular pueden definir el punto de ruptura geográfico para la parte de juego, seleccionando la escena para la exclusión de otras escenas, lo cual puede implicar la exclusión de otras escenas adyacentes o adjuntas, asi como escenas las cuales no son adyacentes o no adyacentes o de otra manera menos relacionadas o no relacionadas a la escena particular. Será apreciado que la selección de mecánica de juego grabada 610 puede conllevar la mecánica de juego desde múltiples escenas, en cuyo caso, el procesador de punto de ruptura de juego 616 puede configurarse para definir los puntos de ruptura de acuerdo con los límites de las múltiples escenas las cuales se utilizan para la selección de mecánica de juego grabada.
Debería notarse que una escena puede ser de naturaleza geográfica y temporal. Esto es, la escena puede definir no solamente una región geográfica dentro de un espacio virtual definido por el juego de video, pero también puede configurarse para existir durante un cierto tiempo o en un punto cronológico particular dentro del contexto mayor del juego de video. Tal escena puede tener objetivos definidos o metas que están para ser logradas por el jugador. Así, los puntos de ruptura de juego pueden definirse con base en la cronología u otros aspectos temporales como es definido por el juego de video.
Además, una escena dada puede tener objetos asociados o características las cuales son presentadas como parte de la escena durante la mecánica de juego. Estos objetos o características pueden analizarse para definir puntos de ruptura adicionales de acuerdo con su inclusión. Por ejemplo, estos objetos en la escena pueden tomarse de un subconjunto de una librería activa, en la cuyo caso el subconjunto de la librería activa puede definirse para la parte de juego por el procesador de punto de ruptura de juego 616, hasta la exclusión de otros objetos en la librería activa la cual no se utiliza en la escena asociada con la selección de mecánica de juego grabada. Debería entenderse que los objetos y las características pueden ser elementos dinámicos de una escena dada, con mecanismos asociados definiendo su cambio en respuesta a eventos que ocurren en el juego de video. Por ejemplo, un objeto puede tener un módulo de modelado de daño que determina y ajusta la apariencia del objeto cuando éste se daña (por ejemplo cuando se hiere por un arma). O una característica podría ser un vehículo que se hace disponible durante la escena, con el vehículo teniendo asociada lógica la cual define su apariencia durante la mecánica de juego así como su operación y respuesta para entrada de usuario. Tal lógica o modelado de daño puede además definir puntos de ruptura de juego para la generación de la parte de juego.
Varios aspectos de un juego de video el cual define o utiliza de otra manera para una porción seleccionada de un juego de video puede ser la base para definir un punto de ruptura de juego. Los ejemplos descritos actualmente se proveen a manera de ejemplo únicamente y no a manera de limitación. Debería apreciarse que en otras modalidades, otros aspectos de un juego de video pueden formar la base para definir puntos de ruptura para generar una parte de juego.
En una modalidad, un juego de video puede ser organizado en varias escenas las cuales deben completarse en una manera lineal, de tal manera que una escena posterior no puede intentarse hasta que su escena precedente ha sido completada primero. Cada escena puede incluir un número de objetivos o metas, algunas de las cuales pueden requerirse para completar la escena, y algunas de las cuales pueden ser opcionales para completar la escena. Los objetivos pueden incluir navegar desde una ubicación de inicio hacia una ubicación final predefinida dentro de la escena, sobreviviendo durante un período de tiempo predefinido, destruyendo un número predefinido de enemigos, adquiriendo un cierto número de puntos, venciendo un enemigo particular, o alguna otra actividad la cual puede definir un objetivo dentro del juego. Una escena puede tener varios puntos de terminación predefinidos, puntos en donde el usuario, una vez habiendo logrado el punto de terminación, es capaz de regresar a ese punto si el usuario se vuelve incapaz de continuar la mecánica de juego por alguna razón (por ejemplo, el usuario abandona el juego, el símbolo de juego del usuario muere o agota las vidas o salud, choca el vehículo del usuario, etc.). En los puntos de terminación predefinidos, un juego de video puede configurarse para salvar automáticamente el progreso del usuario, o presenta una opción para el usuario para salvar su progreso.
En una modalidad, el procesador de punto de ruptura de juego 616 se configura para definir un punto de ruptura de juego en puntos de terminación predefinidos. En una modalidad, esto se logra encontrando los puntos de terminación más cercanos a los puntos de inicio y fin seleccionados de la selección de mecánica de juego grabada del usuario, y utilizar estos puntos de terminación más cercanos para definir los puntos de ruptura de juego para la parte de juego. En otra modalidad, el punto de terminación más cercano que ocurre antes del punto de inicio seleccionado de la selección de mecánica de juego grabada se utiliza para definir un punto de ruptura inicial, mientras que un punto de terminación más cercano que ocurre después del punto final seleccionado de la selección de mecánica de juego grabada se utiliza para definir un punto de ruptura final para la creación de la parte de juego. En aún otra modalidad, si un punto de terminación yace dentro de un radio predefinido de (por ejemplo cualquiera antes o después) cualquiera de puntos de inicio y fin de la selección de mecánica de juego grabada del usuario, después de que se utiliza este punto de terminación para definir un punto de ruptura de juego de inicio o fin correspondiente para la parte de juego. Mientras que si ningún punto de terminación yace dentro del radio predefinido, entonces un punto de ruptura de juego se define que coincide más cercanamente con el punto inicial y final seleccionado del usuario para la selección grabada. En otras modalidades, el radio previamente definido para los puntos de inicio y fin puede diferir para los propósitos de determinar si se utiliza un punto de terminación existente para definir un punto de ruptura de juego.
Como se ha discutido, el procesador de punto de ruptura de juego 616 determina puntos de ruptura apropiados aplicables a varios aspectos del juego de video con base en el análisis de la selección de juego de video grabado de los usuarios. Los puntos de ruptura definidos por el procesador 616 sirven para definir el alcance limitado de la parte de juego que será producida con base en la selección de mecánica de juego grabada de los usuarios. En una modalidad, un procesador de sobreposición 617 se provee para generar sobreposiciones que pueden contribuir a una experiencia de usuario mejorada cuando juega la parte de juego generada por el generador de parte de juego 612. Por ejemplo, en una modalidad el procesador de sobreposición 617 define datos de parte del pre-juego los cuales definen video o mecánica de juego o información adicional que puede proveerse como una introducción a la parte de juego antes de la mecánica de juego actual de la parte de juego. Un ejemplo de datos de parte de pre-juego es un video introductorio el cual puede proveer contexto a un usuario quien inicia la mecánica de juego de convertirse en una parte. En otra modalidad, datos de parte del prejuego pueden definir mecánica de juego introductoria para la parte de juego, que puede proveer a un usuario una oportunidad para aprender destrezas que pueden ser útiles o requieren para o requeridas para jugar la parte de juego. En otra modalidad, los datos de parte del prejuego pueden definir una serie de una o más pantallas informativas o imágenes las cuales proveen información acerca de la parte de juego al usuario. Tal información puede incluir la configuración del controlador, información de antecedente de historia, objetivos o metas, mapas, o cualquier otro tipo de información a la parte de juego la cual puede ser útil al usuario o mejorar de otra manera la experiencia de usuario de jugar la parte de juego.
El procesador de sobreposición 617 también puede configurarse para definir los datos de parte del posjuego. En algunas modalidades, los datos de parte del posjuego pueden definir video o imágenes para mostrarse después de la terminación del juego de video de la parte de juego. Por ejemplo, un video de felicitaciones puede mostrarse después de que un usuario completa la parte de juego. Tal video puede personalizarse con base en la mecánica de juego del usuario de la parte de juego, por ejemplo, mostrando información o imágenes que están basadas en la mecánica de juego del usuario. En una modalidad, los datos de parte del posjuego pueden definir un mecanismo de reproducción para reproducir las porciones grabadas de la mecánica de juego del usuario de la parte de juego después de su terminación. En otra modalidad, los datos de parte del posjuego pueden configurarse para desplegar estadística acerca de la mecánica de juego de los usuarios de la parte de juego, y puede indicar un comparación de la mecánica de juego de los usuarios a esa de otros usuarios o esa de creador original de la parte de juego. En aún otras modalidades, los datos de parte del posjuego pueden definir elementos interactivos adicionales para presentarse al usuario bajo terminación de la parte del juego. Éstos pueden incluir opciones para comprar en parte o completo el juego de video bajo el cual la parte de juego está basada, opciones de redireccionamiento hacia fuentes de información adicionales con relación al video juego, etc.
En algunas modalidades, el procesador de sobreposición 617 puede configurarse para definir elementos los cuales son superpuestos en la parte de juego. Éstos pueden incluir elementos que pueden personalizarse por un usuario que juega la parte de juego, tal como personalización de símbolos, objetos, propiedades y otros tipos de opciones de personalización. En otras modalidades, el procesador de sobreposición 617 puede configurarse para definir elementos simplificados para una parte de juego para reducir la complejidad del código de la parte de juego y la cantidad de recursos requeridos para ejecutar la parte de juego. A manera de ejemplo, muchos juegos de video incluyen entidades de inteligencia artificial (Al) tales como símbolos, vehículos, enemigos, etc. Estas entidades de Al pueden en el juego de video completo ser gobernadas por modelos de inteligencia artificial que definen la reacción y la actividad de las entidades de Al con base en eventos que ocurren en el juego de video. Sin embargo, en el contexto de una parte de juego la cual es de alcance limitado, esta puede ser aceptable para definir simplemente la actividad de una entidad de Al a través de la definición codificada o extrapolaciones simplificadas, en lugar de modelar completamente la actividad de la entidad Al como podría ser el caso en el juego de video completo.
Por ejemplo, si en la selección de mecánica de juego grabada del juego de video completo un símbolo de Al dado se mueve en una cierta manera de acuerdo con su modelo de Al que es improbable de cambie en la parte de juego, entonces éste puede ser más eficiente para definir una aproximación del movimiento de símbolo de Al para la parte de juego. Tal aproximación podría no requerir el modelo de Al completo para ser incluido como parte del código de la parte de juego, aún podría proveer al usuario que juega la parte del juego una experiencia sustancialmente similar con respecto al símbolo de Al hacia ese de la mecánica de juego de usuario original desde el cual la parte de juego fue generada. Los ahorros de recurso realizados a través de la aproximación de actividad de entidades de Al pueden ser aún más significativos cuando múltiples entidades de Al están presentes e interactuando en la selección de mecánica de juego grabada del usuario. Para cada una de las entidades de Al puede tener modelos de Al que dependen de la salida de esas otras entidades de Al. Sin embargo, cuando le juego de video se ha grabado la actividad de cada una de esas entidades de Al se conoce, y por lo tanto puede reproducirse en la parte de juego a través de mecanismos simplificados tales como codificación directa de sus variables de control y aproximación de su actividad.
Con referencia continuada a la Figura 6, un procesador de estado de configuración de juego 618 se proporciona para definir un estado inicial de la parte de juego. Con base en la operación del analizador de estado de juego 614, el procesador de punto de ruptura de juego 616, y el procesador de estado de configuración de juego 618, un administrador de ensamble de código 620 ensambla varias porciones de código para definir el código de parte del juego 622. Cuando se ejecuta el código de parte del juego 622, la mecánica de juego del usuario 624 provee entrada para definir el estado de ejecución del código de parte del juego, el cual produce la salida de la mecánica de juego incluyendo datos de video y datos de retroalimentación para renderizar la parte de juego hacia el usuario. Los datos de video pueden incluir video de superposición de parte del prejuego 622, video de parte de juego 624 el cual es el video resultante de la mecánica de juego de la parte de juego, y video de sobreposición de parte de postjuego 626.
Debería apreciarse que en una modalidad, el código de parte de juego 622 es completamente auto-contenido, incluyendo todas las porciones de código las cuales son requeridas para ejecutar la parte de juego. Sin embargo, en otras modalidades, el código de parte de juego 622 puede incorporar referencias o apuntadores a porciones de código existentes en el código de juego principal del juego de video completo. Además, el código de parte del juego 622 puede incluir referencia o utilizar los recursos existentes en librerías de recursos del código de juego principal del juego de video completo. Sin embargo, en otras modalidades, nuevas librerías de recursos puede generarse para el código de parte del juego.
La Figura 7A ilustra la modificación de un espacio virtual para propósito de generar una parte del juego de un video juego, de conformidad con una modalidad de la invención. El mapa 700 representa una escena o una porción geográfica de un juego de video. E mapa 700 representa una escena o una porción geográfica de un juego de video. Como se muestra, el mapa 700 ilustra una región 702 y varias trayectorias 704, 706, 708 y 710. En la mecánica de juego grabada del juego de video, un símbolo del usuario 712 se mueve desde la región 702 hacia la trayectoria 710. Con base en este movimiento grabado y otro análisis de la mecánica de juego del juego de video, puede determinarse que las trayectorias adicionales 704, 706 y 708 no son necesarias para la generación de la parte del juego. Las trayectorias pueden representar elecciones incorrectas en comparación con la trayectoria 710, o pueden conducir a áreas que no son relevantes para la parte de juego, o pueden detractarse de una capacidad del jugador de la parte de juego para seguir la trayectoria y experimentar la mecánica de juego similar a la del usuario original. Además, si las áreas a las cuales las trayectorias 704, 706 y 708 conducen no están soportadas en la parte del juego, entonces la inclusión de tales trayectorias podría causar confusión entre los jugadores, o por lo menos ser una experiencia de usuario deficiente. Por lo tanto, en un mapa modificado 720, las trayectorias 704, 706 y 708 son hechas indisponibles para mecánica de juego en la parte de juego, mientras que la trayectoria 710, así como la región 702 permanecen sin cambiar. Así, cuando un usuario juega la parte de juego que incorpora la topografía definida por el mapa 720, él experimentará un espacio virtual en donde las trayectorias 704, 706 y 708 no están disponibles para recorrer. Entonces será más probable que el usuario recorra la trayectoria 710 como el usuario original lo hizo, experimentando así mecánica de juego similar.
Se apreciará que la porción de un espacio virtual definido para una parte de juego o mini-juego puede definirse por los límites los cuales son determinados con base en la mecánica de juego grabada del usuario. Los límites definirán una sub-región del espacio virtual mayor, e incluyen un subconjunto de las características las cuales están disponibles en el espacio virtual mayor. En algunas modalidades, los límites de espacio virtual pueden determinarse determinando ubicaciones en el espacio virtual definido por la mecánica de juego del usuario, y después determinando los límites predefinidos asociados con el espacio virtual que son más cercanos a esas ubicaciones y dispuestos para abarcarlos. Por ejemplo, una mecánica de juego del usuario puede definir una trayectoria recorrida por un símbolo de juego de video del usuario. Esta trayectoria puede analizarse y con base en la ubicación de la trayectoria en el espacio virtual, un conjunto de limites previamente definidos pueden seleccionarse para definir una región abarcando la trayectoria. En algunas modalidades, los límites previamente definidos pueden definirse por símbolos específicos los cuales definen porciones inherentemente del espacio virtual, por ejemplo, puertas, ventanas, paredes, cuartos, vestíbulos, cercas, caminos, intersecciones, vestíbulos, etc.
La Figura 7B ilustra la modificación de una gráfica de escena para propósitos de generar una parte del juego, de conformidad con las modalidades de la invención. Una gráfica de escena 730 ilustra conceptualmente la organización de varias escenas A a G de un juego de video. Debería apreciarse que las escenas como se describieron pueden ser geográficas y/o temporales en naturaleza, y cada una puede representar una porción jugable de un juego de video, tal como una etapa, un nivel, una sección, una ubicación.o cualquier otra unidad de organizativa dentro del juego de video de acuerdo con el cual un jugador puede progresar de una escena a otra. En la gráfica de escena 730, varios nodos se muestran representativos de las escenas A a G. Como se muestra, un jugador puede progresar de la escena A a la escena B, y de la escena B a cualquiera de las escenas D o E. El jugador también puede progresar de la escena A a la escena C, y de la escena C a cualquiera de las escenas F o G. La gráfica de escena 730 es ilustrativa de la organización de la escena del juego de video completo. Sin embargo, para propósitos de crear una parte de juego, no todas las escenas disponibles pueden requerirse para la parte de juego. Así, a manera de ejemplo, una gráfica de escena 732 ilustra la organización de escenas para una parte de juego. Como se muestra, la gráfica de escena 732 incluye las escenas A, B, C y F, pero no las escenas restantes las cuales fueron incluidas en la gráfica de escena 730 del juego de video completo. Así, un usuario puede progresar de la escena A a cualquiera de las escenas B o C, y de la escena C a la escena F. Sin embargo, las otras escenas de la gráfica de escena de juego de video completa 730 no están disponibles para la mecánica de juego en la parte de juego. Como se ha descrito, los sistemas de conformidad con las modalidades de la invención pueden configurarse para limitar la inclusión de las escenas cuando se genera una parte de juego. En esta manera, la parte de juego no incluye escenas las cuales no son requeridas para el contexto limitado de su mecánica de juego y propósito pretendido.
La Figura 8 ilustra un método para generar una parte de juego, de conformidad con una modalidad de la invención. En la operación del método 800, una mecánica de juego de usuarios de un juego de video se graba, incluyendo la grabación de video de la mecánica de juego de los usuarios y datos de juego de video tales como datos de entrada y datos de estado de juego del juego de video. En la operación del método 802, una interfaz de usuario se presenta para selección de la mecánica de juego grabada para generar una parte de juego. La interfaz define mecanismos para recibir entrada de usuario para definir los puntos de inicio y fin de la mecánica de juego grabada. Por ejemplo, una interfaz para revisar el video de mecánica de juego grabada puede proveerse para permitir al usuario definir los puntos de inicio y fin dentro del video de mecánica de juego con base en la navegación o reproducción del video de mecánica de juego. En la operación del método 804, se recibe la selección definida por el usuario del video de mecánica de juego. En la operación del método 806, los puntos de ruptura de juego de video se identifican con base en la selección definida por el usuario recibida del video de mecánica de juego. En una modalidad, existen puntos de ruptura predefinidos para el juego de video. Con base en la selección definida por el usuario del video de mecánica de juego, los puntos de ruptura de juego los cuales son más cercanos a los puntos de inicio y fin de la selección definida por el usuario pueden elegirse como los puntos de ruptura de juego para la parte de juego a ser generada. En la operación del método 808, el código de juego se define para la selección de la parte como se define por los puntos de ruptura identificados. Esa operación del método 810, el estado de configuración del juego se define por la selección de la parte. En una modalidad, el estado de configuración de juego está basado en un estado de juego el cual existió durante la mecánica de juego la mecánica de juego grabada del usuario. La operación del método 812, el código de parte del juego se genera, y en la operación del método 814, el código de parte del juego se almacena para una librería de parte del juego y asociada con la cuenta del usuario.
En una modalidad, el método puede incluir la operación del método 8 6, en donde las selecciones de video de parte de juego sugerido se generan con base en el video de mecánica de juego grabado y los datos del usuario. Las selecciones sugeridas de la mecánica de juego de los usuarios puede determinarse con base en el análisis de la mecánica de juego grabada del usuario. Por ejemplo, porciones de la mecánica de juego en donde un nivel alto de actividad (por ejemplo un nivel de actividad excediendo un umbral predefinido) se detecta puede ser sugerida como selecciones de video de parte de juego posibles. En operación del método 818, la interfaz de usuario mencionada anteriormente para selección de parte del juego puede presentar las selecciones de video de parte del juego sugeridas al usuario. En una modalidad, una pantalla de captura representativa de cada selección de video de parte del juego sugerida puede presentarse al usuario. En la operación del método 820, se recibe una selección por el usuario de una de las selecciones de video de parte del juego sugerida. Con base en la selección del usuario, el código de parte del juego puede generarse y almacenarse como se ha descrito anteriormente.
La Figura 9A ilustra una interfaz para buscar partes de juego asociadas con varios títulos de juego, de conformidad con una modalidad de la invención. En la modalidad ilustrada, la interfaz está organizada en una serie de etiquetas, incluyendo las etiquetas 900, 902, y 904 las cuales cuando se seleccionaron proveen acceso a varias páginas correspondientes a diferentes títulos de juego. En la modalidad ilustrada, la etiqueta 900 se selecciona actualmente, de tal manera que la página presentada provee información acerca de las partes de juego las cuales han sido creadas para un título de juego particular T1. Un listado de parte de juego 904 lista las varias partes de juego las cuales han sido creadas del título de juego T1. En una modalidad, el listado de parte de juego 904 también identifica al usuario quien creó la parte de juego (por ejemplo, desplegar un nombre de usuario del usuario quien creó la parte de juego). En una modalidad, el listado de parte de juego 904 puede buscarse o navegarse para resaltar diferentes de las partes de juego listadas en el listado de parte de juego 904. En la modalidad ¡lustrada, una parte de juego A creada por un usuario A se resalta actualmente, lo cual causa que detalles 906 se desplieguen los cuales se relacionan con la parte de juego A. Los detalles 906 pueden incluir varias sugerencias de información relacionados con la parte de juego, tal nivel o etapa a partir de la cual la parte de juego se generó, un detalle de juego el cual provee información más específica acerca de la ubicación desde la cual la parte de juego se creó, comentarios por el usuario A quien creó la parte de juego, varios comentarios de otros, varios tiempos en que la parte de juego se ha jugado, o cualquier otro tipo de información acerca de la parte de juego la cual puede proveerse cuando el listado de la parte de juego se resalta.
La Figura 9B ilustra una página de información de parte de juego, de conformidad con una modalidad de la invención. La página de información de la parte de juego es para la parte de juego A discutida con referencia a la Figura 9A y puede alcanzarse cuando el usuario selecciona el listado de la parte de juego A como se muestra en la Figura 9A. Con referencia continuada a la Figura 9B, la página de información de parte de juego provee varios tipos de información relacionada con la parte de juego. Además de la información bibliográfica acerca de la parte de juego (por ejemplo, título, nombre de usuario del usuario quien creó la parte de juego, fecha de creación, etc.), puede desplegarse un video 910 de la parte de juego. En una modalidad, el video 910 es el video de mecánica de juego grabado del usuario original quien creó la parte de juego. En otra modalidad, el video 910 podría ser video de mecánica de juego grabado de otros usuarios, tal como un usuario quien logró la calificación más alta en la parte de juego, o un usuario quien jugó más recientemente la parte de juego. En una modalidad, el video 910 podría ser una alimentación en vivo de un usuario quien está jugando actualmente la parte de juego. En otras modalidades, podría mostrarse en lugar de un video una imagen representativa de la parte de juego.
La página de información de parte de juego además puede incluir un botón seleccionable 912 para iniciar la mecánica de juego de la parte de juego. La página de información de parte de juego también puede incluir una sección de detalles 914, la cual puede presentar varios detalles e información estadística acerca de la parte de juego, tal como el número de jugadores, la velocidad de terminación promedio, etc. La página de información de parte de juego también puede incluir una sección de comentarios 916, presentando comentarios dejados por los usuarios. Un botón de clasificación 918 se puede proveer para seleccionar varias opciones para clasificar os comentarios (por ejemplo el orden cronológico, orden cronológico inverso, más popular, por evaluaciones, por relación con el usuario actual (por ejemplo, comentarios por amigos del usuario en una gráfica social son priorizados), etc.).
La Figura 10 ilustra una vista de una información de cuenta de usuario, incluyendo vistas en vivo de amigos en una red social de juego en la nube, de conformidad con una modalidad de la invención. Una sección de librería 1002 despliega varios títulos de juego en la librería del usuario. Estos pueden ser títulos de juego los cuales el usuario ha comprado o adquirido de otra manera. El despliegue de un título de juego puede incluir despliegue de gráficas representativas, además de información de título. Se apreciará que los juegos pueden ser títulos de juego de versión completa, pero también pueden ser mini versiones de versiones limitadas, cada una de las cuales puede ser una porción de un titulo de juego de versión completa o estar limitada en alguna capacidad en comparación con el título de juego de versión completa. Un listado de amigos 1004 lista amigos del usuario actual en una red social asociada con el sistema de juego en la nube (es decir, otros usuarios en el perfil social del usuario actual). La red social puede ser una red social que es específica para el sistema de juego en la nube, o puede ser (tercera parte) la red social que existe aparte del sistema de juego en la nube, con la cual el sistema de juego en la nube se comunica para obtener información acerca del perfil social de usuario. El listado de amigos 1004 puede incluir información adicional acerca de los amigos del usuario, tal como ilustrar juegos los cuales posee cada amigo, identificar un estado en línea del amigo (por ejemplo, fuera de línea, inactivo, etc.), el último ingreso del amigo y su duración, el último juego jugado por el amigo, etc.
En una modalidad, una sección de usuario activo en vivo 1006 provee vistas en vivo de la mecánica de juego de amigos que están actualmente en línea y pueden estar jugando un juego de video. En una modalidad, cada usuario tiene una opción para definir si hace o no su mecánica de juego en vivo disponible para observación en vivo por otros usuarios. En tal modalidad, las vistas en vivo son presentadas solamente desde esos usuarios quienes tienen la opción designada para permitir su mecánica de juego en vivo para ser observable por otros usuarios. En la modalidad ilustrada, la sección de usuario activo en vivo 1006 incluye una vista en vivo 1008 de la mecánica de juego actual de un amigo A, así como una vista en vivo 1010 de la mecánica de juego actual de un amigo B. En una modalidad, el usuario actual puede navegar o buscar los amigos del listado de amigos 1004 y/o buscar las vistas en vivo las cuales están disponibles en la sección de usuario activo en vivo 1006. En una modalidad, una vista en vivo puede resaltarse cuando el usuario actual navega para ésta, y puede renderizarse en una manera distinta de otras vistas en vivo. Por ejemplo, vistas en vivo pueden desplegarse en un esquema de color no saturado por omisión, pero desplegarse en un esquema de color completamente saturado cuando se resalta o selecciona. Vistas en vivo también pueden desplegarse a una resolución más baja, frecuencia de fotograma, o tamaño por omisión, pero cuando se selecciona puede desplegarse a una resolución más alta, frecuencia de fotograma, o tamaño. En esta manera, el ancho de banda puede asignarse a una vista en vivo específica con base en la selección del usuario, para presentar una vista en vivo que el usuario está interesado en observar con mayor fidelidad que otras visas en vivo que pueden estar activas simultáneamente. Debería apreciarse que la vista en vivo puede desplegar no justo mecánica de juego específica de un juego de video, sino también otra actividad de un amigo en el sistema de juego en la nube, tal como su navegación a través de menús u otros tipos de actividad relacionada con su juego en la nube.
En una modalidad, las vistas en vivo están disponibles solamente para esos usuarios quienes están actualmente acoplados activamente en la mecánica de juego de un juego de video. En otras palabras, no están disponibles vistas de un usuario dado cuando ese usuario está fuera de línea o en línea pero no acoplados activamente en la mecánica de juego de un juego de video. Así, cuando el usuario está realizando otra actividad de no-mecánica de juego en el sistema de juego en la nube (por ejemplo, navegando en una interfaz gráfica del sistema de juego en la nube mientras ingresa al sistema), tal actividad no se hace disponible en una alimentación en vivo para que otros la observen. En otra modalidad, la vista en vivo puede incluir toda la actividad de un usuario quien ingresó al sistema de juego en la nube, incluyendo ambos la mecánica de juego del usuario así como otra actividad de no-mecánica de juego.
En una modalidad, la vista en vivo de un usuario dado puede filtrarse para no exponer potencialmente información sensible o personal para observarse por otros usuarios. Por ejemplo, el sistema de juego en la nube puede soportar una función de conversación. Como algunos usuarios pueden desear que sus conversaciones permanezcan privadas, puede proveerse una opción para excluir los registros de conversaciones cuando presentan una vista en vivo. Debería apreciarse que una función de conversación puede implementarse durante la actividad de la mecánica de juego así como durante la actividad de no-mecánica de juego, y puede filtrarse de las vistas en vivo de cualquiera o ambas de estas circunstancias. En otra modalidad, los aspectos de un juego de video pueden filtrarse de una vista en vivo. Por ejemplo, un usuario puede desear mantener cierta configuración definida por por el usuario secreta ya que esto puede conferir una ventaja a ese usuario durante la mecánica de juego. Así, puede proveerse una opción para actividad relacionada con configuraciones no desplegadas como parte de la alimentación en vivo (por ejemplo, cuando un usuario accede a la interfaz de configuración del juego de video. En otra modalidad, la vista en vivo puede configurarse para evitar observar la información personal (por ejemplo, evitar observar cuando un usuario acceda a una página de información personal, ingresa a información de pago, ingresa una contraseña, etc.).
En una modalidad, la interfaz provee una opción al usuario principal para solicitar unirse a la sesión de juego de un usuario secundario quien está actualmente en línea. Por ejemplo, el usuario principal puede observar la alimentación de mecánica de juego en vivo del usuario secundario y desear unirse a la mecánica de juego del usuario secundario. En una modalidad, la activación de la opción envía una solicitud hacia el usuario secundario notificando al usuario secundario que el usuario principal desea unirse a su sesión. Si el secundario acepta la solicitud, entonces se inicia un modo de múltiple jugador del juego de video, facilitando la mecánica de juego de múltiple jugador por los primero y segundo usuarios. En otra modalidad, dos o más usuarios secundarios pueden ya estar acoplados en la mecánica de juego de múltiples jugadores. En tal modalidad, el usuario principal puede enviar una solicitud para unirse a la mecánica de juego de múltiples jugadores. Bajo aceptación de la solicitud por uno de los usuarios secundarios (por ejemplo, una computadora principal designada de la sesión de mecánica de juego), el usuario principal es capaz de unirse a la sesión de múltiples jugadores del juego de video. Debería apreciarse que la interfaz mencionada anteriormente mostrando las alimentaciones de mecánica de juego en vivo de usuarios secundarios facilita la unión del usuario principal a la mecánica de juego de usuarios secundarios después de ser capaz de ver su mecánica de juego.
En una modalidad, la opción de solicitar unirse a la mecánica de juego del usuario secundario se predice bajo determinación de un estado de propietario del juego de video por el usuario principal. Si el usuario principal no posee el juego de video, entonces no puede presentarse opción, mientras que si el usuario principal posee el mismo juego de video que el usuario secundario, entonces la opción para solicitar unirse a la mecánica de juego del usuario principal se hace disponible como parte de la interfaz. En una modalidad, cuando se determina que el usuario principal no es un propietario del juego de video, entonces el usuario principal puede aún unirse a la mecánica de juego del usuario secundario en un modo de múltiple jugador, pero en una capacidad limitada, tal como siendo limitado en términos de la duración de la mecánica de juego, escenas disponibles/niveles/etapas/etc, opciones de personalización, habilidades, destrezas, armas, símbolos, vehículos o cualquier otro aspecto del juego de video que puede estar limitado. En una modalidad, después de la mecánica de juego de la versión limitada del juego de video, se provee al usuario principal una opción para comprar el juego de video completo. En otra modalidad, se provee al usuario principal una opción para comprar una porción adicional del juego de video.
Con referencia continuada a la Figura 10, la información desplegada también puede incluir la información de historia de juego 1012, de los amigos del usuario. La información de historia de juego 1012 puede proveer información acerca de una historia de mecánica de juego del amigo dada, tal como los juegos más recientes jugados, la duración de las sesiones de mecánica de juego, estadísticas relacionadas con la mecánica de juego, etc.
Será apreciado que muchos métodos y configuraciones para presentar una interfaz de juego en la nube son posibles de conformidad con varias modalidades de la invención. En una de tal modalidad, se provee un método para desplegar un estado de juego actual de usuarios de una sistema de juego en la nube, incluyendo las siguientes operaciones del método: presentar una interfaz de juego en la nube de un usuario principal; determinar uno o más usuarios secundarios que son amigos del usuario principal; determinar un estado actual de cada uno de los usuarios secundarios, presentar un alimentación en vivo de una sesión de juego actual del usuario secundario en linea en la interfaz de juego en la nube del usuario principal, la alimentación en vivo incluye proveer una opción para el usuario principal para unirse a la sesión de juego actual del usuario secundario en línea; en respuesta a recibir una solicitud para activar la opción para el usuario principal para unirse a la sesión de juego actual del usuario secundario en línea, iniciar un modo de múltiple jugador de la sesión de juego actual del usuario secundario en línea, el modo de múltiple jugador se provee para la mecánica de juego del usuario principal en la sesión de juego actual del usuario secundario en línea; en donde iniciar el modo de múltiple jugador incluye determinar un estado de propiedad del usuario principal con respecto a un juego de video definiendo la sesión de juego actual del usuario secundario en línea; en donde cuando se determina que el usuario principal posee el juego de video, entonces el modo de múltiple jugador provee para la mecánica de juego una versión completa del juego de video; en donde cuando se determina que el usuario principal no posee el juego de video, entonces el modo de múltiple jugador provee para la mecánica de juego una versión limitada del juego de video.
En una modalidad, la versión limitada del juego de video define una reducción, comparada con la versión completa del juego de video, en uno o más de los niveles disponibles, escenas disponibles, características disponibles, un limite de tiempo, un espacio virtual, una duración de campaña, un número de vidas, o un número de reproducciones.
En una modalidad, el método además incluye una operación del método de presentar, cuando el juego de video no se posee por el usuario principal, una opción para el usuario principal para comprar por lo menos una porción del juego de video.
En una modalidad, la alimentación en vivo del usuario secundario en línea se presenta en una primera resolución; y la selección de la presentación activa la alimentación en vivo de la alimentación en vivo del usuario secundario en línea en una segunda resolución más alta que la primera resolución.
En una modalidad, la alimentación en vivo del usuario secundario en linea se presenta en un modo de color no saturado; y la selección de la presentación activa la alimentación en vivo de la alimentación en vivo del usuario secundario en línea en un modo de color saturado.
En una modalidad, presentar la ¡nterfaz de juego en la nube incluye presentar una librería de títulos de juego asociados con cada uno de los usuarios secundarios.
En una modalidad, determinar uno más usuarios secundarios incluye acceder a un perfil social asociado con el usuario principal. En una modalidad, acceder al perfil social incluye acceder a una API de una red social.
En una modalidad, presentar la ¡nterfaz de juego en la nube del usuario principal incluye presentar un listado de cada uno de los usuarios secundarios en un orden de prioridad, el orden de prioridad basado en uno o más de los estados actuales, actualidad de ingreso, o propiedad común de juegos con el usuario principal.
La Figura 11 ilustra un método para presentar alimentaciones de mecánica de juego en vivo de amigos del usuario actual, de conformidad con una modalidad de la invención. En la operación del método 1100, un usuario actual ingresa a un sistema de juego en la nube. En la operación del método 1102, los amigos del usuario actual se identifican desde un perfil social del usuario actual. Como puede notarse, el perfil social del usuario actual puede ser de una red social que es específica al sistema de juego en la nube o puede ser de una red social que existe aparte del sistema de juego en la nube. En la operación del método 1104, se recupera la información de librería de los amigos del usuario. La información de librería de los amigos del usuario puede identificar títulos de juego en las librerías de amigos del usuario. En la operación del método 1106, se identifican los estados actuales de los amigos del usuario actuales. Si el estado actual de un amigo dado es en linea entonces en la operación del método 1108 se determina si el amigo dado está acoplado actualmente en una mecánica de juego de un juego de video en el sistema basado en la nube. Si es así entonces en la operación del método 1112, se obtiene una alimentación de mecánica de juego en vivo para ese usuario. En la operación del método 1110, los amigos del usuario actual son priorizados para despliegue con base en varios factores o preferencias. En la operación del método 1114, los amigos del usuario actuales y su información de estado y alimentaciones de mecánica de juego en vivo se presentan en el orden de prioridad. En una modalidad, amigos del usuario actual quienes están en línea pueden priorizarse sobre los amigos que están actualmente fuera de línea. En una modalidad, los amigos del usuario actual quienes están acoplados actualmente a la mecánica de juego activa pueden priorizarse sobre los amigos que no están acoplados actualmente en la mecánica de juego activa. En una modalidad, los amigos que tienen alimentaciones de mecánica de juego en vivo disponibles pueden priorizarse sobre otros amigos. En una modalidad, los amigos pueden priorizarse con base en la actualidad con la cual ésos han ingresado en el sistema de juego en la nube. En otra modalidad, los amigos pueden priorizarse con base en la propiedad común de los jugos de video. Los ejemplos anteriores de priorización de amigos se proveen meramente a manera de ejemplo y no a manera de limitación. Se apreciará por aquellos expertos en la técnica que en otras modalidades, los amigos del usuario actual pueden priorizarse y presentarse de conformidad con el ordenamiento de prioridad basado en cualquier otro factor relevante.
La Figura 12 ilustra un sistema que incluye un sistema de juego en la nube y una red social, de conformidad con una modalidad de la invención. Un sistema de juego en la nube 1200 provee acceso a sus juegos basados en la nube. El sistema de juego en la nube incluye una librería de juego 1202 la cual contiene varios títulos de juego que pueden jugarse por los usuarios. Los datos del usuario 1204 contienen varios tipos de datos los cuales están asociados con las cuentas de los usuarios, tal como títulos de juego los cuales se poseen por un usuario, y cualquier mecánica de juego salvada del usuario. En la modalidad ilustrada, varias sesiones de mecánica de juego se muestran conceptualmente, incluyendo una sesión A, una sesión B, y una sesión C. La sesión A define la mecánica de juego de un usuario A, quien observa la mecánica de juego de la sesión A en una pantalla 1208. La mecánica de juego de la sesión A se visualiza como la vista 1210 en la pantalla A de usuario 1208. De manera similar, la sesión B define la mecánica de juego de un usuario B, la cual se visualiza en el dispositivo B del usuario 1212 cornos se observa en 1214 En la modalidad ilustrada, la vista 1214 de la sesión del usuario B muestra una interfaz incluyendo las vistas en vivo de otros usuarios, incluyendo una vista en vivo de la sesión A y una vista en vivo de la sesión C. Conforme la mecánica de juego de las sesiones A y C procede, el video de la mecánica de juego sale de las sesiones A y C y puede transmitirse vía la sesión del usuario B, para desplegarse en la vista del usuario B 1214. El video de la mecánica de juego puede procesarse para transmisión vía la sesión del usuario B, por ejemplo disminuir la resolución, tamaño, frecuencia de fotograma, saturación de color, etc. para conservar el ancho de banda.
Con referencia continua a la Figura 12, también se muestra una red social 1216. La red social 1216 incluye datos de usuario 1218, los cuales incluyen datos tales como los perfiles sociales del usuario, publicaciones, imágenes, videos, información bibliográfica, etc. Apps 1220 pueden correrse en la plataforma de la red social. Una interfaz gráfica de usuario (GUI) 1222 define una interfaz para interactuar con la red social. Un API 1224 facilita acceso a la red social. Un módulo de notificación 1226 manipula la notificación de usuarios de red social de acuerdo con sus preferencias. Como se ha notado, la vista del usuario B 1214 incluye alimentaciones en vivo de las sesiones de otros usuarios. En una modalidad, los amigos del usuario B se determinaron con base en acceder a la API 1224 de la red social 1216 para determinar los miembros del perfil social del usuario B. Estos miembros fueron referenciados-cruzados contra los usuarios del sistema de juego en la nube para proveer alimentaciones de mecánica de juego en vivo de amigos del usuario B, incluyendo alimentaciones desde las sesiones A y C.
En una modalidad, el usuario A opta por compartir desde su sesión de mecánica de juego A a su perfil social. La sesión del usuario A se comunica vía la AP1 1224 para activar el módulo de notificación 1226 de la red social 1216 para enviar una notificación apropiada a los amigos en el perfil social del usuario A. Cuando un usuario de la red social 1230 quien está en el perfil social del usuario A accede a la red social vía un dispositivo 1228, éstos pueden observar un mensaje o publicar desde el usuario A acerca de la sesión del usuario A. Si se configura, un usuario puede recibir notificaciones tales como un correo electrónico indicando que el usuario A ha compartido algo en la red social. Debería apreciarse que el usuano A puede compartir acerca de la actividad de varios juegos de video relacionados, tal como logros en un juego de video, invitaciones para jugar un juego de video, comentarios acerca de un juego de video, una invitación para ver o jugar una parte de juego que el usuario A ha creado, un clip de video de la mecánica de juego del usuario A, etc.
La Figura 13 es una gráfica ilustrando varias variables de estado de juego en el tiempo, de conformidad con las modalidades de la invención. Debería apreciarse que en varias modalidades, pueden haber muchos tipos diferentes de variables de estado de juego que serán particulares a juegos de video específicos. Aquellos mostrados y descritos con referencia a la modalidad ilustrada se proveen meramente a manera de ejemplo y no a manera de limitación. Las variables de estado de juego pueden incluir valores los cuales están definidos por el juego de video en ejecución así como valores los cuales están definidos por una entrada de usuario. En la modalidad ilustrada, existen variables de posición mostradas indicando las posiciones X, Y, y Z de un objeto en un espacio virtual de un juego de video tal como un símbolo o un vehículo. Variables de ángulo de cámara indican la dirección de una cámara virtual o vista virtual en el juego de video. En una modalidad, el ángulo de la cámara se define y mide por el componente de azimut (por ejemplo, a lo largo del plano horizontal) con relación a y azimut de referencia y un componente de inclinación medido con relación a una referencia de inclinación (por ejemplo con relación a la vertical). Los valores de acción tales como las variables A y B de acción ilustradas indican el inicio y sostienen varias acciones dentro del juego de video. Debería apreciarse que las acciones para un juego de video dado serán específicas al contexto del juego de video. A manera de ejemplo, las acciones podrían incluir el inicio de maniobras específicas, la aplicación de destrezas, la activación de mecanismos de modificación que modifican una acción existente tal como incrementar su nivel de intensidad o frecuencia, etc., o cualquier otro tipo de acción o actividad que puede activarse por la entrada de usuario durante el curso del juego de video. Con referencia continuada a la Figura 13, una variable de arma indica la activación de un arma del juego de video. Una variable de salud indica un nivel de salud de, por ejemplo, un símbolo de usuario en el juego de video. Variables de botón indican que el estado de botones en un dispositivo controlador, por ejemplo si el botón está en un estado presionado o en una manifestación liberada. Variables de juego de la palanca de juego en la modalidad ilustrada indican una magnitud de movimiento de una palanca de juego con relación a una posición neutra. Las variables de estado de juego anteriores que se han descrito anteriormente con referencia a la modalidad ilustrada son meramente ejemplares, y será reconocido por los expertos en la técnica que muchos otros tipos de variables de estado de juego pueden rastrearse en el tiempo.
Con referencia nuevamente a la modalidad de la Figura 6, en una modalidad, el analizador de estado de juego 614 puede configurarse para analizar las variables de estado de juego de una mecánica de juego grabada del usuario. Con base en el análisis de la mecánica de juego grabada del usuario, varias regiones de interés de la mecánica de juego grabada del usuario puede definirse y presentarse al usuario como posibles selecciones de las cuales generar una parte de juego. Por ejemplo, una región de mecánica de juego caracterizada por niveles altos de actividad para ciertas variables de estado de juego puede definir una selección de la mecánica de juego grabada del usuario. Debería apreciarse que el nivel de actividad para una variable dada de estado de juego puede estar basado en varios factores tales como un nivel de intensidad, una frecuencia de activación, una duración de sostenimiento, etc. En algunas modalidades, el análisis de las variables de estado de juego pueden implicar buscar regiones de mecánica de juego en donde los niveles de actividad de dos o más variables de estado de juego diferentes están correlacionados en una manera predefinida, por ejemplo, dos o más variables de estado de juego diferentes se correlacionan en una manera predefinida, por ejemplo, las dos o más variables tienen niveles de actividad altos simultáneamente. Un nivel de actividad alto puede determinarse con base en un umbral previamente definido.
En varias modalidades, una región de interés de la mecánica de juego grabada del usuario puede determinarse automáticamente con base en la detección de umbral de cualquiera o más de lo siguiente: una o más entradas de usuario, velocidad de entrada de usuario, frecuencia de entrada, repeticiones de tipos de entrada, ocurrencias de patrones de entrada, combinación de entradas (por ejemplo, teclas combinadas), vectores de movimiento, presión ejercida en un controlador, excitación de un usuario (por ejemplo, detectado con base en la imagen capturada o datos de audio del usuario.
La Figura 14A ilustra un método para generar una parte de juego para un video juego tipo lineal, de conformidad con una modalidad de la invención. Hablando ampliamente, un juego de video lineal es uno para el cual el progreso del jugador a través del juego de video sigue un curso lineal, en donde para progresar a través de juego de video el jugador debe completar un objetivo previo antes de progresar hacia un objetivo posterior. Así, todos los jugadores deben completar los mismos objetivos en el mismo orden para progresar a través del juego de video. Los objetivos en un juego de video lineal puede estar ligados a ambas ubicaciones geográfica así como temporal dentro del contexto de una línea histórica espacio temporal del juego de video. En operación del método 1400, se identifica una escena de un juego de video. La escena puede ser espacial y temporal en naturaleza, y tener varios otros objetivos definidos ahí. En la operación del método 1402, se define una longitud espacial o temporal de la escena. La longitud de la escena puede definirse de conformidad con la entrada de usuario, y también puede definirse con base en objetivos los cuales están vinculados con la escena. En la operación del método 1404, las propiedades iniciales de los objetos, símbolos, o cualesquier otros objetos dentro de la escena para los cuales las propiedades pueden asignarse, se definen. En la operación del método 1406, una parte de juego se genera para la longitud identificada de la escena que tiene las propiedades iniciales como se definió anteriormente.
La Figura 14B ilustra un método para generar una parte de juego para un video juego de tipo mundial, de conformidad con una modalidad de la invención. Un juego de video abierto mundial puede caracterizarse como uno en donde el usuario está en libertad de cursar cualquier número de objetivos para su propia elección. Los juegos de video del tipo abierto al mundo típicamente también permiten al usuario navegar uno o más espacios virtuales a voluntad. Para progresar a diferentes niveles del juego de video o juego de video completo, puede requerirse completar cierto conjunto de objetivos, sin embargo, los usuarios puede ser libres de completar estos objetivos en diferente orden. En la operación del método 1410, se identifica una ubicación dentro de un mundo virtual del juego de video. En la operación del método 1412. Se define una porción limitada del mundo virtual. La porción limitada del mundo virtual puede definirse con base en la entrada de usuario definiendo una selección de la mecánica de juego grabada como se ha descrito en la presente. Por ejemplo, una mecánica de juego de usuario en un juego de video abierto mundial puede variar sobre una gran variedad de ubicaciones durante el curso de la mecánica de juego. Sin embargo, para los propósitos de generar una parte de juego, el usuario puede seleccionar una porción de la mecánica de juego que ocurre dentro de una región geográfica limitada del mundo virtual del juego de video. Esta región geográfica limitada puede determinarse con base en el análisis de la porción seleccionada del usuario de su mecánica de juego grabada, por ejemplo, rastreando una ubicación de un símbolo controlado por lo el usuario dentro del mundo virtual y definiendo los límites los cuales incluyen todas las ubicaciones en las cuales se encontró que existe el símbolo. En la operación del método 1414, se definen las propiedades iniciales de varios objetos, símbolos, objetos, vehículos, o cualesquier otros objetos encontrados dentro de la región geográfica limitada determinada anteriormente de la selección de mecánica de juego grabada del usuario. En la operación del método 1416, la parte de juego se genera con base en la región geográfica limitada abierta al mundo y las propiedades definidas anteriormente La Figura 14C ilustra un método para generar una parte de juego para un video juego de deportes, de conformidad con una modalidad de la invención. La parte de juego puede generarse con base en una selección definida por el usuario de la mecánica de juego grabada de los usuarios. En la operación del método 1420, se identifica una configuración con base en la selección de la mecánica de juego grabada del usuario. A manera de ejemplo, la configuración puede definir una ubicación de un evento de deportes, tal como una cancha, estadio, pista, o cualquier otra configuración de lugar en el cual puede ocurrir un evento de la mecánica de juego. En la operación del método 1422, se define un período de tiempo con base en la selección de la mecánica de juego grabada del usuario. El período de tiempo define una porción temporal para la cual se generará la parte de juego, y puede definirse con base en la selección de usuario de la mecánica de juego grabada. El período de tiempo de los deportes de juego de video puede determinar ciertos aspectos de la parte de juego de video, tal como la inclusión de reglas especiales o actividades que ocurrirán en ciertos períodos de tiempo durante un deporte. En la operación del método 1424, los jugadores de la parte de juego se determinan con base en los jugadores incluidos en la selección de la mecánica de juego grabada del usuario. Los jugadores pueden incluir uno o más símbolos los cuales se han definido por el usuario, así como símbolos de inteligencia artificial (Al), los cuales fueron controlados por lógica de control de símbolo de Al del juego de video en ejecución en el tiempo de la mecánica de juego. Como se ha descrito en alguna parte en la presente, las acciones de símbolos de Al pueden ser aproximadas en algunas instancias. Mientras que en algunas modalidades, la lógica de control del símbolo de Al se define por la parte de juego con los parámetros como éstos fueron definidos en la selección de mecánica de juego grabada del usuario. En la operación del método 1426, se definen atributos de escena para la configuración de ubicación de la parte de juego de video de deportes. Por ejemplo, estos pueden incluir atributos tales como clima, pista o condiciones de estadio, y otros atributos de la configuración de deportes. En la operación del método 1428, la parte de juego para el juego de video se genera con base en los parámetros mencionados anteriormente.
La Figura 15 ilustra conceptualmente la formación de una parte de múltiple-juego, de conformidad con una modalidad de la invención. Un juego de video puede organizarse en varios niveles o etapas. En la modalidad ilustrada, se muestra una mecánica de juego del usuario de varios niveles de un juego de video. Específicamente, una línea de tiempo de mecánica de juego 1500 representa la mecánica de juego del usuario de un primer nivel del juego de video, mientras que una línea de tiempo de mecánica de juego 1502 y una línea de tiempo de mecánica de juego 1506 representan la mecánica de juego del usuario de los segundo y tercer niveles, respectivamente, del juego de video. De conformidad con una modalidad de la invención, un usuario puede concatenar múltiples partes de juego del juego de video para formar un mini-juego de parte de juego múltiple mayor. En la modalidad ilustrada, se utiliza una selección 1502 de la línea de tiempo de la mecánica de juego del usuario 1500 para definir una primera parte de juego 1514. Una selección 1504 de la línea de tiempo de la mecánica de juego del usuario 15 de dos se utiliza para definir una segunda parte de juego 1818. Y una selección 1508 de la línea de tiempo de la mecánica de juego del usuario 1506 se utiliza para definir una tercera parte de equipo 1522. Las primera, segunda y tercera partes de juego están dispuestas en un orden secuencial para definir el mini-juego 1510. Al hacerlo así, el mini-juego 1510 incluye partes de juego de cada uno de los primero, segundo y tercer niveles del juego de video. En esta manera, un usuario quien juega el mini-juego 1510 es capaz de experimentar porciones limitadas de múltiples niveles del juego de video jugando a través del mini-juego 1510. Esto puede ser útil en proveer una vista preliminar más convincente o demostración de un juego de video que las demostraciones de juego convencionales en donde un usuario puede jugar solamente una porción de un nivel o etapa del juego de video. La experiencia es análoga a la de una vista previa de película, la cual provee típicamente clips de diferentes porciones de la misma película, y no justo un clip único. De conformidad con las modalidades de la invención, los usuarios pueden disfrutar de demostraciones de juego de múltiples porciones las cuales proveen una sensación mejor del alcance del juego de video completo, y las cuales pueden presentar la mecánica de juego en una manera continua de una porción a la siguiente.
En una modalidad, un usuario puede insertar material adicional, tal como un video definido por el usuario, mensaje, imágenes o cualquier otro tipo de información, antes o después de una parte de juego. En la modalidad ¡lustrada, se provee una introducción 1512 para introducir un jugador al mini-juego 1510 y quizá también introducir al jugador a la primera parte de juego 1514. Adicionalmente, se inserta un mensaje 1516 entre la primera parte de juego 1514 y la segunda parte de juego 1518 mientras que otro mensaje 1520 se inserta entre la segunda parte de juego 1518 y la tercera parte de juego 1522. En una modalidad, el material insertado puede incluir video de la mecánica de juego grabada de la mecánica de juego del usuario original desde la cual se generó la parte de juego. Si la mecánica de juego grabada se muestra antes de jugar la parte de juego, el jugador que inicia la parte de juego puede entender mejor la parte de juego y sus objetivos antes de empezar la mecánica de juego, mientras muestra después de la mecánica de juego de la parte de juego, el jugador puede entender cómo su mecánica de juego de la parte de juego se compara con esa del usuario original.
La Figura 16 ilustra conceptualmente la generación de una parte de mini-juego de múltiple juego, de conformidad con una modalidad de la invención. En la modalidad ilustrada, se muestra una línea de tiempo de mecánica de juego grabada del usuario 1600 para un juego A, junto con la línea de tiempo de mecánica de juego grabada del usuario 1604 para un juego B, y la línea de tiempo de mecánica de juego grabada del usuario 1608 para un juego C. En una modalidad, el usuario es capaz de generar un mini-juego de parte de juego múltiple con base en las partes de juego de diferentes juegos de video. En la modalidad ilustrada, se utiliza una selección 1602 de la mecánica de juego grabada del usuario 1600 para definir una parte de juego 1616, mientras que una selección 1606 de la mecánica de juego grabada del usuario 1604 se utiliza para definir una parte de juego 1620, y una selección 1610 de la mecánica de juego grabada de los usuarios 1608 se utiliza para definir una parte de juego 1624. Las partes de juego 1616, 1620 y 1624 están dispuestas secuencialmente para definir el mini-juego 1612. Opcionalmente, material adicional puede insertarse antes o después de una parte de juego. En la modalidad ilustrada, una introducción 1614 se inserta antes de la parte de juego 1616, mientras que un interludio 1618 se define entre la parte de juego 1616 y la parte de juego 1620, y se define otro interludio 1622 entre la parte de juego 1620 y la parte de juego 1624.
En la modalidad ilustrada, se apreciará que las partes de juego se toman de diferentes juegos de video. Esto permite que al usuario gran flexibilidad para mezclar juntas las partes de juego desde a través de diferentes títulos de juego, géneros, y aún generaciones de plataforma de consola. Meramente a manera de ejemplo, un usuario puede crear un mini-juego que tiene partes de juego de cada uno de varios títulos de juego en una serie de juego de video singular. En esta manera, un jugador del mini-juego es capaz de experimentar y aprecia la evolución de la serie de juego de video en una experiencia de mecánica de juego continua.
Las modalidades de la invención se han descrito generalmente con referencia a los sistemas de juego basados en la nube. Sin embargo, debería apreciarse por los expertos en la técnica que conceptos y principios similares que se han descrito en la presente pueden aplicarse a los sistemas de juego de video basado en consola tradicionales, posiblemente en combinación con sistemas de juego basados en la nube. Por ejemplo, un usuario puede jugar un juego de video basado en consola y tener datos de entrada de la mecánica de juego del usuario y metadatos que permanecen en el juego grabados durante la mecánica de juego. Con base en los datos de entrada de la mecánica de juego del usuario y los metadatos de estado de juego, la salida de mecánica de juego actual del juego de video puede regenerarse en un momento posterior. Por lo tanto, los datos de entrada grabados y los metadatos de estado de juego pueden utilizarse en combinación con el código de juego de video para proveer una interfaz para selección de una porción de la mecánica de juego del usuario desde la cual generar un mini-juego, como se ha descrito. El código de mini-juego puede generarse en la consola y cargarse a un sistema de nube y hacerse disponible para descarga por otros usuarios. En otra modalidad, el código de mini-juego se genera por el sistema de nube después de recibir la porción seleccionada de los datos de entrada de la mecánica de juego de los usuarios y metadatos de estado de juego. El sistema en la nube procesa la porción seleccionada de los datos de entrada de la mecánica de juego de los usuarios y metadatos de estado de juego para generar el código de mini-juego con base en el código de juego de video almacenado en el sistema de nube. Una vez generado, el mini-juego puede hacerse disponible para juego basado en la nube en donde la ejecución del mini-juego ocurre en el sistema basado en la nube, pero también puede hacerse disponible para descarga a los sistemas basados en consola tradicionales para ejecución en la consola para facilitar mecánica de juego basada en consola del mini-juego. En esta manera, pueden crearse los mini-juegos y jugarse por ambos usuarios de los sistemas de juego de video basados en consola y los usuarios de los sistemas de juego de video basados en la nube.
Las modalidades de la invención se han descrito generalmente con referencia a mini-juegos o porciones definidas por el usuario jugables de juegos de video. Sin embargo, se apreciará por los expertos en la técnica que muchos de los principios ilustrados en la presente también aplican fácilmente para la generación y compartición de mecánica de juego grabada, incluyendo la compartición de video de mecánica de juego grabada, pantallas de captura, y transmisión en vivo de la mecánica de juego activa. En algunas modalidades, proveer acceso a un mini-juego (por ejemplo, en respuesta a recibir una notificación) puede incluir una presentación de video grabado de la mecánica de juego del usuario original el cual formó las bases para el mini-juego. En aún otras modalidades se contemplan métodos, sistemas e interfases para facilitar la compartición de mecánica de juego del usuario hacia el perfil social del usuario.
En una modalidad, se contempla un método para almacenar la mecánica de juego. La mecánica de juego puede ejecutarse por el sistema operativo de una consola de juego en respuesta a una solicitud de usuario, la cual puede venir en la forma de una operación de archivo estándar con respecto a un conjunto de datos asociados con la mecánica de juego deseada. La solicitud puede transmitirse desee una aplicación asociada con un juego. La mecánica de juego puede comprender, por ejemplo, contenido de video, contenido de audio y/o contenido visual estático, incluyendo fondo de pantalla, temas, contenido de código "añadido", o cualquier otro tipo de contenido asociado con un juego. Se contempla que tal contenido puede ser generado por el usuario o desarrollado^ libre o pagado, completo o de prueba, y/o para venta o para renta.
Una porción de la mecánica de juego puede almacenarse en memoria intermedia, es decir, almacenarse temporalmente. Por ejemplo, los 15 segundos anteriores, el nivel completado anteriormente, para la acción previa dentro de la mecánica de juego pueden almacenarse temporalmente, como se describió adicionalmente en la presente. El término "porción" usado en la presente puede corresponder a cualquier parte de la mecánica de juego que es divisible en cualesquier grupos relacionados o arbitrarios de bits individuales o múltiples o bytes de datos. Por ejemplo, "porciones" de la mecánica de juego pueden corresponder a niveles, capítulos, escenas, actos, símbolos, fondos, texturas, cursos, acciones, canciones, temas, duraciones, tamaños, archivos, partes de los mismos, y combinaciones de los mismos. Además, las porciones de la mecánica de juego pueden comprender capturas de pantalla o duraciones reglamentarias de captura de vídeo.
En una modalidad, las porciones de la mecánica de juego pueden almacenarse localmente en la consola de juego en cualquier almacenamiento temporal o permanente. Alternativamente o adicionalmente, pueden transmitirse porciones de la mecánica de juego pueden sobre una red almacenada remotamente. Por ejemplo, las porciones de la mecánica de juego pueden transmitirse sobre una red alámbrica o inalámbrica hacia otro dispositivo de computación, hacia otra consola de juego, o hacia un servidor remoto. Tales servidores remotos pueden incluir servidores de medio social.
Opcionalmente, las porciones de la mecánica de juego no recuperadas de la memoria temporal o las porciones de la mecánica de juego fuera de un intervalo de juego particular (por ejemplo, una duración particular, nivel, capítulo, curso, etc.) pueden retirarse de la memoria temporal. Este proceso de remoción puede completarse usando operaciones de archivo estándar en el sistema operativo.
Las porciones de la mecánica de juego puede desplegarse en cualquier número de dispositivos de pantalla que tienen acceso a la mecánica de juego almacenada. Por ejemplo, la mecánica de juego almacenada puede desplegarse en una televisión conectada a la consola de juego desde la cual se capturó la mecánica de juego. En otro ejemplo la mecánica de juego almacenada puede desplegarse en una computadora a la cual se transmitió la mecánica de juego almacenada. La mecánica de juego almacenada puede desplegarse sola o en combinación con otra información, tal como en un sitio web de medio social.
En una modalidad, porciones de la mecánica de juego se despliegan por otra consola de juego asociada con el usuario además del usuario que almacenó en memoria temporal o capturó la mecánica de juego.
De conformidad con esta modalidad, las porciones de la mecánica de juego pueden mostrar una pelota se arroja desde un primer usuario hacia un segundo usuario, desde el punto de vista del primer usuario. Las porciones del juego de video entonces pueden transmitirse hacia la consola de juego del segundo usuario. Así, entonces el segundo usuario puede observar la mecánica de juego desde el punto de vista del primer usuario. El segundo usuario también puede tener porciones de la mecánica de juego almacenada mostrando la pelota siendo arrojada por el primer usuario y capturada por un segundo usuario, desde el punto de vista del segundo usuario. En esta modalidad el segundo usuario puede recuperar la mecánica de juego desde el punto de vista del primer usuario y el punto de vista del segundo usuario. Aún adicionalmente, las porciones de la mecánica de juego almacenadas por el segundo usuario pueden transmitirse hacia la consola de juego del primer usuario, de tal manera que el primer usuario puede revisar la mecánica de juego desde dos puntos de vista. Esta modalidad puede aplicar a cualquier número de usuarios que tiene cualquier número de puntos de vista, así la mecánica de juego puede revisarse desde cualquier número de perspectivas diferentes.
Con respecto al almacenamiento, transmisión y/o despliegue de las porciones de la mecánica de juego como se describió en la presente, se contempla que las porciones de la mecánica de juego pueden almacenarse, transmitirse y desplegarse como datos de video o imagen. En otra modalidad, sin embargo, las porciones de la mecánica de juego pueden almacenarse y transmitirse como telemetría o metadatos representativos de la imagen o datos de video, y pueden re-crearse como imágenes de video por una consola de juego u otro dispositivo antes de despliegue.
En algunas modalidades, la porción de la mecánica de juego tiene una relación predeterminada con la mecánica de juego ejecutada. Por ejemplo, la porción de la mecánica de juego puede corresponder a una cierta cantidad de mecánica de juego antes de la mecánica de juego actualmente ejecutándose, tal como los 10 segundos anteriores de mecánica de juego. En otra modalidad, una primera porción del juego de video tiene una relación predeterminada con una segunda porción de la mecánica de juego. Por ejemplo, la primera porción de la mecánica de juego puede corresponder a una cierta cantidad de mecánica de juego antes de recepción de una solicitud para capturar una segunda porción de la mecánica de juego, tal como los 10 segundos de mecánica de juego antes de la selección de un botón de captura. En cada una de estas modalidades, la cantidad de mecánica de juego almacenada en memoria intermedia antes de la mecánica de juego actual o la mecánica de juego solicitada puede configurarse y ajustarse por el usuario de conformidad con sus preferencias particulares.
En otras modalidades, la memoria intermedia temporal es "inteligente" o "elástica", tal que captura la mecánica de juego de acuerdo con las variables sin estimación del tiempo. En una modalidad, la primera porción de la mecánica de juego tiene una relación predeterminada con un evento relacionado con la mecánica de juego. Por ejemplo, la primera porción de la mecánica de juego puede ser almacenada en memoria temporal para incluir una anomalía estadística, tal como una calificación alta alcanzada, la ocurrencia de un gran número de puntos en un período de tiempo corto, las múltiples selecciones de botones en un controlador, y otros eventos raros. Tales anomalías estadísticas pueden determinarse mediante comparación de métricas de mecánica de juego a métricas promedio para un juego particular o escena o para todos los juegos generalmente. Tales métricas promedio pueden almacenarse localmente o remotamente para comparación. Por ejemplo, la consola de juego puede rastrear calificaciones globales altas para un juego particular, y almacenar en memoria temporal la mecánica de juego en la cual se aproxima un usuario y sobrepasa esa calificación alta. En otro ejemplo, un servidor remoto puede rastrear calificaciones altas globales para un juego particular, y puede comunicar esa información a la consola de juego, la cual almacena en memoria temporal la mecánica de juego en la cual el usuario se aproxima y sobrepasa esa calificación alta.
En otro ejemplo, la porción de la mecánica de juego puede almacenarse en memoria intermedia para incluir un logro, tal como un trofeo que se alcanza u otro evento importante que se alcanza. Tales trofeos o monumentos conmemoran cualquier meta o logro de juego, tal como un cierto número de puntos alcanzados, un cierto nivel alcanzado, y similares. Por ejemplo, la mecánica de juego puede almacenarse para incluir el otorgamiento de un trofeo por alcanzar el nivel 10, por alcanzar 100,000 puntos, etc.
Similarmente, progreso hacia alcanzar un evento, además del otorgamiento actual del trofeo o anomalía estadística, puede almacenarse para ser incluido en la porción de la mecánica de juego. Por ejemplo, una pantalla de captura puede tomarse en cada uno de los niveles uno a 10, creando un álbum fotográfico para conmemorar la recepción de un trofeo por alcanzar el nivel 10. Otro ejemplo, un video puede tomarse del usuario ganando una carrera para las primeras a quinta veces, donde se otorga un trofeo a cinco ganadores.
Así, de conformidad con las modalidades de la invención, por lo menos una porción de la mecánica de juego ejecutada puede mantenerse siempre en una memoria intermedia corriendo. En otras palabras, cuando una solicitud para compartir una porción de la mecánica de juego se recibe, una porción de la mecánica de juego anterior puede ya ser capturada para incluir metraje anterior. Por ejemplo, si una solicitud para compartir la mecánica de juego se recibe después de que un usuario cruza la línea final en un juego de carreras, la mecánica de juego almacenada en memoria temporal puede incluir metraje del usuario cruzando la línea final. En otras palabras, un usuario será capaz de capturar los momentos que ocurren antes de que se realice la solicitud para compartir la mecánica de juego.
La Figura 17 ilustra una interfaz para compartir la mecánica de juego, de conformidad con una modalidad de la invención. La interfaz 1700 como se muestra incluye varios iconos seleccionabas para facilitar la compartición a amigos de un usuario, por ejemplo miembros de una gráfica social del usuario. En una modalidad, la interfaz 1700 puede accederse dése un botón dedicado en un dispositivo controlador. Cuando el botón se presiona durante la mecánica de juego, la interfaz 1700 puede presentarse para permitir al usuario compartir su mecánica de juego.
El icono 1702 puede seleccionarse para iniciar la carga de una pantalla de captura de la mecánica de juego del usuario. En una modalidad, la región 1704 del icono 1702 está poblada con una pantalla de captura representativa de la mecánica de juego reciente del usuario, proporcionando asi una vista previa de escala pequeña de la pantalla de captura que puede compartirse. En una modalidad, la selección del icono 1702 puede proveer acceso a una interfaz de selección de pantalla de captura adicional la cual permite que el usuario seleccione una pantalla de captura particular desde la mecánica de juego grabada del usuario para compartir el perfil social del usuario. Esto puede tomar la forma de una línea de tiempo de video de mecánica de juego navegable, la cual puede recorrerse o navegarse para identificar un punto de tiempo particular dentro de la mecánica de juego y su pantalla de captura correspondiente.
El icono 1706 puede seleccionarse para iniciar la carga de un video de la mecánica de juego del usuario. La región 1708 del icono 1706 puede configurarse para desplegar un clip de video representativo de la mecánica de juego reciente del usuario, por ejemplo los últimos 5 segundos de la mecánica de juego del usuario, un logro reciente, etc., asi desplegando un vista previa de escala menor de un clip de video de la mecánica de juego del usuario la cual puede compartirse con otros.
El icono 1710 puede seleccionarse para iniciar la transmisión de video en vivo de la mecánica de juego activa del usuario. En una modalidad, la selección del ¡cono 1710 activará la reanudación de la mecánica de juego del usuario mientras inicia la transmisión de video en vivo de la mecánica de juego del usuario. En otra modalidad, la selección del icono 1710 provee acceso a una interfaz para determinar la configuración para emitir la transmisión de video, tal como a quién compartir la transmisión de video, si incluye una transmisión de video desde un dispositivo de captura de imagen local pretendido para mostrar al mismo usuario durante la mecánica de juego, si permite comentarios, etc.
Se apreciará que el usuario puede compartir la mecánica de juego (por ejemplo, una pantalla de captura seleccionada, video, o transmisión - de mecánica de juego en vivo) a uno o más amigos seleccionados específicamente, a su perfil social completo, o a cualquier usuario del perfil social. La red social puede ser una red social de juego asociada con la plataforma en la cual corre el juego de video, o una red social de tercera parte que existe separada del juego de video o su plataforma. Puede accederse a la red social a través de un API definido para permitir interactuar con la red social. Los usuarios a quienes la mecánica de juego se ha compartido pueden recibir una notificación informándoles de la mecánica de juego compartida. Tal notificación puede tomar la forma de una publicación a una fuente de novedades sociales, un mensaje privado a través de la red social, una notificación de ingreso-juego, un correo electrónico, una notificación de conversación, etc. Compartir la mecánica de juego hacia la red social puede implicar hacer la mecánica de juego disponible a otros subconjuntos de usuarios de la red social quienes pueden o no pueden ser parte del perfil social del usuario compartido. Por ejemplo, para un juego de video dado, la mecánica de juego puede compartirse o hacerse disponible a cualquier usuario de la red social quien también posee el juego de video y por lo tanto se otorga acceso a la mecánica de juego compartida del juego de video. Tal mecánica de juego compartida puede accederse a través de foros en línea, cuartos de conversación virtual, u otros canales en línea que están disponibles solamente a jugadores del juego de video. En una modalidad, un juego de video puede tener una página dedicada o sitio en la red social. La mecánica de juego compartida puede hacerse disponible a los usuarios que acceden a la página o sitio del juego de video. Desde luego, se apreciará que desde la perspectiva del usuario compartiendo, pueden proveerse opciones para permitir al usuario especificar y personalizar quién y qué foro al cual su mecánica de juego será compartida.
La Figura 18 ilustra una interfaz 1800 para seleccionar una porción de mecánica de video de juego grabada para compartir, de conformidad con una modalidad de la invención. La interfaz 1800 incluye una región de vista previa 1802 la cual repite una vista previa de una porción seleccionada actualmente de video desde la mecánica de juego del usuario. Las pantallas de captura 1804, 1806, 1808, 1810 y 1812 se colocan adyacentes entre sí en orden cronológico para definir una línea de tiempo de pantallas de captura indicando el contenido de video de mecánica de juego. Las varias pantallas de captura, 1804, 1806, 1808, 1810 y 1812 pueden ser marcos de imagen extraídos a intervalos regulares desde el video de mecánica de juego. La línea de tiempo de pantalla de captura puede desplazarse a la derecha o izquierda para mostrar marcos adicionales precediendo o procediendo esos desplegados actualmente. Los marcadores 1814 y 1816 indican los puntos de inicio y fin para un clip de video seleccionado actualmente (o segmento o porción). El clip de video seleccionado actualmente puede reproducirse repetidamente en la región de vista previa 1802, como se ha notado.
En una modalidad, los botones 1818 y 1820 pueden seleccionarse para reducir o incrementar, respectivamente, la duración de la porción de video seleccionada. Una opción de vista previa 1822 puede seleccionarse para activar la reproducción de una vista previa de pantalla completa del clip de video seleccionado actualmente. Una opción de recorte 1824 puede seleccionarse para acceder a características de recorte de video adicionales.
La Figura 19 ilustra una interfaz 1900 para ver un flujo de video en vivo de una mecánica de juego de usuario, de conformidad con una modalidad de la invención. En la referencia 1902, se muestra el nombre y/o alias del usuario que está transmitiendo su mecánica de juego. En la referencia 1904, se muestra el número de usuarios quienes están observando actualmente la transmisión de video en vivo. La transmisión de video en vivo de la mecánica de juego del usuario se despliega en la región de despliegue de video 1906. Adicionalmente, un video de usuario en vivo 1908 puede incluirse, mostrando video en vivo del usuario actual cuya mecánica de juego está siendo transmitida en vivo. Una opción de comando 1910 puede seleccionarse para permitir la observación de usuario a comandos que afectan el juego de video, o aún tomar sobre control de la mecánica de juego del usuario transmitiendo. Se observará que la emisión de comandos en-juego o remotamente controlando la mecánica de juego del usuario puede requerir permiso, ya sea predefinido o solicitado en el tiempo de la mecánica de juego, desde el usuario jugando el juego para permitir al usuario observando realizar tales acciones.
Una opción 1912 permite que el usuario observando se una a la mecánica de juego de la transmisión de usuario. Y una opción 1914 permiten la usuario observando comparar el juego de video en progreso.
Además, la interfaz puede incluir una sección de comentarios 1916 la cual despliega los comentarios de los usuarios observando el flujo de video en vivo, indicando la hora de cada comentario. Se provee un campo de entrada de comentario 1918 para que el usuario observando ingrese texto para un componente a ser publicado. Y el botón de envío 1920 se presiona para cargar el comentario para observación por el usuario transmitiendo en vivo y otros observando la transmisión de video en vivo.
Aunque las modalidades de la invención se han descrito con referencia a acceder a varias interfases para compartición desde un botón de presión dedicado, se apreciará que en otras modalidades, algunas o todas de estas interfases pueden no ser requeridas para facilitar compartir la mecánica de juego a un perfil social de usuario. Por ejemplo, en una modalidad, un botón controlador puede configurarse para capturar una pantalla de captura de la mecánica de juego de los usuarios cuando se presiona. La pantalla de captura capturada entonces puede cargarse automáticamente y compartirse hacia el perfil social de usuario.
En otra modalidad, presionar un botón especifico en el controlador inicia la grabación del video de la mecánica de juego. Cuando se presiona el botón especifico una segunda vez, la grabación del video de mecánica de juego se para, y el clip de video puede cargarse y compartirse hacia el perfil social del usuario. En una modalidad, la carga y compartición del clip de video al perfil social del usuario puede ocurrir automáticamente después de la terminación de la operación de grabación de video. Sin embargo, en otra modalidad, cuando el botón específico se presiona una segunda vez para parar la grabación una interfaz se presenta para permitir al usuario personalizar varias opciones tales como recortar el video, seleccionar una pantalla de captura representativa para el video, determinar los usuarios específicos con los que se comparte el video, incorporar un encabezado o título, etc. Después de personalización por el usuario, el video puede compartirse con otros o hacerse disponible de otra manera para observación.
En una modalidad, un botón específico en el controlador puede configurarse para compartir una duración predefinida de video de mecánica de juego en una red social. Por ejemplo, un usuario puede especificar que cuando se presiona el botón, los 10 segundos anteriores del video de mecánica de juego se compartirán al perfil social del usuario. En otra modalidad, puede especificarse que cuando se presiona el botón, los siguientes 10 segundos del video de mecánica de juego se grabarán y compartirán al perfil social. Se apreciará que las opciones para recortar el video y realizar otros tipos de personalización pueden aplicarse al video de mecánica de juego grabada. Además, el video de mecánica de juego grabada de una duración predefinida después de que el botón se activa puede combinarse con video de mecánica de juego almacenado en memoria temporal anteriormente como se ha descrito.
En aún otra modalidad, un botón específico en el dispositivo controlador puede configurarse para iniciar transmisión de video en vivo de la mecánica de juego de usuarios activos. Una transmisión de video en vivo puede predefinirse para hacerse disponible solamente a los miembros del perfil social del usuario, o a otros grupos de usuarios mayores o menores, tal como un subconjunto específico del perfil social del usuario, todos los usuarios quienes poseen o tienen acceso de otra manera al mismo juego de video, cualquier usuario de la plataforma de juego, etc.
Generación automática de mini-juegos sugeridos para juego en la nube con base en la mecánica de juego grabada En una modalidad, se provee un método para generar una versión limitada jugable de un video juego, incluyendo las siguientes operaciones del método: grabar una mecánica de juego de usuario de una versión completa del video juego; analizar la mecánica de juego grabada del usuario para determinar una región de interés; definir límites dentro de un contexto de la mecánica de juego del video juego con base en la región de interés determinada; y generar la versión limitada del video juego con base en los límites definidos; en donde el método se ejecuta por un procesador.
En una modalidad, la grabación de la mecánica de juego del usuario incluye grabar uno o más de los datos de entrada del usuario o datos de estado de juego. En una modalidad, analizar la mecánica de juego grabada del usuario incluye determinar niveles de actividad de los datos de entrada de usuario o datos de estado de juego, la región de interés siendo una región que tiene niveles de actividad que exceden un umbral predefinido.
En una modalidad, definir los límites dentro de un contexto de mecánica de juego del juego de video incluye definir un límite espacial dentro de un espacio virtual del juego de video. En una modalidad, el límite espacial dentro del espacio virtual del juego de video define una porción del espacio virtual menor que una completamente del espacio virtual, la porción del espacio virtual teniendo un subconjunto de características del espacio virtual.
En otra modalidad, definir los límites dentro de un contexto de mecánica de juego del juego de video incluye definir un límite temporal dentro de un contexto temporal del juego de video.
En una modalidad, definir los límites incluye identificar una porción de inicio más cercana o un punto final más cercano de uno o más de una etapa, nivel o escena.
En una modalidad, analizar la mecánica de juego grabada del usuario incluye determinar las configuraciones de estado de juego de usuario con base en la mecánica de juego grabada del usuario; y generar la versión limitada del juego de video incluye definir la versión limitada del juego de video para tener la configuración de estado de juego inicial con base en la configuración de estado de juego de usuario determinado.
En una modalidad, la región de interés se identifica automáticamente con base en la correspondencia a uno o más umbrales. En una modalidad, por lo menos uno de los umbrales se asocia con una o más entradas de usuario, una velocidad de entrada de usuario, una frecuencia de entrada de usuario, repeticiones de una entrada de usuario, un patrón de entrada, compartición del contexto de mecánica de juego con otros usuarios, publicación de comentarios asociados con la mecánica de juego en una red social, o popularidad de porciones del juego de video con base en los niveles de compartición de red social.
En otra modalidad, se provee un método para generar una versión limitada jugable de un video juego, incluyendo las siguientes operaciones del método: grabar una mecánica de juego del usuario de una versión completa del video juego; analizar la mecánica de juego grabada del usuario para determinar una o más regiones de interés; presentar cada una de las regiones de interés para selección; recibir una entrada de selección indicando una región seleccionada de interés; para la región seleccionada de interés, definir limites dentro de un contexto de mecánica de juego del video juego con base en la región de interés seleccionada; y generar la versión limitada del video juego con base en los limites definidos; en donde el método se ejecuta por un procesador.
En una modalidad, la grabación de la mecánica de juego del usuario incluye grabar uno o más de los datos de entrada del usuario o datos de estado de juego. En una modalidad, analizar la mecánica de juego grabada del usuario incluye determinando niveles de actividad de los datos de entrada de usuario o datos de estado de juego, cada región de interés siendo una región que tiene niveles de actividad que exceden un umbral predefinido.
En una modalidad, analizar la mecánica de juego grabada del usuario incluye determinar las configuraciones de estado de juego de usuario con base en la mecánica de juego grabada del usuario; y generar la versión limitada del juego de video incluye definir la versión limitada del juego de video para tener la configuración de estado de juego inicial con base en la configuración de estado de juego de usuario determinado.
En una modalidad, la región de interés se identifica automáticamente con base en la correspondencia a uno o más umbrales.
En otra modalidad, se provee un método para generar una versión limitada jugable de un video juego, incluyendo las siguientes operaciones del método: grabar una mecánica de juego del usuario de una versión completa del video juego; en donde registrar el juego del usuario incluye grabar uno o más de datos de entrada de usuario o datos de estado de juego; analizar la mecánica de juego grabada del usuario para determinar una o más regiones de interés; en donde cada región de interés se identifica automáticamente con base en la correspondencia a uno o más umbrales; presentar cada una de las regiones de interés para la selección; recibir una entrada de selección indicando una región seleccionada de interés; para la región seleccionada de interés, definir los límites dentro de un contexto de mecánica de juego del video juego con base en la región seleccionada de interés; generar la la versión limitada del video juego con base en los límites definidos; en donde el método se ejecuta por un procesador.
En una modalidad, definir los límites dentro de un contexto de mecánica de juego del juego de video incluye definir un límite espacial dentro de un espacio virtual del juego de video; el límite espacial dentro del espacio virtual del juego de video define una porción del espacio virtual menos que una completamente del espacio virtual, la porción del espacio virtual teniendo un subconjunto de características del espacio virtual.
En otra modalidad, definir los limites dentro de un contexto de mecánica de juego del juego de video incluye definir un limite temporal dentro de un contexto temporal del juego de video.
En una modalidad, definir los limites incluye identificar una porción de inicio más cercana o un punto final más cercano de uno o más de una etapa, nivel o escena.
En una modalidad, por lo menos uno de los umbrales se asocia con una o más entradas de usuario, una velocidad de entrada de usuario, una frecuencia de entrada de usuario, repeticiones de una entrada de usuario, un patrón de entrada, compartición del contexto de mecánica de juego con otros usuarios, publicación de comentarios asociados con la mecánica de juego en una red social, o popularidad de porciones del juego de video con base en los niveles de compartición de red social.
Generación de un mini-juego de múltiples partes para juego en la nube con base en la mecánica de juego grabada En una modalidad, se provee un método para generar una versión limitada jugable de un video juego, que incluye las siguientes operaciones del método: grabar una mecánica de juego del usuario de una versión completa del video juego; determinar una pluralidad de porciones definidas por el usuario de la mecánica de juego grabada del usuario; para cada porción definida del usuario, definir límites dentro de un contexto de mecánica de juego del video juego con base en la porción definida de usuario; y generar una porción jugable del video juego con base en en los limites definidos; colocar cada uno de las porciones jugables del video juego en una serie para definir la versión limitada del video juego; en donde el método se ejecuta por un procesador.
En una modalidad, determinar cada porción definida por el usuario de la mecánica de juego grabada del usuario incluye recibir un punto de inicio definido por el usuario y un punto final definido por el usuario dentro de la mecánica de juego grabada de usuario, y determinar la porción definida por el usuario con base en el punto de inicio definido por el usuario recibido y el punto final definido por el usuario.
En una modalidad, la grabación de la mecánica de juego del usuario incluye grabar uno o más de los datos de entrada del usuario o datos de estado de juego. En una modalidad, generar la porción jugable del juego de video incluye analizar los datos de estado de juego para identificar elementos de código, y ensamblar los elementos de código para definir código ejecutable definiendo la porción jugable del juego de video.
En una modalidad, definir los límites dentro de un contexto de mecánica de juego del juego de video incluye definir un límite espacial dentro de un espacio virtual del juego de video. En una modalidad, el límite espacial dentro del espacio virtual del juego de video define una porción del espacio virtual menor que una completamente del espacio virtual, la porción del espacio virtual teniendo un subconjunto de características del espacio virtual.
En otra modalidad, definir los límites dentro de un contexto de mecánica de juego del juego de video incluye definir un límite temporal dentro de un contexto temporal del juego de video.
En una modalidad, el método además incluye, para cada porción definida por el usuario, analizar la mecánica de juego grabada del usuario para determinar la configuración de estado de juego del usuario; y en donde generar la porción jugable del juego de video incluye definir la porción jugable del juego de video para tener configuraciones de estado de juego inicial con base en la configuración de estado de juego de usuario determinado.
En una modalidad, definir los límites incluye identificar una porción de inicio más cercano o un punto final más cercano de uno o más de una etapa, nivel o escena.
En una modalidad, el método además incluye, grabar un video definido por el usuario; en donde disponer las porciones jugables del juego de video incluye disponer el video definido por el usuario en una ubicación dentro de la serie precedente o siguiente a una de las porciones jugables del juego de video. En una modalidad, el video definido por el usuario incluye video de por lo menos una de las porciones definidas por el usuario de la mecánica de juego grabada del usuario.
En otra modalidad, se provee un medio legible en computadora tangible que tiene instrucciones de programa incorporadas en éste para generar una versión limitada jugable de un video juego, incluyendo las siguientes instrucciones de programa para grabar una mecánica de juego del usuario de una versión completa del video juego; instrucciones de programa para determinar una pluralidad de porciones definidas por el usuario de la mecánica de juego grabada del usuario; instrucciones de programa para, para cada porción definida por el usuario, definir límites dentro de un contexto de mecánica de juego del video juego con base en la porción definida por el usuario, y generar una porción jugable del video juego con base en los limites definidos; instrucciones de programa para disponer cada una de las porciones jugables del juego de video en una serie para definir la versión limitada del juego de video.
En una modalidad, determinar cada porción definida por el usuario de la mecánica de juego grabada del usuario incluye recibir un punto de inicio definido por el usuario y un punto final definido por el usuario dentro de la mecánica de juego grabada de usuario, y determinar la porción definida por el usuario con base en el punto de inicio definido por el usuario recibido y el punto final definido por el usuario.
En una modalidad, la grabación de la mecánica de juego del usuario incluye grabar uno o más de los datos de entrada del usuario o datos de estado de juego. En una modalidad, generar la porción jugable del juego de video incluye analizar los datos de estado de juego para identificar elementos de código, y ensamblar los elementos de código para definir código ejecutable definiendo la porción jugable del juego de video.
En una modalidad, el medio legible en computadora tangible además incluye, instrucciones de programa para, para cada porción definida por el usuario, analizar la mecánica de juego grabada del usuario para determinar la configuración de estado de juego del usuario; y en donde generar la porción jugable del juego de video incluye definir la porción jugable del juego de video para tener configuración de estado de juego inicial con base en la configuración de estado de juego de usuario determinado.
En otra modalidad, se provee un sistema, que incluye lo siguiente: por lo menos un dispositivo de computadora servidor, por lo menos un dispositivo de computadora servidor que tiene lógica para generar una versión limitada jugable de un video juego, que incluye, lógica para grabar una mecánica de juego de usuario de una versión completa del video juego; lógica para determinar una pluralidad de porciones definidas por el usuario de la mecánica de juego grabada del usuario; lógica para, para cada porción definida por el usuario, definir limites dentro de un contexto de mecánica de juego de video con base en la porción definida por el usuario, y generar una porción jugable del video juego con base en los limites definidos; lógica para colocar cada una de las porciones jugables del video juego en una serie para definir la versión limitada del video juego.
En una modalidad, determinar cada porción definida por el usuario de la mecánica de juego grabada del usuario incluye recibir un punto de inicio definido por el usuario y un punto final definido por el usuario dentro de la mecánica de juego grabada de usuario, y determinar la porción definida por el usuario con base en el punto de inicio definido por el usuario recibido y el punto final definido por el usuario.
En una modalidad, la grabación de la mecánica de juego del usuario incluye grabar uno o más de los datos de entrada del usuario o datos de estado de juego. En una modalidad, generar la porción jugable del juego de video incluye analizar los datos de estado de juego para identificar elementos de código, y ensamblar los elementos de código para definir código ejecutable definiendo la porción jugable del juego de video.
En una modalidad, la lógica además incluye, lógica para, para cada porción definida por el usuario, analizar la mecánica de juego grabada del usuario para determinar la configuración de estado de juego del usuario; y en donde generar la porción jugable del juego de video incluye definir la porción jugable del juego de video para tener configuraciones de estado de juego inicial con base en la configuración de estado de juego de usuario determinada.
Compartir la mecánica de juego grabada a un perfil social En una modalidad, se provee un método para compartir la mecánica de juego grabada a un perfil social, incluyendo las operaciones del método siguientes: grabar video de una mecánica de juego del usuario durante un estado activo de una sesión de mecánica de juego; recibir un comando para iniciar una operación de compartir durante el estado activo de la sesión de juego; en respuesta a recibir el comando, entrando a estado pausado de la sesión de mecánica de juego y presentando una interfaz de coparticipación; procesar la entrada recibida vía la interfaz de compartición para determinar una selección definida por el usuario del video grabado; compartir la selección definida por el usuario del video grabado a un perfil social del usuario; reanudar el estado activo de la sesión de mecánica de juego; en donde el método se ejecuta por un procesador.
En una modalidad, la grabación de video de la mecánica de juego del usuario incluye almacenar el video en una memoria temporal durante el estado activo de la sesión de mecánica de juego.
En una modalidad, presentar la interfaz de compartición incluye recuperar y presentar una o más porciones del video desde la memoria intermedia.
En una modalidad, la interfaz de compartición incluye un selector de duración para definir una duración de la selección definida por el usuario.
En una modalidad, compartir la selección incluye cargar la selección para disponibilidad en un servicio de red social que define el perfil social del usuario.
En una modalidad, cargar la selección incluye comprimir la selección y cargar la selección comprimida.
En una modalidad, compartir la selección incluye generar una notificación a un miembro del perfil social del usuario.
En una modalidad, la notificación se define por uno o más de un mensaje privado, un mensaje de conversación, una notificación de ingreso-juego, una publicación a una fuente de noticias sociales, un correo electrónico.
En una modalidad, compartir la selección incluye presentar la selección en una página de perfil del usuario.
En una modalidad, recibir el comando para iniciar la operación de compartición se define desde un botón de presión en un dispositivo controlador.
En otra modalidad, se provee un método para compartir la mecánica de juego grabada a un perfil social, incluyendo las operaciones del método siguientes: grabar video de una mecánica de juego de usuario durante un estado activo de una sesión de mecánica de juego; recibir un comando para iniciar una operación compartida durante el estado activo de la sesión de mecánica de juego; en respuesta a recibir el comando, determinar una selección definida por el usuario del video grabado; compartir la selección definida por el usuario del video grabado a un perfil social del usuario; en donde el método se ejecuta por un procesador.
En una modalidad, la grabación de video de la mecánica de juego del usuario incluye almacenar el video en una memoria temporal durante el estado activo de la sesión de mecánica de juego.
En una modalidad, determinar la selección definida por el usuario del video grabado incluye recuperar y presentar el video desde la memoria temporal, y procesar la entrada de usuario identificando una porción del video.
En una modalidad, compartir la selección incluye cargar la selección para disponibilidad en un servicio de red social que define el perfil social del usuario.
En una modalidad, recibir el comando para iniciar la operación de compartición se define desde un botón de presión en un dispositivo controlador.
En otra modalidad, se provee un medio legible en computadora no transitorio que tiene instrucciones de programa definidos en éste para compartir la mecánica de juego grabada a un perfil social. Las instrucciones de programa incluyen: instrucciones de programa para grabar video de una mecánica de juego de usuario durante un estado activo de una sesión de mecánica de juego; instrucciones de programa para recibir un comando para iniciar una operación compartida durante el estado activo de la sesión de mecánica de juego; instrucciones de programa para, en respuesta a recibir el comando, determinar una selección definida por el usuario del video grabado; instrucciones de programa para compartir la selección definida del video grabado a un perfil social del usuario.
En una modalidad, la grabación de video de la mecánica de juego del usuario incluye almacenar el video en una memoria temporal durante el estado activo de la sesión de mecánica de juego.
En una modalidad, determinar la selección definida por el usuario del video grabado incluye recuperar y presentar el video desde la memoria temporal, y procesar la entrada de usuario identificando una porción del video.
En una modalidad, compartir la selección incluye cargar la selección para disponibilidad en un servicio de red social que define el perfil social del usuario.
En una modalidad, recibir el comando para iniciar la operación de compartición se define desde un botón de presión en un dispositivo controlador.
Control remoto de una mecánica de juego de primer usuario por un segundo usuario En una modalidad, se proporciona un método para proporcionar control remoto de una mecánica de juego de usuario, el método incluye las siguientes operaciones del método: presentar una alimentación de video en vivo de una mecánica de juego de primer usuario hacia un segundo usuario; procesar una solicitud para control de transición de juego de la mecánica de juego del primer usuario hacia el segundo usuario; iniciar el control de la mecánica de juego del primer usuario por el segundo usuario; en donde el método se ejecuta por al menos un procesador.
En una modalidad, iniciar el control de la mecánica de juego del primer usuario por el segundo usuario incluye desactivar el control de la mecánica de juego del primer usuario por un primer dispositivo controlador asociado con el primer usuario, y activar el control de la mecánica de juego del primer usuario por un segundo dispositivo controlador asociado con el segundo usuario.
En una modalidad, el control de la mecánica de juego del primer usuario por el segundo dispositivo controlador incluye recibir los comandos de entrada desde el segundo dispositivo controlador y aplicar los comandos de entrada para definir la mecánica de juego del primer usuario.
En una modalidad, la alimentación de video en vivo se presenta a través de una interfaz social hacia el segundo usuario, la interfaz social provee acceso a un perfil social del segundo usuario, el primer usuario siendo definido como un miembro del perfil social del segundo usuario.
En una modalidad, la interfaz social incluye una interfaz de comentarios para publicar los comentarios durante la mecánica de juego del primer usuario.
En una modalidad, procesar la solicitud para control de transición incluye recibir un acuse de recibo desde el primer usuario para permitir el control de la mecánica de juego del primer usuario por el segundo usuario.
En una modalidad, en donde presentar la alimentación de video en vivo de la mecánica de juego del primer usuario al segundo usuario incluye presentar la alimentación de video en vivo en un formato de no pantalla completa; e iniciar el control de la mecánica de juego del primer usuario por el segundo usuario incluye activar la presentación de la alimentación de video en vivo en un formato de pantalla completa.
En otra modalidad, se proporciona un método para proporcionar mecánica de juego de múltiples jugadores, incluyendo las siguientes operaciones del método: presentar alimentación de video en vivo de la sesión de mecánica de juego del primer usuario hacia un segundo usuario remoto; procesar una solicitud para un segundo usuario para unirse a la sesión de mecánica de juego del primer usuario; iniciar la mecánica de juego por el segundo usuario en la sesión de mecánica de juego del primer usuario; en donde el método se ejecuta por al menos un procesador.
En una modalidad, iniciar la mecánica de juego por el segundo usuario en la sesión de mecánica de juego del primer usuario incluye iniciar un modo de múltiples jugadores de un juego de video.
En una modalidad, la alimentación de video en vivo se presenta a través de una interfaz social hacia el segundo usuario, la interfaz social provee acceso a un perfil social del segundo usuario, el primer usuario siendo definido como un miembro del perfil social del segundo usuario.
En una modalidad, la interfaz social incluye una interfaz de comentarios para publicar los comentarios durante la mecánica de juego del primer usuario.
En una modalidad, procesar la solicitud para unirse a la sesión de mecánica de juego del primer usuario incluye recibir un acuse de recibo desde el primer usuario para permitir la mecánica de juego por el segundo usuario en la sesión de mecánica del primer usuario.
En una modalidad, presentar la alimentación de video en vivo de la mecánica de juego del primer usuario al segundo usuario incluye presentar la alimentación de video en vivo en un formato de no pantalla completa; e iniciar la mecánica de juego por el segundo usuario en la sesión de mecánica de juego del primer usuario incluye activar la presentación de la alimentación de video en vivo en un formato de pantalla completa.
En otra modalidad, se proporciona un medio legible en computadora no transitorio que tiene instrucciones de programa integradas en éste para proporcionar control remoto de una mecánica de juego de usuario, las instrucciones de programa incluyen: instrucciones de programa para presentar una alimentación de video en vivo de una mecánica de juego del primer usuario a un segundo usuario remoto; instrucciones de programa para procesar una solicitud para control de transición de la mecánica de juego del primer usuario hacia el segundo usuario; instrucciones de programa para iniciar el control de la mecánica de juego del primer usuario por el segundo usuario.
En una modalidad, iniciar el control de la mecánica de juego del primer usuario por el segundo usuario incluye desactivar el control de la mecánica de juego del primer usuario por un primer dispositivo controlador asociado con el primer usuario, y activar el control de la mecánica de juego del primer usuario por un segundo dispositivo controlador asociado con el segundo usuario.
En una modalidad, el control de la mecánica de juego del primer usuario por el segundo dispositivo controlador incluye recibir los comandos de entrada desde el segundo dispositivo controlador y aplicar los comandos de entrada para definir la mecánica de juego del primer usuario.
En una modalidad, la alimentación de video en vivo se presenta a través de una interfaz social hacia el segundo usuario, la interfaz social provee acceso a un perfil social del segundo usuario, el primer usuario siendo definido como un miembro del perfil social del segundo usuario.
En una modalidad, la interfaz social incluye una interfaz de comentarios para publicar los comentarios durante la mecánica de juego del primer usuario.
En una modalidad, procesar la solicitud para control de transición incluye recibir un acuse de recibo desde el primer usuario para permitir el control de la mecánica de juego del primer usuario por el segundo usuario.
En una modalidad, presentar la alimentación de video en vivo de la mecánica de juego del primer usuario al segundo usuario incluye presentar la alimentación de video en vivo en un formato de no pantalla completa; e iniciar el control de la mecánica de juego del primer usuario por el segundo usuario incluye activar la presentación de la alimentación de video en vivo en un formato de pantalla completa.
La Figura 20 ¡lustra hardware e interfases de usuario que pueden usarse para proveer interactividad con un video juego, de conformidad con una modalidad de la presente invención. La Figura 20 ilustra esquemáticamente la arquitectura del sistema total del dispositivo de entretenimiento Sony® Playstation 3®, una consola que puede ser compatible para interconectar un dispositivo de control con un programa de computadora ejecutado en una dispositivo de computación base de conformidad con las modalidades de la presente invención. Se provee una unidad de sistema 2000 con varios dispositivos periféricos conectables a la unidad de sistema 2000. La unidad de sistema 2000 comprende: un Procesador de celda 2028; una unidad de memoria de acceso aleatorio dinámico (XDRAM) Rambus® 2026; una unidad gráfica de Sintetizador de Realidad 2030 con una unidad de memoria de acceso aleatorio de video dedicada (VRAM) 2032; y un puente de E/S 2034. La unidad del sistema 2000 también comprende un lector de disco óptico Blu Ray® Disk BD-ROM® 2040 para leer desde un disco 2040a y una unidad de disco duro dentro-ranura desmontable (HDD) 2036, accesible a través del puente de E/S 2034. Opcionalmente la unidad de sistema 2000 también comprende un lector de tarjeta de memoria 2038 para leer tarjetas de memoria flash compactas, tarjetas de memoria Memory Stick® y similares, lo cual es accesible similarmente a través del puente de E/S 2034.
El puente de E/S 2034 también se conecta a seis puertos Bus Serial Universal (USB) 2.0 2024, un puerto Ethernet de gigabit 2022, un puerto de red inalámbrica IEEE 802.11 b/g (Wi-Fi) 2020 y un puerto de enlace inalámbrico Bluetooth® 2018 capaz de soportar hasta siete conexiones Bluetooth.
En operación, el puente de E/S 2034 manipula todo lo inalámbrico, USB y datos Ethernet, incluyendo datos desde uno o más controladores de juego 2002-2003. Por ejemplo cuando un usuario está jugando un juego, el puente de E/S 2034 recibe datos desde el controlador de juego 2002-2003 vía un enlace Bluetooth y dirige éste hacia el procesador de Celda 2028, el cual actualiza el estado actual del juego como corresponde.
Los puertos USB y Ethernet, inalámbricos también proveen conectividad para otros dispositivos periféricos además de controladores de juego 2002-2003, tales como: un control remoto 2004; un teclado 2006; un ratón 2008; un dispositivo de entretenimiento portátil 2010 tal como un dispositivo de entretenimiento Sony Playstation Portable®; una cámara de video tal como una cámara de video EyeToy® 2012; un auricular de micrófono 2014; y un micrófono 2015. Tales dispositivos periféricos pueden por lo tanto ser conectados a la unidad del sistema 2000 inalámbricamente; por ejemplo el dispositivo de entretenimiento portátil 2010 puede comunicarse vía una conexión ad-hoc Wi-Fi, mientras que el auricular de micrófono 2014 puede comunicarse vía un enlace Bluetooth.
La provisión de estas interfases significa que el dispositivo Playstation 3 también es compatible pontencialmente con otros dispositivos periféricos tales como grabadoras de video digital (DVRs), cajas de conexión, cámaras digitales, reproductores de medio portátil, teléfonos de Voz sobre IP, teléfonos móviles, impresoras y escáneres.
Además, un lector de tarjeta de memoria de legado 2016 puede conectarse a la unidad del sistema vía un puerto USB 2024, permitiendo la lectura de tarjetas de memoria 2048 del tipo usado por los dispositivos Playstation® o Playstation 2®.
Los controladores de juego 2002-2003 son operables para comunicarse inalámbricamente con la unidad del sistema 2000 vía el enlace Bluetooth, o para ser conectado a un puerto USB, con lo cual también se provee potencia mediante la cual cargar la batería de los controladores de juego 2002-2003. Los controladores de juego 2002-2003 también pueden incluir la memoria, un procesador, un lector de tarjeta de memoria, memoria permanente tal como memoria flash, emisores ligeros tales como una sección esférica iluminada, LEDs, o luces infrarrojas, micrófono y bocinas para comunicaciones de ultrasonido, una cámara acústica, una cámara digital, un reloj interno, una forma reconocible tal como la sección esférica orientada a la consola de juego, y comunicaciones inalámbricas usando los protocolos tales como Bluetooth®, WiFi™, etc.
El controlador de juego 2002 es un controlador designado para ser usado con dos manos, y el controlador de juego 2003 es un controlador de mano única con un aditamento. Además de una o más palancas analógicas y botones de control convencionales, el controlador de juego es susceptible a la determinación de ubicación tridimensional. Consecuentemente los gestos y los movimientos por el usuario del controlador de juego pueden ser traducidos como entradas a un juego además de o en lugar del botón convencional o comandos de palanca de juego. Opcionalmente, otros dispositivos periféricos habilitados inalámbricamente tales como el dispositivo Playstation™ Portátil puede ser usado como un controlador. En el caso del dispositivo Playstation™ Portátil, juego adicional o información de control (por ejemplo, instrucciones de control o número de vidas) puede proveerse en la pantalla del dispositivo. Otra alternativa o dispositivos de control complementarios también pueden usarse, tales como un tapete de baile (no se muestra), una pistola ligera (no se muestra), una rueda de dirección y pedales (no se muestran) o controladores a la medida, tales como un botón único o varios largos para un juego de prueba de respuesta rápida (tampoco se muestra).
El control remoto 2004 también es operable para comunicarse inalámbricamente con la unidad de sistema 2000 vía un enlace Bluetooth. El control remoto 704 comprende controles apropiados para la operación del lector Blu Ray™ Disk BD-ROM 2040 y para la navegación del contenido del disco.
El lector Blu Ray™ Disk BD-ROM 2040 es operable para leer los CD-ROMs compatibles con los dispositivos Playstation y PlayStation 2, además de CDs regrabables y pre-grabados convencionales, y el llamado Super Audio CDs. El lector 2040 también es operable para leer DVD-ROMs compatibles con los dispositivos Playstation 2 y PlayStation 3, además de DVDs grabables y pre-grabados convencionales. El lector 2040 además es operable para leer BD-ROMs compatibles con el dispositivo PlayStation 3, asi como los Discos Blu-Ray grabables y pre-grabados convencionales.
La unidad del sistema 2000 es operable para suministrar audio y video, generado o decodificado por el dispositivo Playstation 3 vía la unidad gráfica de Sintetizador de Realidad 2030, a través de conectores de audio y video hacia un dispositivo de salida de sonido y despliegue 2042 tal como un monitor o televisión que tiene una pantalla 2044 y uno o más altavoces 2046. Los conectores de audio 2050 pueden incluir salidas digitales y analógicas convencionales mientras que los conectores de video 2052 pueden incluir diversamente componentes de video, S-video, video compuesto y una o más salidas de Interfaz Multimedia de Alta Definición (HDMI). Consecuentemente, la salida de video está en los formatos tales como PAL o NTSC o en 720o, 1080i o 1080p de alta definición.
Procesamiento de audio (generación, decodificación, etcétera) se realiza por el procesador de Celda 2028. El sistema operativo del dispositivo Playstation 3 soporta Dolby® 5.1 , sonido envolvente, Dolby® Theatre Surround (DTS), y la decodificación de 7.1 sonido envolvente de discos Blu-Ray®.
En la presente modalidad, la cámara de video 2012 comprende un dispositivo acoplado de carga única (CCD), un indicador LED, y compresión de datos en tiempo real basado en hardware y aparato de codificación de tal manera que datos de video comprimidos pueden transmitirse en un formato apropiado tal como una intra-imagen basada en MPEG (grupo de expertos de imagen en movimiento) estándar para decodificación por la unida del sistema 2000. El indicador LED de cámara está dispuesto para iluminar en respuesta a datos de control apropiados desde la unidad del sistema 2000, por ejemplo para significar condiciones de iluminación adversas Las modalidades de la cámara de video 2012 pueden conectarse variadamente a la unidad del sistema 700 vía un USB, Bluetooth o puerto de comunicación Wi-Fi. Las modalidades de la cámara de video pueden incluir uno o más micrófonos asociados y también ser capaces de transmitir datos de audio. En las modalidades de la cámara de video, el CCD puede tener una resolución apropiada para captura de video de alta definición. En uso, las imágenes capturadas por la cámara de video pueden ser incorporadas para ejemplo dentro de un juego o interpretadas como entradas de control de juego. En otra modalidad la cámara es una cámara infrarroja apropiada para detectar luz infrarroja.
En general para que ocurra comunicación de datos exitosa con un dispositivo periférico tal como una cámara de video o control remoto vía uno de los puertos de comunicación de la unidad del sistema 2000, una pieza apropiada de software tal como una unidad de dispositivo debería proveerse. La tecnología de unidad de dispositivo es bien conocida y no se describirá con detalle aquí, excepto para decir que las personas expertas estarán alertas a lo que una unidad de dispositivo o interfaz de software similar puede requerirse en la presente modalidad descrita.
La Figura 21 ilustra hardware adicional que puede usarse para procesar instrucciones, de conformidad con una modalidad de la presente invención. El procesador de Celda 2028 tiene una arquitectura que comprende cuatro componentes básicos: entrada externa y estructuras de salida que comprenden un controlador de memoria 2160 y un controlador de interfaz de bus doble 2170A, B; un procesador principal referido como el Elemento de Procesamiento de Potencia 2150; ocho co-pocesadores referidos como Elementos de Procesamiento Sinérgico (SPEs) 2110A-H y un bus de datos circular conectando los componentes de arriba referidos como el Bus de Interconexión de Elemento 2180. El desempeño de punto flotante total del procesado de Celda es 218 GFLOPS, comparado con el GFLOPs 6.2 del Motor de Emoción del dispositivo Playstation 2.
El Elemento de Procesamiento de Potencia (PPE) 2150 está basado sobre un (PPU) 855 núcleo PowerPC adaptable Power 570 de múltiple hilo de dos vías simultáneas corriendo con un reloj interno de 3.2 GHz. Éste comprende un cache nivel 2 (L2) 512 kB cache y un cache de 32 kB nivel 1 (L1). El PPE 2150 es capaz de ocho operaciones de posición únicas por ciclo de reloj, traduciendo hasta 25.6 GFLOPs a 3.2 GHz. El rol primario del PPE 2150 es actuar como un controlador para los Elementos de Procesamiento Sinérgicos 2110A-H, lo cual manipula la mayor parte de la carga de trabajo computacional. En operación del PPE 2150 mantiene una cola de trabajo, trabajos de planificación para los Elementos de Procesamiento Sinérgico 2110A-H y monitorear su progreso. Consecuentemente cada Elemento de Procesamiento Sinérgico 2110A-H corre un núcleo cuyo rol es traer un trabajo, ejecutarlo y sintonizarse con el PPE 2150.
Cada elemento de Procesamiento Sinérgico (SPE) 2110A-H comprende una Unidad de Procesamiento Sinérgica respectiva (SPU) 2120A-H, y un Controlador de Flujo de Memoria respectivo (MFC) 2140A-H comprendiendo a su vez un Controlador de Acceso de Memoria Dinámica respectivo (DMAC) 2142A-H, una Unidad de Administración de Memoria respectiva (MMU) 2144A-H y una interfaz de bus (no se muestra). Cada SPU 2120A-H es un procesador RISC cronometrado a 3.2 GHz y comprendiendo 256 kB local RAM 2130A-H, expandible en principio a 4 GB. Cada SPE proporciona un 25.6 GFLOPS teórico de desempeño de precisión único. Un SPU puede operar en 4 elementos de punto flotante de precisión única, 4 números de 32-bit, 8 enteros de 16 bits, o 16 enteros de 8 bits en un ciclo de reloj único. En el mismo ciclo de reloj éste también puede realizar una operación de memoria. El SPU 2120A-H no accede directamente a la memoria del sistema XDRAM 2026; la dirección de 64-bits formada por el SPU 2120A-H se pasan hacia el MFC 2140A-H lo cual instruye su controlador DMA 2142A-H hacia la memoria de acceso vía el Bus de Interconexión de Elemento 2 80 y el controlador de memoria 2160.
El Bus de Interconexión de Elemento (EIB) 2180 es un bus de comunicación lógicamente circular interno hacia el procesador de Celda 2028 el cual conecta los elementos de procesador arriba, a saber el PPE 2150, el controlador de memoria 2160, la interfaz de bus doble 2170A.B y los 8 SPEs 2110A-H, con total de 12 participantes. Los participantes pueden leer y escribir simultáneamente hacia el bus a una velocidad de 8 bytes por ciclo de trabajo. Como se señaló anteriormente, cada SPE 2110A-H comprende un DMAC 2142A-H para planificar secuencias de lectura y escritura mayores. El EIB comprende cuatro canales, dos cada uno en dirección del reloj y en contra de la dirección del reloj. Consecuentemente para doce participantes, el flujo de datos a manera de escalón más largo entre cualquiera de dos participantes es seis pasos en la dirección apropiada. El ancho de banda EIB de pico instantáneo teórico para 12 ranuras por lo tanto es 96B por reloj, en el caso de utilización completa a través de arbitraje entre los participantes. Esto iguala un ancho de banda de pico teórico de 307.2 GB/s (gigabytes por segundo) a una velocidad de reloj de 3.2 GHz.
El controlador de memoria 2160 comprende una interfaz XDRAM 2162, desarrollada por Rambus Incorporated. Las interfases del controlador de memoria con el Rambus XDRAM 2026 con un ancho de banda pico teórico de 25.6 GB/s.
La interfaz de bus dual 2170 A,B comprende una interfaz de sistema Rambus FlexIO® 2172A.B. La interfaz está organizada en 12 canales cada uno siendo de 8 bits de ancho, con cinco trayectorias estando entrantes y siete salientes. Esto provee un ancho de banda pico teórico de 62.4 GB/s (36.4 GB/s secuencia final, 26 GB/s secuencia inicial) entre el procesador de Celda y el Puente de E/S 2034 vía el controlador 2170A y la unidad gráfica de Simulador de Realidad 2130 via el controlador 2170B.
Los datos enviados por el procesador de Celda 2128 hacia la unidad gráfica del Simulador de Realidad 2130 comprenderán típicamente listas de despliegue, siendo una secuencia de comandos hacia vértices de dibujo, aplicar texturas a polígonos, condiciones de iluminación específicas, y etc.
La Figura 22 es una ilustración ejemplar de la escena A a la escena E con el usuario respectivo A al usuario E interactuando con los clientes de juego 2202 que están conectados al servidor de procesamiento vía el Internet, de conformidad con una modalidad de la presente invención. Un cliente de juego es un dispositivo que permite que los usuarios se conecten a aplicaciones de servidor y procesamiento vía el internet. El cliente de juego permite que los usuarios accedan y reproduzcan en linea contenido de entretenimiento tal como pero no litado a juegos, películas, música y fotos. Adicionalmente, el cliente de juego puede proveer acceso a aplicaciones de comunicaciones en línea tales como VOIP, protocolos de conversación de texto, y correo electrónico.
Un usuario interactúa con el cliente de juego vía el controlador. En algunas modalidades el controlador es un controlador específico de cliente de juego mientras que en otras modalidades, el controlador puede ser un teclado y combinación de ratón. En una modalidad, el cliente de juego es un dispositivo autónomo capaz de dar salida a señales de audio y video para crear un ambiente multimedia a través de un monitor/televisión y equipo de audio asociado. Por ejemplo, el cliente de juego puede ser, pero no está limitado a un cliente escaso, una tarjeta PCI-exprés interna, un dispositivo PCI-exprés externa, un dispositivo de ExpressCard, un dispositivo USB interno, externo, o inalámbrico, o un dispositivo Firewire, etc. En otras modalidades, el cliente de juego está integrado con una televisión u otro dispositivo multimedia tal como un DVR, reproductor Blu-Ray, reproductor de DVD o receptor de múltiples canales.
Dentro de la escena A de la Figura 22, el usuario A interactúa con una aplicación de cliente desplegada en un monitor 2204A usando un controlador 2206A complementado con el cliente de juego 2202A. Similarmente, con la escena B, el usuario B interactúa con otra aplicación de cliente que se despliega en el monitor 2204B usando un controlador 2206B complementado con el cliente de juego 2202B. La escena C ilustra una vista desde atrás del usuario C cuando se observa en un monitor desplegando un juego y lista de amigos del cliente de juego 2202C. Aunque la Figura 22 muestra un módulo de procesamiento de servidor único, en una modalidad, existen múltiples módulos de procesamiento de servidor a través del mundo. Cada módulo de procesamiento de servidor incluye sub-módulos para control de sesión de usuario, lógica de compartición/comunicación, geo-ubicación de usuario, y servicio de procesamiento de balance de carga. Además, un módulo de procesamiento de servidor incluye almacenamiento distribuido y procesamiento en red.
Cuando un cliente de juego 2202 se conecta a un módulo de procesamiento de servidor, el control de sesión de usuario puede usarse para autenticar al usuario. Un usuario autenticado puede tener almacenamiento distribuido virtualizado asociado y procesamiento en red virtualizado. Objetos de ejemplos que pueden almacenarse como parte de un almacenamiento distribuido virtualizado del usuario incluyen comprar medio tal como, pero no limitado a juegos, videos y música etc. Adicionalmente, almacenamiento distribuido puede usarse para salvar el estado de juego para múltiples juegos, configuración personalizada para juegos individuales, y configuración general para ei cliente de juego. En una modalidad, el módulo de geo-localización del usuario del servidor de procesamiento se usa para determinar la ubicación geográfica de un usuario y su cliente de juego respectivo. La ubicación geográfica del usuario puede usarse por ambos la lógica de compartición/comunicación y el servicio de procesamiento de balance de carga para optimizar el desempeño basado en la ubicación geográfica y demandas de procesamiento de módulos de procesamiento de servidor múltiple. Virtualizando cualquiera o ambos procesamiento en red y almacenamiento en red podría permitir tareas de procesamiento de clientes de juego se desfasen dinámicamente hacia el módulo(s) de procesamiento de servidor subutilizado. Así, balance de carga puede utilizarse para minimizar latencia asociada con ambas rellamadas de almacenamiento y con transmisión de datos entre los módulos de procesamiento de servidor y clientes de juego.
El módulo de procesamiento de servidor tiene instancias de aplicación de servidor A y aplicación de servidor B. El módulo de procesamiento de servidor es capaz de soportar aplicaciones de servidor múltiples como se indica por la aplicación de servidor Xi y aplicación de servidor X2. En una modalidad, el procesamiento de servidor se basa en la arquitectura de computación de grupo que permite que múltiples procesadores dentro de un grupo procesen las aplicaciones de servidor. En otra modalidad, un tipo diferente de esquema de procesamiento de múltiple-computadora se aplica para procesar las aplicaciones de servidor. Esto permite que el procesamiento de servidor sea escalado para alojar un número mayor de clientes de juego ejecutando múltiples aplicaciones de cliente y aplicaciones de servidor correspondientes. Alternativamente, el procesamiento de servidor puede escalarse para alojar demandas de computación incrementadas necesitadas por más gráficas demandando procesamiento o juego, compresión de video, o complejidad de aplicación. En una modalidad, el módulo de procesamiento servidor realiza la mayor parte del procesamiento vía la aplicación de servidor. Esto permite que componentes relativamente caros tales como procesadores gráficos, RAM, y procesadores generales sean ubicados centralmente y reduce el costo del cliente de juego. Los datos de aplicación de servidor procesados se envían de regreso hacia el cliente de juego correspondiente vía el internet para ser desplegado en un monitor.
La escena C ilustra una aplicación ejemplar que puede ejecutarse por el cliente de juego y módulo de procesamiento de servidor. Por ejemplo, en una modalidad de cliente de juego 2202C se permite que el usuario C cree y observe una lista de amigos 2220 que incluye el usuario A, el usuario B, el usuario D y el usuario E. Como se muestra en la escena C, el usuario C es capaz de observar imágenes en tiempo real o avatares del usuario respectivo en el monitor 2204C. El servidor de procesamiento ejecuta las aplicaciones respectivas del cliente de juego 2202C y con los clientes de juego respectivos 2202 del usuario A, usuario B, usuario D y usuario E. Debido a que el servidor de procesamiento está alerta de las aplicaciones que son ejecutadas por el cliente de juego B, la lista de amigos para el usuario A puede indicar qué usuario B del juego está jugando. Aún adicionalmente, en una modalidad, el usuario A puede observar actual en el juego de video directamente desde el usuario B. Esto es permitido enviando meramente datos de aplicación de servidor procesados por el usuario B hacia el cliente A del juego además del cliente B del juego.
Además de ser capaz de observar video de amigos, la aplicación de comunicación puede permitir comunicaciones en tiempo-real entre amigos. Como se aplicó al ejemplo anterior, esto permite que el usuario A provea incentivo o indicios mientras observa video en tiempo real del usuario B. En una modalidad comunicación de voz en tiempo real de dos vías se establece a través de una aplicación de cliente/servidor. En otra modalidad, una aplicación de cliente/servidor permite conversación virtual de texto. En aún otra modalidad, una aplicación de cliente/servidor convierte discurso a texto para despliegue en una pantalla del amigo.
La escena D y la escena E ilustran el usuario respectivo D y el usuario E interactuando con las consolas de juego 221 OD y 221 OE respectivamente. Cada consola de juego 221 OD y 221 OE se conecta al módulo de procesamiento de servidor e ilustra una red donde los módulos de procesamiento de servidor coordinan la mecánica de juego para ambas consolas de juego y clientes de juego.
La Figura 23 ilustra una modalidad de una arquitectura de Información de Servicio de Proveedor. Proveedores de Servicio de Información (ISP) 2370 envía una multitud de servicios e información hacia los usuarios 2382 dispersados geográficamente y conectados vía red 2386. Un ISP puede enviar justo un tipo de servicio, tal como actualizaciones de precio de reserva, o una variedad de servicios tales como medio de transmisión, noticias, deportes, juego, etc. Adicionalmente, los servicios ofrecidos por cada ISP son dinámicos, esto es, servicios puede incorporarse o tomarse lejos en cualquier punto en el tiempo. Así, el ISP proveyendo un tipo particular de servicio a un individuo particular puede cambiar en el tiempo. Por ejemplo, un usuario puede ser servido por un ISP en la proximidad cercana hacia el usuario mientras que el usuario está en su ciudad local, y el usuario puede ser servido por un diferente ISP cuando el usuario viaja hacia una ciudad diferente. El ISP de la ciudad local transferirá la información requerida y los datos hacia el nuevo ISP tal que la información de usuario "sigue" el usuario hacia la nueva ciudad haciendo los datos más cercanos al usuario y más fácil de acceso. En otra modalidad, una relación de servidor-maestro puede establecerse entre un ISP maestro, el cual administra la información para el usuario, y un servidor ISP que se interconecta directamente con el usuario bajo control del ISP maestro. En otra modalidad, los datos son transferidos desde un ISP hacia otro ISP cuando el cliente se mueve alrededor del mundo para hacer el ISP en mejor posición para que el servicio al usuario sea uno que envía estos servicios.
El ISP 2370 incluye el Proveedor de Servicio de Aplicación (ASP) 2372, el cual provee servicios basados en computadora a clientes sobre una red. El software ofrecido usando un modelo ASP también es llamado algunas veces software en demanda o software como un servicio (SaaS). Una forma simple de proveer acceso a un programa de aplicación de aplicación particular (tal como administración de relación de cliente) es usando un protocolo estándar tal como HTTP. El software de aplicación reside en el sistema del vendedor y se accede por los usuarios a través de un buscador de red usando HTML, mediante software de cliente de propósito especial provisto por el vendedor, u otra interfaz remota tal como un cliente escaso.
Los servicios enviados sobre una amplia área geográfica frecuentemente usan computación en la nube. Computación en la nube es un estilo de computación en el cual se proveen recursos virtualizados frecuentemente y escalables dinámicamente como un servicio sobre el Internet. Los usuarios no necesitan ser un experto en la tecnología de infraestructura en la "nube" que los soportan. Computación en la nube puede dividirse en diferentes servicios, tales como Infraestructura como un Servicio (laaS), Plataforma como un Servicio (PaaS), y Software como un Servicio (SaaS). Servicios de computación en la nube frecuentemente proveen aplicaciones de negocio comunes en línea que se acceden desde un buscador de red, mientras que software y datos se almacenan en los servidores. El término nube se usa como una metáfora para el Internet, basado en cómo el Internet es ilustrado en los diagramas de red de computadora y es una abstracción para la infraestructura compleja que éste oculta.
Además, ISP 2370 incluye un Servidor de Procesamiento de Juego (GPS) 2374 el cual se usa por clientes de juego para jugar y juegos de video de múltiples jugadores. La mayor parte de los juegos de video jugados sobre el Internet operan vía una conexión para un servidor de juego. Típicamente, los juegos usan una aplicación de servidor dedicada que recolecta datos de jugadores y los distribuyen a otros jugadores. Esto es más eficiente y eficaz que una disposición punto a punto, pero requiere un servidor separado a la computadora principal de la aplicación de servidor. En otra modalidad, el GPS establece comunicación entre los jugadores y sus respectivos dispositivos de mecánica de juego de intercambio de información sin recaer en el GPS centralizado.
GPSs dedicados son servidores los cuales corren independientemente del cliente. Tales servidores corren usualmente en hardware dedicado ubicado en centros de datos, proveen más ancho de banda y potencia de procesamiento dedicada. Los servidores dedicados son el método preferido de servidores de juego de alojamiento para la mayor parte de los juegos de múltiples jugadores basado en PC. Juegos en línea de múltiples jugadores masivamente corren en servidores dedicados usualmente hospedados por la compañía de software que posee el título de juego, permitiendo que éstos controlen y actualicen contenido.
Servidor de Procesamiento de Transmisión (BPS) 2376 distribuye señales de audio y video hacia una audiencia. La transmisión hacia un intervalo muy estrecho de audiencia se llama algunas veces noticias controladas. El registro final de distribución de transmisión es cómo la señal llega al oyente u observador, y ésta puede llegar sobre aire como con una estación de radio o estación de TV hacia una antena y receptor, o puede llegar a través de cable de TV o radio cable (o "cable inalámbrico") vía la estación o directamente desde una red. El Internet también puede llevar radio o TV al recipiente, especialmente con multidifusión permitiendo que la señal y ancho de banda se compartan. Históricamente, las transmisiones se han delimitado por una región geográfica, tal como transmisiones nacionales o transmisiones regionales. Sin embargo, con la proliferación de internet rápido, las transmisiones no están definidas por geografías ya que el contenido puede alcanzar casi cualquier país en el mundo.
El Proveedor de Servicio de Almacenamiento (SSP) 2378 provee espacio de almacenamiento de computadora y servicios de administración relacionados. SSPs también ofrecen respaldo periódico y archivado. Ofreciendo almacenamiento como servicio, los usuarios pueden ordenar más almacenamiento como sea requerido. Otra ventaja principal es que los SSPs incluyen servicios de respaldo y los usuarios no perderán todos sus datos si sus unidades de disco de computadora fallan. Además, una pluralidad de SSPs puede tener copias totales o parciales de los datos de usuario, permitiendo acceso a los datos en una manera eficiente independientemente de dónde está ubicado el usuario o el dispositivo siendo usado para acceder a los datos. Por ejemplo, un usuario puede acceder a archivos personales en la computadora local, así como en un teléfono móvil mientras el usuario está en movimiento.
El Proveedor de Comunicaciones 380 provee conectividad a los usuarios. Un tipo de Proveedor de Comunicaciones es un Proveedor de Servicio de Internet (ISP) el cual ofrece acceso al Internet. El ISP conecta sus clientes usando una tecnología de transmisión de datos apropiada para enviar datagramas de Protocolo de Internet, tales como marcación, DSL, módem de cable, interconexiones de velocidad alta inalámbricas o dedicadas. El Proveedor de Comunicaciones también puede proveer servicios de mensajería, tales como correo electrónico, mensajería instantánea, y SMS de texto. Otro tipo de Proveedor de Comunicaciones es el proveedor de Servicio de Red (NSP) el cual vende acceso de red o banda ancha proporcionando acceso de red troncal directo hacia el Internet. Los proveedores de servicio de red pueden consistir de compañías de telecomunicaciones, portadores de datos, proveedores de comunicaciones inalámbricos, proveedores de servicio de Internet, operadores de televisión de cable ofreciendo acceso a Internet de velocidad alta, etc.
Intercambio de Datos 2388 interconecta los varios módulos dentro del ISP 2370 y conecta estos módulos a los usuarios 2382 vía la red 2386. Intercambio de Datos 2388 puede cubrir un área pequeña donde todos los módulos de ISP 2370 están en la proximidad cercana, o pueden cubrir un área geográfica grande cuando los diferentes módulos son dispersados geográficamente. Por ejemplo, Intercambio de Datos 2388 puede incluir un Gigabit Ethernet rápido (o más rápido) dentro de un gabinete de un centro de datos, o una red de área virtual intercontinental (VLAN).
Los usuarios 2382 acceden a los servicios remotos con el dispositivo de cliente 2384, lo cual incluye por lo menos un CPU, una pantalla y E/S. El dispositivo de cliente puede ser una PC, un teléfono móvil, un equipo ultraportátil, una PDA, etc. En una modalidad, ISP 2370 reconoce el tipo de dispositivo usado por el cliente y ajusta el método de comunicación empleado. En otros casos, ISP 2370 reconoce el tipo de dispositivo usado por el cliente y ajusta el método de comunicación empleado.
Las modalidades de la presente invención pueden ser practicadas con varias configuraciones del sistema de computadora incluyendo dispositivos portátiles, sistemas de microprocesador, electrónica de consumidor programable o basada-microprocesador, microcomputadoras, supercomputadoras y similares. La invención también puede ser practicada en ambientes de computación distribuida donde las tareas son realizadas por dispositivos de procesamiento remoto que están ligados a través de una red inalámbrica o basada-cable.
Con las modalidades anteriores en mente, debería entenderse que la invención puede emplear varias operaciones implementadas-computadora involucrando datos almacenados en los sistemas de computadora. Esas operaciones son esas requiriendo manipulación física de cantidades físicas. Cualquiera de las operaciones descritas en la presente que forman parte de la invención son operaciones de máquina útiles. La invención también se relaciona con un dispositivo o un aparato para realizar estas operaciones. El aparato puede ser construido especialmente para el propósito requerido, o el aparato puede ser una computadora de propósito general activada selectivamente o configurada por un programa de computadora almacenado en la computadora. En particular, varias máquinas de propósito general pueden ser usadas con programas de computadora escritos de conformidad con las enseñanzas en la presente, o puede ser más conveniente contribuir un aparato más especializado para realizar las operaciones requeridas.
La invención también puede ser representada como código legible en computadora en un medio legible en computadora. El medio legible en computadora es cualquier dispositivo de almacenamiento de datos que puede almacenar datos, el cual puede después ser leído por un sistema de computadora. Ejemplos del medio legible en computadora incluye discos duros, almacenaje unido a red (ÑAS), memoria de solo lectura, memoria de acceso aleatorio, CD-ROMs, CD-Rs, CD-RWs, cintas magnéticas y otros dispositivos de almacenamiento de datos no-ópticos y ópticos. El medio legible en computadora puede incluir medio tangible legible en computadora distribuido sobre un sistema de computadora acoplado-red de tal manera que el código legible en computadora es almacenado y ejecutado en una manera distribuida.
Aunque las operaciones del método fueron descritas en un orden específico, debería ser entendido que otras operaciones de mantenimiento pueden ser realizadas entre operaciones, o que operaciones pueden ser ajustadas de tal manera que éstas ocurren en tiempos ligeramente diferentes, o pueden ser distribuidas en un sistema el cual permite la ocurrencia de las operaciones de procesamiento en varios intervalos asociados con el procesamiento, siempre que el procesamiento de las operaciones de superposición sean realizadas en la manera deseada.
Aunque la invención anterior ha sido descrita con algún detalle para propósitos de claridad de entendimiento, será evidente que ciertos cambios y modificaciones pueden ser practicados dentro del alcance de las reivindicaciones anexas. En consecuencia, las presentes modalidades son consideradas como ilustrativas y no restrictivas, y la invención no está para ser limitada a los detalles dados en la presente, sino que pueden ser modificados dentro del alcance y equivalentes de las reivindicaciones anexas.

Claims (36)

NOVEDAD DE LA INVENCIÓN REIVINDICACIONES
1. Un método para generar una versión limitada jugable de un juego de video, comprendiendo: grabar una mecánica de juego de usuario de una versión completa del juego de video; analizar la mecánica de juego grabada del usuario para determinar una región de interés; definir límites dentro de un contexto de mecánica de juego del juego de video con base en la región determinada de interés; y generar la versión limitada del juego de video con base en los límites definidos; en donde el método se ejecuta por un procesador.
2. El método de conformidad con la reivindicación 1, caracterizado además porque grabar la mecánica de juego del usuario incluye grabar uno o más de los datos de entrada del usuario o los datos de estado del juego.
3. El método de conformidad con la reivindicación 2, caracterizado además porque analizar la mecánica de juego grabada del usuario incluye determinar los niveles de actividad de los datos de entrada de usuario o datos de estado de juego, la región de interés siendo una región que tiene niveles de actividad que exceden un umbral predefinido.
4. El método de conformidad con la reivindicación 1, caracterizado además porque definir los límites dentro de un contexto de mecánica de juego del juego de video incluye definir un límite espacial dentro de un espacio virtual del juego de video.
5. El método de conformidad con la reivindicación 4, caracterizado además porque el límite espacial dentro del espacio virtual del juego de video define una porción del espacio virtual menor que una completamente del espacio virtual, la porción del espacio virtual teniendo un subconjunto de características del espacio virtual.
6. El método de conformidad con la reivindicación 1 , caracterizado además porque definir los límites dentro de un contexto de mecánica de juego del juego de video incluye definir un límite temporal dentro de un contexto temporal del juego de video.
7. El método de conformidad con la reivindicación 1 , caracterizado además porque definir los límites incluye identificar un punto de inicio más cercano o un punto final más cercano de uno o más de una etapa, nivel o escena.
8. El método de conformidad con la reivindicación 1 , caracterizado además porque analizar la mecánica de juego grabada de usuario incluye determinar la configuración de estado de juego de usuario con base en la mecánica de juego grabada de usuario; y en donde generar la versión limitada del juego de video incluye definir la versión limitada del juego de video para tener configuraciones de estado de juego inicial con base en las configuraciones de estado de juego de usuario determinadas.
9. El método de conformidad con la reivindicación 1 , caracterizado además porque la región de interés se identifica automáticamente con base en la correspondencia a uno o más umbrales.
10. El método de conformidad con la reivindicación 9, caracterizado además porque por lo menos uno de los umbrales se asocia con una o más entradas de usuario, una velocidad de entrada de usuario, una frecuencia de entrada de usuario, repeticiones de una entrada de usuario, un patrón de entrada, compartición del contexto de mecánica de juego con otros usuarios, publicación de comentarios asociados con la mecánica de juego en una red social, o popularidad de porciones del juego de video con base en los niveles de compartición de red social.
11. Un método para generar una versión limitada jugable de un juego de video, comprendiendo: grabar una mecánica de juego de usuario de una versión completa del juego de video; analizar la mecánica de juego grabada del usuario para determinar una o mas regiones de interés; presentar cada una de las regiones de interés para selección; recibir una entrada de selección indicando una región seleccionada de interés; para la región seleccionada de interés, definir limites dentro de un contexto de mecánica de juego del juego de video con base en la región seleccionada de interés; y generar la versión limitada del juego de video con base en los límites definidos; en donde el método se ejecuta por un procesador.
12. El método de conformidad con la reivindicación 11 , caracterizado además porque grabar la mecánica de juego del usuario incluye grabar uno o más de los datos de entrada del usuario o los datos de estado del juego.
13. El método de conformidad con la reivindicación 12, caracterizado además porque analizar la mecánica de juego grabada de usuario incluye determinar los niveles de actividad de los datos de entrada de usuario o datos de estado de juego, cada región de interés siendo una región que tiene niveles de actividad que exceden un umbral predefinido.
14. El método de conformidad con la reivindicación 11, caracterizado además porque analizar la mecánica de juego grabada de usuario incluye determinar la configuración de estado de juego de usuario con base en la mecánica de juego grabada de usuario; y en donde generar la versión limitada del juego de video incluye definir la versión limitada del juego de video para tener configuraciones de estado de juego inicial con base en las configuraciones de estado de juego de usuario determinadas.
15. El método de conformidad con la reivindicación 11, caracterizado además porque cada región de interés se identifica automáticamente con base en la correspondencia a uno o más umbrales.
16. Un método para generar una versión limitada jugable de un juego de video, comprendiendo: grabar una mecánica de juego de usuario de una versión completa del juego de video, en donde grabar la mecánica de juego de usuario incluye grabar uno o más de datos de entrada de usuario o datos de estado de juego; analizar la mecánica de juego grabada de usuario para determinar una o más regiones de interés, en donde cada región de interés se identifica automáticamente con base en la correspondencia a uno o más umbrales; presentar cada una de las regiones de interés para selección; recibir una entrada de selección indicando una región seleccionada de interés; para la región de interés seleccionada, definir límites dentro de un contexto de mecánica de juego del juego de video con base en la región seleccionada de interés; generar la versión limitada del juego de video con base en los límites definidos; en donde el método se ejecuta por un procesador.
17. El método de conformidad con la reivindicación 16, caracterizado además porque definir los límites dentro de un contexto de mecánica de juego del juego de video incluye definir un límite espacial dentro de un espacio virtual del juego de video; en donde el límite espacial dentro del espacio virtual del juego de video define una porción del espacio virtual menor que uno completamente del espacio virtual, la porción del espacio virtual teniendo un subconjunto de características del espacio virtual.
18. El método de conformidad con la reivindicación 16, caracterizado además porque definir los limites dentro de un contexto de mecánica de juego del juego de video incluye definir un límite temporal dentro de un contexto temporal del juego de video.
19. El método de conformidad con la reivindicación 16, caracterizado además porque definir los limites incluye identificar un punto de inicio más cercano o un punto final más cercano de uno o más de una etapa, nivel o escena.
20. El método de conformidad con la reivindicación 16, caracterizado además porque por lo menos uno de los umbrales se asocia con una o más entradas de usuario, una velocidad de entrada de usuario, una frecuencia de entrada de usuario, repeticiones de una entrada de usuario, un patrón de entrada, compartición del contexto de mecánica de juego con otros usuarios, publicación de comentarios asociados con la mecánica de juego en una red social, o popularidad de porciones del juego de video con base en los niveles de compartición de red social.
21. Un método para generar una versión limitada jugable de un juego de video, comprendiendo: grabar una mecánica de juego de usuario de una versión completa del juego de video; determinar una pluralidad de porciones definidas por el usuario de la mecánica de juego grabada de usuario; para cada porción definida por el usuario, definir los límites dentro de un contexto de mecánica de juego del juego de video basado en la porción definida por el usuario, y generar una porción jugable del juego de video con base en los límites definidos; disponer cada una de las porciones jugables del juego de video en una serie para definir la versión limitada del juego de video; en donde el método se ejecuta por un procesador.
22. El método de conformidad con la reivindicación 21 , caracterizado además porque determinar cada porción definida por el usuario de la mecánica de juego grabada del usuario incluye recibir un punto de inicio definido por el usuario y un punto final definido por el usuario dentro de la mecánica de juego grabada de usuario, y determinar la porción definida por el usuario con base en el punto de inicio definido por el usuario recibido y el punto final definido por el usuario.
23. El método de conformidad con la reivindicación 21 , caracterizado además porque grabar la mecánica de juego del usuario incluye grabar uno o más de los datos de entrada del usuario o los datos de estado del juego.
24. El método de conformidad con la reivindicación 23, caracterizado además porque generar la porción jugable del juego de video incluye analizar los datos de estado de juego para identificar elementos de código, y ensamblar los elementos de código para definir código ejecutable definiendo la porción jugable del juego de video.
25. El método de conformidad con la reivindicación 21, caracterizado además porque definir los limites dentro de un contexto de mecánica de juego del juego de video incluye definir un limite espacial dentro de un espacio virtual del juego de video.
26. El método de conformidad con la reivindicación 25, caracterizado además porque el límite espacial dentro del espacio virtual del juego de video define una porción del espacio virtual menor que una completamente del espacio virtual, la porción del espacio virtual teniendo un subconjunto de características del espacio virtual.
27. El método de conformidad con la reivindicación 21 , caracterizado además porque definir los límites dentro de un contexto de mecánica de juego del juego de video incluye definir un límite temporal dentro de un contexto temporal del juego de video.
28. El método de conformidad con la reivindicación 21 , caracterizado además porque adicionalmente comprende: para cada porción definida por el usuario, analizar la mecánica de juego grabada de usuario para determinar las configuraciones de estado de juego del usuario; y en donde generar la porción jugable del juego de video incluye definir la porción jugable del juego de video para tener configuraciones de estado de juego inicial con base en las configuraciones de estado de juego de usuario determinadas.
29. El método de conformidad con la reivindicación 21 , caracterizado además porque definir los límites incluye identificar un punto de inicio más cercano o un punto final más cercano de uno o más de una etapa, nivel o escena.
30. El método de conformidad con la reivindicación 21 , caracterizado además porque adicionalmente comprende: grabar un video definido por el usuario; en donde disponer las porciones jugables del juego de video incluye disponer el video definido por el usuario en una ubicación dentro de la serie precedente o siguiente a una de las porciones jugables del juego de video.
31. El método de conformidad con la reivindicación 30, caracterizado además porque el video definido por el usuario incluye video de por lo menos una de las porciones definidas por el usuario de la mecánica de juego grabada de usuario.
32. Un sistema que comprende: por lo menos un dispositivo de computación servidor, por lo menos un dispositivo de computación servidor tiene lógica para generar una versión limitada jugable de un jugo de video, incluyendo, lógica para grabar una mecánica de juego de usuario de una versión completa del juego de video; lógica para determinar una pluralidad de porciones definidas por el usuario de la mecánica de juego grabada de usuario; lógica para, para cada porción definida por el usuario, definir los límites dentro de un contexto del juego del juego de video basado en la porción definida por el usuario, y generar una porción jugable del juego de video con base en los límites definidos; lógica para disponer cada una de las porciones jugables del juego de video en una serie para definir la versión limitada del juego de video;
33. El método de conformidad con la reivindicación 32, caracterizado además porque determinar cada porción definida por el usuario de la mecánica de juego grabada de usuario incluye recibir un punto de inicio definido por el usuario y un punto final definido por el usuario dentro de la mecánica de juego grabada de usuario, y determinar la porción definida por el usuario con base en el punto de inicio definido por el usuario recibido y el punto final definido por el usuario.
34. El sistema de conformidad con la reivindicación 32, caracterizado además porque grabar la mecánica de juego del usuario incluye grabar uno o más de los datos de entrada del usuario o los datos de estado del juego.
35. El método de conformidad con la reivindicación 34, caracterizado además porque generar la porción jugable del juego de video incluye analizar los datos de estado de juego para identificar elementos de código, y ensamblar los elementos de código para definir código ejecutable definiendo la porción jugable del juego de video.
36. El sistema de conformidad con la reivindicación 32, caracterizado además porque la lógica incluye adicionalmente: lógica para, para cada porción definida por el usuario, analizar la mecánica de juego grabada de usuario para determinar las configuraciones de estado de juego del usuario; y en donde generar la porción jugable del juego de video incluye definir la porción jugable del juego de video para tener configuraciones de estado de juego inicial con base en las configuraciones de estado de juego de usuario determinadas.
MX2014000227A 2012-12-21 2014-01-07 Generación automática de mini-juegos sugeridos para juego en la nube con base en la mecánica de juego grabada. MX356707B (es)

Applications Claiming Priority (6)

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

Publications (2)

Publication Number Publication Date
MX2014000227A true MX2014000227A (es) 2014-11-03
MX356707B MX356707B (es) 2018-06-11

Family

ID=50979420

Family Applications (3)

Application Number Title Priority Date Filing Date
MX2014000227A MX356707B (es) 2012-12-21 2014-01-07 Generación automática de mini-juegos sugeridos para juego en la nube con base en la mecánica de juego grabada.
MX2014000229A MX353112B (es) 2012-12-21 2014-01-07 Compartir la mecanica de juego grabada a un perfil social.
MX2014000231A MX353111B (es) 2012-12-21 2014-01-07 Control remoto de una mecanica de juego de primer usuario por un segundo usuario.

Family Applications After (2)

Application Number Title Priority Date Filing Date
MX2014000229A MX353112B (es) 2012-12-21 2014-01-07 Compartir la mecanica de juego grabada a un perfil social.
MX2014000231A MX353111B (es) 2012-12-21 2014-01-07 Control remoto de una mecanica de juego de primer usuario por un segundo usuario.

Country Status (7)

Country Link
JP (4) JP6196147B2 (es)
KR (7) KR20210094149A (es)
BR (1) BR102013033136B1 (es)
MX (3) MX356707B (es)
RU (1) RU2605840C2 (es)
TW (3) TWI573619B (es)
WO (1) WO2014100770A2 (es)

Families Citing this family (32)

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

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6280323B1 (en) * 1996-11-21 2001-08-28 Konami Co., Ltd. Device, method and storage medium for displaying penalty kick match cursors in a video soccer game
US6699127B1 (en) * 2000-06-20 2004-03-02 Nintendo Of America Inc. Real-time replay system for video game
RU2236702C2 (ru) * 2002-09-02 2004-09-20 Савин Вадим Георгиевич Способ компьютерной игры
JP3534343B2 (ja) * 2002-09-12 2004-06-07 株式会社コナミコンピュータエンタテインメントジャパン ゲームプログラム及びゲーム装置
JP3703800B2 (ja) * 2002-11-15 2005-10-05 株式会社スクウェア・エニックス 通信ゲームシステム
US8930561B2 (en) * 2003-09-15 2015-01-06 Sony Computer Entertainment America Llc Addition of supplemental multimedia content and interactive capability at the client
JP4494882B2 (ja) * 2004-06-29 2010-06-30 株式会社バンダイナムコゲームス プログラム、ゲーム装置、表示制御装置、サーバ及び情報記憶媒体
KR100682455B1 (ko) * 2005-03-17 2007-02-15 엔에이치엔(주) 게임 스크랩 시스템, 게임 스크랩 방법 및 상기 방법을실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한기록매체
JP5001445B2 (ja) * 2005-05-06 2012-08-15 任天堂株式会社 通信ゲームシステム
AU2006330475B2 (en) * 2005-12-27 2012-04-26 Microsoft Technology Licensing, Llc Streaming media casts, such as in a video game or mobile device environment
US20070173325A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Join in-progress on-line game session
US20070294089A1 (en) * 2006-06-02 2007-12-20 Garbow Zachary A Gameplay Recording and Marketplace
JP5068080B2 (ja) * 2007-01-09 2012-11-07 株式会社バンダイナムコゲームス ゲーム装置、プログラム及び情報記憶媒体
KR20090000260A (ko) * 2007-02-09 2009-01-07 주식회사 엠게임 사용자의 흥미 유발을 위하여 단계적으로 공개하는 베타게임 제공 시스템 및 그 베타 게임 제공 방법
JP4203524B2 (ja) * 2007-02-14 2009-01-07 株式会社コナミデジタルエンタテインメント ゲームシステム、及び、これに含まれるゲーム装置
JP5203646B2 (ja) * 2007-07-17 2013-06-05 株式会社ソニー・コンピュータエンタテインメント ゲーム案内システム、ゲーム案内装置、ゲームサーバ、ゲーム案内方法、プログラム、及び情報記憶媒体
US8235817B2 (en) * 2009-02-12 2012-08-07 Sony Computer Entertainment America Llc Object based observation
US8515253B2 (en) * 2008-02-15 2013-08-20 Sony Computer Entertainment America Llc System and method for automated creation of video game highlights
JP2010178010A (ja) * 2009-01-29 2010-08-12 Funai Electric Co Ltd 動画編集装置
JP2010220089A (ja) * 2009-03-18 2010-09-30 Sony Corp ダイジェスト再生装置、ダイジェスト再生方法、およびプログラム
US8292742B2 (en) * 2009-03-23 2012-10-23 Utah State University Systems and methods for simulation and regeneration of a virtual environment
US9898675B2 (en) * 2009-05-01 2018-02-20 Microsoft Technology Licensing, Llc User movement tracking feedback to improve tracking
JP5449859B2 (ja) * 2009-05-18 2014-03-19 任天堂株式会社 ゲームプログラム,ゲーム装置およびゲームシステム
JP2010284473A (ja) * 2009-06-11 2010-12-24 Gonichi Sasaki ゲームプレイヤー評価システム
JP5417111B2 (ja) * 2009-10-01 2014-02-12 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲームシステムの制御方法、及びプログラム
JP5193242B2 (ja) * 2010-03-11 2013-05-08 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲーム部分実行支援方法及びプログラム
KR101139498B1 (ko) * 2010-04-20 2012-05-02 주식회사 넥슨코리아 온라인 게임에서의 타 유저 게임 플레이 화면 시청 시스템 및 그 방법
JP2010201180A (ja) * 2010-04-30 2010-09-16 Nintendo Co Ltd ゲーム装置およびゲームプログラム
JP5991649B2 (ja) * 2010-08-05 2016-09-14 株式会社ソニー・インタラクティブエンタテインメント ゲーム装置
JP2012038042A (ja) * 2010-08-05 2012-02-23 Sony Computer Entertainment Inc ゲーム装置
JP5271319B2 (ja) * 2010-08-12 2013-08-21 株式会社コナミデジタルエンタテインメント ゲームシステム及びそのプレイ内容の閲覧制御方法
JP5542020B2 (ja) * 2010-09-22 2014-07-09 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理方法、プログラム及び情報記憶媒体
JP5740972B2 (ja) * 2010-09-30 2015-07-01 ソニー株式会社 情報処理装置および情報処理方法
KR101269411B1 (ko) * 2010-12-31 2013-05-30 (주)네오위즈게임즈 스포츠게임을 제공하는 게임서버, 방법, 및 기록매체
US9345966B2 (en) * 2012-03-13 2016-05-24 Sony Interactive Entertainment America Llc Sharing recorded gameplay to a social graph
US10406429B2 (en) * 2012-08-29 2019-09-10 Sony Interactive Entertainment, LLC User-based mini-game generation and distribution

Also Published As

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

Similar Documents

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

Legal Events

Date Code Title Description
FG Grant or registration