ES2319983T3 - Texto en 3d en una maquina de juego. - Google Patents

Texto en 3d en una maquina de juego. Download PDF

Info

Publication number
ES2319983T3
ES2319983T3 ES03773084T ES03773084T ES2319983T3 ES 2319983 T3 ES2319983 T3 ES 2319983T3 ES 03773084 T ES03773084 T ES 03773084T ES 03773084 T ES03773084 T ES 03773084T ES 2319983 T3 ES2319983 T3 ES 2319983T3
Authority
ES
Spain
Prior art keywords
game
character
text
font
game machine
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
ES03773084T
Other languages
English (en)
Inventor
Anthony R. Escalera
Robert E. Breckner
Greg A. Schlotmann
Alexey Kryuchkov
Steven G. Lemay
Serge Antonov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Game Technology
Original Assignee
International Game Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Game Technology filed Critical International Game Technology
Application granted granted Critical
Publication of ES2319983T3 publication Critical patent/ES2319983T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3202Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
    • G07F17/3204Player-machine interfaces
    • G07F17/3211Display means
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Slot Machines And Peripheral Devices (AREA)

Abstract

Un procedimiento para generar un juego de azar en una máquina de juego que puede operarse i) para recibir dinero en metálico o pruebas de crédito para una apuesta en el juego de azar y ii) para entregar dinero en metálico o una prueba de crédito como premio por el juego de azar, en el que la máquina de juego comprende un controlador de juego maestro, un dispositivo de visualización, un dispositivo de memoria y un sistema de renderización gráfica en 3D, comprendiendo el procedimiento: proporcionar en la máquina de juego una textura de fuente que comprende una pluralidad de caracteres trazados en un estilo de fuente particular, comprendiendo dicha textura de fuente; uno o más parámetros de fuente para definir características globales de la pluralidad de características en la textura de fuente; uno o más parámetros de carácter para definir características de cada carácter; durante la operación de la máquina de juego, determinar una cadena de texto que comprende una pluralidad de caracteres para su visualización en el dispositivo de visualización; determinar una superficie de página de texto para guiar una colocación de la pluralidad de caracteres en un entorno de juego en 3D; para cada carácter en la cadena de texto, dimensionar un objeto en 3D para el carácter utilizando los parámetros de fuente y los parámetros de carácter; mapear una textura del carácter a partir de la textura de fuente con el objeto en 3D; colocar cada objeto en 3D sobre la superficie de página de texto; aplicar una o más reglas de composición tipográfica a los objetos en 3D para mejorar una calidad visual de la cadena de texto renderizada a partir de los objetos en 3D incluyendo determinar una ubicación de cada carácter en la cadena de texto con respecto a otro en el entorno de juego en 3D; renderizar la cadena de texto utilizando el sistema de renderización gráfica en 3D; visualizar la cadena de texto renderizada en el dispositivo de visualización; recibir la apuesta para los juegos de azar controlados por el controlador de juego maestro en la máquina de juego; determinar un resultado del juego para el juego de azar; visualizar el resultado del juego utilizando el sistema de renderización gráfica en 3D en el dispositivo de visualización.

Description

Texto en 3D en una máquina de juego.
Antecedentes de la invención
Esta invención se refiere a procedimientos de presentación de juegos para máquinas de juego tales como máquinas tragaperras y máquinas de videopóquer. Más particularmente, la presente invención se refiere a aparatos y procedimientos para visualizar presentaciones de juegos derivadas de un entorno de juego en 3D.
A medida que avanza la tecnología en la industria del juego, las máquinas tragaperras de tambor accionadas mecánicamente tradicionales se están sustituyendo por equivalentes electrónicos que tienen pantallas de vídeo CRT, LCD o similares. Estos avances en el juego por vídeo/electrónico posibilitan la operación de juegos más complejos, lo que por lo demás no sería posible en máquinas de juego accionadas mecánicamente. Máquinas de juego tales como máquinas videotragaperras y máquinas de videopóquer se están volviendo cada vez más populares. Su mayor popularidad se debe en parte a la variedad casi infinita de juegos que puede implementarse en máquinas de juego que utilizan tecnología electrónica avanzada.
Hay una amplia variedad de dispositivos asociados que pueden conectarse a máquinas de videojuego tales como máquinas videotragaperras y máquinas de videopóquer. Algunos ejemplos de estos dispositivos son luces, impresoras de tiques, lectores de tarjetas, altavoces, validadores de billetes, lectores de tiques, receptores de monedas, paneles de visualización, teclados numéricos, tolvas de monedas y paneles de botones. Muchos de estos dispositivos están integrados en la máquina de juego o componentes asociados a la máquina de juego tales como un módulo superior, que por lo general se apoya sobre la parte superior de la máquina de juego.
Normalmente, utilizando un controlador de juego maestro, la máquina de juego controla diversas combinaciones de dispositivos que permiten a un jugador jugar a un juego en la máquina de juego y también favorecer el juego en la máquina de juego. Por ejemplo, un juego jugado en una máquina de juego requiere por lo general que un jugador introduzca dinero o pruebas de crédito en la máquina de juego, indique una cantidad de la apuesta, e inicie una partida de juego. Estas etapas requieren que la máquina de juego controle dispositivos de entrada, incluyendo validadores de billetes y receptores de monedas, para aceptar dinero en la máquina de juego y reconocer entradas de usuarios desde los dispositivos, incluyendo teclados numéricos y paneles de botones, para determinar la cantidad de la apuesta e iniciar la partida de juego.
Una vez iniciada la partida de juego, la máquina de juego determina un resultado del juego, presenta el resultado del juego al jugador y puede dispensar un premio de algún tipo, dependiendo del resultado del juego. Una presentación del resultado del juego puede utilizar muchos componentes de audio y visuales diferentes tales como luces parpadeantes, música, sonidos y gráficos. Los componentes de audio y visuales de la presentación del resultado del juego pueden utilizarse para captar la atención de un jugador sobre diversas características del juego y para aumentar el interés del jugador en seguir jugando. Mantener el interés de un jugador en la partida de juego, así como en una máquina de juego o durante otras actividades de juego, es una consideración importante para un operador de un establecimiento de juego.
Un procedimiento para mantener el interés de un jugador es presentar múltiples juegos al mismo tiempo durante una presentación de juego. Por ejemplo, el póquer a tres partidas en el que un jugador juega tres manos de póquer durante cada presentación de juego se ha convertido en un juego muy popular implementado en una máquina de videojuego. Variantes del póquer a tres partidas incluyen presentaciones de juego en las que se juegan cien o más manos de póquer durante cada presentación de juego. La presentación de múltiples juegos durante una única presentación de juego puede extenderse a otros tipos de juegos, tales como juegos de videotragaperras.
Una dificultad asociada con la presentación de múltiples juegos en una presentación de videojuego es la resolución de la pantalla de visualización en una máquina de juego. Una resolución de visualización típica en una máquina de juego es de aproximadamente 640 píxeles por 480 píxeles. A medida que aumenta el número de juegos presentados en una presentación de juego, la cantidad de detalles puede quedar limitada por la resolución de pantalla. Por ejemplo, para un juego de póquer a cien manos en el que se visualizan cien manos de póquer durante cada presentación de juego, cada carta debe dibujarse bastante pequeña sin gran detalle para que encajen todas las cartas en una única pantalla de visualización. La falta de detalles y el pequeño tamaño de carta pueden desanimar a algunos jugadores a jugar a estos juegos.
Otro procedimiento para mantener el interés de un jugador en jugar a un juego en una máquina de juego es presentar una presentación de juego fascinante que se muestra en una pantalla de visualización en la máquina de juego. Muchos sistemas de juego recientes utilizan esquemas de generación gráfica que emplean dispositivos de almacenamiento masivo que utilizan tiempos de carga variados y formatos de medios con capacidad de flujo para generar una presentación de juego fascinante. Con estos sistemas de juego, se generan numerosas escenas de juego durante el juego usando renderizaciones complejas y capacidades de reproducción de vídeo. Normalmente, sin embargo, por motivos de eficacia, un jugador tiene poco control sobre la presentación del resultado del juego aparte de mediante decisiones de juego que toman durante la partida del juego.
En vista de lo anterior, sería deseable proporcionar un procedimiento y aparato que permita presentaciones de juego detalladas que permitan el juego simultáneo de múltiples juegos que han de presentarse en una máquina de videojuego, pudiendo controlarse también la presentación de juego por un jugador.
Como ejemplo de la técnica anterior véase el documento US 2002-111212.
Sumario de la invención
Esta invención aborda las necesidades indicadas anteriormente proporcionando un procedimiento y aparato en una máquina de juego para presentar una pluralidad de presentaciones del resultado del juego derivadas de uno o más entornos de juego en 3D virtuales almacenados en la máquina de juego tal como se define en las reivindicaciones 1 y 24. Mientras se está jugando a un juego de azar en la máquina de juego, pueden renderizarse imágenes bidimensionales derivadas de un objeto en 3D en el entorno de juego en 3D en una pantalla de visualización en la máquina de juego en tiempo real como parte de una presentación del resultado del juego. Los objetos en 3D pueden incluir objetos de textos en 3D que se utilizan para visualizar texto en la pantalla de visualización de la máquina de juego como parte de la presentación de resultado del juego. Se describen aparatos y procedimientos para generar y visualizar información en un formato textual que es compatible con un sistema de renderización gráfica en 3D. En particular, se describen procedimientos de generación de fuente y composición tipográfica que son aplicables en un entorno de juego en 3D.
Un aspecto de la presente invención proporciona un procedimiento para proporcionar un juego de azar en una máquina de juego que puede operarse i) para recibir dinero en metálico o pruebas de crédito para una apuesta en un juego de azar y ii) para entregar dinero en metálico o una prueba de crédito como premio por el juego de azar, en el que la máquina de juego comprende un controlador de juego maestro, un dispositivo de visualización, un dispositivo de memoria y un sistema de renderización gráfica en 3D. El procedimiento puede caracterizarse en general porque comprende: a) recibir la apuesta por los juegos de azar controlados por el controlador de juego maestro en la máquina de juego; b) determinar un resultado del juego de los juegos de azar; c) renderizar una o más imágenes bidimensionales derivadas de objetos tridimensionales (3D) en un entorno de juego en 3D almacenados en el dispositivo de memoria en la máquina de juego, en el que al menos uno de los objetos en 3D es un objeto de texto en 3D adaptado para transmitir información textual; y d) visualizar la una o más imágenes bidimensionales renderizadas en el dispositivo de visualización en la máquina de juego. En general, el entorno de juego en 3D comprende una pluralidad de objetos de texto en 3D y el sistema de renderización gráfica en 3D puede ser compatible con OpenGL.
En realizaciones particulares, el procedimiento puede comprender además: a) mapear una cadena de texto que comprende uno o más caracteres alfanuméricos con el objeto de texto en 3D pudiendo configurarse el objeto de texto en 3D para transmitir al menos uno de los caracteres alfanuméricos en la cadena de texto, b) mapear texturas con patrones de caracteres alfanuméricos con el objeto de texto en 3D para transmitir la información textual, c) modelizar el objeto de texto en 3D en una forma de un carácter alfanumérico para transmitir la información textual. La forma del carácter alfanumérico puede definirse mediante una pluralidad de curvas parametrizadas.
En otras realizaciones, el procedimiento puede comprender además ajustar a escala el objeto de texto en 3D para transmitir la información textual mediante un factor de ajuste a escala. El entorno de juego en 3D puede comprender dos o más objetos de texto en 3D siendo la máquina de juego operable para aplicar un factor de ajuste a escala diferente a cada uno de los dos o más objetos de texto en 3D. El factor de ajuste a escala puede variar en función del tiempo. El objeto de texto en 3D puede ajustarse a escala en menos de tres de sus dimensiones. Además, la máquina de juego puede operarse para aplicar un factor de ajuste a escala diferente a cada una de las tres dimensiones del objeto de texto en 3D: el objeto de texto en 3D puede ajustarse a escala utilizando mapeo MIP.
En otras realizaciones más, la máquina de juego puede operarse para ajustar a escala una pluralidad de objetos de texto en 3D para que encajen en una superficie acotada. Una forma de la superficie acotada puede cambiar en función del tiempo. En un ejemplo, la superficie acotada puede ser una superficie plana. Una forma de los objetos de texto en 3D también puede cambiar en función del tiempo.
En realizaciones particulares, el procedimiento puede comprender además situar cada uno de los objetos en 3D en el entorno de juego en 3D. La posición de uno o más de los objetos en 3D puede cambiar en función del tiempo. Una pluralidad de los objetos de texto en 3D puede situarse a lo largo de una línea recta, dos o más líneas paralelas o a lo largo de una curva en 3D en el entorno de juego en 3D. En general, una pluralidad de objetos de texto en 3D puede situarse en el entorno de juego en 3D.
En una realización, el procedimiento puede comprender además guiar una colocación de los objetos de texto en 3D utilizando una superficie de página de texto. Una o más de una forma de la superficie de página de texto, una posición de la superficie de página de texto o una orientación de la superficie de página de texto puede cambiar en función del tiempo. Una forma de la superficie de página de texto puede ser un rectángulo plano, un polígono plano de múltiples lados o una superficie en 3D. La superficie de página de texto puede ser invisible. Además, el procedimiento puede comprender además: a) aplicar una o más de una textura estática, una textura animada o combinaciones de las mismas a la superficie de página de texto, b) recortar una parte de un primer objeto de texto en 3D que se extiende más allá de un límite definido por la superficie de página de texto y c) ajustar a escala el objeto de texto en 3D para que encaje dentro de los límites definidos por la superficie de página de texto.
En otras realizaciones, el procedimiento puede comprender orientar una posición angular de cada uno de los objetos de texto en 3D en el entorno de juego en 3D. La posición angular de cada uno de los objetos de texto en 3D puede variar en función del tiempo. En particular, las posiciones angulares de cada uno de los objetos de texto en 3D pueden orientarse de manera que una superficie de los objetos de texto en 3D está alineada con un plano inclinado o la normal de una línea curva o una superficie curva en el entorno de juego en 3D.
En realizaciones particulares, el procedimiento puede comprender además renderizar la información textual en el entorno de juego en 3D para una o más de i) una presentación del resultado del juego para el juego de azar, ii) una operación de mantenimiento de juego, iii) una característica de modo de atracción, iv) una característica promocional, v) información de casino, vi) presentación de juego de bonificación y capturar la información textual en la una o más imágenes bidimensionales. Además, la información textual transmitida por los objetos de texto en 3D puede ser información de uno o más de un juego de azar, un juego de bonificación, un anuncio, noticias, cotizaciones de bolsa, correo electrónico, una página web, un servicio de mensajería, un servicio de localización o un servicio de hotel/casino, una película, una selección musical, una promoción de casino, un evento de difusión, una operación de mantenimiento, un servicio de seguimiento de jugador, un menú de bebidas y un menú de aperitivos.
En realizaciones particulares, una cadena de texto que comprende una pluralidad de caracteres alfanuméricos puede mapearse con una pluralidad de objetos de texto en 3D transmitiendo cada uno de los objetos de texto en 3D la información textual para uno de los caracteres alfanuméricos en la cadena de texto. El procedimiento puede comprender además aplicar una o más reglas de composición tipográfica para mejorar una calidad de la información textual renderizada a partir de la pluralidad de objetos de texto en 3D que representan la cadena de texto. Las reglas de composición tipográfica pueden ser para uno o más de i) ajustar un espaciado entre los caracteres, ii) ajustar pesos de color de los caracteres, iii) justificar la cadena de texto, iv) centrar los caracteres, v) ajustar las dimensiones de los trazos que definen los caracteres, vi) alinear los caracteres con una línea base, vii), situar la cadena de texto en dos o más líneas, viii) ajustar el espaciado entre dos o más líneas de texto, ix) ajustar la alineación vertical u horizontal de los caracteres, x) ajustar un tamaño relativo de cada carácter, xi) ajustar los píxeles que definen un carácter de texto y xii) ajustar los téxeles que definen un carácter de texto. En otras realizaciones, el procedimiento puede comprender además uno o más de a) antes de renderizar la una o más imágenes bidimensionales, generar una o más texturas de fuente comprendiendo cada textura de fuente una pluralidad de caracteres y cargar la una o más texturas de fuente en un primer dispositivo de memoria en la máquina de juego, b) visualizar un menú de juegos de azar disponible en la máquina de juego; recibir una o más señales de entradas que contienen información utilizada para seleccionar uno o más de los juegos de azar enumerados en dicho menú, c) generar una textura de superficie animada en el entorno de juego en 3D, d) almacenar una o más de las imágenes bidimensionales renderizadas en un dispositivo de memoria ubicado en la máquina de juego o e) cargar una o más texturas de fuente en una biblioteca de fuentes en el dispositivo de memoria en la máquina de juego.
Otro aspecto de la presente invención proporciona un procedimiento para proporcionar información textual para una máquina de juego que es operable i) para recibir dinero en metálico o pruebas de crédito para una apuesta en un juego de azar y ii) para entregar dinero en metálico o una prueba de crédito como premio por el juego de azar comprendiendo la máquina de juego un controlador de juego maestro, un dispositivo de visualización, un dispositivo de memoria y un sistema de renderización gráfica en 3D. El procedimiento puede caracterizarse en general porque comprende: a) generar una textura de fuente que comprende una pluralidad de caracteres dibujados en un estilo de fuente particular comprendiendo la textura de fuente uno o más parámetros de fuente para definir características globales de la pluralidad de características en la textura de fuente y uno o más parámetros de carácter para definir características de cada carácter; b) determinar una cadena de texto que comprende una pluralidad de caracteres; c) determinar una superficie de página de texto para guiar una colocación de la pluralidad de caracteres en un entorno de juego en 3D, d) para cada carácter en la cadena de texto, dimensionar un objeto en 3D para el carácter utilizando los parámetros de fuente y parámetros de carácter; mapear una textura del carácter a partir de la textura de fuente con el objeto en 3D y colocar cada objeto en 3D sobre la superficie de página de texto; e) aplicar una o más reglas de composición tipográfica a los objetos en 3D para mejorar una calidad visual de la cadena de texto renderizada a partir de los objetos en 3D; y f) renderizar la cadena de texto utilizando el sistema de renderización gráfica en 3D.
En realizaciones particulares, el procedimiento puede comprender además visualizar la cadena de texto renderizada en el dispositivo de visualización o ubicar un primer carácter en la textura de fuente utilizando coordenadas de ubicación de carácter. El sistema de renderización gráfica en 3D puede ser compatible con OpenGL. Además, el juego de azar puede seleccionarse del grupo que consiste en un juego tragaperras, un juego keno, un juego de póquer, un juego de pachinko, un juego de video black jack, un juego de bingo, un juego de bacará, un juego de ruleta, un juego de dados y un juego de cartas.
En otras realizaciones, el procedimiento puede comprender además almacenar una o más texturas de fuente generadas en una biblioteca de fuentes en el dispositivo de memoria en la máquina de juego. La biblioteca de fuentes comprende además una pluralidad de texturas de fuente con el mismo estilo de fuente y diferentes parámetros de fuente o parámetros de carácter. La biblioteca de fuentes puede comprender además una pluralidad de texturas de fuente con diferentes estilos de fuente. Los parámetros de fuente en la textura de fuente pueden ser uno o más de un nombre de fuente, un estilo de fuente, un tipo de letra de fuente, un peso de fuente, una línea base de fuente, una elevación de fuente, un descenso de fuente, una inclinación de fuente, una altura máxima de fuente, un ancho máximo de fuente y un número de caracteres en la textura de fuente. Los parámetros de carácter en la textura de fuente pueden ser uno o más de una altura de carácter, un ancho de carácter, una elevación de carácter, un descenso de carácter, un origen de carácter, una forma de carácter o coordenadas de ubicación de carácter para ubicar el carácter en la textura de
fuente.
Otro aspecto más de la presente invención proporciona una máquina de juego. La máquina de juego puede caracterizarse en general porque comprende: 1) una carcasa; 2) un controlador de juego maestro acoplado a la carcasa diseñado o configurado para controlar un juego de azar al que se juega en la máquina de juego; 3) un entorno de juego tridimensional (3D) para renderizar al menos una presentación del resultado del juego para el juego de azar almacenado en un dispositivo de memoria en la máquina de juego; 4) una lógica de juego para renderizar una o más imágenes bidimensionales derivadas de objetos en 3D en el entorno de juego en 3D siendo al menos uno de los objetos en 3D un objeto de texto en 3D adaptado para transmitir información textual; 5) al menos un dispositivo de visualización para visualizar la una o más imágenes bidimensionales renderizadas, siendo la máquina de juego operable i) para recibir dinero en metálico o pruebas de crédito para una apuesta en el juego de azar y ii) para entregar dinero en metálico o una prueba de crédito como premio por el juego de azar. La máquina de juego puede comprender además uno o más de a) un sistema de renderización gráfica en 3D para renderizar la una o más imágenes en 2D, b) una lógica de juego diseñada o configurada para renderizar información textual desde una operación de mantenimiento de la máquina de juego en el entorno de juego en 3D utilizando una pluralidad de los objetos de texto en 3D y para capturar la operación de mantenimiento de la máquina de juego en la una o más imágenes bidimensionales, c) una lógica de juego diseñada o configurada para renderizar información textual de una o más de i) una característica operativa de la máquina de juego, ii) una operación de mantenimiento de la máquina de juego en el entorno de juego en 3D, iii) una característica de modo de atracción, iv) una característica promocional, v) información de casino o vi) una presentación de juego de bonificación utilizando una pluralidad de los objetos de texto en 3D y para capturar la característica de operación de la máquina de juego en la una o más imágenes bidimensionales, d) una unidad de procesamiento gráfico, separada de dicho controlador de juego maestro, diseñada o configurada para ejecutar las operaciones gráficas utilizadas para renderizar una o más imágenes bidimensionales derivadas de los objetos en 3D en el entorno de juego en 3D, e) un panel de interfaz de red diseñado o configurado para permitir al controlador de juego maestro comunicar información textual renderizada a un dispositivo de visualización remoto, f) una tarjeta de vídeo de múltiples terminales, g) un dispositivo de memoria para almacenar texturas de fuente en una biblioteca de fuentes en la máquina de juego. La biblioteca de fuentes puede comprender además una pluralidad de texturas de fuente con el mismo estilo de fuente y diferentes parámetros de fuente o parámetros de carácter o una pluralidad de texturas de fuente con diferentes estilos de fuente.
Otro aspecto de la invención se refiere a productos de programa informático incluyendo un medio legible por máquina en el que están almacenadas instrucciones de programa para implementar cualquiera de los procedimientos anteriormente descritos. Cualquiera de los procedimientos de esta invención puede representarse como instrucciones de programa y/o estructuras de datos, bases de datos, etc. que pueden proporcionarse en tales medios legibles por ordenador.
Estas y otras características de la presente invención se presentarán más detalladamente en la siguiente descripción detallada de la invención y las figuras asociadas.
Breve descripción de los dibujos
La figura 1 es un dibujo en perspectiva de un entorno de juego virtual en 3D implementado en una máquina de juego para una realización de esta invención.
La figura 2 es un dibujo en perspectiva de tambores tragaperras virtuales en un entorno de juego virtual en 3D implementado en una máquina de juego para una realización de esta invención.
La figura 3 es un diagrama de flujo para un procedimiento para generar un juego de azar de la presente invención.
Las figuras 4A a 4D son diagramas de bloques que describen algunas cuestiones de renderización en un entorno de juego en 3D.
Las figuras 5A a 5B son diagramas de bloques que describen la renderización de objetos de texto en 3D en un entorno de juego en 3D de la presente invención.
La figura 6A es un diagrama de bloques que muestra la creación de un archivo de fuente.
La figura 6B es un diagrama de propiedades de fuente.
La figura 6C es un diagrama de propiedades de carácter.
La figura 6D es un diagrama de una textura de fuente.
La figura 7 es un diagrama que muestra la creación de caracteres de texto en 3D.
Las figuras 8A a 8B son diagramas de objetos de texto en 3D visualizados utilizando realizaciones de la presente invención.
La figura 9 es un dibujo en perspectiva de una máquina de juego para una realización de la presente invención.
La figura 10 es un diagrama de flujo que representa un procedimiento para generar un juego de azar utilizando un entorno de juego virtual.
La figura 11 es un diagrama de bloques de máquinas de juego que utilizan software de juego distribuido y procesadores distribuidos para generar un juego de azar para una realización de la presente invención.
\vskip1.000000\baselineskip
Descripción de las realizaciones preferidas
La figura 1 es un dibujo en perspectiva de un entorno 100 de juego virtual en 3D implementado en una máquina de juego para una realización de esta invención. El entorno de juego virtual en 3D puede utilizarse por el controlador de juego maestro en la máquina de juego para presentar un juego de azar. El juego de azar al que se juega en la máquina de juego puede incluir: 1) una apuesta seleccionada por un jugador que juega a un juego en la máquina de juego, 2) una iniciación del juego de azar en la máquina de juego por el jugador, 3) una determinación de un resultado para el juego de azar por la máquina de juego y 4) una presentación en la máquina de juego del resultado del juego al jugador. En la presente invención, el entorno de juego en 3D puede utilizarse para presentar un resultado del juego al jugador, describir funciones operativas de la máquina de juego y proporcionar una interfaz para obtener información y servicios de juego. En particular, se describen procedimientos y aparatos para visualizar una cadena de texto en un entorno de juego en 3D, tal como una cadena de texto utilizada en un contador de crédito visualizado en la máquina de juego o una cadena de texto utilizada para proporcionar información de juego para un juego de azar visualizado en la máquina de juego. Las cadenas de texto pueden generarse utilizando texturas que se aplican a un objeto en 3D en el entorno de juego en 3D. Se describen aparatos y procedimientos que implementan estas características con respecto a las figuras 1 a 11.
En particular las figuras 1 a 11 proporcionan la siguiente información. En la figura 1, se describe un entorno de juego en 3D de la presente invención. En la figura 2, se describen tambores en 3D en el entorno de juego en 3D. En la figura 3, se describe un procedimiento para generar un juego de azar en un entorno de juego en 3D. En las figuras 4A a 4D, se presentan algunas cuestiones relativas a la renderización de texto desde un entorno de juego en 3D. En las figuras 5A a 5B, se ilustran procedimientos para generar texto en un entorno de juego en 3D. En las figuras 6A a 6D, se describen procedimientos para generar fuentes, caracteres y texturas utilizados en una renderización de texto en 3D para una realización de la presente invención. En la figura 7, se presenta un procedimiento para generar un objeto de texto en 3D en un entorno de juego en 3D. En las figuras 8A a 8B, se describen visualizaciones de vídeo que visualizan objetos de texto generados utilizando diferentes procedimientos de la presente invención. En la figura 9, se describe una realización de una máquina de juego de la presente invención. En la figura 10, se presenta un procedimiento para generar un juego de azar o juego de bonificación utilizando los entornos de juego en 3D de la presente invención. En la figura 11, se describe una red de juego de la presente invención.
Antes de describir la figura 1, se comentan algunos aspectos generales de los entornos de juego virtual en 3D y su relación con entornos en 2D. Para utilizar un entorno de juego virtual en 3D para una presentación de juego u otras actividades de juego en una máquina de juego, se renderiza una vista en 2D del entorno de juego virtual en 3D. La vista en 2D captura alguna parte de las superficies en 3D modelizadas en el entorno de juego virtual en 3D. Las superficies capturadas definen un objeto en 3D en el entorno de juego en 3D. Las superficies capturadas en la vista en 2D se definen en las coordenadas tridimensionales del entorno de juego virtual en 3D y se convierten en un sistema de coordenadas bidimensionales durante el proceso de captura. Como parte de una presentación de juego, la vista en 2D puede presentarse como un cuadro de vídeo en una pantalla de visualización en la máquina de juego. En cierto modo, la vista bidimensional es análoga a una fotografía de un entorno físico en 3D tomada por una cámara, en la que la fotografía captura una parte de las superficies físicas en 3D existentes en el entorno físico en 3D. Sin embargo, la fotografía de una cámara no es estrictamente análoga a una vista en 2D renderizada a partir de un entorno de juego virtual en 3D porque pueden aplicarse numerosas técnicas de manipulación gráfica en un entorno de juego virtual en 3D que no están disponibles con una cámara real.
En la presente invención, la vista en 2D se genera desde un punto de vista dentro del entorno de juego virtual en 3D. El punto de vista es un factor principal a la hora de determinar qué superficies del entorno de juego en 3D que definen un objeto en 3D se capturan en la vista en 2D. Puesto que la información acerca del entorno de juego en 3D está almacenada en la máquina de juego, el punto de vista puede alterarse para generar nuevas vistas en 2D de objetos en el entorno de juego en 3D. Por ejemplo, en un cuadro, una vista en 2D de un objeto modelizado en el entorno de juego en 3D, tal como una cara frontal de un edificio (por ejemplo el punto de vista captura la cara frontal de un edificio), puede generarse utilizando un primer punto de vista. En otro cuadro, una vista en 2D del mismo objeto puede generarse desde otro punto de vista (por ejemplo la cara posterior del edificio).
Una desventaja de las máquinas de juego actuales es que las vistas en 2D utilizadas como cuadros de vídeo en presentaciones de juego sólo se renderizan a partir de objetos en 2D y la información acerca de la naturaleza multidimensional de los objetos renderizados en las vistas en 2D, tal como el punto de vista utilizado para generar la vista en 2D, no está almacenada en la máquina de juego. Históricamente, debido al entorno normativo de la industria del juego, el software de juego empleado para presentar un juego de azar se diseñaba para "ejecutarse in situ" en una EPROM instalada en la máquina de juego. Utilizando una EPROM, no era factible almacenar grandes cantidades de datos de juego relativos a modelos en 3D complicados. Por tanto, sólo la información de objetos en 2D utilizada para renderizar la vista en 2D estaba almacenada en la máquina de juego.
Sin embargo, los juegos en 2D renderizados en máquinas de juego también se han vuelto más sofisticados y frecuentemente emplean animaciones complejas. Cuando se utilizan animaciones complicadas en un sistema en 2D, tal como reproducir películas sobre un objeto en 2D, un sistema en 3D puede de hecho ahorrar memoria porque pueden utilizarse más tipos de animación con un sistema en 3D frente a un sistema en 2D sin tener que recurrir a utilizar películas, que ocupan mucha memoria. En un sistema en 2D sin utilizar películas, las propiedades de animación que pueden utilizarse son un simple movimiento bidimensional y ciclos de color utilizando paletas de color que proporcionan un atractivo visual limitado.
Cuando sólo está disponible información en 2D acerca de un objeto en 3D, no es posible generar nuevas vistas en 2D desde diferentes puntos de vista del objeto en 3D. Por ejemplo, cuando una ilustración de un naipe se renderiza en máquinas de juego actuales, la información en 3D, tal como el grosor de la carta, no está almacenada. Por tanto, no es posible generar una vista en 2D del naipe desde un punto de vista de canto, puesto que el grosor de la carta no se conoce. Como otro ejemplo, pueden utilizarse cuadros de una película como parte de una presentación de juego en una máquina de juego. Cada cuadro de la película representa una vista en 2D desde un punto de vista de una cámara utilizada para filmar cada cuadro. Si el cuadro incluye una imagen de un edificio visto desde el frente (por ejemplo, el punto de vista captura la fachada del edificio), no es posible generar una nueva vista en 2D de la parte posterior del edificio porque no se conoce información relativa a la parte posterior del edificio.
Una ventaja de la presente invención es que el área potencial de juego utilizada para presentar un juego de azar modelizado en un entorno de juego en 3D es mayor que el área potencial de juego de un entorno de juego en 2D. Por ejemplo, un juego de azar puede presentarse en cada una de las seis caras de un cubo modelizado en un entorno de juego virtual. Para jugar al juego de azar, pueden renderizarse vistas en 2D del cubo desde diferentes puntos de vista en el entorno de juego en 3D en tiempo real y presentarse al jugador. Como se describe más adelante, en algunas realizaciones, el jugador puede incluso seleccionar el punto de vista en el entorno de juego en 3D utilizado para generar la vista en 2D.
En máquinas de juego actuales, el cubo se renderizaría como un objeto en 2D generado a partir del cubo en 3D visto desde un punto de vista particular. El punto de vista particular se selecciona cuando se desarrolla el juego y sólo se almacenaría información en 2D acerca del cubo visto desde el punto de vista seleccionado en una EPROM en la máquina de juego. Por tanto, un juego de azar podría presentarse en las caras del cubo renderizadas a partir del objeto en 2D que se generó desde el punto de vista seleccionado del cubo en 3D y se almacena en la EPROM. Sin embargo, a menos que se generaran objetos en 2D adicionales desde diferentes puntos de vista, no es posible presentar un juego de azar en las caras del cubo no visibles desde el punto de vista seleccionado porque el objeto en 2D no almacena información relativa a las caras del cubo no visibles desde el punto de vista seleccionado. Además, incluso si se generaran múltiples objetos en 2D, es difícil y lleva mucho tiempo generar suficientes objetos en 2D para permitir transiciones suaves entre puntos de vista capturados por los objetos en 2D. También es difícil ajustar a escala un objeto en 2D, para hacerlo más pequeño o más grande, sin introducir efectos de distorsión.
También se genera distorsión cuando se ajustan a escala objetos en 3D. Sin embargo, son más fáciles de manipular utilizando tarjetas gráficas 3D especializadas porque la tarjeta aplica un proceso de filtrado bilineal a los téxeles en el momento de la renderización. Sin un hardware especial, tal como una tarjeta gráfica 3D, sería difícil corregir la distorsión en tiempo real.
Finalmente, en un sistema de juego en 2D típico, debido a la flexibilidad limitada de 2D, los resultados de un juego de azar renderizado en 2D y visualizado en una máquina de juego han de cuantificarse y prerenderizarse, es decir, animaciones enlatadas. Debido a la flexibilidad de un sistema de juego en 3D, los resultados pueden determinarse mediante entradas del usuario dando lugar a un número ilimitado de animaciones en respuesta a la entrada de los jugadores. Al no tener que realizar una serie de animaciones preenlatadas, sino determinar en lugar de ello la animación en respuesta a la entrada de los jugadores, se ahorra muchos bytes en requisitos de espacio de almacenamiento. En las siguientes figuras, se describen detalles de los procedimientos y aparatos utilizados para presentar un juego de azar generado a partir de un entorno de juego en 3D.
Volviendo a la figura 1, el entorno 100 de juego en 3D incluye tres objetos: 1) una caja 101 rectangular encima de, 2) un plano 114 y 3) una segunda caja 127. La caja 101, la caja 127 y el plano 114 se definen en un espacio 104 de coordenadas rectangular tridimensional. Normalmente, las superficies de los objetos en el entorno de juego se definen utilizando una pluralidad de elementos de superficie. Los elementos de superficie pueden comprender diferentes formas, tales como diferentes tipos de polígonos que se conocen bien en las técnicas gráficas en 3D. Por ejemplo, los objetos en la presente información pueden definirse de manera que sean compatibles con una o más normas gráficas tales como Open Graphics Library (OpenGL). Puede encontrarse información sobre OpenGL en www.opengl.org.
En una realización, los objetos en el entorno 100 de juego pueden definirse por una pluralidad de elementos triangulares. Como ejemplo, una pluralidad de elementos 125 de superficie triangular se utiliza para definir una parte de la superficie 108 y la cara 112 superficial. En otra realización, los objetos en el entorno 100 de juego, tales como la caja 101 y la caja 127, pueden definirse por una pluralidad de elementos rectangulares. En otra realización más, una combinación de diferentes tipos de polígonos, tales como triángulos y rectángulos puede utilizarse para describir los diferentes objetos en el entorno 100 de juego. Utilizando un número apropiado de elementos de superficie, tales como elementos triangulares, puede hacerse que los objetos parezcan redondos, esféricos, tubulares o implementen varias combinaciones de superficies curvas.
Los triángulos son, de lejos, el polígono más popular utilizado para definir objetos en 3D porque son los más fáciles de manipular. Para representar un objeto sólido, se requiere un polígono de al menos tres lados (por ejemplo, un triángulo). Sin embargo, OpenGL soporta cuadrados, puntos, líneas, tiras de triángulos y tiras de cuadrados y polígonos con cualquier número de puntos. Además, pueden representarse modelos en 3D mediante una variedad de curvas en 3D tales como NURB y Bezier Patches.
Cada uno de los elementos de superficie que comprende el entorno de juego virtual en 3D puede describirse en un sistema de coordenadas rectangular u otro sistema de coordenadas apropiado, tal como coordenadas esféricas o coordenadas polares, según dicte la aplicación. Los entornos de juego virtual en 3D de la presente invención no se limitan a las formas y elementos mostrados en la figura 1 o al sistema de coordenadas utilizado en la figura 1, que se muestran con fines ilustrativos únicamente. Detalles de procedimientos de renderización gráfica en 3D que pueden utilizarse con la presente invención se describen en "OpenGL Reference Manual: The Official Reference Document to Open GL, Version 1.2", tercera edición, por Dave Shreiner (editor), OpenGL Architecture Review Board, Addison-Wesley Publishing, Co., 1999, ISBN: 0201657651 y "OpenGL Program Guide: The Official Guide to Learning OpenGL, Version 1.2", tercera edición, by Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner, OpenGL Architecture Review Board, Addison-Wesley Publishing, Co., 1999, ISBN: 0201604582, que se incorporan en el presente documento en su totalidad y a todos los efectos.
Pueden aplicarse texturas de superficie a cada uno de los elementos de superficie, tales como los elementos 125, que definen las superficies en el entorno 100 de juego virtual. Las texturas de superficie pueden permitir que el entorno de juego en 3D parezca más "real" cuando se ve en una pantalla de visualización en la máquina de juego. Como ejemplo, pueden aplicarse colores, texturas y reflectancias a cada uno de los elementos de superficie que definen los diversos objetos en el entorno de juego en 3D. Pueden utilizarse millones de colores diferentes para añadir una "sensación" de realismo a un entorno de juego dado. Texturas que pueden aplicarse incluyen lisura o irregularidades superficiales tales como protuberancias, hundimientos, líneas, mapas de rugosidad, mapas de iluminación, mapas de reflectancia y mapas de refractancia u otros patrones que pueden renderizarse en cada elemento. Las texturas pueden aplicarse como modelos matemáticos almacenados como "mapas de textura" en la máquina de juego.
En una realización, el "mapa de textura" puede ser una textura animada. Por ejemplo, cuadros de una película u otra animación pueden proyectarse sobre un objeto en 3D en el entorno de juego en 3D. Estas texturas animadas pueden capturarse en vistas en 2D presentadas en cuadros de vídeo en la máquina de juego. Múltiples texturas animadas pueden utilizarse al mismo tiempo. Por tanto, por ejemplo, una primera película puede proyectarse sobre una primera superficie en el entorno de juego en 3D y una segunda película puede proyectarse sobre una segunda superficie en el entorno de juego en 3D pudiendo verse simultáneamente ambas películas.
Las propiedades materiales de una superficie en 3D pueden describir cómo reacciona la superficie a la luz. Estas propiedades de superficie pueden incluir cosas tales como a) una capacidad del material para absorber diferentes longitudes de onda de luz, b) una capacidad del material para reflejar diferentes longitudes de onda de luz (reflectancia), c) una capacidad del material para emitir ciertas longitudes de onda de luz tales como las luces traseras de un coche y d) una capacidad del material para transmitir ciertas longitudes de onda de luz. Como ejemplo, la reflectancia se refiere a cuánta luz refleja cada elemento. Dependiendo de la reflectancia de un elemento de superficie pueden reflejarse otros elementos en el entorno de juego de manera borrosa, de manera nítida o no hacerlo en absoluto. Combinaciones de color, textura y reflectancia pueden utilizarse para conferir una ilusión de una calidad particular a un objeto, tal como duro, blando, caliente o frío.
Algunos procedimientos de sombreado que se utilizan habitualmente con gráficos en 3D para añadir textura que pueden aplicarse a la presente invención incluyen sombreado de Gourand y sombreado de Phong. Los sombreados de Gourand y Phong son procedimientos utilizados para ocultar una geometría limitada de un objeto mediante la interpolación entre dos superficies con diferentes normales. Además, utilizando Alpha Blending, pueden mezclarse píxeles para hacer que un objeto parezca transparente, es decir, el objeto transmite luz.
Fuentes de luz virtuales, tales como 102, pueden utilizarse en el entorno de juego para añadir la apariencia de sombreado y sombras. El sombreado y sombras se utilizan para añadir peso y solidez a la renderización de un objeto virtual. Por ejemplo, para añadir solidez a la caja 101 rectangular, rayos de luz emitidos desde la fuente 102 de luz se utilizan para generar una sombra 103 alrededor de la caja 101 rectangular. En un procedimiento, se utiliza trazado de rayos para trazar trayectorias de rayos de luz imaginarios emitidos desde una fuente de luz imaginaria tal como 102. Estos rayos de luz pueden incidir en y pueden reflejarse desde diversas superficies afectando a los colores asignados a cada elemento de superficie. En algunos entornos de juego, pueden utilizarse múltiples fuentes de luz cambiando el número de luces y la intensidad de cada fuente de luz con el tiempo. Normalmente, en 3D en tiempo real, las fuentes de luz no generan sombras y depende del programador añadir sombras manualmente. Como se indicó anteriormente, sin embargo, las fuentes de luz producen sombreado sobre objetos.
\newpage
Puede aplicarse perspectiva, que se utiliza para transmitir la ilusión de distancia, al entorno 100 de juego definiendo un punto de fuga, tal como 128. Normalmente, se utiliza una perspectiva de punto único en la que todos los objetos en la escena se renderizan para parecer como si convergieran eventualmente en un punto único en la distancia, por ejemplo el punto de fuga. Sin embargo, también pueden emplearse perspectivas de múltiples puntos en entornos de juego en 3D de la presente invención. La perspectiva permite que objetos en el entorno de juego parezcan unos detrás de otros. Por ejemplo, la caja 101 y la caja 127 pueden ser del mismo tamaño. Sin embargo, se hace que la caja 127 parezca más pequeña, y por tanto más alejada, con respecto a un observador porque está más cerca del punto 128 de fuga. Un entorno de juego en 3D puede proporcionar o no corrección de perspectiva. La corrección de perspectiva se lleva a cabo transformando puntos hacia el centro de la pantalla en vista en 2D. Cuanto más alejado esté un objeto del punto de vista en el entorno de juego en 3D, más se transformará en el centro de la pantalla.
La presente invención no se limita a vistas en perspectiva o vistas en múltiples perspectivas del entorno de juego en 3D. Puede utilizarse una vista ortográfica en la que objetos en 3D renderizados en una vista en 2D siempre parecen del mismo tamaño sin importar cómo de alejados estén en el entorno de juego en 3D. La vista ortográfica es lo que se vería como una sombra arrojada desde una fuente de luz que está infinitamente alejada (de modo que los rayos de luz son paralelos), mientras que la vista en perspectiva procede de una fuente de luz que está alejada de manera finita, de modo que los rayos de luz son divergentes. En la presente invención, pueden utilizarse combinaciones de ambas vistas en perspectiva y ortográfica. Por ejemplo, una vista ortográfica de un mensaje de texto puede aplicarse a modo de capa encima de una vista en perspectiva del entorno de juego en 3D.
Relacionado con la perspectiva está la "profundidad de campo". La profundidad de campo describe un efecto en el que los objetos que aparecen más próximos a un observador están más enfocados y los objetos que están más alejados parecen desenfocados. La profundidad de campo puede aplicarse a renderizaciones de los diversos objetos en el entorno 100 de juego. Otro efecto que puede aplicarse a las renderizaciones de objetos en el entorno de juego es el "suavizado de los bordes" (antialiasing). El suavizado de los bordes se utiliza para hacer las líneas, que se generan digitalmente como un número de segmentos rectos, parezcan más suaves cuando se renderizan en una pantalla de visualización en la máquina de juego. Dado que la visualización en 2D sólo adopta posiciones de píxel finitas, se produce un escalonamiento en cualquier línea que no sea recta hacia arriba y hacia abajo, recta horizontalmente (hacia la izquierda y la derecha) o a 45 grados en la pantalla de visualización. El escalonamiento produce un efecto visualmente poco atractivo, por tanto, se añaden píxeles a las líneas escalonadas para que este efecto sea menos pronunciado.
Los objetos en el entorno 101 de juego pueden parecer que son estáticos o dinámicos. Por ejemplo, las coordenadas de la caja 127 pueden cambiar con el tiempo mientras que las coordenadas de la caja 101 y el plano 114 permanecen fijas. Por tanto, cuando se renderizan en una pantalla de visualización en una máquina de juego, la caja 127 puede parecer que se mueve en el entorno 101 de juego con respecto a la caja 101. Son posibles numerosos efectos dinámicos. Por ejemplo, la caja 127 puede parecer que gira mientras permanece en una posición fija o puede girar mientras también se traslada para generar un efecto de bote o tambaleo. Además, en el entorno de juego, puede parecer que los objetos chocan unos con otros. Por ejemplo, la caja 127 puede parecer que choca con la caja 101 alterando la trayectoria de la caja 127 en el entorno de juego. Pueden aplicarse numerosos efectos de renderización digital al entorno de juego de la presente invención. Los efectos anteriormente descritos se han proporcionado con fines ilustrativos únicamente.
Pueden aplicarse texto y símbolos alfanuméricos convencionales a uno o más elementos de superficie en el entorno 101 de juego para visualizar información de juego a un jugador. Los símbolos y el texto alfanuméricos pueden aplicarse a diversas superficies en el entorno de juego para generar una pluralidad de visualizaciones de juego que pueden utilizarse como parte de presentaciones del resultado del juego observadas en la máquina de juego. Por ejemplo, pueden renderizarse visualizaciones de juego en cada una de las 6 seis caras superficiales de la caja 101 o la caja 127 y también puede renderizarse una pluralidad de visualizaciones de juego en la superficie 114 plana. En la presente invención, pueden renderizarse visualizaciones de juego a través de una o más superficies de cualquier poliedro u otro objeto definido en el entorno de juego.
El texto y los símbolos renderizados permiten generar presentaciones del resultado del juego para diferentes juegos de azar. Por ejemplo, una mano de cartas para un juego de póquer o juego de black jack puede renderizarse en cada una de las caras de la caja 101 tales como las superficies 108, 110 y 112. Como otro ejemplo, pueden renderizarse números keno o números de bingo en diferentes caras de las cajas 101 y 127. Además, pueden renderizarse visualizaciones de tragaperras y visualizaciones de pachinko para presentaciones del resultado del juego de tragaperras y pachinko en diferentes caras de las cajas 101 y 127.
Pueden renderizarse muchas combinaciones diferentes de juegos de azar en el entorno 100 de juego. Por ejemplo, puede renderizarse una visualización de tragaperras en la cara 108 de la caja 101, puede renderizarse una visualización de juego de black jack en la cara 110, puede renderizarse una visualización de juego de póquer en la cara 112, puede renderizarse una visualización de juego keno en una cara en la caja 101 opuesta a la cara 108, puede renderizarse una visualización de juego de pachinko en una cara en la caja 101 opuesta a 110 y puede renderizarse una visualización de juego de bingo en una cara en la caja 101 opuesta a la cara 112. Puede renderizarse una combinación diferente de visualizaciones de juego en las superficies de la caja 127. Otros juegos de azar que pueden utilizarse en la presente invención incluyen, pero sin limitarse a, juegos de dados (por ejemplo, craps), bacará y ruleta.
\newpage
En la presente invención, se emplea el término juegos de azar para indicar actividades de juego en las que un jugador ha realizado una apuesta sobre el resultado del juego de azar. Dependiendo del resultado del juego para el juego de azar iniciado por el jugador, la apuesta puede multiplicarse. El resultado del juego sólo puede darse al azar, es decir sin ninguna entrada por parte del jugador o sin que el jugador pueda afectar al resultado del juego según una o más decisiones. Por ejemplo, en un juego de videopóquer, el resultado del juego puede determinarse según las cartas que conserve o descarte el jugador. Mientras que en un juego de tragaperras, el resultado del juego, es decir, la posición final de los tambores de tragaperras, se determina aleatoriamente por la máquina de juego.
Las combinaciones de juegos descritas anteriormente pueden renderizarse al mismo tiempo en el entorno de juego en 3D. Un jugador puede jugar a uno o más juegos de manera secuencial. Por ejemplo, un jugador puede seleccionar uno o más juegos, hacer una apuesta para el uno o más juegos y entonces iniciar el uno o más juegos y ver las presentaciones del resultado del juego para el uno o más juegos. Un jugador también puede jugar a uno o más juegos en paralelo. Por ejemplo, un jugador puede seleccionar uno o más juegos, hacer una apuesta para el uno o más juegos e iniciar el uno o más juegos. Antes de que se hayan completado las presentaciones del resultado del juego para el uno o más juegos seleccionados, el jugador puede seleccionar uno o más juegos nuevos, hacer una apuesta para el uno o más juegos nuevos e iniciar el uno o más juegos nuevos. Detalles de una metodología de juego en paralelo se describen en la solicitud estadounidense en tramitación junto con la presente n.º 09/553,437, presentada el 19 de abril de 2000, por Brosnan et al. y titulada "Juegos paralelos en un dispositivo de juego" que queda incorporada al presente documento en su totalidad y a todos los efectos.
El texto y los símbolos renderizados en una visualización de juego no son necesariamente planos, pueden renderizarse en múltiples dimensiones en el entorno 100 de juego. Por ejemplo, cartas renderizadas pueden tener un grosor finito o símbolos elevados. Las cartas pueden manipularse por manos que se definen como modelos de objetos tridimensionales en el entorno 100 de juego en 3D y moverse a medida que se manipulan las cartas. Como otro ejemplo, una visualización de tragaperras puede renderizarse como tambores multidimensionales con símbolos (véase la figura 2) que pueden girar en el entorno 100 de juego.
Una visualización de juego para una presentación del resultado del juego puede renderizarse en una superficie particular y puede cambiar con el tiempo en respuesta a diversas entradas del jugador. Por ejemplo, en un juego de póquer, un jugador puede descartar y conservar diversas cartas mientras están jugando al juego. Por tanto, las cartas en la mano cambian mientras se está renderizando el resultado del juego en el entorno de juego en 3D y algunas cartas (por ejemplo, cartas descartadas) puede parecer que abandonan el entorno de juego. Como otro ejemplo, los tambores en una visualización de tragaperras renderizada en el entorno de juego pueden empezar a rotar en el entorno de juego en respuesta a que un jugador acciona una palanca o pulsa un botón de entrada en la máquina de juego física.
Otras características de juego e información de juego pueden renderizarse también en el entorno 100 de juego. Por ejemplo, juegos de bonificación, promociones, publicidad y gráficos de atracción también pueden renderizarse en el entorno de juego. Por ejemplo, el logotipo de un casino o la cara de un jugador pueden renderizarse en el entorno de juego. Estas características de juego adicionales pueden estar integradas en una presentación del resultado del juego en la máquina de juego o en otros modos operativos de la máquina de juego tal como un modo de atracción.
En otra realización de la presente invención, una persona virtual, por ejemplo un modelo tridimensional de una parte de (por ejemplo, cara, manos, rostro, cabeza y torso, etc.) o de todo un ser humano puede renderizarse en el entorno de juego en 3D. La persona virtual puede estar animada. A modo de ejemplo, ajustando parámetros del modelo tridimensional de la persona virtual de en una secuencia, la persona virtual puede parecer que habla o gesticula. La persona virtual puede utilizarse para explicar instrucciones de juego a un jugador o puede utilizarse como un componente en una presentación de juego. La persona virtual puede parecer que responde o interactúa con un usuario conforme a entradas en la máquina de juego realizadas por el usuario. Por ejemplo, un jugador puede preguntar a la persona virtual una pregunta particular mediante un mecanismo de entrada en la máquina de juego tal como un micrófono en una máquina de juego equipada con software de reconocimiento de voz. A continuación, la persona virtual puede parecer que emite una respuesta a la pregunta introducida por el usuario. También pueden utilizarse modelos en 3D animados para otros objetos, tales como animales o personajes de ficción, en el entorno de juego en 3D.
Una vez definido el entorno de juego en tres dimensiones, para visualizar una parte del entorno de juego en 3D en una pantalla de visualización en la máquina de juego, se genera una "fotografía" de una parte del entorno de juego. La fotografía es una renderización bidimensional de una parte del entorno de juego tridimensional. Las transformaciones entre sistemas de coordenadas en 3D y sistemas de coordenadas en 2D se conocen ampliamente en las técnicas gráficas. La fotografía puede tomarse desde una "cámara" virtual situada en una ubicación dentro del entorno 100 de juego. Una secuencia de fotografías tomadas por la cámara virtual en el entorno de juego puede considerarse análoga a filmar una película.
Una "fotografía" visualizada en la pantalla de visualización de una máquina de juego también puede estar compuesta por muchas fotografías diferentes. Por ejemplo, una fotografía compuesta puede generarse a partir de partes de una primera fotografía generada utilizando una vista ortográfica y partes de una segunda fotografía generada utilizando una vista en perspectiva. Las partes de las fotografías que comprenden la fotografía compuesta pueden colocarse unas encima de otras para proporcionar efectos de "capa", pueden visualizarse unas al lado de otras para producir un "collage" o combinaciones de las mismas.
En otra realización de la presente invención, una fotografía puede ser una combinación mezclada de dos fotografías diferentes. Utilizando un esquema de interpolación de algún tipo, dos fotografías pueden mezclarse en una secuencia de fotografías para proporcionar un efecto de transición (morphing) en el que la primera fotografía parece transformarse en una segunda fotografía. Por ejemplo, un juego tragaperras puede parecer que se transforma en un juego de póquer.
Los parámetros operativos de la cámara virtual, tales como su posición en un momento particular, se utilizan para definir una superficie en 3D en el entorno de juego, que se proyecta sobre una superficie en 2D para producir la fotografía. La superficie en 3D puede comprender partes de varios objetos en 3D en el entorno de juego en 3D. La superficie en 3D también puede considerarse un objeto en 3D. Por tanto, una fotografía es una imagen en 2D derivada de las coordenadas en 3D de objetos en el entorno de juego en 3D. La cámara virtual puede representar una lógica de juego almacenada en la máquina de juego necesaria para renderizar una parte del entorno 100 de juego en 3D en una imagen en 2D visualizada en la máquina de juego. La fotografía se convierte en un cuadro de vídeo, que comprende varios píxeles, que puede visualizarse en una pantalla de visualización en la máquina de juego.
La transformación realizada por la cámara virtual que permite que una parte del entorno de juego virtual se vea en una o más pantallas de visualización en la máquina de juego puede ser en función de varias variables. El tamaño de lente en el entorno de juego virtual, la posición de la lente, una distancia virtual entre la lente y la fotografía, el tamaño de la fotografía, la perspectiva y una variable de profundidad asignada a cada objeto son algunas de las variables que pueden incorporarse en una transformación por la cámara virtual que renderiza una fotografía del entorno de juego virtual. La resolución de la pantalla de visualización en la máquina de juego puede dictar el tamaño de una fotografía en la cámara virtual. Una pantalla de visualización típica puede permitir una resolución de 800 por 600 píxeles de color aunque pueden utilizarse pantallas de mayor o menor resolución. Un "tamaño de lente" en la cámara virtual define una ventana en el entorno de juego virtual. La ventana se denomina en ocasiones como ventana de visualización (viewport). El tamaño y la posición de la lente determinan qué parte del entorno 100 de juego virtual ve la cámara virtual.
Una vez generada la fotografía del entorno de juego virtual, pueden aplicarse otros efectos, tales como suavizado de los bordes estático y dinámico, a la fotografía para generar un cuadro visualizado en una o más visualizaciones ubicadas en la máquina de juego. Normalmente, las operaciones matemáticas y lógicas, que están codificadas en una lógica de software de juego, necesarias para realizar una transformación particular y generar un cuadro de vídeo pueden ejecutarse mediante tarjetas de vídeo y tarjetas gráficas ubicadas en la máquina de juego y diseñadas específicamente para realizar estas operaciones. Las tarjetas gráficas incluyen por lo general unidades de procesamiento gráfico (GPU). Sin embargo, las operaciones de transformación también pueden realizarse por una o más CPU de carácter general ubicadas en la máquina de juego o combinaciones de GPU y CPU.
En general, los aceleradores gráficos de vídeo 2D/3D o coprocesadores, a menudo denominados como unidades de procesamiento gráfico (GPU), están ubicados en o conectados al controlador de juego maestro y se utilizan para realizar operaciones gráficas. Las soluciones descritas se encuentran de la manera más habitual como tarjetas de vídeo. Los sistemas electrónicos gráficos pueden incorporarse directamente en la placa del procesador (por ejemplo, el controlador de juego maestro) de la máquina de juego, e incluso integrarse estrechamente en otras soluciones de chip integrado a muy gran escala. Los procedimientos de integración son a menudo medidas de ahorro de costes utilizadas habitualmente para reducir los costes asociados con la producción en masa. Por ejemplo, tarjetas de vídeo, tales como la Vivid!XS de Video-Logic Systems (VideoLogic Systems es un departamento de Imagination Technologies Group plc, Inglaterra) pueden utilizarse para realizar las operaciones gráficas descritas en la presente invención. Como otro ejemplo, pueden emplearse tarjetas de vídeo de Nvidia Corporation (Santa Clara, California). En una realización, la tarjeta de vídeo puede ser una tarjeta de vídeo en 3D de múltiples terminales, tal como una Matrox G450 (Matrox Graphics Inc., Dorval, Quebec, Canadá). Las tarjetas de vídeo de múltiples terminales permiten a una única tarjeta gráfica soportar dos visualizaciones simultáneamente o renderizar dos imágenes simultáneamente en la misma visualización.
Cuando se visualizan fotografías de una cámara virtual en un entorno de juego en 3D, una única imagen de la cámara puede dividirse entre una pluralidad de dispositivos de visualización. Por ejemplo, cuatro pantallas de visualización pueden utilizarse para visualizar una cuarta parte de una única imagen. La alimentación de vídeo a cada uno de la pluralidad de dispositivos de visualización puede proporcionarse desde una única tarjeta de vídeo. Las tarjetas de vídeo de múltiples terminales permiten a una única tarjeta gráfica (o subsistema gráfico) visualizar salida en dos o más visualizaciones simultáneamente. Puede tratarse de múltiples salidas que renderizan cada visualización o una renderización sobre múltiples visualizaciones, o una variación de ambas. Por ejemplo, cuando se utiliza una tarjeta de vídeo de múltiples terminales, un primer terminal en la tarjeta de vídeo de múltiples terminales puede utilizarse para renderizar una imagen de una primera cámara virtual en un entorno de juego en 3D y un segundo terminal en la tarjeta de vídeo de múltiples terminales puede utilizarse para renderizar una segunda imagen de una segunda cámara virtual en un entorno de juego en 3D. Las imágenes renderizadas primera y segunda del primer y el segundo terminal pueden visualizarse simultáneamente en la misma visualización o la primera imagen puede visualizarse en una primera visualización y la segunda imagen puede visualizarse en una segunda visualización.
Volviendo a la figura 1, tres lentes 105, 106 y 107 utilizadas en una cámara virtual se muestran situadas en tres ubicaciones en el entorno de juego virtual. Cada lente ve una parte diferente del entorno de juego. El tamaño y la forma de la lente pueden variar, lo que cambia una parte del entorno de juego virtual capturado por la lente. Por ejemplo, las lentes 105 y 106 son de forma rectangular mientras que la lente 107 es de forma ovalada.
La lente 106 está situada para ver la "visualización de juego" para una presentación del resultado del juego renderizada en la superficie 108. La parte del entorno de juego capturada por la lente 106 tiene una forma 120 de seis lados. Como se describió anteriormente, la visualización de juego puede contener la presentación de un juego particular al que se juega en la máquina de juego, tal como una mano de cartas para un juego de póquer. Después de aplicar una transformación apropiada, una fotografía 124 de la parte del entorno 100 de juego virtual en volumen 120 se genera por la cámara virtual con la lente 106.
Utilizando terminología diferente que es común en la comunidad de las artes gráficas en 3D, las lentes 105, 106 y 107 pueden describirse como una cámara. Cada cámara tiene la capacidad de tener diferentes configuraciones. Una escena en el entorno de juego en 3D se graba desde el punto de vista de la cámara. Una escena diferente se captura desde cada cámara. Por tanto, la escena se renderiza desde la cámara para producir una imagen.
La fotografía 124 generada desde la cámara virtual con la lente 106 puede verse en una o más pantallas de visualización en la máquina de juego. Por ejemplo, la fotografía 124 puede verse en una visualización principal en la máquina de juego y en una visualización secundaria en la máquina de juego. En otra realización, una parte de la fotografía 124 puede visualizarse en la visualización principal y una parte de la fotografía puede visualizarse simultáneamente en una visualización secundaria. En otra realización más, una parte de la fotografía 124 puede visualizarse en una primera máquina de juego mientra que una parte de la fotografía 124 puede visualizarse simultáneamente en una segunda máquina de juego.
La lente 105 de una cámara virtual está situada para ver el volumen 121 en el entorno 100 de juego virtual. El volumen 121 interseca tres caras 108, 110 y 112, de la caja 101. Tras aplicar una transformación apropiada, se renderiza una fotografía 125 de la parte del entorno 101 de juego virtual en el volumen 121 por la cámara virtual con la lente 105 que puede visualizarse en una de las pantallas de visualización en una máquina de juego.
La lente 107 de una cámara virtual está situada para ver el volumen 122 en el entorno 100 de juego virtual. La forma ovalada de la lente produce un volumen 122 redondeado similar a una luz desde una luz de flash. El volumen 122 interseca una parte de la cara 110 y una parte del plano 114 incluyendo una parte de la sombra 103. Tras aplicar una transformación apropiada, se renderiza una fotografía 126 de la parte del entorno 101 de juego virtual en el volumen 122 por la cámara virtual con la lente 107 que puede visualizarse en una o más de las pantallas de visualización en una máquina de juego. Por ejemplo, una máquina de juego puede incluir una visualización principal, una visualización secundaria, una visualización para una unidad de seguimiento de un jugador y una pantalla de visualización remota en comunicación con la máquina de juego a través de una red de algún tipo. Cualquiera de estas pantallas de visualización pueden visualizar fotografías renderizadas a partir del entorno de juego en 3D.
Una secuencia de fotografías generadas desde una o más cámaras virtuales en el entorno 101 de juego puede utilizarse para presentar una presentación del resultado del juego en la máquina de juego o presentar otras características de la máquina de juego. La secuencia de fotografías puede parecerse a una película o cinta cuando la ve el jugador. Por ejemplo, un modelo en 3D de una persona virtual puede parecer que habla. Normalmente, una tasa de actualización para una pantalla de visualización en una máquina de juego es del orden de 60 HZ o más y pueden generarse nuevas fotografías desde cámaras virtuales en el entorno de juego a medida que se juega al juego para adecuarse a la tasa de actualización.
La secuencia de fotografías de una o más cámaras virtuales en el entorno de juego puede generarse desde al menos una cámara virtual con una posición y ángulo de lente que varía con el tiempo. Por ejemplo, la lente 106 puede representar la posición de una cámara virtual en el tiempo, t_{1}, la lente 105 puede representar la posición de la cámara virtual en el tiempo, t_{2}, y la lente 107 puede representar la posición de la cámara virtual en el tiempo t_{3}. Las fotografías generadas en estas tres posiciones por la cámara virtual pueden incorporarse en una secuencia de fotografías visualizadas en una pantalla de visualización.
La posición de la cámara virtual puede cambiar de manera continua entre las posiciones en los tiempos t_{1}, t_{2}, t_{3} generando una secuencia de fotografías que parece hacer una panorámica del entorno de juego virtual. Entre las posiciones en los tiempos t_{1}, t_{2}, t_{3}, la velocidad a la que se mueve la cámara virtual puede aumentarse o disminuirse. Además, la cámara virtual puede moverse de manera no continua. Por ejemplo, una primera fotografía en una secuencia de fotografías visualizadas en una pantalla de visualización puede generarse desde la cámara virtual utilizando la posición de la lente 106. La siguiente fotografía en la secuencia de fotografías puede generarse desde la cámara virtual utilizando la posición de la lente 105. Una tercera fotografía en la secuencia de fotografías puede generarse desde la cámara virtual utilizando la posición de la lente 107. En general, la cámara virtual en el entorno 101 de juego puede moverse de manera continua, no continua y combinaciones de las mismas.
En una presentación de juego, puede utilizarse una pluralidad de cámaras virtuales, con posiciones que varían en el tiempo, en una pluralidad de entornos de juego virtuales. La información de cámara y entorno en función del tiempo puede almacenarse en la máquina de juego y puede accederse a la misma cuando se necesita una escena particular para un evento de juego en una presentación del resultado del juego de manera que la escena puede renderizarse en "tiempo real". Una escena puede definirse mediante las posiciones de una o más cámaras virtuales en uno o más entornos de juego en función del tiempo. Las escenas pueden modularizarse, es decir, puede generarse una biblioteca de escenas, de modo que pueden incorporarse en diferentes juegos. Por ejemplo, una escena de un botón siendo presionado puede incorporarse en cualquier juego utilizando este tipo de secuencia.
Una secuencia de fotografías generadas desde una primera cámara virtual en un primer entorno de juego virtual puede visualizarse simultáneamente con una secuencia de fotografías generadas desde una segunda cámara virtual en un segundo entorno de juego virtual. Por ejemplo, la primera secuencia de fotografías y la segunda secuencia de fotografías pueden visualizarse en una pantalla dividida o pueden visualizarse en diferentes pantallas. Además, la primera cámara virtual en un primer entorno de juego virtual y la segunda cámara virtual pueden estar ubicadas en un segundo entorno de juego virtual diferente del primer entorno de juego virtual. El primer entorno de juego virtual y el segundo entorno de juego virtual también pueden estar en el mismo entorno de juego. Además, una única cámara virtual puede saltar entre diferentes entornos de juego, tal como entre un entorno de partida de juego a un entorno de juego de bonificación. La transición entre los entornos de juego también puede parecer suave (por ejemplo, la cámara puede hacer una panorámica desde un entorno de manera continua).
En algunas realizaciones, puede ser que un jugador seleccione uno o más entornos de juego virtuales utilizados en una partida de juego en una máquina de juego. Por ejemplo, un primer entorno de juego puede implicar un perfil de ciudad, como el de Nueva York, mientras que un segundo entorno de juego puede implicar un perfil de ciudad, como el de París. Durante una partida de juego en una máquina de juego, un jugador puede ser capaz de seleccionar Nueva York o París como perfil de ciudad para el entorno de juego virtual utilizado durante la partida de juego. Los diferentes entornos de juego y las diferentes escenas generadas a partir de los entornos pueden almacenarse en una memoria en la máquina de juego como una biblioteca de algún tipo.
En realizaciones particulares, mientras se está utilizando la máquina de juego, un jugador puede ser capaz de controlar la posición de la cámara virtual utilizando un mecanismo de entrada en la máquina de juego (véase la figura 9). Por ejemplo, un jugador puede ser capaz de mover la posición de la lente 106 más cerca de la superficie 108 en el entorno 108 de juego lo que genera la apariencia de un zoom o el objeto puede moverse más cerca de la cámara. Para juegos de cartas de múltiples manos, un jugador puede ser capaz de acercarse mediante zoom sobre a una mano particular para "ampliar a voluntad" la mano aumentando la visibilidad de la mano. Por ejemplo, un jugador puede utilizar un mecanismo de entrada para "desplazar" (scroll) la cámara y ver partes más grandes. Como otro ejemplo, el jugador puede ser capaz de manipular una cámara virtual por el entorno de juego o seleccionar una escena en el entorno de juego. Una oportunidad para mover la cámara virtual puede desencadenarse por ciertos eventos de juego tales como un evento de juego de bonificación en la máquina de juego o el movimiento de la cámara está establecido en el guión (por ejemplo predeterminarse) como parte de la secuencia de juego. Por ejemplo, como parte de jugar un evento de juego de bonificación, un jugador puede ser capaz de escoger entre un número de puertas que lleva a diferentes habitaciones con cofres de tesoro. Cuando el jugador entra en una de las habitaciones, el cofre se abre y se muestra su premio de bonificación.
Con la presente invención, algunas ventajas de generar un entorno de juego en 3D que puede renderizarse en tiempo real en una pantalla de visualización son las siguientes. En primer lugar, permite presentar a un jugador y posiblemente que éste controle una presentación del resultado del juego compleja en tiempo real. Por tanto, la presentación del resultado del juego puede variar de un juego a otro de la manera determinada por el jugador. Las presentaciones del resultado del juego tradicionales se modelizaban en 2D y se daba poco control al jugador. Por tanto, las presentaciones del resultado del juego tradicionales no varían mucho de un juego a otro. En segundo lugar, problemas de resolución de pantalla asociados con la presentación de un gran número de juegos simultáneamente en una única pantalla pueden evitarse modelizando los juegos en un entorno de juego en 3D.
En cualquier momento dado durante una presentación de juego vista en una pantalla de visualización en la máquina de juego, el jugador sólo puede visualizar una parte de la pluralidad de los juegos modelizados en el entorno de juego en 3D. Por tanto, la jugabilidad en un entorno de juego en 3D es mayor que en un entorno de juego en 2D porque puede presentarse un juego de azar en superficies modelizadas en el entorno de juego en 3D que pueden estar ocultas a la vista. En un entorno de juego en 2D, no hay superficies ocultas, es decir, "lo que ves" es "lo que hay". Puesto que el punto de vista en el modelo en 3D puede variarse, el jugador o máquina de juego puede acercarse mediante zoom a uno o más juegos de interés, algunos de los cuales pueden estar ocultos en una vista actual en 2D, y seleccionar un nivel de resolución deseable. Por tanto, todos los juegos o componentes de juego no tienen que renderizarse en una única pantalla simultáneamente.
La figura 2 es un dibujo en perspectiva de tres tambores 202, 204 y 206 tragaperras virtuales en un entorno 200 de juego virtual en 3D implementado en una máquina de juego para una realización de esta invención. Los tres tambores tragaperras están modelizados como partes cilíndricas en el espacio 201 de coordenadas. Los tambores parecen estar colgando en el espacio. Se renderizan diferentes símbolos sobre cada tambor incluyendo un triángulo 210, una triple barra 212, un "siete" 214, una doble barra 216 y un óvalo 218. Otros símbolos (no mostrados) pueden renderizarse en las partes posteriores de los tambores. En un entorno de juego tragaperras en 3D virtual, tal como 200, puede variarse un tamaño de los tambores, un número de tambores, un número de símbolos en los tambores y tipos de símbolos en los tambores. También, puede variarse el escenario de fondo (no mostrado) en el entorno.
Una ventana 208 se renderiza sobre los tambores 202, 204 y 206, para ilustrar un número de símbolos que pueden ser visibles en una visualización de tragaperras mecánica. Como mucho, pueden verse en la visualización de tragaperras mecánica nueve símbolos, por ejemplo las tres dobles barras, tres sietes y tres triples barras. Cuando el jugador ve múltiples símbolos, los múltiples símbolos pueden utilizarse para generar múltiples líneas de pago que pueden apostarse durante la partida.
Cuando los tambores en una máquina de juego se detienen después de haberse recibido una apuesta y haberse iniciado un juego, una combinación de símbolos a lo largo de una línea de pago puede compararse con combinaciones ganadoras de símbolos para determinar un premio para el juego. Por ejemplo, se muestran tres líneas 228, 229 y 230 de pago. Tres símbolos "siete" se encuentran a lo largo de la línea 229 de pago. Una triple barra, un siete y una doble barra se muestran a lo largo de las líneas 228 y 230 de pago. A menudo se utiliza la combinación de triple siete como combinación ganadora en los juegos tragaperras. El número de líneas de pago aumenta las oportunidades de apuesta para un juego dado y algunos jugadores desean juegos de múltiples líneas de pago. En algunos juegos tragaperras, sólo puede verse una única línea de símbolos, tal como los tres sietes, y un jugador puede apostar sólo en una única línea de pago.
Para una presentación de resultado del juego, los tambores 202, 204 y 206 tragaperras pueden empezar cada uno a girar y moverse en el entorno de juego virtual. En el espacio 200 virtual, los tambores pueden girar en diferentes direcciones, trasladarse, girar alrededor de diferentes ejes, encogerse de tamaño o crecer de tamaño, ya que los tambores no están limitados por las limitaciones de los tambores tragaperras mecánicos reales. Durante la presentación del resultado del juego, una cámara virtual, que puede variar su posición en función del tiempo, puede filmar una secuencia (por ejemplo, generar un número de fotografías en una secuencia) que se visualizan en una pantalla de visualización en la máquina de juego y que capturan el movimiento de los tambores.
Varias cámaras virtuales pueden estar situadas en el entorno 200 de juego virtual para capturar uno o más símbolos en los tambores tragaperras. Por ejemplo, la lente 220 de una cámara virtual captura el símbolo "7" en el tambor 202 en el volumen 221 del entorno 200 de juego virtual. La lente 222 de una cámara virtual captura el símbolo "triángulo" en el tambor 204 en el volumen 223 del entorno de juego virtual. La lente 224 de una cámara virtual captura un símbolo "triple barra" (no mostrado) en el tambor 204 del entorno de juego virtual. Finalmente, la lente 226 de una cámara virtual captura el símbolo "óvalo" en el tambor 206 en el volumen 226 del entorno de juego virtual. Sin embargo, también puede utilizarse una única cámara virtual para capturar múltiples símbolos tal como una línea de símbolos a través de múltiples tambores.
Los símbolos capturados desde las cámaras virtuales utilizando las lentes 220, 222, 224 y 226 pueden utilizarse para crear varias líneas de pago que pueden utilizarse para apostar. Por ejemplo, los símbolos capturados desde las lentes 220, 222 y 226 se utilizan para generar una primera combinación de símbolos 232 sobre la que puede apostarse durante la partida. Los símbolos capturados desde las lentes 220, 224 y 226 se utilizan para generar una segunda combinación de símbolos 234 sobre la que puede apostarse durante la partida. Finalmente, las cámaras virtuales pueden estar situadas a lo largo de la línea 230 de pago para capturar la combinación 236 de símbolos.
En la presente invención, el número de líneas de pago que puede implementarse es bastante grande. Por ejemplo, para tres tambores virtuales con 25 símbolos en cada tambor, pueden utilizarse 253 líneas de pago. En una realización, para ayudar a la visualización de una gran cantidad de información de juego generada en un entorno de juego virtual, la información de juego generada en un primer entorno de juego puede transferirse a un segundo entorno de juego. Por ejemplo, información de juego relativa a combinaciones de símbolos a lo largo de una pluralidad de líneas de pago generadas en el entorno 200 de juego puede transferirse a un segundo entorno de juego con cámaras virtuales para renderizarla en una visualización vista por un jugador.
En otra realización, los tambores 202, 204, 206 tragaperras pueden parecer translúcidos de modo que los símbolos en la parte posterior del tambor pueden ser visible desde la parte frontal. Las líneas de pago, sobre las que puede apostar un jugador, pueden renderizarse en el "espacio virtual" para conectar símbolos en la parte frontal de un tambor con un símbolo en la parte posterior del tambor. Por ejemplo, puede renderizarse una línea de pago desde la parte frontal del tambor 202 a la parte posterior del tambor 204 y hacia la parte frontal del tambor 206.
A continuación, se describen otras realizaciones para visualizar símbolos que pueden utilizarse en juegos de azar y juegos de bonificación de la presente invención y se contrastan con una máquina tragaperras mecánica tradicional. En un juego tragaperras mecánico, se monta una cinta de tambor en un tambor que se hace girar mediante un motor. La cinta de tambor puede ser una cinta rectangular de un medio imprimible con un número de símbolos diferentes impresos sobre la misma. Los símbolos están dispuestos en una secuencia particular. Un juego tragaperras mecánico típico puede emplear una pluralidad de tambores, como por ejemplo tres tambores, para presentar un juego de azar.
La máquina tragaperras mecánica puede incluir una o más tablas de pago que definen una probabilidad de que se produzca cada posición para un único tambor/rueda o una probabilidad de que se produzca cada combinación de posiciones para una pluralidad de tambores. Por ejemplo, algunas máquinas tragaperras mecánicas incluyen una rueda de bonificación y 3 tambores. La probabilidad de cada posición o combinaciones de posiciones puede ser proporcional a una cantidad de pago de un juego de azar al que se juega en la máquina tragaperras. Una vez hecha una apuesta e iniciado el juego, para determinar un resultado para el juego de azar, puede generarse un número aleatorio y compararse con entradas en la tabla de pago almacenada en la máquina de juego.
Utilizando la tabla de pago y el número aleatorio, puede determinarse una posición de cada uno del uno o más tambores y o ruedas y un resultado para el juego. La máquina tragaperras puede entonces girar los tambores basándose en un algoritmo almacenado en la máquina de juego y detenerlos en la posición predeterminada. La posición de cada tambor está marcada por lo general con un símbolo impreso sobre la cinta de tambor en la posición o un espacio vacío. Por lo general, sólo una parte de los símbolos en cada cinta de tambor es visible para el jugador en un momento determinado. Por tanto, mientras el uno o más tambores rotan, el jugador ve diferentes partes de cada cinta de tambor. La posición final del uno o más tambores indica un símbolo o una combinación de símbolos. La combinación de símbolos visualizada en los tambores mecánicos, definida por una línea de pago, puede utilizarse por el jugador para determinar si la combinación es una combinación ganadora.
La figura 3 es un diagrama de flujo que representa un procedimiento para generar un juego utilizando un entorno de juego virtual en 3D. En 700, se seleccionan eventos de juego que comprenden un juego de azar al que se juega en la máquina de juego y que están representados visualmente. En 705, se genera un guión visual (story-board) en 3D que describe una escena en uno o más entornos de juego virtuales para cada evento de juego. La información de la escena puede incluir posiciones de cámara virtual en función del tiempo en uno o más entornos de juego. Por ejemplo, un guión para cartas que se están manipulando en un juego de cartas puede describir un par de manos en 3D que manipulan la carta sobre una mesa de juego con una cámara virtual situada directamente por encima de la mesa de juego mirando hacia abajo hacia las manos. La información de la escena también puede incluir información de juego generada en un formato textual, que se renderiza en el entorno de juego en 3D utilizando objetos de texto en 3D de la presente invención (véanse las figuras 4A a 8B). En 710, se genera una escena correspondiente al guión visual en 3D para cada evento de juego en uno o más entornos de juego virtual en 3D. En 715, se "filma" una escena correspondiente al guión visual para cada evento de juego en el uno o más entornos de juego en 3D. Filmar cada evento de juego en el entorno de juego en 3D comprende seleccionar una secuencia de posiciones y ángulos de la cámara virtual en el uno o más entornos de juego en 3D. En algunas realizaciones, un jugador puede controlar la posición de la cámara virtual en cierto modo. En 720, una secuencia de superficies de proyección en 2D (por ejemplo, imágenes de la cámara virtual) derivadas de las coordenadas tridimensionales de las superficies en el entorno de juego en 3D se renderizan en una pantalla de visualización en la máquina de juego.
En las figuras 4A a 8B, se describen cuestiones y detalles relacionados con la renderización de texto en 3D en un entorno de juego en 3D de la presente invención. En la presente invención, según se describe con respecto a la figura 1, pueden generarse objetos de texto en 3D para la visualización de información de juego en un formato textual en tiempo de ejecución por la máquina de juego, es decir, el texto no está en un formato de visualización prerrenderizado. Utilizando la presente invención, un diseñador puede ser capaz de especificar y ajustar fácilmente el formato y la apariencia de texto gráfico que se renderiza a partir de un entorno de juego en 3D y se visualiza en una pantalla de visualización de la máquina de juego. El diseñador puede ser capaz de especificar el formateo visual de una cadena de texto utilizando llamadas de función que se almacenan en un archivo de instrucciones (script) en la máquina de juego. Utilizando estas llamadas de función, el controlador de juego maestro en la máquina de juego puede renderizar el texto en la manera especificada por el diseñador. Cuestiones y procedimientos de alto nivel en relación con la renderización de texto en 3D en un entorno de juego en 3D se describen con respecto a las figuras 4A a 5B. A continuación se describen los detalles de la generación de una fuente específica en el entorno de juego en 3D.
La primera etapa en la generación de visualizaciones de texto formateado utilizando objetos de texto en 3D de la presente invención en la máquina de juego puede ser la creación de una fuente (véanse las figuras 6A a 6D). Una fuente puede ser una colección de datos que representa el aspecto visual y colocación de caracteres, que pueden utilizarse entonces para formar palabras, frases y párrafos. La colección de datos puede almacenarse en un archivo de fuente.
El archivo de fuente puede entonces cargarse en la máquina de juego, que puede utilizar la información de fuente para producir salida de texto formateado utilizada en un entorno de juego en 3D en tiempo de ejecución (véanse las figuras 7 y 8A a 8B). La salida de texto formateado puede generarse como un objeto de texto en 3D y renderizarse en el entorno de juego en 3D como un cuadro de mapa de bits utilizado en una presentación del resultado del juego visualizada en la máquina de juego. En particular, en una realización, las fuentes pueden incluir mapas de bits de caracteres alfanuméricos, que se mapean con polígonos. Los mapas de bits proporcionan una textura para los polígonos. Los polígonos resultantes con sus texturas asociadas pueden utilizarse para representar una cadena de texto y se denominan objeto de texto en 3D. En otra realización, la fuente puede incluir descripciones de vértices en 3D de formas utilizadas como caracteres alfanuméricos en 3D. Las formas pueden ensamblarse en el entorno de juego en 3D con una textura apropiada para generar un objeto de texto en 3D de una cadena de texto. Las ubicaciones de una pluralidad de caracteres (polígonos con mapas de textura) en el entorno de juego en 3D unos con respecto a otros pueden determinarse utilizando diversas reglas de composición tipográfica. Las reglas de composición tipográfica, tales como espaciado entre caracteres o ancho de línea, pueden implementarse con el fin de aumentar la calidad del texto cuando se visualiza en una pantalla visual de la máquina de juego.
El objeto de texto en 3D, que generalmente comprende una pluralidad de caracteres en una cadena de texto, puede capturarse mediante una cámara virtual en el entorno de juego en 3D y utilizarse como parte de la presentación del resultado del juego o presentación de juego de bonificación en la máquina de juego. Detalles de la arquitectura de software de juego y el sistema operativo de juego que pueden utilizarse con la presente invención se describen en la solicitud estadounidense en tramitación junto con la presente n.º 10/040.329, presenta el 3 de enero de 2002, por LeMay, et al., titulada, "Game Development Architecture That Decouples The Game Logic From The Graphics Logic", y la solicitud estadounidense nº 10/041.212, presentada el 7 de enero de 2002, por Breckner, et al., titulada "Decoupling Of The Graphical Presentation Of A Game From The Presentation Logic", que se incorporan cada una en el presente documento por referencia en su totalidad y a todos los efectos.
La composición tipográfica, es decir, la generación de texto impreso, tiene una larga historia, que data de hace cientos de años. En los últimos años se han adaptado los procesos mecánicos para la composición tipográfica al ordenador a través de procesadores de texto. Los procesadores de texto permiten al usuario disponer caracteres alfanuméricos sobre papel virtual en una pantalla de visualización de ordenador e imprimir los caracteres mediante una impresora en una hoja de papel. Los procesadores de texto emplean reglas, muchas desarrolladas originalmente con respecto a composición tipográfica mecánica, que especifican cómo disponer los caracteres unos con respecto a otros y las propiedades de los caracteres para su máxima legibilidad tras su impresión. Producir texto fácilmente legible es importante en la industria del juego porque la visualización de texto poco legible puede asociarse con una calidad inferior del producto al que el texto está asociado.
Aunque muchas reglas de composición tipográfica mecánica que aumentan la legibilidad pueden aplicarse directamente a procesadores de texto informáticos, otras reglas se han desarrollado específicamente y/o han tenido que adaptarse para cuestiones particularmente relacionadas con los medios informáticos. Por ejemplo, el ajuste a escala de caracteres pixelados es un ejemplo en el que las reglas de composición tipográfica se han desarrollado específicamente para los medios informáticos. Algunas cuestiones de ajuste a escala relacionadas con renderización de texto por ordenador se describen con respecto a las figuras 4A y 4B. Este ajuste a escala de caracteres se proporciona para ilustrar que cuando se introduce un nuevo procedimiento/aparato para generar texto en un nuevo entorno, por ejemplo, entornos de juego en 3D de la presente invención, pueden requerirse nuevos procedimientos de composición tipográfica para adaptarse a los requisitos de los nuevos procedimientos/aparatos. Además, las cuestiones de ajuste a escala son también importantes cuando se renderiza texto en un entorno de juego en 3D.
En una impresora mecánica, tal como una máquina de escribir, un carácter se forma sobre el papel cuando una tecla mecánica con un carácter alfanumérico golpea una cinta de tinta para transferir un patrón del carácter en la tecla al papel. En un procesador de texto informático, un mapa de bits de un carácter alfanumérico, que comprende una serie de bits coloreados, puede utilizarse para generar texto en una pantalla o una impresora. En el ordenador, un mapa de bits puede ajustarse a escala para hacer que el carácter parezca más grande o más pequeño, es decir, para aumentar el tamaño de fuente cuando se imprime en un monitor o una pantalla de visualización. El ajuste a escala informático es mucho más sencillo que en un entorno mecánico y es una ventaja de un procesador de texto informático.
En la figura 4A, se muestra un ajuste 300 a escala de mapa de bits de un mapa 302 de bits de un carácter "a". El mapa 302 de bits consiste en un número de bits blancos y negros en una disposición en un patrón del carácter "a." Los bits pueden proporcionar información a un dispositivo de visualización para encender o apagar ciertos píxeles o puede proporcionar información a una impresora respecto a dónde deberían ubicarse las gotas de tinta. Cuando se imprime el mapa de bits sin ajuste 306 a escala en una pantalla o impresora con suficiente resolución para visualizar el mapa de bits, el patrón de carácter tiene la misma apariencia que en el mapa de bits. Sin embargo, cuando se aumenta la escala 308 del carácter, se disminuye la escala 304 o se imprime en una pantalla con una resolución insuficiente, es posible tener que añadir o quitar píxeles para visualizar el carácter "a".
Añadir o quitar bits en el mapa de bits puede alterar el patrón de mapa de bits visualizado, según se muestra en la figura 4A, de modo que se degrada la legibilidad del texto. El patrón de mapa de bits se degrada porque la información de mapa de bits no contiene información relativa a la relación de los bits entre sí respecto al patrón generado por los bits. Este problema de degradación de patrón de mapas de bits cuando el ajuste a escala es exclusivo de visualizaciones informáticas pixeladas y no es un problema cuando se utiliza composición tipográfica mecánica para imprimir en papel.
En la figura 4B se muestra ajuste a escala con fuentes 310 vectoriales, que es una solución al problema de ajuste a escala. En una fuente 312 vectorial, la información relativa al patrón del carácter se incluye en la información de fuente. Cuando se genera una fuente vectorial, se envía información 314 de fuente y de ajuste a escala a un rasterizador 318 en el dispositivo informático. El rasterizador es un software que está incrustado en el sistema operativo. Reúne información sobre el tamaño, color, orientación y ubicación de la fuente vectorial y convierte la información en un mapa de bits que puede entender la tarjeta gráfica y el monitor o una impresora. Por tanto, con una fuente vectorial, tal como una fuente TrueType, cuando se utiliza un ajuste 320 a escala disminuido, ningún ajuste 322 a escala o un ajuste 324 a escala aumentado, puede mantenerse la calidad del carácter generado.
La información de fuente y de ajuste a escala puede incluir también información de hinting para disponer bits cuando la escala de la fuente es bastante pequeña. El hinting es un proceso que hace que la apariencia de una fuente que se ha disminuido mediante ajuste a escala a un pequeño tamaño sea la mejor. En lugar de utilizar simplemente el perfil vectorial para determinar ubicaciones de píxel, los códigos de hinting garantizan que los caracteres se alinean bien con los píxeles de modo que la fuente parece lo más homogénea y legible posible. Los procedimientos de hinting y vectoriales, así como otros procedimientos conocidos en las técnicas de procesamiento de textos, pueden utilizarse con las fuentes y la generación de texto en 3D de la presente invención. Sin embargo, como en el ejemplo de ajuste a escala de mapa de bits descrito con respecto a las figuras 4A y 4B, estos procedimientos pueden no ser trasladables directamente a renderización gráfica en 3D y pueden tener que adaptarse para los requisitos exclusivos de un sistema de renderización gráfica en 3D. Algunos detalles de renderización gráfica en 3D se han descrito con respecto a la figura 1. Detalles adicionales de renderización gráfica en 3D en el contexto de generación de texto se describen con respecto a la figura 4C y 4D.
En la figura 4C, se describe el curso 325 de ejecución de renderización gráfica en 3D para una realización de la presente invención. En el curso 325 de ejecución de renderización gráfica en 3D, una entrada en el curso de ejecución pueden ser vértices para una pluralidad de formas, es decir, objetos 326 en 3D. Como se describe con respecto a la figura 1, las formas pueden discretizarse como varios polígonos triangulares definidos por los vértices. Se hace referencia a los datos de vértice como datos primitivos. La salida del curso de ejecución puede ser una disposición 340 de mapa de bits que pueden dibujarse en una pantalla de visualización.
Los datos primitivos pueden operarse mediante varias transformaciones 332. Estas transformaciones incluyen una transformación de visión, una transformación de modelización, una transformación de proyección y una transformación de ventana de visualización. La transformación de visión sitúa la cámara virtual en el entorno de juego en 3D. La transformación de visión define un volumen de espacio en el entorno de juego en 3D que se captura por la cámara virtual. Los vértices que queden fuera de este volumen de espacio pueden recortarse cuando se renderiza una fotografía del entorno de juego en 3D.
La transformación de modelización sitúa los objetos 326 en 3D en el entorno de juego en 3D incluyendo rotaciones, traslaciones y ajuste a escala de los objetos. Los objetos de texto en 3D de la presente invención son un tipo de objeto en 3D y pueden manipularse utilizando la transformación de modelización. La transformación de proyección es análoga a seleccionar una lente para la cámara virtual. Afecta al campo de visión (tamaño del volumen de visión) así como a cómo se proyectan los objetos sobre la pantalla. Por ejemplo, la transformación de proyección puede dar como resultado el recorte de objetos no en el volumen de visión definido por la transformación de proyección. La transformación de ventana de visualización especifica el tamaño de pantalla que está disponible para la visualización de una fotografía tomada en el entorno de juego en 3D. Utilizando la transformación de ventana de visualización, la fotografía puede ampliarse, encogerse o estirarse. Las transformaciones de proyección y de ventana de visualización determinan cómo una escena se mapea con la pantalla de visualización. El usuario 330 puede definir estas transformaciones en función del tiempo.
Como resultado de las transformaciones de visión y modelización se generan nuevos datos de vértice para las superficies poligonales triangulares. Además, se generan coordenadas de textura para cada una de las superficies poligonales. Diversos patrones de color, denominadas texturas, pueden mapearse con las superficies poligonales triangulares. La textura puede representarse como una disposición de valores de color para cada posición en la disposición. Las posiciones en la disposición con sus valores de color asociados se denominan a menudo téxeles.
En una realización de la presente invención, las texturas que representan diversos caracteres en una fuente pueden mapearse con una o más superficies poligonales para generar un patrón de una cadena de texto especificada en la superficie 336 poligonal (véanse las figuras 7 y 8A). Las coordenadas de textura se utilizan para mapear las texturas con superficies poligonales. En otra realización, pueden definirse fuentes como objetos en 3D en el entorno de juego en 3D utilizando varios vértices. En este caso, puesto que la fuente se modeliza en 3D, las texturas mapeadas con la fuente pueden ser más sencillas, tales como un color plano, en lugar de un patrón de una fuente.
En la rasterización 334, pueden convertirse datos de píxel y geométricos en fragmentos. Cada fragmento puede corresponder a un píxel en la memoria intermedia de cuadros. Se consideran punteados de líneas y polígonos, ancho de línea, tamaño de punto, modelo de sombreado y cálculos de cobertura para ayudar al suavizado de los bordes cuando los vértices están conectados en líneas o se calculan los píxeles interiores para un polígono relleno. Se asignan valores de color y profundidad para cada cuadrado de fragmento. Para cada fragmento pueden realizarse operaciones adicionales, tales como generar un elemento 338 de téxel, determinadas por los mapas de textura, para cada fragmento.
Como se describe con respecto a la figura 4D, el mapa de téxeles puede no estar alineado con los fragmentos generados después de la rasterización. En este caso, los téxeles pueden magnificarse o minimizarse creando distorsiones. Además, otras operaciones, tales como mezclado e interpolación (dithering), pueden realizarse en cada fragmento, lo que puede también introducir distorsiones. Estas distorsiones pueden afectar a la calidad del texto renderizado.
Una vez procesado el fragmento, el píxel restante puede visualizarse en la pantalla 340 de visualización. Por ejemplo, se muestra una disposición de píxeles 13 x 16 en la que un cubo 326 se mapea con una textura de un carácter 336 "a". La baja resolución de la ventana de visualización 13x16 da como resultado un cubo y el perfil del carácter "a" relativamente rudimentarios.
Normalmente, el hardware/software de renderización gráfica en 3D no proporciona utilidades para generar texto, tales como un procesador de texto, y los procesadores de texto comerciales no son compatibles con sistemas de renderización gráfica en 3D. Todo el texto en el entorno de juego en 3D se genera en el contexto de definir objetos en 3D, operando sobre los vértices de estos objetos a través de diversas transformaciones y aplicando texturas a los objetos que permita el sistema de renderización gráfica en 3D. El hardware/software de renderización gráfica en 3D puede procesar todos los polígonos y sus texturas asociadas de una manera similar que es independiente de si los polígonos y texturas se utilizan para visualizar texto o no. Al sistema de renderización gráfica en 3D no le preocupa si el texto renderizado es legible o no. Es responsabilidad del usuario proporcionar procedimientos, tales como reglas de composición tipográfica en 3D, que sean compatibles con un sistema de renderización gráfica en 3D particular y que produzcan texto legible.
En la presente invención se proporcionan procedimientos para renderizar texto legible en un entorno de renderización gráfica en 3D. Se consideran cuestiones tales como minimizar el número de vértices procesados, lo que es importante en lo que respecta a tiempos de renderización, y minimizar distorsiones resultantes de ajustar a escala mapas de textura y transformaciones (es decir, las transformaciones de visión, modelización, proyección y ventana de visualización). Además, se consideran procedimientos para aprovecharse de los atributos exclusivos del entorno de renderización gráfica en 3D, tales como la capacidad de escribir texto en páginas de texto en 3D no rectangulares, variables en el tiempo. En un procesador de textos típico, el texto siempre se escribe en una página rectangular en 2D en la que la forma de la página no varía con el tiempo.
Según se describe con respecto a 4A a 4C, hay muchas funciones de composición tipográfica que han de adaptarse a los requisitos exclusivos de un sistema de renderización gráfica en 3D para producir salida de texto de alta calidad. En una realización de la presente invención, pueden mapearse texturas con patrones de fuente con polígonos para generar cadenas de texto. El mapeo de las texturas con los polígonos se ve afectado por los procedimientos utilizados en el sistema de renderización gráfica en 3D. Las texturas pueden utilizarse para rellenar con un color o un patrón de color una cara de un polígono definida en 3D por varios vértices.
En una realización de la presente, las texturas de fuente se definen como una disposición de téxeles. Los téxeles se definen en coordenadas paramétricas no dimensionales que se mapean con polígonos en el entorno de juego en 3D utilizando las coordenadas de textura de los vértices. Después de aplicar diversas transformaciones a los primitivos (vértices de los objetos definidos en el entorno de juego en 3D), pueden generarse las coordenadas de textura. A continuación, puede rasterizarse una fotografía inicial del entorno de juego en 3D en fragmentos (véase la figura 4C). Después de realizar diversas operaciones sobre los fragmentos, tales como aplicar texturas, los fragmentos pueden convertirse en píxeles en la memoria intermedia de cuadros para la visualización en la pantalla de visualización.
Como se ilustra en la figura 4D, el mapeo de téxeles con fragmentos puede no producirse en modo uno a uno. En el proceso de aplicación de los téxeles en una textura a los fragmentos en el sistema de renderización gráfica en 3D, pueden mapearse varios téxeles en la textura con un único fragmento o puede mapearse un único téxel con varios fragmentos. Estos procesos se denominan respectivamente minificación y magnificación.
Como ejemplo de minificación, en la figura 4D, cuatro téxeles en la textura 346 se mapean con un único fragmento 342. La información procedente de los cuatro téxeles se interpola en cierto modo para proporcionar la información de textura para el fragmento 342. En el caso de una textura que visualiza patrones de carácter. La interpolación puede dar como resultado la pérdida de información y una degradación de la legibilidad del texto renderizado utilizando los téxeles.
Como ejemplo de magnificación, en la figura 4D, información procedente de pequeñas partes de cuatro téxeles en la textura 346 se magnifica a nueve fragmentos. La información procedente de los cuatro téxeles se interpola en cierto modo para proporcionar información de textura para los nueve fragmentos 344. La interpolación puede añadir información que degrada la legibilidad del texto visualizado. En la presente invención, se describen procedimientos que intentan minimizar la degradación en la legibilidad de texto resultante de la interpolación de texturas de fuente a las superficies de objetos en 3D en el entorno de juego en 3D. Estos procedimientos se describen con respecto a las figuras 5A a 8B.
Antes de proporcionar detalles de los procedimientos de renderización de texto de la presente invención, los procedimientos de renderización de texto se describen en un nivel más alto en el contexto de renderización en 3D en un sistema de renderización gráfica en 3D utilizando los diagramas de flujo de las figuras 5A y 5B. La figura 5A es un diagrama de bloques que describe un procedimiento para generar un entorno de juego en 3D con objetos de texto en 3D. Los objetos de texto en 3D se refieren a objetos en 3D en el entorno de juego en 3D utilizados para generar una cadena de texto cuando se renderizan en la pantalla de visualización. Los objetos de texto en 3D pueden incluir, pero no se limitan a, objetos en 3D texturizados con patrones que representan fuentes, objetos en 3D en forma de letras o combinaciones de las mismas.
En 150, para un estado de presentación, se determina una configuración de un entorno de juego en 3D para el estado. La configuración puede depender del guión visual/de audio desarrollado para el estado (véase la figura 3). El estado de presentación puede comprender una secuencia de fotografías que se renderizan en la pantalla de visualización a partir del entorno de juego en 3D. En general, la información transmitida en el estado de presentación dependerá de la finalidad del estado de presentación (por ejemplo, presentación de resultado del juego, presentación de juego de bonificación, revisión de la historia del juego, mantenimiento, etc.). El estado de presentación puede ser en respuesta a un
evento(s) particular(es) que se produce(n) en la máquina de juego, tales como que un jugador inicie un juego de azar.
En 152, para el entorno de juego en 3D determinado, los tipos y ubicaciones/orientación iniciales de objetos en 3D que incluyen texturas se especifican en función del tiempo. Los objetos en 3D pueden comprender objetos de texto en 3D que están adaptados para transmitir información textual sobre la pantalla de visualización durante el estado de presentación. Durante el estado de presentación, los tipos y números de objetos pueden variar en función del tiempo en el entorno de juego en 3D. En 154, las transformaciones de visión, modelización, proyección y ventana de visualización para el estado de presentación se especifican en función del tiempo. Estas transformaciones, según se describe con respecto a la figura 4C, afectan a la salida del proceso de renderización.
En 158, se ensamblan los tipos de objeto en 3D y texturas especificados. En 160, para cada textura u objeto especificado, cuando el objeto en 3D o la textura está disponible en memoria, puede cargarse en 164. En 160, cuando el objeto en 3D o textura no está disponible puede generarse en 162. Por ejemplo, pueden almacenarse en memoria modelos paramétricos de objetos en 3D o texturas que permiten generar los objetos en 3D o texturas parametrizados según sea necesario. En 168, para el estado de presentación, se renderiza una secuencia de fotografías. El proceso de renderización, según se describe con respecto a la figura 4C, puede implicar aplicar las transformaciones de visión, modelización, proyección y ventana de visualización en los objetos ensamblados y añadir las texturas especificadas a los objetos.
En la figura 5B, se proporciona un diagrama de flujo con detalles adicionales de la renderización de texto en 3D. En 176, se cargan en la máquina de juego geometrías de fuente y texturas de fuente disponibles para su uso en la generación de objetos de texto en 3D. Las geometrías y texturas pueden comprender parámetros que permiten generar las geometrías y texturas sobre la marcha o datos que especifican realmente la geometría de fuente o las texturas de fuente. La generación de textura de fuente para una realización de la presente invención se describe con más detalle con respecto a las figuras 6A a D.
En 178, se especifican las cadenas de texto, páginas de texto y órdenes de composición tipográfica para objetos de texto en 3D. La cadena de texto puede ser una cadena de caracteres que va a renderizarse en el entorno de juego en 3D utilizando texturas de fuente, geometrías de fuente o combinaciones de ambas. La página de texto puede ser una superficie curva en 3D utilizada para guiar la colocación de texto en el entorno de juego en 3D. Los límites, forma, color y posición de la página de texto pueden variar en función del tiempo. Las órdenes de composición tipográfica pueden utilizarse para especificar operaciones que han de realizarse sobre las fuentes, tales como ajuste a escala, espaciado entre líneas, espaciado entre caracteres, justificación y centrado de los caracteres en la cadena de texto en la página de texto en 3D, u operaciones que han de realizarse sobre la página de texto en 3D, tales como cambiar la posición y la forma de la página de texto en 3D en función del tiempo.
Las órdenes de composición tipográfica pueden incluir también aplicar reglas de composición tipográfica que no están controladas por el usuario. Estas reglas de composición tipográfica pueden aplicarse para mejorar la calidad del texto renderizado a partir de los objetos de juego en 3D. Ejemplos de estas reglas de composición tipográfica pueden incluir, pero no se limitan a: 1) aplicar hinting a caracteres de escala pequeña, 2) mejorar el "color" de texto que va a renderizarse lo que puede implicar contrastes entre pesos de asta ancha y delgada, el tamaño del espaciado interno del carácter, las magnitudes del espacio entre líneas y entre caracteres, el dentado de trazos diagonales y espesor global de un trazo, 3) garantizar que cada glifo es legible, 4) determinar el espaciado entre caracteres y palabras para maximizar la regularidad de espaciado, 5) ajustar el peso de los "trazos" utilizados para dibujar los glifos y 6) ajustar las alineaciones verticales y horizontales de caracteres en una cadena de texto. Las funciones de composición tipográfica pueden verse afectadas por las características de la página de texto definidas en 178.
En 180, se efectúan las funciones de composición tipográfica automática o especificada por el usuario. En 182, el objeto de texto en 3D se genera en el entorno de juego en 3D. En 184, se generan fotografías del objeto de texto en 3D, que pueden visualizarse en la pantalla de visualización.
Pueden generarse y cargarse en la máquina de juego texturas de fuente y geometrías de fuente utilizadas para generar objetos de texto en 3D como parte de una biblioteca de texturas y de geometrías de fuente almacenada en un dispositivo de memoria en la máquina de juego. En las figuras 6A a 6D, se describe la generación de texturas de fuente, incluyendo la especificación de información de fuente utilizada para la composición tipográfica en una realización de la presente invención. Las texturas de fuente pueden utilizarse para generar, componer tipográficamente y renderizar objetos de texto en 3D, lo que se describe con respecto a las figuras 7 y 8A.
En la figura 6A, se describen la generación 400 de un archivo de fuente y la simulación de cadena de texto renderizada en un sistema de gráficos en 3D. El archivo de fuente puede comprender texturas utilizadas para representar texto en el entorno de juego en 3D e información de fuente/carácter que se utiliza para operaciones de composición tipográfica. Los archivos de fuente pueden crearse utilizando una aplicación 408 de interfaz de fuente.
Pueden cargarse, verse, editarse y guardarse fuentes en el archivo 410 de fuente, utilizando la aplicación 408 de interfaz de fuente. Utilizando un programa de generación de fuente apropiado con la aplicación de interfaz, un artista puede ser capaz de importar imágenes de caracteres denominadas glifos a partir de fuentes diferentes. Puede introducirse información sobre la fuente y los caracteres individuales y a continuación guardarse como un archivo 410 de fuente que utilizará la máquina de juego. El archivo de fuente puede formatearse para permitir a la máquina de juego generar un objeto de texto en 3D en tiempo de ejecución que utiliza la fuente particular representada en el archivo 410 de fuente.
Pueden utilizarse datos 402 de generación de fuente introducidos en la aplicación 408 de interfaz para generar un archivo 410 de fuente. La generación de datos de fuente puede incluir datos 404 de fuente iniciales, tales como mapas de bits de fuentes. Por ejemplo, los datos de fuente iniciales pueden incluir, pero no se limita a, glifos, tiras de glifo y fuentes TrueType en un formato de imagen Targa o un formato de fuente TrueType. El diseñador de fuente puede modificar los datos 404 de fuente iniciales ajustando la configuración de fuente y carácter para cada fuente 406. El diseñador puede ajustar estas configuraciones 406 de fuente y carácter para mejorar la calidad del texto renderizado.
En una realización de la presente invención, la aplicación 408 de interfaz de fuente puede acoplarse a un simulador 422 de texto en 3D. Un diseñador de fuente puede utilizar el simulador 422 de texto en 3D para simular texto en 3D utilizando un archivo de fuente generado y ajustar las propiedades del archivo de fuente basándose en las calidades de visualización del texto renderizado a partir de una fuente seleccionada.
El simulador 422 de texto en 3D puede comprender un generador 412 de objetos de texto en 3D que genera objetos de texto en 3D utilizando una o más fuentes disponibles. El diseñador puede controlar propiedades de la simulación especificando una cadena de texto, una página de texto en 3D y órdenes de composición tipográfica. El objeto de texto en 3D puede renderizarse utilizando un simulador de renderización en 3D que simula la renderización de texto en un dispositivo de juego objetivo, tal como un tipo particular de máquina de juego.
El objeto de texto en 3D puede renderizarse por sí mismo o en el contexto de otros objetos 418 en 3D. Por ejemplo, si el objeto de texto en 3D forma parte de una presentación de resultado del juego, entonces otros objetos en 3D utilizados en la presentación del resultado del juego puede renderizarse también con los objetos de texto en 3D. El texto 420 renderizado puede entregarse como salida a una memoria intermedia de cuadros para la visualización en una pantalla de visualización.
En las figuras 6B y 6C, se describen con más detalle tipos de información que pueden almacenarse en el archivo de fuente. Se analizan dos categorías de datos, propiedades 425 de fuente (véase la figura 6B) y propiedades 440 de carácter (véase la figura 6C). En la figura 6D, se describen propiedades de una textura de fuente que contiene glifos de carácter definidos en una fuente 470.
Pueden utilizarse datos de fuente o propiedades 425 de fuente para describir todo el juego de caracteres y normalmente se aplican a todos los caracteres en una fuente. Las propiedades de fuente pueden comprender, pero no se limitan a, las siguientes propiedades. El nombre de fuente puede ser una cadena ANSI que puede utilizarse para conferir al archivo de fuente una descripción extendida. Puede ser lo que quiera el desarrollador, pero normalmente se utiliza para almacenar el nombre completo de la fuente como "Arial Negrita 24pt". Arial se refiere a un estilo de fuente, negrita se refiere a un espesor de las líneas de los caracteres y 24pt es el tamaño de la fuente. Pueden utilizarse muchos estilos de fuentes diferentes, que se conocen bien en el procesamiento de textos y técnicas de preparación de documentos, con la presente invención y la presente invención no se limita a Arial. A continuación se describen más detalles de tipos de fuente y su información asociada.
Tipo de letra se refiere a atributos gráficos específicos de caracteres y símbolos en la fuente. Un nombre de tipo de letra de fuente puede utilizarse para describir el tema artístico o espesor de los trazos gruesos y delgados que se utilizan para los caracteres. El uso de remates en una fuente puede también ser un factor para el nombre del tipo de letra. El remate es la línea horizontal corta en los extremos de un trazo no conectado en un carácter. El estilo puede utilizarse para definir el peso e inclinación de una fuente. Utilizar diferentes valores de pesos e inclinación puede cambiar radicalmente la apariencia de carácter en una fuente. El peso de fuente representa el ancho de trazo utilizado en todos los caracteres y símbolos. La siguiente lista muestra varios nombres, dispuestos desde la más fina hasta la más pesada, que pueden utilizarse para describir una fuente.
\vskip1.000000\baselineskip
1
\vskip1.000000\baselineskip
El atributo de inclinación se refiere al aspecto vertical de los caracteres en la fuente. Términos tales como romana, oblicua y cursiva se utilizan para categorizar los diferentes modos en que puede conseguirse la inclinación. Las fuentes romanas son verticales sin ninguna inclinación, mientras que los caracteres oblicuos están inclinados aplicando una transformación de desviación tangencial a los mismos. Originalmente, los caracteres a los que se asigna una fuente cursiva están inclinados y parece como si fuesen una creación artística.
La línea base de fuente proporciona la posición en la que está colocada la parte inferior de un carácter dentro de la celda de fuente. Con este valor, una cadena de caracteres o símbolos con diferentes alturas y diferentes tamaños de fuente pueden estar alineados verticalmente. La elevación es una medida de hasta dónde se extiende el carácter por encima de la línea base de fuente. Este valor también incluye cualquier marca de acento de un carácter. El descenso es una medida de hasta dónde cae el carácter por debajo de la línea base de fuente. Este valor puede no incluir el valor de interlineado externo, que es la cantidad de espacio que el artista diseñó para que se añadiera entre filas de cadenas de caracteres.
El atributo de tamaño puede utilizarse para definir el ancho y altura máximos necesarios para contener el carácter más grande en la fuente. Este valor no especifica ningún tamaño que se corresponde con un carácter o símbolo específico en la fuente, sino más bien una zona en la que podría encajar cualquier carácter en la fuente. A esta zona, o cuadro virtual, se hace referencia también como celda de carácter o celda de símbolo. La colocación del carácter dentro de la celda puede incluir también cómo el carácter descansa sobre la línea base de la fuente. Esto puede ser importante debido a que la altura global de la fuente está determinada no sólo por la altura de un carácter, sino también por su elevación y descenso desde la línea base. El ancho de fuente está determinado por el carácter o símbolo más ancho. Por tanto, el tamaño de fuente está definido por el ancho y la altura de celda de carácter.
El tipo de fuente puede utilizarse para indicar el tipo de fuente almacenado en el archivo. Algunos ejemplos de tipos de fuente son texturizada en 2D, texturizada en 3D y vectorial. En fuente texturizada en 2D, los caracteres de esta fuente pueden ser rectángulos planos texturizados con un mapa de bits en 2D que contiene el glifo de carácter. En una fuente texturizada en 3D, los caracteres de esta fuente pueden realizarse a partir de muchos polígonos en 3D y pueden texturizarse para proporcionar efectos de color y visuales. En una fuente vectorial, los caracteres en esta fuente pueden generarse a partir de curvas de Bezier o B-splines u otros tipos de ecuaciones matemáticas. Las texturas pueden aplicarse entonces para conferir efectos de color y visuales a la fuente. Combinaciones de estas fuentes pueden utilizarse con la invención actual.
El ancho es una propiedad de fuente. Puede ser un valor que contiene el ancho de carácter máximo de fuente. Este valor se utiliza para crear espaciado entre caracteres no proporcionado en tiempo de ejecución. Si los caracteres tienen diferentes anchos y espaciado, se denomina como que tiene un espaciado proporcional. Puede considerarse que una fuente no es proporcional si todos sus caracteres tienen el mismo ancho y espaciado. La máquina de juego puede tener la capacidad de convertir una fuente proporcional en una no proporcional en tiempo de ejecución utilizando este valor y otra información proporcionada por el desarrollador.
La altura 426 es una propiedad de fuente. El valor de altura puede utilizarse para describir la altura de la fuente. El valor de la propiedad de altura puede ser mayor que el carácter más alto en la fuente. Todos los caracteres en la fuente son iguales o más bajos que la altura de fuente. En una realización de las reglas de composición tipográfica con la presente invención, todos los caracteres deben encajar dentro de la propiedad de altura de fuente una vez colocado el carácter. Por tanto, aunque el glifo de carácter, tal como 430, puede tener una altura menor que la de altura de fuente, tal como 432, la altura total de carácter no debe exceder la altura de fuente. La altura del carácter puede incluir su colocación vertical sobre la línea 428 base. La propiedad 426 de altura puede utilizarse también en justificación de texto y cálculos multilínea.
La línea 428 base es una propiedad de fuente. La línea base puede ser una punto de referencia vertical que se utiliza para colocar cada carácter. La mayoría de los caracteres normalmente descansan sobre la línea base y unos pocos se extienden por debajo de la línea base, como los caracteres "g" o "y". El espaciado entre líneas es una propiedad 434 de fuente. El valor del espaciado entre líneas puede utilizarse para crear espacio entre múltiples líneas de texto para objetos de texto en 3D con múltiples líneas. Por ejemplo, el espaciado 434 entre líneas es la distancia entre la línea de texto que comienza con el carácter "M" y la segunda línea que contiene la cadena de texto, "Hello" 436.
"Primer Símbolo" es una propiedad de fuente. Puede hacerse referencia también a los caracteres en la fuente como símbolos. La propiedad de primer símbolo define el código ANSI para el primer carácter en la fuente. "Ultimo Símbolo" es una propiedad de fuente que define el código ANSI para el último carácter en la fuente. "Cuenta de Símbolo" es una propiedad de fuente. Cuenta de Símbolo es varios caracteres definidos en la fuente, tal como 255.
La textura puede ser una propiedad de fuente (véase la figura 6D). La propiedad de textura puede ser una disposición de datos de píxel (o un mapa de bits en 2D) que contiene todos los glifos de carácter o datos visuales que pueden aplicarse a los caracteres en la fuente. Información acerca del ancho y la altura de textura en píxeles y el formato de píxel de la textura pueden almacenarse también en esta propiedad. Pueden existir múltiples texturas en una fuente y cada textura contiene todos los glifos de carácter. Si la fuente tiene capacidades de mapeo MIP entonces todos los mapas MIP se almacenan también en la propiedad de textura. Todos los datos de glifo de carácter animado pueden almacenarse también en la propiedad de textura. El mapeo MIP es una técnica de texturización que se utiliza normalmente para animación en 3D en juegos y recorridos simulados de CAD. Para crear un escenario que contenga polígonos con ángulos agudos que desaparecen en la distancia, el mapeado MIP mezcla versiones de alta y baja resolución de la misma textura para reducir el efecto dentado que de otro modo aparecería.
El segundo conjunto de propiedades almacenadas en el archivo de fuente puede ir dirigido a los caracteres individuales que constituyen la fuente. Cada carácter puede tener un conjunto de propiedades exclusivo que describe la apariencia y colocación visual del carácter. Las propiedades de carácter se describen con respecto a la figura 6C. El ancho 444 puede ser una propiedad de carácter. El ancho 444 puede ser el valor que es el ancho del glifo de carácter o el espacio horizontal máximo del aspecto visual del carácter. Este valor puede ser también el ancho de la geometría en 3D o datos de curva de carácter dependiendo de la propiedad de tipo de fuente.
La altura puede ser una propiedad de carácter. La altura 448 puede ser un valor que es la altura del glifo de carácter o el espacio vertical máximo del aspecto visual del carácter. Este valor puede ser también la altura de la geometría en 3D o datos de curva de carácter que dependen de la propiedad de tipo de fuente. El origen X y el origen Y 442 pueden ser también una propiedad de carácter. El origen 450 x y el origen 448 y pueden especificar la posición de partida horizontal y vertical de un carácter respecto a la posición del cursor. El cursor 446 puede ser un punto de referencia utilizado para calcular dónde ha de colocarse el próximo carácter utilizando reglas de composición tipográfica utilizadas por la máquina de juego. A medida que se colocan los caracteres a lo largo de la línea 428 base, el cursor puede avanzar para indicar la siguiente posición de carácter.
El avance 452 en X y el avance en Y (no mostrados) pueden ser una propiedad de carácter. El avance en x y en y puede especificar la cantidad de desplazamiento horizontal y vertical del cursor desde su ubicación actual. En esencia, estos valores pueden añadirse a la posición de cursor actual para moverlo hasta el extremo del carácter actual. Aplicando esta propiedad puede recolocar el cursor para la siguiente colocación de carácter y garantizar que el siguiente carácter no obstruirá el carácter actual.
Las coordenadas U y V de textura, ilustradas en la figura 6D, pueden ser una propiedad de carácter. La propiedad de textura U y V puede utilizarse para ubicar el glifo de carácter a partir de la propiedad 470 de textura de fuente. Puesto que la propiedad de textura puede contener todos los datos de glifo de carácter en una textura, cada glifo de carácter puede ubicarse en una posición diferente dentro del mapa de bits de textura. Junto con las propiedades de ancho y altura de carácter, los datos de glifo de carácter pueden ubicarse y extraerse de la textura. En una realización, las coordenadas U y V para una textura varían de 0 a 1 para U y de 0 a 1 para V.
Las coordenadas UV de textura pueden especificar un origen (0,0) de textura, un origen UV de textura, tal como 478, para cada glifo en coordenadas U y V, tales como 474 y 476. Las coordenadas UV de textura pueden comprender también un ancho 482 de glifo y una altura 480 de glifo en coordenadas U y V. Con estas coordenadas, se define un rectángulo en coordenadas U y V que contiene cada carácter en la textura.
La geometría en 3D puede ser una propiedad de carácter. Esta propiedad puede incluir datos para vértices, caras y normas que constituyen la geometría en 3D del carácter. Todos los datos de geometría animada pueden almacenarse también en esta propiedad. Las curvas puede ser una propiedad de carácter. Esta propiedad puede incluir todos los datos de curva, lo que describe la forma del carácter. Todos los datos de curva animada pueden almacenarse también en esta propiedad. Las curvas son normalmente Bezier o B-spline pero pueden consistir en otros tipos de ecuaciones matemáticas que representan el carácter. A continuación, la generación caracteres de texto en 3D se describe utilizando las propiedades de fuente y de carácter descritas con respecto a las figuras 6A a 6D.
En la figura 7 se muestra la generación caracteres de texto en 3D utilizando polígonos triangulares. La presente invención no se limita al procedimiento descrito con respecto a la figura 7, que se proporciona únicamente con fines ilustrativos. Hay dos partes que pueden utilizarse para generar un carácter. La primera parte es definir un polígono rectangular que representa un área visible del carácter o la superficie sólida que puede verse. La segunda parte asigna una imagen de textura del carácter al polígono. La imagen de textura contiene la imagen de píxel detallada actual del carácter o la forma del carácter. Cada carácter en la cadena de texto puede estar comprendido por su propio conjunto de vértices, caras y coordenadas de textura.
En el ejemplo mostrado en la figura 7 se muestra un objeto de texto en 3D con la cadena de texto de "Win" 525 y su zona 530 de visualización. La zona de visualización es resultado de renderizar la página de texto en la que están dibujados los caracteres de texto en 3D. En la figura 7 se utiliza una página de texto rectangular. Se describen páginas de texto más complejas con respecto a las figuras 8A y 8B. En la presente invención, un módulo de software denominado, "Actor string", que puede formar parte de un módulo de software denominado "ActorText" puede implementar procedimientos utilizados para generar cadenas de texto en 3D.
Para generar la cadena 525 de texto "Win", el controlador de juego maestro puede recuperar el primer carácter en la cadena y buscar su información correspondiente almacenada en el archivo de fuente. Por ejemplo, las coordenadas 502, 504, 506 y 508 U y V de textura pueden recuperarse de la textura 506 de fuente. A continuación, puede crearse un polígono para el carácter "W". Utilizando el ancho y la altura del carácter W, el polígono pueden definirse por los cuatro vértices etiquetados Vértice 1 a Vértice 4, 514, 516, 518 y 520, respectivamente. Los cuatro vértices están definidos en las coordenadas del entorno de juego en 3D. El polígono puede estar comprendido por dos caras o superficies triangulares. La Cara 1 se define a partir del Vértice 1, Vértice 2 y Vértice 4 y la Cara 2 a partir del Vértice 2, Vértice 3 y Vértice 4. Los vértices que constituyen cada carácter tienen también coordenadas de textura correspondientes (por ejemplo, 502, 504, 508 y 510).
Las coordenadas de textura pueden utilizarse para enlazar una ubicación en una imagen de textura (mapa de bits) con vértices en un polígono, esencialmente mapeando un trozo de la imagen de textura con el polígono. Las coordenadas de textura se especifican en (u, v) donde (0,0) hace referencia a superior izquierda de la imagen de textura. La u es la posición horizontal y la v es la posición vertical dentro de la imagen de textura. Las coordenadas de textura de los vértices pueden calcularse utilizando las coordenadas de textura de carácter, tales como el ancho y la altura del carácter, almacenadas en el archivo de fuente (véase la figura 6D). Utilizando esta información puede ensamblarse un objeto de texto en 3D para el carácter "W" individual en el entorno de juego en 3D y renderizarse en la pantalla de visualización. El proceso de renderización puede repetirse para cada carácter definido en la propiedad de cadena de texto. Para determinar la ubicación del siguiente carácter en la cadena de texto en el objeto de texto en 3D, se utilizan el avance en x y el avance en y a partir de las propiedades de carácter del carácter anterior, es decir, el carácter "W" en este ejemplo.
Una ventaja de utilizar la información de carácter a partir del archivo de textura de fuente para definir las dimensiones del polígono para recibir la textura de carácter es minimizar la magnificación o minificación de los téxeles en la textura durante la renderización. Según se describe con respecto a la figura 4D, la magnificación o minificación puede dar como resultado interpolaciones que degradan la calidad del patrón sobre la textura cuando se renderiza. En esta realización, el tamaño inicial del polígono utilizado para la textura se selecciona para ajustarse a la textura de carácter, lo que minimiza los errores de interpolación durante la renderización. Además, a partir de sus tamaños óptimos iniciales, los polígonos para los caracteres pueden estirarse, encogerse o manipularse hasta cierto punto sin demasiada degradación de la calidad del texto renderizado.
En esta realización, si los polígonos se ajustan a escala demasiado desde su tamaño inicial, la calidad del texto renderizado puede degradarse. En este caso, puede ser deseable utilizar una textura de fuente más próxima en tamaño al tamaño de la fuente después del ajuste a escala o aplicar una técnica tal como un mapeo MIP. La máquina de juego puede adaptarse para seleccionar una textura de fuente de un tamaño particular para que coincida con un tamaño de fuente deseado y minimizar cualquier error de ajuste a escala. Así, una biblioteca de fuentes de la presente invención puede incluir texturas de fuente para el mismo tipo de fuente en diferentes tamaños. Con fuentes de tipo de textura en 3D, la información de geometría incluida en la fuente puede utilizarse para el ajuste a escala y puede no ser necesario seleccionar una textura de fuente de un tamaño particular cuando se ajusta a escala.
A modo de reiteración, cuando se utiliza una fuente de tipo de textura en 2D no se crea la geometría de polígono para definir la forma de un carácter, sino que en su lugar se crea superficie visible en 3D a la que puede aplicarse una imagen de textura. La imagen de textura puede incluir la forma y apariencia real del carácter. Si se utiliza una fuente de tipo de textura en 3D, entonces la fuente puede contener la información de polígono, que definiría la forma física en 3D del carácter (véase la figura 8B por ejemplo de una fuente de tipo de textura en 3D). La imagen de textura puede utilizarse para mejorar su aspecto. Sin embargo, la información de polígono puede utilizarse para definir la forma del carácter. Las fuentes de tipo de curva pueden tratarse igual que las fuentes de textura en 3D excepto porque la forma física en 3D del carácter se define mediante curvas. Puede crearse el polígono utilizando la información de curva y a continuación puede aplicarse una textura a los polígonos.
Otra ventaja del enfoque de procedimiento de textura en 2D es que reduce el número de polígonos que es necesario procesar mediante el software/hardware gráfico. En sistemas de gráficos en 3D, la capacidad de renderizar escenas en tiempo real está en función del número de polígonos que es necesario renderizar. Cuando el sistema tiene que procesar demasiados polígonos, el rendimiento del sistema puede degradarse hasta el punto en que es demasiado lento para poder utilizarse en un entorno operativo. En la realización de textura en 2D, la renderización de cada carácter en una cadena de texto requiere el procesamiento de sólo dos polígonos triangulares. Por tanto, el procedimiento reduce la cantidad de polígonos que es necesario que el sistema procese en comparación con un enfoque en el que una forma de cada fuente en un carácter se representa mediante un gran número de polígonos.
Hay numerosas propiedades y características, de las que puede disponerse mediante ActorText que pueden utilizarse para proporcionar formateo de texto y efectos visuales en la presente invención. Estas características adicionales pueden afectar también a la generación de la geometría de carácter en 3D. La siguiente lista describe algunos ejemplos de características, a las que puede accederse mediante llamadas de función API, instrucciones (scripts) y modelos. Sin embargo, la presente invención no se limita a estos ejemplos. Las órdenes se implementan para funcionar en el contexto del sistema de renderización gráfica en 3D utilizado en las máquinas de juego o dispositivos de juego de la presente invención.
Se observa que las órdenes descritas en los siguientes párrafos son órdenes de alto nivel. Cada orden puede comprender una secuencia de órdenes de bajo nivel o llamadas de función que permiten que las órdenes de alto nivel se implementen en el sistema de renderización gráfica en 3D.
SetPosition puede asignar la coordenada posicional x, y y z para la ubicación de un objeto de texto en 3D generado. SetScale puede fijar el valor de ajuste a escala que va a aplicarse al tamaño de toda la cadena de texto. SetRotation puede utilizarse para fijar los valores de rotación que pueden aplicarse a todo el texto en los ejes x, y y z. Los polígonos que definen un carácter de texto o cadena de texto pueden manipularse como otros objetos en 3D definidos en el entorno de juego en 3D. SetPivotPoint puede fijar la coordenada posicional x, y y z para la ubicación del punto de pivote. El punto de pivote puede utilizarse como una ubicación de referencia en el objeto de texto en 3D cuando está girándose, ajustándose a escala y situándose. SetDisplayRegionSize puede utilizarse para fijar el tamaño de página de texto (ancho, altura y profundidad), que se utiliza para contener la cadena de texto.
SetJustification puede utilizarse para fijar el tipo de justificación utilizado para situar la cadena de texto en la zona de visualización de texto definida por la página de texto en 3D. Hay varios tipos de justificación que pueden combinarse cada uno entre sí para formar el efecto de justificación deseado. NINGUNO no se aplica ninguna justificación a la cadena de texto. IZQUIERDA alinea la cadena de texto al lado izquierdo de la página de texto en 3D. DERECHA alinea la cadena de texto al lado derecho de la página de texto en 3D. CENTRADO HORIZONTAL centra la cadena de texto de manera horizontal en la página de texto en 3D. ARRIBA alinea la cadena de texto al borde superior de la página de texto en 3D. ABAJO alinea la cadena de texto al borde inferior de la página de texto en 3D. CENTRADO VERTICAL centra la cadena de texto de manera vertical en la página de texto en 3D.
SetSizing puede utilizarse para fijar el algoritmo de dimensionamiento utilizado sobre la cadena de texto. Pueden aplicarse varios tipos de algoritmos de dimensionamiento. NINGUNO no se aplica ningún dimensionamiento a la cadena de texto. AUMENTAR PARA AJUSTAR puede dimensionar la cadena de texto para que siempre se ajuste dentro de la página de texto en 3D encogiendo o expandiendo el ancho y/o la altura de cadena. AUMENTAR PARA AJUSTAR puede mantener la relación de aspecto de la cadena y operar sobre el ancho y la altura de la cadena. AUMENTAR ANCHO PARA AJUSTAR puede cambiar el ancho de la cadena para ajustarse siempre dentro del ancho de la página de texto en 3D encogiendo o expandiendo el la ancho de la cadena. AUMENTAR ANCHO PARA AJUSTAR puede cambiar la relación de aspecto de la cadena y puede operar sobre el ancho de la cadena (la altura no se ve afectada). AUMENTAR ALTURA PARA AJUSTAR puede cambiar la altura de la cadena para ajustarse siempre dentro de la página de texto en 3D encogiendo o expandiendo en altura la altura de la cadena. AUMENTAR ALTURA PARA AJUSTAR puede cambiar la relación de aspecto de la cadena y opera sobre la altura de la cadena (el ancho no se ve afectado).
ENCOGER PARA AJUSTAR puede encoger la cadena para ajustarse dentro de la página de texto en 3D cuando el ancho o la altura de la cadena superan los límites de la página de texto en 3D. ENCOGER PARA AJUSTAR puede mantener la relación de aspecto de la cadena y puede operar sobre el ancho y la altura de las cadenas. ENCOGER ANCHO PARA AJUSTAR puede encoger el ancho de la cadena para ajustarse dentro del ancho de la página de texto en 3D cuando el ancho de la cadena supera el ancho de la página de texto en 3D. ENCOGER ANCHO PARA AJUSTAR puede cambiar la relación de aspecto de la cadena y opera sobre su ancho (la altura no se ve afectada). ENCOGER ALTURA PARA AJUSTAR puede encoger la altura de la cadena para ajustarse dentro de la altura de la página de texto en 3D cuando la altura de la cadena supera la altura de la página de texto en 3D. Este parámetro cambia la relación de aspecto de la cadena y opera sobre su altura (el ancho no se ve afectado). DIMENSIONAR PARA AJUSTAR puede cambiar el ancho y la altura de la cadena para que siempre sean los mismos que el ancho y la altura de la página de texto en 3D. DIMENSIONAR PARA AJUSTAR puede cambiar la relación de aspecto de la cadena y puede operar sobre su ancho y su altura.
AUMENTAR ALTURA ENCOGER ANCHO puede cambiar la altura de la cadena para que siempre se ajuste dentro de la altura de página de texto en 3D encogiendo o expandiendo la altura de la cadena (no cambia la relación de aspecto). AUMENTAR ALTURA ENCOGER ANCHO puede encoger también el ancho de la cadena para ajustarse dentro del ancho de la página de texto en 3D cuando el ancho de la cadena supera el ancho de la página de texto en 3D (cambia la relación de aspecto). AUMENTAR ANCHO ENCOGER ALTURA puede cambiar el ancho de la cadena para que siempre se ajuste dentro del ancho de la página de texto en 3D encogiendo o expandiendo el ancho de la cadena (no cambia la relación de aspecto). AUMENTAR ANCHO ENCOGER ALTURA puede encoger también la altura de la cadena para ajustarse dentro de la altura de la página de texto en 3D cuando la altura de la cadena supera la altura de la página de texto en 3D. AUMENTAR ANCHO ENCOGER ALTURA puede cambiar también la relación de aspecto de la cadena y puede operar sobre su ancho y su altura (cambiará la relación de aspecto).
SetClipping puede habilitar o deshabilitar el recorte de texto frente a los límites definidos por la página de texto. Cuando se habilita, cualquier parte de un carácter o caracteres que pueda encontrarse fuera de los límites de la página de texto en 3D puede eliminarse y puede no visualizarse. SetName puede fijar el nombre del objeto de texto en 3D. SetFont pueden utilizarse para asignar un recurso de fuente que puede utilizarse cuando se crea la cadena de texto. SetFontSize puede utilizarse para fijar el tamaño de fuente definiendo su altura en un sistema de coordenadas apropiado. SetColor puede utilizarse para fijar la información de color de la cadena especificando valores de color rojo, verde, azul y alfa independientes.
SetLineSpacing puede utilizarse para fijar el espaciado entre líneas adicional que se utiliza entre líneas dentro de la cadena. SetSize puede utilizarse para fijar el ancho, la altura y la profundidad de la cadena. SetString puede utilizarse para asignar una cadena de texto que va a dibujarse. GetRawExtents puede utilizarse para calcular el ancho, la altura y la profundidad de la geometría en 3D de la cadena de texto utilizando ajustes de propiedades actuales. SetCharacterScale puede utilizarse para asignar un valor de ajuste a escala que va a aplicarse a cada tamaño de carácter. Esto puede utilizarse para cambiar la relación de aspecto de carácter proporcionando capacidades de apretar y estirar. SetCharacterSpacing puede utilizarse para fijar el espaciado entre caracteres para el espacio utilizado para separar cada carácter en la cadena de texto. Este valor se añade al ancho de carácter definido en el recurso de fuente. SetNonProportionalWidth puede utilizarse para ajustar el ancho de carácter para su uso en espaciado no proporcional. Este valor se añade al ancho por defecto de carácter de fuente para producir un nuevo ancho que se aplica a cada carácter cuando se habilita espaciado no proporcional.
SetNonProportionalWidthType puede utilizarse para ajustar los tipos de cálculos utilizados para determinar el ancho no proporcional utilizando el valor de ancho no proporcional. Pueden utilizarse varios tipos de ancho diferentes con la presente invención. PORCENTAJE DE ANCHO DE FUENTE interpreta la propiedad de ancho no proporcional como un porcentaje del ancho de carácter máximo de fuente. El valor resultante es el nuevo ancho de carácter utilizado en espaciado no proporcional. VALOR interpreta la propiedad de ancho no proporcional como el valor de ancho realmente utilizado en espaciado no proporcional. COMPENSAR ANCHO DE FUENTE interpreta la propiedad de ancho no proporcional que va a añadirse al ancho de carácter máximo de fuente. La suma resultante es el nuevo ancho de carácter utilizado en espaciado no proporcional.
EnableNonProportionalSpacing puede utilizarse para indicar que se desea una conversión desde una fuente proporcional a una fuente no proporcional. SetStringPosition puede utilizarse para fijar la posición de una cadena en la página de texto en 3D. Cuando la justificación se ajusta a "NINGUNO", este valor ajusta la posición de la cadena dentro de la página de texto en 3D. Utilizar esta característica junto con recorte puede utilizarse para crear un signo de marquesina en el que el texto se desplaza a través de un área.
Pueden utilizarse procedimientos en la presente invención para manipular propiedades de fuente. Por ejemplo, puede invocarse GetFont para determinar el recurso de fuente actual (archivo de fuente que está aplicándose) que está utilizándose. Puede utilizarse SetFont para asignar un recurso de fuente que se utilizará cuando se cree una cadena de texto. Puede utilizarse GetFontSize para recuperar un tamaño de fuente. Puede utilizarse SetFontSize para fijar el tamaño de fuente definiendo su altura.
Pueden utilizarse también procedimientos en la presente invención para manipular propiedades de cadena de texto. Por ejemplo, getColor puede utilizarse para recuperar la información de color de la cadena separada en valores rojo, verde, azul y alfa. SetColor puede utilizarse para fijar la información de color de la cadena especificando valores de color red, verde, azul y alfa independientes. GetLineSpacing puede utilizarse para recuperar espaciado entre líneas adicional que se añade al espaciado entre líneas especificado de la fuente. El valor se utiliza para aumentar o disminuir el espaciado entre cada línea de la cadena. SetLineSpacing puede utilizarse para fijar el espaciado entre líneas adicional que se utiliza entre líneas dentro de la cadena.
GetScale puede utilizarse para obtener el valor de ajuste a escala actual que está aplicándose a la cadena de texto en el objeto de texto en 3D. SetScale puede utilizarse para fijar el valor de ajuste a escala que va a aplicarse al tamaño de la cadena de texto. GetSize puede utilizarse para calcular el ancho de la cadena, la altura y la profundidad utilizando los valores de atributo actuales (es decir tamaño de fuente, espaciado entre líneas, etc.). SetSize puede utilizarse para fijar el ancho de la cadena, la altura y la profundidad.
GetString puede utilizarse para recuperar un puntero a la memoria intermedia que contiene los caracteres en la cadena que va a dibujarse. SetString asigna una cadena de texto que va a dibujarse. GetRawExtents puede utilizarse para fijar el ancho, la altura y la profundidad de la cadena.
Las siguientes órdenes, proporcionadas con fines ilustrativos, pueden utilizarse como parte de operaciones de composición tipográfica de carácter realizadas en la máquina de juego. GetCharacterScale puede utilizarse para recuperar el valor de ajuste a escala actual que está aplicándose a cada tamaño de carácter en la cadena. SetCharacterScale puede utilizarse para asignar un valor de ajuste a escala que ha de aplicarse a cada tamaño de carácter. GetCharacterSpacing puede utilizarse para recuperar el espaciado entre caracteres. Puede utilizarse para separar cada carácter en la cadena. SetCharacterSpacing puede utilizarse para fijar el espaciado entre caracteres para el espacio utilizado para separar cada carácter en la cadena. Este valor puede añadirse al ancho de carácter definido en el recurso de fuente.
GetCharacterWidth puede utilizarse para recuperar el ancho de carácter utilizado en espaciado no proporcional. Este valor se añade al ancho de carácter por defecto de la fuente para modificar el ancho aplicado a cada carácter. SetCharacterWidth puede utilizarse para ajustar el ancho de carácter para su uso en espaciado no proporcional. Este valor se añade al ancho de carácter por defecto de la fuente para producir un nuevo ancho que es aplica a cada carácter cuando se habilita espaciado no proporcional. GetProportionalSpacing puede utilizarse para obtener el procedimiento de espaciado proporcional entre caracteres actual. SetProportionalSpacing puede utilizarse para habilitar o deshabilitar el procedimiento de espaciado proporcional entre caracteres. A continuación se analizar algunos ejemplos de renderización de texto en 3D utilizando los procedimientos descritos con respecto a las figuras 4A a 7.
Las figuras 8A y 8B son diagramas de objetos de texto en 3D renderizados en una pantalla de visualización de una máquina de juego. Como se describió anteriormente, visualizar texto en la máquina de juego puede requerir que el desarrollador cree un objeto de texto en 3D y especifique propiedades de texto para ese objeto. Estas propiedades pueden asignarse a través de varios mecanismos diferentes: funciones API, instrucciones (scripts) y modelos. Puede utilizarse cualquier combinación de estos mecanismos en cualquier momento para crear, controlar y especificar propiedades de texto para el objeto de texto en 3D. El objeto de texto en 3D puede utilizarse en presentaciones de resultado del juego, presentaciones de juego de bonificación, menús de mantenimiento y configuración así como cualquier otra función de la máquina de juego que requiera visualizar texto en una de las pantallas de visualización en la máquina de juego.
Para visualizar texto en la máquina de juego, puede crearse un objeto de texto en 3D, tal como 562 ó 552. Una unidad lógica, a la que se hace referencia como ActorText, puede utilizarse para crear el objeto de texto en 3D. ActorText puede utilizarse para crear texto formateado en tiempo real en la máquina de juego utilizando el sistema de renderización gráfica en 3D de la máquina de juego o dispositivo de juego en el que se ejecuta. Puede tener la capacidad de generar la información necesaria para visualizar texto utilizando fuente, propiedades de desarrollador especificadas y reglas de ajustes de tipo. La información visualizada utilizando ActorText puede ser en el contexto de una actividad presentada en la máquina de juego, tal como un juego de azar. Así, otros objetos en 3D, tal como 556, presentados como parte de una actividad específica puede renderizarse también en la visualización 34 de vídeo con el texto renderizado.
En una realización, el desarrollador puede tener que especificar al menos tres propiedades antes de que pueda visualizarse la información de juego, definida por un objeto de texto en 3D. La primera propiedad que se especifica puede ser la página de texto resultante en una zona de visualización, tal como 554 ó 560. Cuando la página de texto se renderiza en el sistemas gráficos en 3D, una zona de visualización en 2D, tal como 554, 560, 574 ó 576, correspondiente a la página de texto se visualiza en la visualización 34 de vídeo. La página de texto puede especificar el tamaño y la forma de una superficie en 3D que va a rellenarse con texto o utilizarse como guía para el texto. En el caso de fuentes en 3D, la superficie de la página de texto puede actuar como una guía para la base de las fuentes. Como ejemplos, la página de texto puede ser un rectángulo simple plano, un polígono complejo plano o una superficie en 3D. Los bordes de la página de texto pueden ser curvas definidas mediante B-splines, curvas de Bezier o segmentos de línea múltiples.
La posición o forma de la página de texto puede cambiar en función del tiempo. Por ejemplo, la página de texto puede modelizarse como una bandera que está flameando con la brisa, 576, con texto escrito en la superficie de la bandera. Como otro ejemplo, la página de texto puede ser una bola del mundo 574 que está girando 578 con texto escrito en la superficie de la bola del mundo. En aún otro ejemplo, la página de texto puede modelizarse como la superficie de un estanque con ondas.
En la presente invención, un diseñador puede ser capaz de añadir texturas a la página de texto como fondo. Por ejemplo, una textura de llama que cambia en función del tiempo puede añadirse a la página de texto correspondiente a la zona 554 de visualización rectangular. La textura de llama puede proporcionar una apariencia de que las cadenas de texto "créditos totales" y "2.356" están ubicadas en llamas. Por tanto, las texturas de la presente invención pueden superponerse entre sí con la textura de la cadena de texto superponiéndose a la textura aplicada a la página de texto, tal como las llamas.
Con la página de texto especificada, ActorText puede tener la capacidad de deformar los caracteres de texto para seguir y ajustarse a la forma de la página de texto. Por ejemplo, los caracteres en el objeto 562 de texto en la figura 8A siguen los límites de la página de texto renderizada como zona 560 de visualización. La página de texto puede compararse con una hoja de papel similar a la de la mayoría de los procesadores de texto porque es un área en la que los caracteres de texto se componen tipográficamente utilizando reglas de formateo. Sin embargo, a diferencia de un procesador de textos, la página de texto de la presente invención puede ser una forma compleja en 3D, por ejemplo un trozo de papel curvado y retorcido. Además, la posición y orientación de la página de texto puede manipularse en el entorno de juego en 3D para cambiar la forma de la zona de visualización que se renderiza en la pantalla de visualización.
Se hace notar que el procesador de textos se utiliza con fines explicativos sólo porque proporciona una analogía conveniente. Aunque la presente invención realiza funciones que son similares a un procesador de textos, la presente invención no se limita a las capacidades de un procesador de textos. Por ejemplo, la presente invención tiene la capacidad de generar y manipular fuentes decorativas de maneras que están muy limitadas o que no son posibles con un procesador de textos convencional.
La forma de la página de texto puede cambiar en función del tiempo. ActorText puede tener la capacidad de deformar los caracteres de texto para seguir y ajustarse a la forma de la página de texto a medida que cambia en función del tiempo. Asimismo, otras propiedades de carácter tal como un color o textura de los caracteres en la zona de visualización pueden cambiar en función del tiempo, lo que puede tenerse en cuenta en objetos de texto en 3D generados utilizando ActorText.
La siguiente propiedad que puede especificarse para ActorText es la Propiedad de fuente. La propiedad de fuente puede ser el nombre de archivo y la ruta del archivo de fuente que se utiliza para generar el texto en la página de texto en 3D. Con la fuente, ActorText puede obtener la información necesaria para colocar caracteres de texto dentro de la zona de visualización utilizando reglas de ajustes de tipo. El archivo de fuente puede incluir información sobre la colocación y apariencia de cada carácter en la fuente según se describe con respecto a las figuras 6A a 7.
Finalmente, la propiedad de texto puede asignarse a ActorText. Esta propiedad es una cadena de texto que consiste en caracteres que van a visualizarse. ActorText puede tomar cada carácter en la cadena de texto y generar la información en 3D necesaria (vértices, caras, normales, coordenadas UV de textura) que describen el objeto de texto en 3D que se renderiza en el entorno de juego en 3D. La cadena de texto puede verse en una de las visualizaciones de la máquina de juego cuando se renderiza desde un entorno de juego en 3D que contiene el objeto de texto en 3D.
Esta sección describe una realización que permite a ActorText generar geometría en 3D para caracteres de texto utilizando una fuente texturizada en 2D. Es posible también utilizar fuentes texturizadas en 3D con la presente invención. Dos ejemplos de fuentes 570 texturizadas en 3D para los caracteres "V" y "O" se muestran en la figura 8B. Las fuentes texturizadas en 3D en este ejemplo se definen mediante varios triángulos. Estas fuentes en 3D pueden manipularse de igual manera que se manipula cualquier objeto en 3D en el entorno de juego en 3D. Una vez creada la geometría en 3D, ActorText puede enviar esta información al sistema operativo de la máquina de juego donde se dibuja en la visualización 34 de vídeo.
Volviendo a la figura 9, se muestra una máquina 2 de videojuego de la presente invención. La máquina 2 incluye un armario 4 principal, que generalmente rodea el interior de la máquina (no mostrado) y puede verse por los usuarios. El armario principal incluye una puerta 8 principal en la parte delantera de la máquina, que se abre para proporcionar acceso al interior de la máquina. Acoplados a la puerta principal están los interruptores o botones 32 de entrada para el jugador, un receptor 28 de monedas y un verificador 30 de billetes, una bandeja 38 de monedas y un cristal 40 frontal. Visible a través de la puerta principal hay un monitor 34 de visualización de vídeo y un panel 36 informativo. El monitor 34 de visualización principal normalmente será un tubo de rayos catódicos, panel LCD plano de alta resolución, pantalla de plasma/LED u otro monitor de vídeo controlado electrónicamente convencional. La máquina 2 de juego incluye un módulo 6 superior, que se asienta en la parte superior del armario 4 principal. Un segundo monitor 42 de visualización puede proporcionarse en el módulo superior. El segundo monitor de visualización puede ser también un tubo de rayos catódicos, panel LCD plano de alta resolución u otro monitor de vídeo controlado electrónicamente convencional.
Normalmente, después de que un jugador inicie un juego en la máquina de juego, el monitor 34 de visualización principal y el segundo monitor 42 de visualización mostrarán visualmente una presentación de juego, incluyendo uno o más juegos de bonificación, controlados por un controlador de juego maestro (no mostrado). El juego de bonificación puede incluirse como suplemento en la presentación del resultado del juego principal en la máquina 2 de juego. La componente de vídeo de la presentación de juego consiste en una secuencia de cuadros actualizados a una velocidad suficiente en al menos una de las visualizaciones, 34 y 42, de modo que parece como una presentación continua para el jugador que juega al juego en la máquina de juego. Cada cuadro renderizado en 2D en la visualización 34 y/o 42 puede corresponder a una vista de cámara virtual en un entorno de juego virtual en 3D almacenado en un dispositivo de memoria en la máquina 2 de juego.
Pueden capturarse uno o más cuadros de vídeo de la secuencia de cuadros utilizada en la presentación de juego y almacenare en un dispositivo de memoria ubicado en la máquina de juego. El uno o más cuadros pueden utilizarse para proporcionar una historia de actividades de juego que se han producido en la máquina 2 de juego. Se proporcionan detalles de captura de cuadro para aplicaciones de historia de juego en la solicitud estadounidense en tramitación junto con la presente nº 09/689,498, presentada el 11 de octubre de 2000 por LeMay, et al., titulada, "Frame Buffer Capture of Actual Game Play", incorporada en el presente documento en su totalidad y a todos los efecto.
Volviendo a la máquina de juego en la figura 9, el panel 36 informativo puede ser un panel de vidrio serigrafiado, iluminado por detrás, con rotulación para indicar información de juego general que incluye, por ejemplo, la denominación de los billetes aceptados por la máquina de juego (por ejemplo de 1 \textdollar, de 20 \textdollar y de 100 \textdollar). El verificador 30 de billetes, los interruptores 32 de entrada para el jugador, el monitor 34 de visualización de vídeo y el panel informativo son dispositivos utilizados para jugar a un juego en la máquina 2 de juego. Los dispositivos se controlan mediante el controlador de juego maestro (no mostrado), que está ubicado dentro del armario 4 principal de la máquina 2.
En el ejemplo, mostrado en la figura 9, el módulo 6 superior aloja varios dispositivos, que pueden utilizarse para introducir información de seguimiento de jugador u otra información de identificación de jugador en la máquina 2 de juego, incluyendo el verificador 30 de billetes que puede leer tiques 20 con código de barras, un teclado 22 numérico, una visualización 16 fluorescente y una cámara 44, y un lector 24 de tarjetas para introducir tarjetas con banda magnética o tarjetas inteligentes. La cámara 44 puede utilizarse para generar imágenes del jugador que se integran en un entorno de juego virtual implementado en la máquina de juego. El teclado 22 numérico, la visualización 16 fluorescente y el lector 24 de tarjetas pueden utilizarse para introducir y visualizar información de seguimiento de jugador. Además, pueden utilizarse otros dispositivos de entrada además de los descritos anteriormente para introducir información de identificación de jugador incluyendo un dispositivo de registro de huella dactilar o un escáner de retina. Procedimientos y aparatos para capturar la imagen de un jugador en un cuadro de vídeo se describen en la solicitud estadounidense en tramitación junto con la presente nº 09/689.498, por LeMay et al. presentada el 11 de octubre de 2000 y titulada "Frame Buffer Capture of Actual Game Play" y que se incorpora en el presente documento en su totalidad y a todos los efectos.
Además de los dispositivos descritos anteriormente, el módulo 6 superior puede contener dispositivos diferentes o adicionales a los mostrados en la figura 9. Por ejemplo, el módulo superior puede contener una rueda de bonificación o un panel serigrafiado iluminado por detrás, que pueden utilizarse para añadir características de bonificación al juego al que está jugándose en la máquina de juego. Durante un juego, estos dispositivos se controlan y se alimentan, en parte, mediante el conjunto de circuitos del controlador de juego maestro (no mostrado) alojada dentro del armario 4 principal de la máquina 2.
Entiéndase que la máquina 2 de juego es sólo un ejemplo de una amplia gama de diseños de máquina de juego en los que puede implementarse la presente invención. Por ejemplo, no todas las máquinas de juego adecuadas tienen módulos superiores o características de seguimiento de jugador. Además, algunas máquinas de juego tienen sólo una única visualización de juego - mecánica o de vídeo, mientras que otras están diseñadas para mesas de bar y tienen visualizaciones orientadas hacia arriba. Como otro ejemplo, puede generarse un juego en un ordenador central y puede visualizarse en un terminal remoto o un dispositivo de juego remoto. El dispositivo de juego remoto puede estar conectado al ordenador central a través de una red de algún tipo tal como una red de área local, una red de área amplia, una intranet o Internet. El dispositivo de juego remoto puede ser un dispositivo de juego portátil tal como, pero sin limitarse a, un teléfono móvil, un asistente digital personal, y un reproductor de juego inalámbrico. Imágenes renderizadas a partir de entornos de juego en 3D pueden visualizarse en dispositivos de juego portátiles que se utilizan para jugar a un juego de azar. Además una máquina o servidor de juego puede incluir lógica de juego para controlar un dispositivo de juego remoto para renderizar una imagen procedente de una cámara virtual en entornos de juego en 3D almacenados en el dispositivo de juego remoto y para visualizar la imagen renderizada en una visualización ubicada en el dispositivo de juego remoto. Por tanto, los expertos en la técnica entenderán que la presente invención, según se describió anteriormente, puede utilizarse en casi cualquier máquina de juego disponible actualmente o que se desarrolle posteriormente.
Volviendo al ejemplo de la figura 9, cuando un usuario selecciona una máquina 2 de juego, inserta dinero en metálico a través del receptor 28 de monedas o verificador 30 de billetes. Además, el verificador de billetes puede aceptar un vale de tique impreso, que puede ser aceptado por el verificador 30 de billetes como prueba de crédito. Una vez que la máquina de juego ha aceptado el dinero en metálico, los créditos o los créditos promocionales, puede apostarse en un juego de azar en la máquina de juego. Normalmente, el jugador puede utilizar todo o parte del dinero en metálico introducido o ingresado en la máquina de juego para hacer una apuesta en una partida de juego. Durante el transcurso de un juego, puede pedirse al jugador que tome varias decisiones que afectan al resultado del juego. Por ejemplo, un jugador puede variar su apuesta, seleccionar un premio, o tomar decisiones de duración de juego, que afectan a la partida de juego. Estas opciones pueden seleccionarse utilizando los interruptores 32 de entrada para el jugador, la pantalla 34 de visualización de vídeo principal o utilizando algún otro dispositivo que permita a un jugador introducir información en la máquina de juego incluyendo un teclado numérico, una pantalla táctil, un ratón, una palanca de juego (joystick), un micrófono y una bola de control (track ball).
Utilizando dispositivos de entrada tales como, pero sin limitarse a, los interruptores 32 de entrada para el jugador, la pantalla 34 de visualización de vídeo principal o utilizando algún otro dispositivo que permita a un jugador introducir información en la máquina de juego incluyendo un teclado numérico, una pantalla táctil, un ratón, una palanca de juego, un micrófono y una bola de control, pueden alterarse propiedades de los objetos en 3D en el entorno de juego en 3D y, por tanto, la correspondiente presentación de estos objetos en 3D renderizados en una o más de las pantallas de visualización en la máquina de juego. Por ejemplo, en un entorno de juego en 3D con un objeto que gira, tal como, pero sin limitarse a, un tambor que gira, una rueda que gira, un segmento de tambor que gira, o una esfera que gira, la máquina de juego puede ser capaz de recibir una entrada a través de uno de los dispositivos de entrada que hace que un objeto empiece a girar, hace que un objeto deje de girar o que afecta a la velocidad de rotación del objeto. En otro ejemplo, la máquina de juego puede ser capaz de recibir una entrada a través de uno o más dispositivos de entrada que inicia el movimiento de traslación en uno o más objetos en 3D en el entorno de juego en 3D, detiene el movimiento de traslación o afecta a la velocidad del movimiento de traslación.
En general, la máquina de juego puede ser capaz de recibir información de entrada para controlar una pluralidad de parámetros de movimiento para objetos en 3D en el entorno de juego. Los parámetros de movimiento pueden variar dependiendo de los grados de libertad de movimiento modelizados para un objeto en 3D en particular. La información de entrada puede utilizarse para alterar una presentación de resultado del juego, una presentación del resultado del juego de bonificación o cualquier otro tipo de presentación generada en la máquina de juego.
En algunas realizaciones, para cambiar el formato de una presentación del resultado del juego en la máquina de juego o utilizar funciones de máquina de juego diferentes, el jugador puede utilizar un dispositivo de entrada en la máquina de juego para controlar una cámara virtual en un entorno de juego virtual implementado en la máquina de juego. Por ejemplo, un jugador puede utilizar la cámara virtual para "acercar mediante zoom" o "expandir a voluntad" una parte del entorno de juego virtual tal como una mano de póquer de cien manos de póquer visualizadas en la pantalla 34 de visualización. En otro ejemplo, el jugador puede alterar la presentación del resultado del juego, tal como la vista o perspectiva de la presentación de resultado del juego, controlando la cámara virtual. En aún otro ejemplo, el jugador puede ser capaz de seleccionar un tipo de juego para una partida de juego en la máquina de juego, seleccionar un entorno de juego en el que se juega a un juego, recibir información de casino u obtener diversos servicios de casino, tales como reservas de cenas y reservas de espectáculos, navegando a través de un casino virtual implementado en la máquina de juego. El casino virtual puede corresponder al casino real en el que la máquina de juego está ubicada. Por tanto, el casino virtual puede utilizarse para dar al jugador direcciones a otras partes del casino.
En otras realizaciones de la presente invención, pueden utilizarse modelos CAD/CAM de la máquina 2 de juego para generar un modelo virtual en 3D de la máquina de juego. El modelo virtual en 3D puede utilizarse para mostrar de manera visual diversas características operativas de la máquina 2 de juego. Por ejemplo, cuando una tarjeta de seguimiento de jugador se inserta incorrectamente en el lector 24 de tarjetas, el modelo virtual en 3D de la máquina de juego puede utilizarse para visualizar una secuencia visual de la tarjeta que está retirándose del lector 24 de tarjetas, dándose la vuelta e insertándose correctamente en el lector 24 de tarjetas. En otro ejemplo, puede utilizarse una secuencia visual que muestra a un jugador introduciendo un código de entrada en el teclado 22 numérico para pedir y mostrar al jugador cómo introducir la información. En otro ejemplo, cuando la máquina 2 de juego está esperando una entrada del jugador utilizando uno de los interruptores 32 de entrada para el jugador, puede utilizarse el modelo virtual en 3D de la máquina de juego para visualizar una secuencia visual del botón correcto que está pulsándose en la máquina de juego. En otro ejemplo más, la manera en la que un billete o tique se inserta en el verificador de billetes puede mostrarse al jugador utilizando una secuencia de fotografías generadas a partir del modelo en 3D.
Durante ciertos eventos de juego, la máquina 2 de juego puede visualizar efectos visuales y auditivos que el jugador puede percibir. Estos efectos aumentan la emoción de un juego, lo que aumenta la probabilidad de que un jugador continúe jugando. Los efectos auditivos incluyen diversos sonidos que se proyectan por los altavoces 10, 12, 14. Los efectos visuales incluyen luces parpadeantes, luces estroboscópicas u otros patrones visualizados procedentes de luces en la máquina 2 de juego o procedentes de luces por detrás del cristal 40 frontal. La capacidad de un jugador para controlar una cámara virtual en un entorno de juego virtual para cambiar la presentación del resultado del juego puede también aumentar la emoción del juego. Después de que el jugador haya completado un juego, el jugador puede recibir fichas de juego de la bandeja 38 de monedas o el tique 20 de la impresora 18, que pueden utilizarse para otros juegos o para canjear por un premio.
La figura 10 es un diagrama de flujo que representa un procedimiento para generar una presentación del resultado del juego desde un entorno de juego virtual. En 600, después de recibir una apuesta para uno o más juegos a los que se juega en una máquina de juego, se recibe una señal de entrada en la máquina de juego para iniciar un juego de azar. Un jugador puede introducir la señal de entrada utilizando diversos dispositivos de entrada disponibles en la máquina de juego, tales como botones de entrada y una pantalla táctil. En 602, uno o más resultados del juego se determinan para el uno o más juegos iniciados por el jugador. Normalmente, un resultado del juego se determina generando uno o más números aleatorios y comparando los números con una tabla de pago almacenada en la máquina de juego.
En 603, basándose en el uno o más resultados del juego determinados en 602, se renderizan una o más visualizaciones de juego en un entorno de juego virtual en 3D en la máquina de juego. En 604, al menos una cámara virtual en el entorno de juego en 3D se utiliza para renderizar una secuencia de superficies de proyección en 2D (por ejemplo imágenes) derivada de coordenadas tridimensionales de superficies en el entorno de juego en 3D. Como se describe con referencia a la figura 2, la posición de la cámara virtual puede variar con el tiempo. En 606, la secuencia de superficies de proyección en 2D renderizadas se visualiza en una o más pantallas de visualización de juego en la máquina de juego como parte de una presentación del resultado del juego o una presentación de juego de bonificación. En 608, el resultado del juego (por ejemplo una cantidad premiada para uno o más juegos) se visualiza en la pantalla de visualización. El procedimiento descrito anteriormente no se limita a presentaciones de resultado del juego. Otros tipos de información de juego tales como presentaciones de modo de atracción, información de operación de mantenimiento, información de operación de juego e información de casino pueden generarse en un entorno de juego virtual en 3D y visualizarse en una pantalla de visualización en la máquina de juego. Además, también pueden generarse y visualizarse pantallas de transición que permiten una transición suave entre presentaciones de juego diferentes en la pantalla de visualización. Por ejemplo, puede generarse una pantalla de transición para visualizar una transición suave entre una presentación del resultado del juego y un juego de bonificación.
La figura 11 es un diagrama de bloques de máquinas de juego que utilizan software de juego distribuido y procesadores distribuidos para generar un juego de azar para una realización de la presente invención. Un controlador 250 de juego maestro se utiliza para presentar uno o más juegos en las máquinas 61, 62 y 63 de juego. El controlador 250 de juego maestro ejecuta varios módulos de software de juego para operar dispositivos 70 de juego, tales como tolvas de monedas, verificadores de billetes, receptores de monedas, altavoces, impresoras, luces, visualizaciones (por ejemplo 34) y otros mecanismos de entrada/salida. El controlador 250 de juego maestro puede también ejecutar software de juego que permite comunicaciones con dispositivos de juego ubicados fuera de las máquinas 61, 62 y 63 de juego, tales como servidores de seguimiento de jugador, servidores de juego de bonificación, servidores de juego y servidores de juego progresivo. En algunas realizaciones, pueden realizarse comunicaciones con dispositivos ubicados fuera de las máquinas de juego utilizando el panel 252 de comunicación principal y conexiones 71 de red. Las conexiones 71 de red pueden permitir comunicaciones con dispositivos de juego remotos a través de una red de área local, una intranet, Internet o combinaciones de las mismas.
Las máquinas 61, 62 y 63 de juego pueden utilizar módulos de software de juego para generar un juego de azar que puede distribuirse entre dispositivos locales de almacenamiento de archivos y dispositivos remotos de almacenamiento de archivos. Por ejemplo, para jugar a un juego de azar en la máquina 61 de juego, el controlador de juego maestro puede cargar módulos de software de juego en la RAM 56 que puede estar ubicada en 1) un dispositivo 251 de almacenamiento de archivos en la máquina 61 de juego, 2) un dispositivo 81 remoto de almacenamiento de archivos, 2) un dispositivo 82 remoto de almacenamiento de archivos, 3) un servidor 90 de juego, 4) un dispositivo 251 de almacenamiento de archivos en la máquina 62 de juego, 5) un dispositivo 251 de almacenamiento de archivos en la máquina 63 de juego, o 6) combinaciones de los mismos. Los módulos de software de juego pueden incluir archivos de instrucciones (script), archivos de datos y modelos en 3D utilizados para generar objetos en 3D en los entornos de juego en 3D de la presente invención. En una realización de la presente invención, el sistema operativo de juego puede permitir utilizar archivos almacenados en los dispositivos locales de almacenamiento de archivos y dispositivos remotos de almacenamiento de archivos como parte de un sistema de archivos compartidos en el que los archivos en los dispositivos remotos de almacenamiento de archivos están integrados de manera remota en el sistema local de archivos. Los dispositivos de almacenamiento de archivos pueden ser una unidad de disco duro, CDROM, CD-DVD, RAM estática, memoria flash, EPROM, memoria flash compacta, medios inteligentes, disco sobre placa, medios amovibles (por ejemplo unidades de ZIP con discos ZIP, flexibles o combinaciones de los mismos). Por motivos tanto de seguridad como legales, el software de juego ejecutado en las máquinas 61, 62 y 63 de juego por los controladores 250 de juego maestros puede verificarse de manera regular comparando el software almacenado en la RAM 56 para su ejecución en las máquinas de juego con copias certificadas del software almacenado en la máquina de juego (por ejemplo los archivos pueden almacenarse en el dispositivo 251 de almacenamiento de archivos), accesibles por la máquina de juego a través de una conexión de comunicación remota (por ejemplo, 81, 82 y 90) o combinaciones de las mismas.
El servidor 90 de juego puede ser un depósito para módulos de software de juego y software para otros servicios de juego proporcionados en las máquinas 61, 62 y 63 de juego. En una realización de la presente invención, las máquinas 61, 62 y 63 de juego puede descargar módulos de software de juego desde el servidor 90 de juego a un dispositivo local de almacenamiento de archivos para jugar a un juego de azar o el servidor de juego puede iniciar la descarga. Un ejemplo de un servidor de juego que puede utilizarse con la presente invención se describe en la solicitud de patente estadounidense en tramitación junto con la presente 09/042.192, presentada el 16/06/2000, titulada "Using a Gaming Machine as a Server" que se incorpora en el presente documento en su totalidad y a todos los efectos. En otro ejemplo, el servidor de juego puede ser también un ordenador dedicado o un servicio que se ejecuta en un servidor con otros programas de aplicación.
En una realización de la presente invención, los procesadores utilizados para generar un juego de azar pueden estar distribuidos entre diferentes máquinas. Por ejemplo, la lógica de flujo de juego para jugar a un juego de azar puede ejecutarse en un servidor 92 de juego mediante el procesador 90 mientras que el controlador 250 de juego maestro puede ejecutar la lógica de presentación de juego en las máquinas 61, 62 y 63 de juego. Los sistemas operativos de juego en las máquinas 61, 62 y 63 de juego y el servidor 90 de juego pueden permitir comunicar eventos de juego entre diferentes módulos de software de juego que están ejecutándose en diferentes máquinas de juego a través de API definidas. Por tanto, un módulo de software de flujo de juego ejecutado en el servidor 92 de juego puede enviar eventos de juego a un módulo de software de presentación de juego ejecutado en la máquina 61, 62 ó 63 de juego para controlar el juego de un juego de azar o para controlar el juego de un juego de bonificación de azar presentados en las máquinas 61, 62 y 63 de juego. Como otro ejemplo, las máquinas 61, 62 y 63 de juego pueden enviarse eventos de juego entre sí a través de una conexión 71 de red para controlar el juego de un juego de bonificación compartido al que se juega simultáneamente en las diferentes máquinas de juego o en general para afectar a la partida de juego en otra máquina.
Aunque la invención anterior se ha descrito con cierto detalle con fines de claridad de comprensión, será evidente que pueden realizarse algunos cambios y modificaciones dentro del alcance de las reivindicaciones adjuntas. Por ejemplo, aunque las máquinas de juego de esta invención se han representado con un módulo superior montado en la parte superior del armario principal de la máquina de juego, el uso de dispositivos de juego según esta invención no está limitado de este modo. Por ejemplo, la máquina de juego puede proporcionarse sin un módulo superior o una visualización secundaria. Estos dos tipos de máquinas de juego pueden modelizarse en un entorno de juego virtual almacenado en una máquina de juego.

Claims (38)

1. Un procedimiento para generar un juego de azar en una máquina de juego que puede operarse i) para recibir dinero en metálico o pruebas de crédito para una apuesta en el juego de azar y ii) para entregar dinero en metálico o una prueba de crédito como premio por el juego de azar, en el que la máquina de juego comprende un controlador de juego maestro, un dispositivo de visualización, un dispositivo de memoria y un sistema de renderización gráfica en 3D, comprendiendo el procedimiento:
proporcionar en la máquina de juego una textura de fuente que comprende una pluralidad de caracteres trazados en un estilo de fuente particular, comprendiendo dicha textura de fuente;
uno o más parámetros de fuente para definir características globales de la pluralidad de características en la textura de fuente;
uno o más parámetros de carácter para definir características de cada carácter;
durante la operación de la máquina de juego, determinar una cadena de texto que comprende una pluralidad de caracteres para su visualización en el dispositivo de visualización;
determinar una superficie de página de texto para guiar una colocación de la pluralidad de caracteres en un entorno de juego en 3D;
para cada carácter en la cadena de texto,
dimensionar un objeto en 3D para el carácter utilizando los parámetros de fuente y los parámetros de carácter;
mapear una textura del carácter a partir de la textura de fuente con el objeto en 3D;
colocar cada objeto en 3D sobre la superficie de página de texto;
aplicar una o más reglas de composición tipográfica a los objetos en 3D para mejorar una calidad visual de la cadena de texto renderizada a partir de los objetos en 3D incluyendo determinar una ubicación de cada carácter en la cadena de texto con respecto a otro en el entorno de juego en 3D;
renderizar la cadena de texto utilizando el sistema de renderización gráfica en 3D;
visualizar la cadena de texto renderizada en el dispositivo de visualización;
recibir la apuesta para los juegos de azar controlados por el controlador de juego maestro en la máquina de juego;
determinar un resultado del juego para el juego de azar;
visualizar el resultado del juego utilizando el sistema de renderización gráfica en 3D en el dispositivo de visualización.
2. El procedimiento según la reivindicación 1, en el que el sistema de renderización gráfica en 3D es compatible con OpenGL.
3. El procedimiento según la reivindicación 1, en el que el juego de azar se selecciona del grupo que consiste en un juego tragaperras, un juego keno, un juego de póquer, un juego de pachinko, un juego de vídeo black jack, un juego de bingo, un juego de bacará, a juego de ruleta, a juego de dados y un juego de cartas.
4. El procedimiento según la reivindicación 1, que comprende además:
almacenar una o más texturas de fuente generadas en una librería de fuentes en el dispositivo de memoria en la máquina de juego.
5. El procedimiento según la reivindicación 4, en el que la librería de fuentes comprende además una pluralidad de texturas de fuente con el mismo estilo de fuente y diferentes parámetros de fuente o parámetros de carácter.
6. El procedimiento según la reivindicación 4, en el que la librería de fuentes comprende además una pluralidad de texturas de fuente con diferentes estilos de fuente.
7. El procedimiento según la reivindicación 1, en el que la cadena de texto se renderiza para transmitir información textual para uno o más de i) una presentación del resultado del juego para el juego de azar, ii) una operación de mantenimiento del juego, iii) una característica de modo de atracción, iv) una característica promocional, v) información del casino, vi) presentación de juego de bonificación y capturando la información textual en la una o más imágenes bidimensionales.
8. El procedimiento según la reivindicación 1, en el que la cadena de texto se renderiza para transmitir información textual desde uno o más de un anuncio, noticias, cotizaciones de bolsa, correo electrónico, una página web, un servicio de mensajería, un servicio de localización o un servicio de hotel/casino, una película, una selección musical, una promoción de casino, un evento de difusión, una historia de juego, un servicio de seguimiento de un jugador, un menú de bebidas y un menú de aperitivos.
9. El procedimiento según la reivindicación 1, en el que las reglas de composición tipográfica son para uno o más de i) ajustar un espaciado entre los caracteres, ii) ajustar pesos de color de los caracteres, iii) justificar la cadena de texto, iv) centrar la cadena de texto, v) ajustar las dimensiones de los trazos que definen los caracteres, vi) alinear los caracteres con una línea base, vii), situar la cadena de texto en dos o más líneas, viii) ajustar el espaciado entre dos o más líneas de texto, ix) ajustar la alineación vertical u horizontal de los caracteres, x) ajustar un tamaño relativo de cada carácter, xi) ajustar los píxeles que definen el carácter y xii) y ajustar los téxeles que definen el carácter.
10. El procedimiento según la reivindicación 1, que comprende además:
en el que el cambio de uno o más de una forma de la superficie de página de texto, una posición de la superficie de página de texto o una orientación de la superficie de página de texto en función del tiempo.
11. El procedimiento según la reivindicación 1, en el que una forma de la superficie de página de texto es un rectángulo plano.
12. El procedimiento según la reivindicación 1, en el que una forma de la superficie de página de texto es un polígono plano de múltiples lados.
13. El procedimiento según la reivindicación 1, en el que una forma de la superficie de página de texto es una superficie en 3D.
14. El procedimiento según la reivindicación 1, en el que la superficie de página de texto es invisible.
15. El procedimiento según la reivindicación 1, que comprende además aplicar uno de una textura estática, una textura animada o combinaciones de las mismas a la superficie de página de texto.
16. El procedimiento según la reivindicación 1, que comprende además recortar una parte de un primer objeto en 3D que se extiende más allá de un límite definido por la superficie de página de texto.
17. El procedimiento según la reivindicación 1, que comprende además ajustar a escala el uno o más objetos en 3D para que encaje dentro de los límites definidos por la superficie de página de texto.
18. El procedimiento según la reivindicación 1, en el que cada uno de los objetos en 3D está compuesto por dos polígonos triangulares.
19. El procedimiento según la reivindicación 1, en el que uno o más de una forma, una posición y una orientación angular de los objetos en 3D cambia en función del tiempo en el entorno de juego en 3D.
20. El procedimiento según la reivindicación 1, que comprende además:
calcular coordenadas de textura para cada uno de los objetos en 3D y mapear un primer carácter de la textura de fuente utilizando las coordenadas de textura con un primer objeto en 3D.
21. El procedimiento según la reivindicación 1, en el que los parámetros de fuente son uno o más de un nombre de fuente, un estilo de fuente, un tipo de letra de fuente, un peso de fuente, una línea base de fuente, una elevación de fuente, un descenso de fuente, una inclinación de fuente, una altura máxima de fuente, un ancho máximo de fuente y un número de caracteres en la textura de fuente.
22. El procedimiento según la reivindicación 1, en el que los parámetros de carácter son uno o más de una altura de carácter, un ancho de carácter, una elevación de carácter, un descenso de carácter, un origen de carácter, información de carácter para indicar dónde colocar un carácter adyacente, una forma de carácter o coordenadas de ubicación de carácter para ubicar el carácter en la textura de fuente.
23. El procedimiento según la reivindicación 1, que comprende además:
ubicar un primer carácter en la textura de fuente utilizando coordenadas de ubicación de carácter.
\newpage
\global\parskip0.930000\baselineskip
24. Una máquina de juego que comprende:
una carcasa;
un controlador de juego maestro acoplado a la carcasa diseñado o configurado para controlar un juego de azar al que se juega en la máquina de juego;
un entorno de juego tridimensional (3D) para renderizar al menos una presentación del resultado del juego para el juego de azar almacenado en un dispositivo de memoria en la máquina de juego;
un dispositivo de memoria para almacenar texturas de fuente en una librería de fuentes en la máquina de juego comprendiendo cada textura de fuente; i) uno o más parámetros de fuente para definir características globales de la pluralidad de características en la textura de fuente; y ii) uno o más parámetros de carácter para definir características de cada carácter;
una lógica de juego para 1) determinar una cadena de texto que comprende una pluralidad de caracteres para su visualización en el dispositivo de visualización; 2) determinar una superficie de página de texto para guiar una colocación de la pluralidad de caracteres en un entorno de juego en 3D; 3) para cada carácter en la cadena de texto, a) dimensionar un objeto en 3D para el carácter utilizando los parámetros de fuente y los parámetros de carácter; b) mapear una textura del carácter a partir de la textura de fuente con el objeto en 3D; c) colocar cada objeto en 3D en la superficie de página de texto; y d) aplicar una o más reglas de composición tipográfica a los objetos en 3D para mejorar una calidad visual de la cadena de texto renderizada a partir de los objetos en 3D incluyendo determinar una ubicación de cada carácter en la cadena de texto con respecto a otro en el entorno de juego en 3D;
lógica de juego para renderizar una o más imágenes bidimensionales obtenidas a partir de los objetos en 3D en el entorno de juego en 3D en la que al menos uno de los objetos en 3D es un objeto de texto en 3D adaptado para trasladar información textual;
al menos un dispositivo de visualización para visualizar las una o más imágenes bidimensionales renderizadas en el que la máquina de juego es operable i) para recibir dinero en metálico o pruebas de crédito para una apuesta en el juego de azar y ii) para entregar dinero en metálico o una prueba de crédito como premio por el juego de azar.
25. La máquina de juego según la reivindicación 24, que comprende además:
un sistema de renderización gráfica en 3D para renderizar la una o más imágenes en 2D.
26. La máquina de juego según la reivindicación 24, que comprende además:
una lógica de juego diseñada o configurada para renderizar información textual desde una operación de mantenimiento de la máquina de juego en el entorno de juego en 3D utilizando una pluralidad de los objetos de texto en 3D y para capturar la operación de mantenimiento de la máquina de juego en la una o más imágenes bidimensionales.
27. La máquina de juego según la reivindicación 24, que comprende además:
una lógica de juego diseñada o configurada para renderizar información textual desde uno o más de i) una característica operativa de la máquina de juego, ii) una operación de mantenimiento de la máquina de juego en el entorno de juego en 3D, iii) una característica de modo de atracción, iv) una característica promocional, v) información de casino o vi) una presentación de juego de bonificación utilizando una pluralidad de los objetos de texto en 3D y para capturar la característica de operación de la máquina de juego en la una o más imágenes bidimensionales.
28. La máquina de juego según la reivindicación 24, en la que una posición tridimensional del objeto en 3D varía en el tiempo.
29. La máquina de juego según la reivindicación 24, que comprende además:
una unidad de procesamiento gráfico, separada de dicho controlador de juego maestro, diseñada o configurada para ejecutar las operaciones gráficas utilizadas para renderizar una o más imágenes bidimensionales derivadas de los objetos en 3D en el entorno de juego en 3D.
30. La máquina de juego según la reivindicación 24, que comprende además:
un panel de interfaz de red diseñado o configurado para permitir al controlador de juego maestro comunicar información textual renderizada a un dispositivo de visualización remoto.
31. La máquina de juego según la reivindicación 30, en la que el controlador de juego maestro se comunica con el dispositivo de visualización remoto a través de al menos uno de una red de área local, una red de área amplia e Internet.
\global\parskip1.000000\baselineskip
32. La máquina de juego según la reivindicación 24, en la que el juego de azar se selecciona del grupo que consiste en un juego tragaperras, un juego keno, un juego de póquer, un juego de pachinko, un juego de vídeo black jack, un juego de bingo, un juego de bacará, un juego de ruleta, un juego de dados y un juego de cartas.
33. La máquina de juego según la reivindicación 24, en la que el juego de azar son múltiples manos de un juego de cartas presentadas simultáneamente.
34. La máquina de juego según la reivindicación 33, en la que las múltiples manos del juego de cartas son entre 1 mano de póquer y 1000 manos de póquer.
35. La máquina de juego según la reivindicación 30, en la que la máquina de juego puede operarse para renderizar información textual utilizando los objetos en 3D en el entorno de juego en 3D de uno o más de un anuncio, noticias, cotizaciones de bolsa, correo electrónico, una página web, un servicio de mensajería, un servicio de localización o un servicio de hotel/casino, una película, una selección musical, una promoción de casino, un evento de difusión, una operación de mantenimiento, un servicio de seguimiento de un jugador, un menú de bebidas y un menú de aperitivos.
36. La máquina de juego según la reivindicación 24, que comprende además:
una tarjeta de vídeo de múltiples terminales.
37. La máquina de juego según la reivindicación 24, en la que la librería de fuentes comprende además una pluralidad de texturas de fuente con el mismo estilo de fuente y diferentes parámetros de fuente o parámetros de carácter.
38. La máquina de juego según la reivindicación 26, en la que la librería de fuentes comprende además una pluralidad de texturas de fuente con diferentes estilos de fuente.
ES03773084T 2002-09-30 2003-09-30 Texto en 3d en una maquina de juego. Expired - Lifetime ES2319983T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41498202P 2002-09-30 2002-09-30
US414982P 2002-09-30

Publications (1)

Publication Number Publication Date
ES2319983T3 true ES2319983T3 (es) 2009-05-18

Family

ID=32043416

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03773084T Expired - Lifetime ES2319983T3 (es) 2002-09-30 2003-09-30 Texto en 3d en una maquina de juego.

Country Status (7)

Country Link
EP (1) EP1545728B1 (es)
AT (1) ATE421371T1 (es)
AU (1) AU2003279742B2 (es)
DE (1) DE60325982D1 (es)
ES (1) ES2319983T3 (es)
RU (1) RU2344483C9 (es)
WO (1) WO2004028650A1 (es)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7367885B2 (en) 2001-08-09 2008-05-06 Igt 3-D text in a gaming machine
US7909696B2 (en) 2001-08-09 2011-03-22 Igt Game interaction in 3-D gaming environments
US8267767B2 (en) 2001-08-09 2012-09-18 Igt 3-D reels and 3-D wheels in a gaming machine
US7918730B2 (en) 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
US8454428B2 (en) 2002-09-12 2013-06-04 Wms Gaming Inc. Gaming machine performing real-time 3D rendering of gaming events
EP1756782A4 (en) 2004-02-23 2010-10-27 Wagerworks Inc BONUS STRUCTURES FOR MULTI-RESULTS / MULTI-PURPOSE GAMBLING GAME
ATE427145T1 (de) * 2004-06-21 2009-04-15 Weike S Pte Ltd Virtuelles kartenspielsystem
WO2006039371A2 (en) 2004-10-01 2006-04-13 Wms Gaming Inc. Displaying 3d characters in gaming machines
WO2007032874A2 (en) 2005-09-09 2007-03-22 Wms Gaming Inc. Gaming system modelling 3d volumetric masses
US9666031B2 (en) 2006-06-12 2017-05-30 Bally Gaming, Inc. Wagering machines having three dimensional game segments
US8251825B2 (en) 2006-08-14 2012-08-28 Wms Gaming Inc. Applying graphical characteristics to graphical objects in a wagering game machine
US8248462B2 (en) 2006-12-15 2012-08-21 The Board Of Trustees Of The University Of Illinois Dynamic parallax barrier autosteroscopic display system and method
US8384710B2 (en) 2007-06-07 2013-02-26 Igt Displaying and using 3D graphics on multiple displays provided for gaming environments
US9640021B2 (en) 2007-11-09 2017-05-02 Bally Gaming, Inc. Real three dimensional display for wagering game machine events
KR101639053B1 (ko) * 2009-02-17 2016-07-13 코닌클리케 필립스 엔.브이. 3d 이미지 및 그래픽 데이터의 조합
US8803889B2 (en) * 2009-05-29 2014-08-12 Microsoft Corporation Systems and methods for applying animations or motions to a character
TWI460650B (zh) * 2011-10-25 2014-11-11 Kye Systems Corp 輸入裝置及其物件縮放控制方法
RU2523925C2 (ru) * 2011-11-17 2014-07-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ динамической визуализации коллекции изображений в виде коллажа
GB2501457A (en) 2012-02-10 2013-10-30 Rational Intellectual Holdings Ltd Assigning player positions in an online table game
US9324214B2 (en) 2012-09-05 2016-04-26 Bally Gaming, Inc. Wagering game having enhanced display of winning symbols
CN112370774B (zh) * 2020-11-12 2024-07-23 网易(杭州)网络有限公司 一种在游戏加速器中启动游戏的方法及装置
CN112489166B (zh) * 2020-11-17 2024-08-09 娄底景明新材料有限公司 汽车板激光切割自动排版制图方法及系统
CN112614218B (zh) * 2020-12-25 2022-05-20 广州凡科互联网科技股份有限公司 一种实现二维文字转换三维文字的展示方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469536A (en) * 1992-02-25 1995-11-21 Imageware Software, Inc. Image editing system including masking capability
US6612575B1 (en) * 2000-05-16 2003-09-02 Colepat, Llc Gaming device and method of playing a game
US6394901B1 (en) * 2000-06-26 2002-05-28 John A. Marta Gaming device
AUPR100600A0 (en) * 2000-10-25 2000-11-16 Aristocrat Technologies Australia Pty Limited Gaming graphics

Also Published As

Publication number Publication date
DE60325982D1 (de) 2009-03-12
RU2344483C9 (ru) 2009-07-20
RU2344483C2 (ru) 2009-01-20
EP1545728B1 (en) 2009-01-21
AU2003279742A1 (en) 2004-04-19
AU2003279742B2 (en) 2010-02-18
RU2005109161A (ru) 2006-01-27
EP1545728A1 (en) 2005-06-29
ATE421371T1 (de) 2009-02-15
WO2004028650A1 (en) 2004-04-08

Similar Documents

Publication Publication Date Title
ES2319983T3 (es) Texto en 3d en una maquina de juego.
US7367885B2 (en) 3-D text in a gaming machine
AU784628B2 (en) Virtual cameras and 3-d gaming environments in a gaming machine
US7909696B2 (en) Game interaction in 3-D gaming environments
US9418504B2 (en) 3-D reels and 3-D wheels in a gaming machine
US8002623B2 (en) Methods and devices for displaying multiple game elements
AU2003279092B2 (en) 3-D reels and 3-D wheels in a gaming machine