3-d text in a gaming machine
Abstract
A procedure for generating a game of chance in a gaming machine that can be operated i) to receive cash or credit evidence for a gambling bet and ii) to deliver cash or a credit test as a prize by gambling, in which the game machine comprises a master game controller, a display device, a memory device and a 3D graphic rendering system, the procedure comprising: providing in the game machine a font texture comprising a plurality of characters drawn in a particular font style, said font texture comprising; one or more source parameters to define global characteristics of the plurality of characteristics in the source texture; one or more character parameters to define characteristics of each character; during the operation of the game machine, determine a text string comprising a plurality of characters for display on the display device; determine a text page surface to guide a placement of the plurality of characters in a 3D gaming environment; for each character in the text string, dimension a 3D object for the character using the font parameters and character parameters; map a character texture from the font texture with the 3D object; place each object in 3D on the text page surface; apply one or more rules of typographic composition to 3D objects to improve a visual quality of the rendered text string from 3D objects including determining a location of each character in the text string with respect to another in the environment 3D game; render the text string using the 3D graphic rendering system; display the rendered text string on the display device; receive the bet for gambling controlled by the master game controller on the game machine; determine a game outcome for gambling; Visualize the outcome of the game using the 3D graphic rendering system on the display device.

Term
Term ended
Projected expiry passed 30 September 2023, 3 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
38 claims: 2 independent, 36 dependent
- 1ES 2 319 983 T3 REIVINDICACIONES 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.
- 2El procedimiento según la reivindicación 1, en el que el sistema de renderización gráfica en 3D es compatible con OpenGL.
- 3El 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.
- 4El 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.
- 5El 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.
- 6El 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.
- 7El 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 man ES 2 319 983 T3 tenimiento 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.
- 8El 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.
- 9El 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.
- 10El 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.
- 11El 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.
- 12El 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.
- 13El 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.
- 14El procedimiento según la reivindicación 1, en el que la superficie de página de texto es invisible.
- 15El 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.
- 16El 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.
- 17El 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.
- 18El procedimiento según la reivindicación 1, en el que cada uno de los objetos en 3D está compuesto por dos polígonos triangulares.
- 19El 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.
- 20El 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.
- 21El 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.
- 22El 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.
- 23El 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. ES 2 319 983 T3
- 24Una 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.
- 25La 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.
- 26La 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.
- 27La 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.
- 28La 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.
- 29La 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.
- 30La 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.
- 31La 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. ES 2 319 983 T3
- 32La 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.
- 33La 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.
- 34La 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.
- 35La 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.
- 36La máquina de juego según la reivindicación 24, que comprende además:una tarjeta de vídeo de múltiples terminales.
- 37La 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.
- 38La 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.
Independent claims38
257 paragraphs in 14 sections, as filed
ES 2 319 983 T3
DESCRIPTION
3D text on a gaming machine.
Background of the invention
This invention relates to game presentation methods for gaming machines such as slot machines and video poker machines. More particularly, the present invention relates to apparatus and methods for displaying game presentations derived from a 3D gaming environment.
As technology advances in the gaming industry, traditional mechanically driven drum slot machines are being replaced by electronic equivalents that have CRT, LCD or similar video displays. These advances in video / electronic gaming make it possible to operate more complex games, which otherwise would not be possible on mechanically driven gaming machines. Gaming machines such as video slot machines and video poker machines are becoming more and more popular. Its increased popularity is due in part to the almost infinite variety of games that can be implemented in gaming machines that use advanced electronic technology.
There are a wide variety of associated devices that can be connected to video game machines such as video slot machines and video poker machines. Some examples of these devices are lights, ticket printers, card readers, speakers, bill validators, ticket readers, coin receivers, display panels, keypads, coin hoppers, and button panels. Many of these devices are built into the gaming machine or components associated with the gaming machine such as a top module, which generally rests on top of the gaming machine.
Typically, using a master game controller, the game machine controls various combinations of devices that allow a player to play a game on the game machine and also promote play on the game machine. For example, a game played on a gaming machine generally requires a player to insert money or credit tests into the gaming machine, enter a stake amount, and initiate a gaming match. These stages require the gaming machine to control input devices, including bill validators and coin receivers, to accept money at the gaming machine and recognize user input from devices, including keypads and button panels, to determine the bet amount and start the game.
After the game game has started, the game machine determines a game result, presents the game result to the player, and may dispense a prize of some kind, depending on the game result. A game outcome presentation can use many different audio and visual components such as flashing lights, music, sounds, and graphics. The audio and visual components of the game outcome presentation can be used to draw a player's attention to various game features and to increase the player's interest in continuing to play. Maintaining a player's interest in the gaming game, as well as in a gaming machine or during other gaming activities, is an important consideration for a gaming establishment operator.
One method of maintaining a player's interest is to present multiple games at the same time during a game presentation. For example, three-game poker in which a player plays three hands of poker during each game presentation has become a very popular game implemented on a video game machine. Variants of three-game poker include game presentations in which one hundred or more hands of poker are played during each game presentation. The presentation of multiple games during a single game presentation can be extended to other types of games, such as video slot games.
A difficulty associated with presenting multiple games in a video game presentation is the resolution of the display screen on a gaming machine. A typical display resolution on a gaming machine is approximately 640 pixels by 480 pixels. As the number of games presented in a game presentation increases, the amount of detail may be limited by the screen resolution. For example, for a 100-hand poker game in which 100 poker hands are displayed during each game presentation, each card should be drawn small enough without great detail to fit all the cards on a single display screen. Lack of detail and small card size may discourage some players from playing these games.
Another method of maintaining a player's interest in playing a game on a gaming machine is to present a fascinating game presentation that is displayed on a display screen on the gaming machine. Many recent game systems use graphics generation schemes that employ mass storage devices that use varied load times and streaming media formats to generate a compelling game presentation. With these game systems, numerous game scenes are generated during gameplay using complex renderings and video playback capabilities. Typically, however, for efficiency reasons, a player has little control over the presentation of the outcome of the game other than through the game decisions they make during game play.
ES 2 319 983 T3
In view of the foregoing, it would be desirable to provide a method and apparatus that enables detailed game displays that allow for the simultaneous play of multiple games to be presented on a video game machine, with the game display also being controllable by one player.
As an example of the prior art see US 2002-111212.
Summary of the invention
This invention addresses the needs outlined above by providing a method and apparatus in a gaming machine for presenting a plurality of game outcome displays derived from one or more virtual 3D gaming environments stored on the gaming machine as defined in the claims 1 and 24. While a game of chance is being played on the gaming machine, two-dimensional images derived from a 3D object can be rendered in the 3D gaming environment on a display screen on the gaming machine in real time as part of a presentation. the outcome of the game. The 3D objects may include 3D text objects that are used to display text on the gaming machine display screen as part of the game result presentation. Apparatus and procedures are described for generating and displaying information in a textual format that is compatible with a 3D graphic rendering system. In particular, font generation and typesetting procedures that are applicable in a 3D gaming environment are described.
One aspect of the present invention provides a method of providing a game of chance on a gaming machine that can be operated i) to receive cash or proof of credit for a bet on a game of chance and ii) to deliver cash. or a credit test as a prize for the game of chance, in which the game machine comprises a master game controller, a display device, a memory stick and a 3D graphical rendering system. The procedure can be characterized in general because it comprises: a) receiving the bet on the games of chance controlled by the master gaming controller in the gaming machine; b) determine a result of the game of games of chance; c) rendering one or more two-dimensional images derived from three-dimensional (3D) objects in a 3D gaming environment stored on the memory device in the gaming machine, in which at least one of the 3D objects is a text object in 3D adapted to convey textual information; and d) displaying the one or more rendered two-dimensional images on the display device on the gaming machine. In general, the 3D gaming environment comprises a plurality of 3D text objects and the 3D graphical rendering system can support OpenGL.
In particular embodiments, the method may further comprise: a) map a text string comprising one or more alphanumeric characters with the 3D text object, the 3D text object can be configured to transmit at least one of the alphanumeric characters in the text string, b) map textures with patterns of alphanumeric characters with the 3D text object to convey the textual information, c) render the 3D text object into a shape of an alphanumeric character to convey the textual information. The shape of the alphanumeric character can be defined by a plurality of parameterized curves.
In other embodiments, the method may further comprise scaling the 3D text object to convey the textual information by a scaling factor. The 3D gaming environment may comprise two or more 3D text objects with the gaming machine operable to apply a different scaling factor to each of the two or more 3D text objects. The scaling factor can vary over time. The 3D text object can be scaled to less than three of its dimensions. Furthermore, the gaming machine can be operated to apply a different scaling factor to each of the three dimensions of the 3D text object: the 3D text object can be scaled using MIP mapping.
In still other embodiments, the gaming machine can be operated to scale a plurality of 3D text objects to fit a bounded surface. A shape of the bounded surface can change as a function of time. In one example, the bounded surface can be a flat surface. A shape of 3D text objects can also change as a function of time.
In particular embodiments, the method may further comprise positioning each of the 3D objects in the 3D gaming environment. The position of one or more of the 3D objects can change as a function of time. A plurality of 3D text objects can be positioned along a straight line, two or more parallel lines, or along a 3D curve in the 3D gaming environment. In general, a plurality of 3D text objects can be placed in the 3D gaming environment.
In one embodiment, the method may further comprise guiding a placement of the 3D text objects using a text page surface. One or more of a text page surface shape, a text page surface position, or a text page surface orientation can change over time. A text page surface shape can be a flat rectangle, a multi-sided flat polygon, or a 3D surface. The text page surface can be invisible. Furthermore, the method may further comprise: a) applying one or more of a static texture, an animated texture or combinations thereof to the text page surface, b) cutting out a portion of a first 3D text object that is extends beyond a boundary defined by the text page surface and c) scale the 3D text object to fit within the boundaries defined by the text page surface.
ES 2 319 983 T3
In other embodiments, the method may comprise orienting an angular position of each of the 3D text objects in the 3D gaming environment. The angular position of each of the 3D text objects can vary over time. In particular, the angular positions of each of the 3D text objects can be oriented so that a surface of the 3D text objects is aligned with an inclined plane or the normal of a curved line or a curved surface on the 3D game environment.
In particular embodiments, the method may further comprise rendering the textual information in the 3D gaming environment for one or more of i) a presentation of the result of the game for gambling, ii) a game maintenance operation, iii) an attraction mode feature, iv) a promotional feature, v) casino information, vi) bonus game presentation and capturing the textual information on the one or more two-dimensional images. In addition, the textual information conveyed by the 3D text objects can be information from one or more of a game of chance, a bonus game, an advertisement, news, stock quotes, email, a web page, a service of courier, location service or hotel / casino service, movie, music selection, casino promotion, broadcast event, maintenance operation, player tracking service, a drinks menu and a snack menu.
In particular embodiments, a text string comprising a plurality of alphanumeric characters can be mapped to a plurality of 3D text objects with each of the 3D text objects transmitting the textual information for one of the alphanumeric characters in the text string. . The method may further comprise applying one or more typesetting rules to improve a quality of the textual information rendered from the plurality of 3D text objects representing the text string. Typesetting rules can be for one or more of i) adjusting a spacing between characters, ii) adjusting character color weights, iii) justifying the text string, iv) centering characters, v) adjusting dimensions of the strokes that define the characters, vi) align the characters with a baseline, vii), place the text string on two or more lines, viii) adjust the spacing between two or more lines of text, ix) adjusting the vertical or horizontal alignment of characters, x) adjusting a relative size of each character, xi) adjusting the pixels that define a text character, and xii) adjusting the texels that define a text character. In other embodiments, the method may further comprise one or more of a) prior to rendering the one or more two-dimensional images, generating one or more font textures with each font texture comprising a plurality of characters, and loading the one or more font textures. on a first memory device in the gaming machine, b) displaying a menu of games of chance available on the gaming machine; receive one or more input signals containing information used to select one or more of the games of chance listed in said menu, c) generate an animated surface texture in the 3D gaming environment, d) store one or more of the two-dimensional images rendered on a memory device located on the gaming machine or e) loading one or more font textures from a font library on the memory device on the gaming machine.
Another aspect of the present invention provides a method of providing textual information for a gaming machine that is operable i) to receive cash or proof of credit for a bet in a game of chance and ii) to deliver cash or a credit test as a prize for the game of chance the game machine comprising a master game controller, a display device, a memory stick and a 3D graphical rendering system. The method can be characterized in general in that it comprises: a) generating a font texture comprising a plurality of characters drawn in a particular font style, the font texture comprising one or more font parameters to define global characteristics of the plurality of characteristics in the font texture and one or more character parameters to define characteristics of each character; b) determining a text string comprising a plurality of characters; c) determining a text page surface to guide a placement of the plurality of characters in a 3D gaming environment, d) for each character in the text string, sizing a 3D object for the character using font parameters and character parameters; mapping a character texture from the font texture to the 3D object and placing each 3D object on the text page surface; e) apply one or more typesetting rules to 3D objects to improve a visual quality of the text string rendered from 3D objects; and f) rendering the text string using the 3D graphical rendering system.
In particular embodiments, the method may further comprise displaying the rendered text string on the display device or locating a first character in the font texture using character location coordinates. The 3D graphics rendering system can support OpenGL. Furthermore, the game of chance can be selected from the group consisting of a slot game, a keno game, a poker game, a pachinko game, a black jack video game, a bingo game, a baccarat game, a game roulette, a dice game and a card game.
In other embodiments, the method may further comprise storing one or more generated font textures in a font library on the memory device in the gaming machine. The font library further comprises a plurality of font textures with the same font style and different font parameters or character parameters. The font library may further comprise a plurality of font textures with different font styles. The font parameters in the font texture can be one or more of a font name, a font style, a font typeface, a font weight, a font baseline, a font elevation, a descent font size, a font slant, a maximum font height, a maximum font width, and a number of characters in the font texture. Character parameters in the font texture can be one or more of a character height, a character width, a character lift, a character drop, a origin
ES 2 319 983 T3 character, a character shape or character location coordinates for locating the character in the font texture.
Yet another aspect of the present invention provides a gaming machine. The gaming machine can be generally characterized in that it comprises: 1) a housing; 2) a master game controller coupled to the case designed or configured to control a game of chance that is played on the gaming machine; 3) a three-dimensional (3D) gaming environment for rendering at least one presentation of the game result for the game of chance stored in a memory device in the gaming machine; 4) game logic for rendering one or more derived two-dimensional images of 3D objects in the 3D game environment at least one of the 3D objects being a 3D text object adapted to convey textual information; 5) at least one display device to display the one or more rendered two-dimensional images, the gaming machine being operable i) to receive cash or credit tests for a bet on the game of chance and ii) to deliver money in cash or proof of credit as a prize for gambling. The gaming machine may further comprise one or more of a) a 3D graphical rendering system to render the one or more 2D images, b) a game logic designed or configured to render textual information from a maintenance operation of the game machine in the 3D game environment using a plurality of the 3D text objects and to capture the maintenance operation of the game machine in the one or more two-dimensional images, c) a game logic designed or configured to render textual information from one or more of i) an operational feature of the gaming machine, ii) a maintenance operation of the gaming machine in the 3D gaming environment, iii) an attraction mode feature, iv) a promotional feature, v) casino information or vi) a bonus game presentation using a plurality of the 3D text objects and to capture the operating characteristic of the gaming machine in the one or more two-dimensional images, d) a processing unit graphic, separate from said master game controller, designed or configured to perform the graphical operations used to render one or more derived two-dimensional images of the 3D objects in the 3D gaming environment, e) a network interface panel designed or configured to allow the master game controller to communicate information textual rendered to a remote display device, f) a multi-terminal video card, g) a memory device for storing font textures in a font library on the gaming machine. The font library may further comprise a plurality of font textures with the same font style and different font parameters or character parameters or a plurality of font textures with different font styles.
Another aspect of the invention relates to computer program products including a machine-readable medium in which program instructions are stored to implement any of the above-described procedures. Any of the methods of this invention can be represented as program instructions and / or data structures, databases, etc. which may be provided on such computer-readable media.
These and other features of the present invention will be presented in more detail in the following detailed description of the invention and associated figures.
Brief description of the drawings
Figure 1 is a perspective drawing of a 3D virtual gaming environment implemented in a gaming machine for an embodiment of this invention.
Figure 2 is a perspective drawing of virtual slot reels in a 3D virtual gaming environment implemented in a gaming machine for one embodiment of this invention.
Figure 3 is a flow chart for a method of generating a game of chance of the present invention.
Figures 4A to 4D are block diagrams describing some rendering issues in a 3D gaming environment.
Figures 5A to 5B are block diagrams describing the rendering of 3D text objects in a 3D gaming environment of the present invention.
Fig. 6A is a block diagram showing the creation of a font file.
Figure 6B is a font property diagram.
Figure 6C is a character property diagram.
Figure 6D is a diagram of a font texture.
Fig. 7 is a diagram showing the creation of 3D text characters.
Figures 8A to 8B are diagrams of 3D text objects displayed using embodiments of the present invention.
ES 2 319 983 T3
Figure 9 is a perspective drawing of a gaming machine for one embodiment of the present invention.
Fig. 10 is a flow chart depicting a procedure for generating a game of chance using a virtual gaming environment.
Figure 11 is a block diagram of gaming machines using distributed gaming software and distributed processors to generate a game of chance for one embodiment of the present invention.
Description of the preferred embodiments
FIG. 1 is a perspective drawing of a 3D virtual gaming environment 100 implemented in a gaming machine for one embodiment of this invention. The virtual 3D game environment can be used by the master game controller on the game machine to present a game of chance. The game of chance played on the gaming machine may include: 1) a bet selected by a player playing a game on the gaming machine, 2) an initiation of the game of chance on the gaming machine by the player, 3) a determination of a result for the game of chance by the gaming machine and 4) a presentation on the gaming machine of the result of the game to the player. In the present invention, the 3D gaming environment can be used to present a game result to the player, describe operational functions of the gaming machine, and provide an interface for obtaining gaming information and services. In particular, methods and apparatus are described for displaying a text string in a 3D gaming environment, such as a text string used in a credit counter displayed on the gaming machine or a text string used to provide information on game for a game of chance displayed on the gaming machine. Text strings can be generated using textures that are applied to a 3D object in the 3D gaming environment. Apparatus and procedures that implement these features are described with respect to Figures 1 through 11.
In particular, Figures 1 to 11 provide the following information. In Figure 1, a 3D gaming environment of the present invention is described. In Figure 2, 3D reels are depicted in the 3D gaming environment. In Figure 3, a method for generating a game of chance in a 3D gaming environment is described. In Figures 4A to 4D, some issues regarding rendering of text from a 3D gaming environment are presented. In Figures 5A to 5B, methods for generating text in a 3D gaming environment are illustrated. In Figures 6A to 6D, methods for generating fonts, characters and textures used in a 3D text rendering for an embodiment of the present invention are described. In Figure 7, a procedure for generating a 3D text object in a 3D gaming environment is presented. In Figures 8A to 8B, video displays displaying text objects generated using different methods of the present invention are described. In Fig. 9, an embodiment of a gaming machine of the present invention is described. In Figure 10, a method for generating a game of chance or bonus game using the 3D gaming environments of the present invention is presented. In Figure 11, a gaming net of the present invention is described.
Before describing Figure 1, some general aspects of 3D virtual gaming environments and their relationship with 2D environments are discussed. To use a 3D virtual gaming environment for a game presentation or other gaming activities on a gaming machine, a 2D view of the 3D virtual gaming environment is rendered. The 2D view captures some part of the 3D surfaces rendered in the virtual 3D gaming environment. Captured surfaces define a 3D object in the 3D game environment. Surfaces captured in the 2D view are defined in the three-dimensional coordinates of the 3D virtual gaming environment and converted to a two-dimensional coordinate system during the capture process. As part of a game presentation, the 2D view can be presented as a video frame on a display screen on the game machine. In a way, the two-dimensional view is analogous to a photograph of a 3D physical environment taken by a camera, where the photograph captures a portion of the existing 3D physical surfaces in the 3D physical environment. However, camera photography is not strictly analogous to a 2D view rendered from a 3D virtual gaming environment because numerous graphical manipulation techniques can be applied in a 3D virtual gaming environment that are not available with a 3D virtual gaming environment. real camera.
In the present invention, the 2D view is generated from a point of view within the 3D virtual gaming environment. Point of view is a primary factor in determining which surfaces in the 3D gaming environment that define a 3D object are captured in the 2D view. Since information about the 3D gaming environment is stored in the gaming machine, the point of view can be altered to generate new 2D views of objects in the 3D gaming environment. For example, in a box, a 2D view of an object rendered in the 3D game environment, such as a front face of a building (for example, the viewpoint captures the front face of a building), can be generated using a first point of view. In another frame, a 2D view of the same object can be generated from another point of view (for example, the back face of the building).
A disadvantage of current gaming machines is that 2D views used as video frames in game presentations are only rendered from 2D objects and information about the multidimensional nature of rendered objects in 2D views, just like the point of view used to generate the 2D view, it is not stored in the gaming machine. Historically, due to the regulatory environment of the gaming industry, gaming software used to present a game of chance was designed to "run in place" on an EPROM installed in the gaming machine. Using an EPROM, it was not feasible to store large amounts of data from
ES 2 319 983 T3 game related to complicated 3D models. Therefore, only the 2D object information used to render the 2D view was stored on the gaming machine.
However, 2D games rendered on gaming machines have also become more sophisticated and frequently employ complex animations. When using complicated animations in a 2D system, such as playing movies over a 2D object, a 3D system can actually save memory because more types of animation can be used with a 3D system versus a 2D system without having to resort to using movies, which take up a lot of memory. In a 2D system without using film, the animation properties that can be used are simple two-dimensional movement and color cycles using color palettes that provide limited visual appeal.
When only 2D information about a 3D object is available, it is not possible to generate new 2D views from different viewpoints of the 3D object. For example, when an illustration of a playing card is rendered on current gaming machines, 3D information, such as the thickness of the card, is not stored. Therefore, it is not possible to generate a 2D view of the card from an edge point of view, since the thickness of the card is not known. As another example, frames from a movie can be used as part of a game presentation on a gaming machine. Each frame of the film represents a 2D view from the point of view of a camera used to film each frame. If the box includes an image of a building seen from the front (for example, the point of view captures the facade of the building), it is not possible to generate a new 2D view of the back of the building because information regarding the the back of the building.
An advantage of the present invention is that the potential gaming area used to present a modeled game of chance in a 3D gaming environment is greater than the potential gaming area of a 2D gaming environment. For example, a game of chance can be presented on each of the six faces of a rendered cube in a virtual gaming environment. To play the game of chance, 2D views of the cube can be rendered from different vantage points in the real-time 3D gaming environment and presented to the player. As described below, in some embodiments, the player can even select the point of view in the 3D gaming environment used to generate the 2D view.
On current gaming machines, the cube would be rendered as a 2D object generated from the 3D cube viewed from a particular point of view. The particular viewpoint is selected when the game is played and only 2D information about the cube viewed from the selected viewpoint would be stored in an EPROM on the gaming machine. Therefore, a game of chance could be presented on the cube faces rendered from the 2D object that was generated from the selected point of view of the 3D cube and stored in the EPROM. However, unless additional 2D objects were generated from different points of view, it is not possible to present a game of chance on the faces of the cube not visible from the selected point of view because the 2D object does not store information regarding the Faces of the cube not visible from the selected point of view. Also, even if multiple 2D objects were generated, it is difficult and time-consuming to generate enough 2D objects to allow smooth transitions between views captured by the 2D objects. It is also difficult to scale an object in 2D, to make it smaller or larger, without introducing distortion effects.
Distortion is also generated when 3D objects are scaled. However, they are easier to manipulate using specialized 3D graphics cards because the card applies a bilinear filtering process to the texels at rendering time. Without special hardware, such as a 3D graphics card, it would be difficult to correct the distortion in real time.
Finally, in a typical 2D gaming system, due to the limited flexibility of 2D, the results of a game of chance rendered in 2D and displayed on a gaming machine have to be quantified and pre-rendered, i.e., canned animations. Due to the flexibility of a 3D gaming system, results can be determined by user input resulting in an unlimited number of animations in response to player input. By not having to perform a series of pre-canned animations, but instead determining the animation in response to player input, you save many bytes in storage space requirements. In the following figures, details of the procedures and apparatus used to present a game of chance generated from a 3D gaming environment are described.
Returning to Figure 1, the 3D gaming environment 100 includes three objects: 1) a rectangular box 101 on top of it, 2) a plane 114 and 3) a second box 127. Box 101, box 127 and plane 114 they are defined in a three-dimensional rectangular coordinate space 104. Typically, the surfaces of objects in the gaming environment are defined using a plurality of surface elements. The surface elements can comprise different shapes, such as different types of polygons that are well known in 3D graphic arts. For example, the objects in the present information may be defined to be compatible with one or more graphics standards such as the Open Graphics Library (OpenGL). Information about OpenGL can be found at www.opengl.org.
In one embodiment, the objects in the gaming environment 100 can be defined by a plurality of triangular elements. As an example, a plurality of triangular surface elements 125 are used to define a portion of the surface 108 and the surface face 112. In another embodiment, objects in gaming environment 100, such as box 101 and box 127, can be defined by a plurality of rectangular elements. In yet another embodiment, a
ES 2 319 983 T3 combination of different types of polygons, such as triangles and rectangles can be used to describe the different objects in the game environment 100. By using an appropriate number of surface elements, such as triangular elements, objects can be made to appear round, spherical, tubular or implement various combinations of curved surfaces.
Triangles are by far the most popular polygon used to define 3D objects because they are the easiest to manipulate. To represent a solid object, a polygon with at least three sides (for example, a triangle) is required. However, OpenGL supports squares, points, lines, triangle strips, and strips of squares and polygons with any number of points. Additionally, 3D models can be represented by a variety of 3D curves such as NURB and Bezier Patches.
Each of the surface elements that comprise the virtual 3D gaming environment can be described in a rectangular coordinate system or other appropriate coordinate system, such as spherical coordinates or polar coordinates, as dictated by the application. The 3D virtual gaming environments of the present invention are not limited to the shapes and elements shown in Figure 1 or the coordinate system used in Figure 1, which are shown for illustrative purposes only. Details of 3D graphical rendering procedures that can be used with the present invention are described in "OpenGL Reference Manual: The Official Reference Document to Open GL, Version 1.2", Third Edition, by Dave Shreiner (editor), OpenGL Architecture Review Board, Addison-Wesley Publishing, Co., 1999, ISBN: 0201657651 and “OpenGL Program Guide: The Official Guide to Learning OpenGL, Version 1.2 ”, Third Edition, by Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner, OpenGL Architecture Review Board, Addison-Wesley Publishing, Co., 1999, ISBN: 0201604582, incorporated in this document in its entirety and for all purposes.
Surface textures can be applied to each of the surface elements, such as elements 125, that define the surfaces in the virtual gaming environment 100. Surface textures can allow the 3D gaming environment to appear more "real" when viewed on a display screen on the gaming machine. As an example, colors, textures, and reflectances can be applied to each of the surface elements that define the various objects in the 3D gaming environment. Millions of different colors can be used to add a "feel" of realism to a given gaming environment. Textures that can be applied include surface smoothness or irregularities such as bumps, dips, lines, roughness maps, illumination maps, reflectance maps, and refractance maps or other patterns that can be rendered on each element. Textures can be applied as mathematical models stored as "texture maps" on the gaming machine.
In one embodiment, the "texture map" can be an animated texture. For example, frames from a movie or other animation can be projected onto a 3D object in the 3D gaming environment. These animated textures can be captured in 2D views presented in video frames on the gaming machine. Multiple animated textures can be used at the same time. Thus, for example, a first film can be projected onto a first surface in the 3D gaming environment and a second film can be projected onto a second surface in the 3D gaming environment with both films being simultaneously viewed.
The material properties of a 3D surface can describe how the surface reacts to light. These surface properties can include such things as a) an ability of the material to absorb different wavelengths of light, b) an ability of the material to reflect different wavelengths of light (reflectance),
c) an ability of the material to emit certain wavelengths of light such as the taillights of a car and
d) an ability of the material to transmit certain wavelengths of light. As an example, reflectance refers to how much light each element reflects. Depending on the reflectance of a surface element, other elements may be reflected in the gaming environment blurry, sharply, or not at all. Combinations of color, texture, and reflectance can be used to impart an illusion of a particular quality to an object, such as hard, soft, hot, or cold.
Some commonly used shading methods with 3D graphics to add texture that can be applied to the present invention include Gourand shading and Phong shading. Gourand and Phong hatches are procedures used to hide a limited geometry of an object by interpolating between two surfaces with different normals. Also, using Alpha Blending, pixels can be blended to make an object appear transparent, that is, the object transmits light.
Virtual light sources, such as 102, can be used in the gaming environment to add the appearance of shading and shadows. Shading and shadows are used to add weight and solidity to the rendering of a virtual object. For example, to add solidity to the rectangular box 101, rays of light emitted from the light source 102 are used to cast a shadow 103 around the rectangular box 101. In one procedure, ray tracing is used to trace paths of imaginary light rays emitted from an imaginary light source such as 102. These light rays can strike and can be reflected from various surfaces affecting the colors assigned to each element of the light. surface. In some gaming environments, multiple light sources can be used by changing the number of lights and the intensity of each light source over time. Typically, in real-time 3D, light sources do not cast shadows and it is up to the programmer to add shadows manually. As noted above, however, light sources cast shading on objects.
ES 2 319 983 T3
Perspective, which is used to convey the illusion of distance, can be applied to the game environment 100 by defining a vanishing point, such as 128. Typically, a single point perspective is used in which all objects in the scene are rendered to appear as if they eventually converge on a single point in the distance, for example the vanishing point. However, multi-point perspectives may also be employed in 3D gaming environments of the present invention. Perspective allows objects in the game environment to appear one after the other. For example, box 101 and box 127 can be the same size. However, the box 127 is made to appear smaller, and thus further away, from an observer because it is closer to the vanishing point 128. A 3D game environment may or may not provide perspective correction. Perspective correction is carried out by transforming points towards the center of the screen in 2D view. The further an object is from point of view in the 3D gaming environment, the more it will transform into the center of the screen.
The present invention is not limited to perspective views or multi-perspective views of the 3D gaming environment. An orthographic view can be used in which 3D objects rendered in a 2D view always appear the same size no matter how far apart they are in the 3D game environment. The orthographic view is what would look like a shadow cast from a light source that is infinitely far away (so that the light rays are parallel), while the perspective view comes from a light source that is far away. finite, so that the light rays are divergent. In the present invention, combinations of both perspective and orthographic views can be used. For example, an orthographic view of a text message can be layered on top of a perspective view of the 3D gaming environment.
Related to perspective is "depth of field." Depth of field describes an effect in which objects that appear closer to an observer are more in focus and objects that are further away appear out of focus. Depth of field can be applied to renderings of the various objects in the gaming environment 100. Another effect that can be applied to object renderings in the game environment is “anti-aliasing”. Edge smoothing is used to make the lines, which are digitally generated as a number of straight segments, appear smoother when rendered on a display screen on the gaming machine. Since 2D display only adopts finite pixel positions, staggering occurs on any line that is not straight up and down, straight horizontally (left and right), or 45 degrees on the display screen. Staggering produces a visually unattractive effect, so pixels are added to staggered lines to make this effect less pronounced.
Objects in the game environment 101 can appear to be static or dynamic. For example, the coordinates of box 127 may change over time while the coordinates of box 101 and plane 114 remain fixed. Thus, when rendered to a display screen on a gaming machine, box 127 may appear to move in gaming environment 101 relative to box 101. Numerous dynamic effects are possible. For example, the box 127 may appear to rotate while remaining in a fixed position or it may rotate while also translating to generate a bouncing or wobbling effect. Also, in the game environment, objects may appear to collide with each other. For example, box 127 may appear to collide with box 101 by altering the trajectory of box 127 in the gaming environment. Numerous digital rendering effects can be applied to the gaming environment of the present invention. The effects described above are provided for illustrative purposes only.
Conventional alphanumeric text and symbols may be applied to one or more surface elements in the gaming environment 101 to display game information to a player. The alphanumeric symbols and text can be applied to various surfaces in the gaming environment to generate a plurality of game displays that can be used as part of displays of the game outcome observed on the gaming machine. For example, game displays can be rendered on each of the six six surface faces of box 101 or box 127 and a plurality of game displays can also be rendered on flat surface 114. In the present invention, game displays can be rendered across one or more surfaces of any polyhedron or other object defined in the game environment.
Rendered text and symbols allow you to generate game outcome presentations for different games of chance. For example, a hand of cards for a game of poker or blackjack can be rendered on each of the faces of box 101 such as surfaces 108, 110 and 112. As another example, keno numbers or numbers of bingo on different sides of boxes 101 and 127. In addition, slots displays and pachinko displays can be rendered for slots and pachinko game outcome presentations on different faces of boxes 101 and 127.
Many different combinations of games of chance can be rendered in the game environment 100. For example, a slot machine display may be rendered on face 108 of cashier 101, a blackjack game display may be rendered on face 110, a poker game display may be rendered on face 112, a display of I play keno on one face in box 101 opposite face 108, A one-sided pachinko game display can be rendered in box 101 opposite to 110 and a one-sided bingo game display can be rendered in box 101 opposite face 112. A different combination of game displays can be rendered in the surfaces of the box 127. Other games of chance that may be used in the present invention include, but are not limited to, dice games (eg, craps), baccarat, and roulette.
ES 2 319 983 T3
In the present invention, the term games of chance is used to indicate gaming activities in which a player has placed a bet on the outcome of the game of chance. Depending on the outcome of the game for the game of chance initiated by the player, the bet can be multiplied. The result of the game can only be given at random, that is, without any input from the player or without the player being able to affect the result of the game according to one or more decisions. For example, in a video poker game, the outcome of the game can be determined by the cards the player holds or discards. Whereas in a slot game, the outcome of the game, that is, the final position of the slot reels, is determined randomly by the gaming machine.
The game combinations described above can be rendered at the same time in the 3D game environment. A player can play one or more games sequentially. For example, a player may select one or more games, place a bet for the one or more games, and then start the one or more games and view the game result displays for the one or more games. A player can also play one or more games in parallel. For example, a player can select one or more games, place a bet on the one or more games, and start the one or more games. Before the game result displays for the one or more selected games have been completed, the player can select one or more new games, place a bet on the one or more new games, and start the one or more new games. Details of a parallel gambling methodology are described in copending US application No. 09 / 553,437, filed April 19, 2000, by Brosnan et al. and entitled "Parallel games on a gaming device" which is hereby incorporated in its entirety and for all purposes.
Text and symbols rendered in a game display are not necessarily flat, they can be rendered in multiple dimensions in the game environment 100. For example, rendered letters can have a finite thickness or high symbols. The cards can be manipulated by hands that are defined as models of three-dimensional objects in the 3D gaming environment 100 and moved as the cards are manipulated. As another example, a slot machine display can be rendered as multi-dimensional reels with symbols (see FIG. 2) that can spin in the gaming environment 100.
A game display for a game result presentation can be rendered on a particular surface and can change over time in response to various player inputs. For example, in a game of poker, a player can discard and hold various cards while they are playing the game. Therefore, the cards in the hand change while the game result is being rendered in the 3D gaming environment, and some cards (for example, discarded cards) may appear to be leaving the gaming environment. As another example, the reels in a rendered slot display in the gaming environment may begin to rotate in the gaming environment in response to a player pulling a lever or pressing an enter button on the physical gaming machine.
Other game features and game information can also be rendered in the game environment 100. For example, bonus games, promotions, advertising, and attraction graphics can also be rendered in the game environment. For example, a casino logo or a player's face can be rendered in the gaming environment. These additional gaming features may be integrated into a display of the outcome of the game on the gaming machine or in other operating modes of the gaming machine such as an attraction mode.
In another embodiment of the present invention, a virtual person, for example a three-dimensional model of a part of (for example, face, hands, face, head and torso, etc.) or of an entire human being can be rendered in the environment of 3D game. The virtual person can be animated. As an example, by adjusting parameters of the three-dimensional model of the virtual person in a sequence, the virtual person may appear to be speaking or gesturing. The virtual person can be used to explain game instructions to a player or it can be used as a component in a game presentation. The virtual person may appear to respond to or interact with a user based on inputs to the gaming machine made by the user. For example, a player may ask the virtual person a particular question through an input mechanism on the gaming machine such as a microphone on a gaming machine equipped with voice recognition software. The virtual person may then appear to be issuing an answer to the question entered by the user. Animated 3D models for other objects, such as animals or fictional characters, can also be used in the 3D game environment.
After the game environment is defined in three dimensions, to display a part of the game environment in 3D on a display screen in the game machine, a "photograph" of a part of the game environment is generated. Photography is a two-dimensional rendering of a part of the three-dimensional game environment. Transformations between 3D coordinate systems and 2D coordinate systems are widely known in graphic arts. The photograph may be taken from a virtual "camera" located at a location within the gaming environment 100. A sequence of photographs taken by the virtual camera in the gaming environment can be considered analogous to filming a movie.
A "photograph" displayed on the display screen of a gaming machine can also be made up of many different photographs. For example, a composite photograph can be generated from parts of a first photograph generated using an orthographic view and parts of a second photograph generated using a perspective view. The parts of the photographs that comprise the composite photograph can be placed on top of each other to provide "layer" effects, they can be viewed side by side to produce a "collage" or combinations thereof.
ES 2 319 983 T3
In another embodiment of the present invention, a photograph can be a mixed combination of two different photographs. Using an interpolation scheme of some kind, two photographs can be mixed into a sequence of photographs to provide a transition effect (morphing) in which the first photograph appears to transform into a second photograph. For example, a slot game may appear to transform into a game of poker.
The operating parameters of the virtual camera, such as its position at a particular moment, are used to define a 3D surface in the gaming environment, which is projected onto a 2D surface to produce the photograph. The 3D surface can comprise parts of various 3D objects in the 3D game environment. The 3D surface can also be considered a 3D object. Therefore, a photograph is a 2D image derived from the 3D coordinates of objects in the 3D game environment. The virtual camera may represent game logic stored in the game machine necessary to render a portion of the 3D game environment 100 into a 2D image displayed on the game machine. The photograph is converted into a video frame, comprising several pixels, which can be displayed on a display screen in the gaming machine.
The transformation performed by the virtual camera that allows a part of the virtual gaming environment to be viewed on one or more display screens on the gaming machine can be a function of several variables. The lens size in the virtual gaming environment, the position of the lens, a virtual distance between the lens and the photograph, the size of the photograph, perspective, and a depth variable assigned to each object are some of the variables that they can be incorporated into a transformation by the virtual camera that renders a photograph of the virtual gaming environment. The resolution of the display screen on the gaming machine can dictate the size of a photo in the virtual camera. A typical display screen may allow a resolution of 800 by 600 color pixels, although higher or lower resolution displays can be used. A "lens size" in the virtual camera defines a window into the virtual gaming environment. The window is sometimes referred to as a viewport. The size and position of the lens determine what part of the virtual gaming environment 100 the virtual camera sees.
After the photograph of the virtual gaming environment is generated, other effects, such as static and dynamic edge smoothing, can be applied to the photograph to generate a frame displayed on one or more displays located on the gaming machine. Normally, the mathematical and logical operations, which are encoded in game software logic, necessary to perform a particular transformation and generate a video frame can be executed by video cards and graphics cards located in the gaming machine and specifically designed for perform these operations. Graphics cards generally include graphics processing units (GPUs). However, transformation operations can also be performed by one or more general-purpose CPUs located in the gaming machine or combinations of GPU and CPU.
In general, 2D / 3D video graphics accelerators or coprocessors, often referred to as graphics processing units (GPUs), are located on or connected to the master game controller and are used to perform graphics operations. The solutions described are most commonly found as video cards. Graphics electronics can be incorporated directly into the processor board (eg, the master gaming controller) of the gaming machine, and even tightly integrated into other very large-scale embedded chip solutions. Integration procedures are often cost saving measures commonly used to reduce costs associated with mass production. For example, video cards, such as the Vivid! XS from Video-Logic Systems (VideoLogic Systems is a department of Imagination Technologies Group plc, England) can be used to perform the graphical operations described in the present invention. As another example, video cards from Nvidia Corporation (Santa Clara, California) can be used. In one embodiment, the video card can be a multi-terminal 3D video card, such as a Matrox G450 (Matrox Graphics Inc., Dorval, Quebec, Canada). Multi-terminal video cards allow a single graphics card to support two displays simultaneously or render two images simultaneously on the same display.
When viewing photos from a virtual camera in a 3D gaming environment, a single camera image can be divided among a plurality of display devices. For example, four display screens can be used to display a quarter of a single image. Video feed to each of the plurality of display devices can be provided from a single video card. Multi-terminal video cards allow a single graphics card (or graphics subsystem) to display output on two or more displays simultaneously. This can be multiple outputs rendering each visualization or a render over multiple visualizations, or a variation of both. For example, when using a multi-terminal video card, a first terminal on the multi-terminal video card can be used to render an image from a first virtual camera in a 3D gaming environment and a second terminal on the card. Multi-terminal video can be used to render a second image from a second virtual camera in a 3D gaming environment. The first and second rendered images of the first and second terminals may be displayed simultaneously on the same display or the first image may be displayed on a first display and the second image may be displayed on a second display.
Returning to Figure 1, three lenses 105, 106 and 107 used in a virtual camera are shown positioned at three locations in the virtual gaming environment. Each lens sees a different part of the game environment. The size and shape of the lens can vary, changing a part of the virtual gaming environment captured by the lens. For example, lenses 105 and 106 are rectangular in shape while lens 107 is oval in shape.
ES 2 319 983 T3
Lens 106 is positioned to view the "game display" for a rendered game result presentation on surface 108. The portion of the game environment captured by lens 106 has a six-sided shape 120. As described above, the game display may contain the presentation of a particular game that is played on the gaming machine, such as a hand of cards for a game of poker. After applying an appropriate transformation, a photograph 124 of the part of the virtual gaming environment 100 in volume 120 is generated by the virtual camera with the lens 106.
Using different terminology that is common in the 3D graphic arts community, the lenses 105, 106 and 107 can be described as a camera. Each camera has the ability to have different settings. A scene in the 3D game environment is recorded from the camera's point of view. A different scene is captured from each camera. Therefore, the scene is rendered from the camera to produce an image.
The photograph 124 generated from the virtual camera with the lens 106 can be viewed on one or more display screens in the gaming machine. For example, photograph 124 may be viewed on a primary display on the gaming machine and on a secondary display on the gaming machine. In another embodiment, a portion of the photograph 124 may be displayed on the main display and a portion of the photograph may be simultaneously displayed on a secondary display. In yet another embodiment, a portion of the photograph 124 may be displayed on a first gaming machine while a portion of the photograph 124 may be simultaneously displayed on a second gaming machine.
The lens 105 of a virtual camera is positioned to view the volume 121 in the virtual gaming environment 100. Volume 121 intersects three faces 108, 110 and 112, of box 101. After applying an appropriate transformation, a photograph 125 of the part of virtual gaming environment 101 in volume 121 is rendered by the virtual camera with lens 105 that it can be displayed on one of the display screens on a gaming machine.
The lens 107 of a virtual camera is positioned to view the volume 122 in the virtual gaming environment 100. The oval shape of the lens produces a rounded volume 122 similar to a light from a flash light. Volume 122 intersects a part of face 110 and a part of plane 114 including a part of shadow 103. After applying an appropriate transformation, a photograph 126 of the portion of the virtual gaming environment 101 in volume 122 is rendered by the virtual camera with the lens 107 that can be displayed on one or more of the display screens in a gaming machine. For example, a gaming machine may include a primary display, a secondary display, a display for a player tracking unit, and a remote display screen in communication with the gaming machine over a network of some type. Any of these display screens can display photos rendered from the 3D game environment.
A sequence of photographs generated from one or more virtual cameras in the gaming environment 101 can be used to present a presentation of the outcome of the game on the gaming machine or present other features of the gaming machine. The sequence of photos can look like a movie or tape when viewed by the player. For example, a 3D model of a virtual person may appear to be speaking. Typically, a refresh rate for a display screen on a gaming machine is on the order of 60 HZ or more and new photos may be generated from virtual cameras in the gaming environment as the game is played to suit the rate of play. update.
The sequence of photographs of one or more virtual cameras in the gaming environment can be generated from at least one virtual camera with a position and lens angle that varies with time. For example, lens 106 can represent the position of a virtual camera in time, ti, lens 105 can represent the position of the virtual camera in time, t<sub>2</sub>, and the lens 107 can represent the position of the virtual camera at time t<sub>3</sub>. Photographs generated at these three positions by the virtual camera can be incorporated into a sequence of photographs displayed on a display screen.
The position of the virtual camera can change continuously between the positions at times t<sub>1</sub>, t<sub>2</sub>, t<sub>3</sub> generating a sequence of photographs that seems to make a panoramic view of the virtual game environment. Between the positions at times t<sub>1</sub>, t<sub>2</sub>, t<sub>3</sub>, the speed at which the virtual camera moves can be increased or decreased. Also, the virtual camera can move non-continuously. For example, a first photograph in a sequence of photographs displayed on a display screen can be generated from the virtual camera using the position of the lens 106. The next photograph in the sequence of photographs can be generated from the virtual camera using the position of the lens 105. A third photograph in the sequence of photographs can be generated from the virtual camera using the position of the lens 107. In general, the virtual camera in the gaming environment 101 can move continuously, non-continuously, and combinations thereof.
In a game presentation, a plurality of virtual cameras, with positions varying in time, may be used in a plurality of virtual game environments. Camera and environment information as a function of time can be stored in the game machine and can be accessed when a particular scene is needed for a game event in a presentation of the game result so that the scene can be rendered in " real time". A scene can be defined by the positions of one or more virtual cameras in one or more game environments as a function of time. Scenes can be modularized, that is, a library of scenes can be generated so that they can be incorporated into different games. For example, a scene of a button being pressed can be incorporated into any game using this type of sequence.
ES 2 319 983 T3
A sequence of photographs generated from a first virtual camera in a first virtual gaming environment can be simultaneously displayed with a sequence of photographs generated from a second virtual camera in a second virtual gaming environment. For example, the first sequence of photos and the second sequence of photos can be displayed on a split screen or they can be displayed on different screens. Furthermore, the first virtual camera in a first virtual gaming environment and the second virtual camera may be located in a second virtual gaming environment different from the first virtual gaming environment. The first virtual game environment and the second virtual game environment can also be in the same game environment. Furthermore, a single virtual camera can jump between different game environments, such as between a game starting environment to a bonus game environment. The transition between gaming environments can also appear smooth (for example, the camera can pan from an environment continuously).
In some embodiments, it may be that a player selects one or more virtual gaming environments used in a gaming match on a gaming machine. For example, a first game environment may involve a city profile, such as New York, while a second game environment may involve a city profile, such as Paris. During a gaming match on a gaming machine, a player may be able to select New York or Paris as the city profile for the virtual gaming environment used during the gaming match. The different game environments and the different scenes generated from the environments can be stored in a memory in the game machine as a library of some kind.
In particular embodiments, while the gaming machine is being used, a player may be able to control the position of the virtual camera using an input mechanism on the gaming machine (see Figure 9). For example, a player may be able to move the position of the lens 106 closer to the surface 108 in the gaming environment 108 which creates the appearance of a zoom or the object may move closer to the camera. For multi-hand card games, a player may be able to zoom in on a particular hand to "zoom in" on the hand by increasing the visibility of the hand. For example, a player can use an input mechanism to "scroll" the camera and view larger parts. As another example, the player may be able to manipulate a virtual camera around the game environment or select a scene in the game environment. An opportunity to move the virtual camera can be triggered by certain game events such as a bonus game event on the game machine or the camera movement is set in the script (e.g. predetermined) as part of the game sequence. . For example, as part of playing a bonus game event, a player may be able to choose from a number of doors that lead to different rooms with treasure chests. When the player enters one of the rooms, the chest opens and their bonus prize is displayed.
With the present invention, some advantages of generating a 3D gaming environment that can be rendered in real time on a display screen are as follows. First, it enables a player to be presented and possibly controlled by a complex presentation of the game result in real time. Therefore, the presentation of the game result may vary from game to game in a manner determined by the player. Traditional game outcome displays were rendered in 2D and little control was given to the player. Therefore, traditional game outcome displays do not vary much from game to game. Second, screen resolution problems associated with displaying a large number of games simultaneously on a single screen can be avoided by modeling the games in a 3D gaming environment.
At any given time during a game presentation viewed on a display screen on the gaming machine, the player can only view a portion of the plurality of the games rendered in the 3D gaming environment. Therefore, the playability in a 3D gaming environment is higher than in a 2D gaming environment because a game of chance may be presented on surfaces rendered in the 3D gaming environment that may be hidden from view. In a 2D game environment, there are no hidden surfaces, that is, "what you see" is "what there is." Since the point of view in the 3D model can be varied, the player or gaming machine can zoom in on one or more games of interest, some of which may be hidden in a current 2D view, and select a level. desirable resolution. Therefore, all games or game components do not have to be rendered on a single screen simultaneously.
Figure 2 is a perspective drawing of three virtual slot reels 202, 204 and 206 in a 3D virtual gaming environment 200 implemented in a gaming machine for one embodiment of this invention. The three slot reels are modeled as cylindrical parts in the 201 coordinate space. The drums seem to be hanging in space. Different symbols are rendered on each drum including a triangle 210, a triple bar 212, a "seven" 214, a double bar 216, and an oval 218. Other symbols (not shown) can be rendered on the backs of the reels. In a virtual 3D slot game environment, such as 200, a size of the reels, a number of reels, a number of symbols on the reels and types of symbols on the reels can be varied. Also, the background scenery (not shown) in the environment can be varied.
A window 208 is rendered on reels 202, 204 and 206, to illustrate a number of symbols that may be visible on a mechanical slot display. At most nine symbols can be seen on the mechanical slot display, for example the three double bars, three sevens and three triple bars. When the player sees multiple symbols, the multiple symbols can be used to generate multiple pay lines that can be wagered during the game.
ES 2 319 983 T3
When the reels in a gaming machine stop after a bet has been received and a game has started, a combination of symbols along a pay line can be compared to winning combinations of symbols to determine a prize for the game. For example, three payment lines 228, 229, and 230 are displayed. Three "seven" symbols are found along the pay line 229. A triple bar, a seven and a double bar are displayed along the 228 and 230 pay lines. The triple seven combination is often used as the winning combination in slot games. The number of paylines increases the betting opportunities for a given game and some players desire multi-paylines games. In some slot games, only a single line of symbols can be seen, such as the three sevens, and a player can only bet on a single payline.
For a game result display, the reels 202, 204, and 206 can each begin to spin and move in the virtual gaming environment. In virtual space 200, the reels can spin in different directions, translate, rotate around different axes, shrink in size or grow in size, as the reels are not limited by the limitations of real mechanical slot reels. During the presentation of the game result, a virtual camera, which can vary its position as a function of time, can film a sequence (for example, generate a number of photographs in a sequence) that are displayed on a display screen on the machine playing and capturing the movement of the drums.
Multiple virtual cameras may be located in the virtual gaming environment 200 to capture one or more symbols on the slot reels. For example, virtual camera lens 220 captures symbol "7" on drum 202 in volume 221 of virtual gaming environment 200. Virtual camera lens 222 captures the "triangle" symbol on drum 204 in volume 223 of the virtual gaming environment. The lens 224 of a virtual camera captures a "triple bar" symbol (not shown) on the drum 204 of the virtual gaming environment. Finally, the lens 226 of a virtual camera captures the "oval" symbol on the drum 206 in the volume 226 of the virtual gaming environment. However, a single virtual camera can also be used to capture multiple symbols such as a line of symbols across multiple reels.
Symbols captured from virtual cameras using lenses 220, 222, 224, and 226 can be used to create multiple pay lines that can be used for betting. For example, the symbols captured from lenses 220, 222, and 226 are used to generate a first symbol combination 232 that can be bet on during the game. The symbols captured from lenses 220, 224 and 226 are used to generate a second symbol combination 234 that can be bet on during the game. Finally, the virtual cameras can be located along the pay line 230 to capture the combination 236 of symbols.
In the present invention, the number of pay lines that can be implemented is quite large. For example, for three virtual reels with 25 symbols on each reel, 253 pay lines can be used. In one embodiment, to aid in the display of a large amount of gaming information generated in a virtual gaming environment, the gaming information generated in a first gaming environment can be transferred to a second gaming environment. For example, game information relating to symbol combinations along a plurality of pay lines generated in the game environment 200 can be transferred to a second game environment with virtual cameras for rendering in a display seen by a player.
In another embodiment, the reels 202, 204, 206 may appear translucent so that the symbols on the rear of the reel may be visible from the front. Paylines, which a player can bet on, can be rendered in the "virtual space" to connect symbols on the front of a reel with a symbol on the back of the reel. For example, a pay line can be rendered from the front of drum 202 to the back of drum 204 and to the front of drum 206.
In the following, other embodiments for displaying symbols that can be used in the games of chance and bonus games of the present invention are described and contrasted with a traditional mechanical slot machine. In a mechanical slot game, a drum tape is mounted on a drum that is rotated by a motor. The drum tape can be a rectangular tape of a printable medium with a number of different symbols printed thereon. The symbols are arranged in a particular sequence. A typical mechanical slot game may employ a plurality of reels, such as three reels, to present a game of chance.
The mechanical slot machine may include one or more pay tables defining a probability that each position will occur for a single reel / wheel or a probability that each combination of positions will occur for a plurality of reels. For example, some mechanical slot machines include a bonus wheel and 3 reels. The probability of each position or combinations of positions can be proportional to a payout amount for a game of chance played on the slot machine. After a bet has been placed and the game started, to determine a result for the game of chance, a random number can be generated and compared with entries in the pay table stored in the gaming machine.
Using the pay table and the random number, a position of each of the one or more reels and / or wheels and an outcome for the game can be determined. The slot machine can then spin the reels based on an algorithm stored in the gaming machine and stop them at the predetermined position. The position of each drum is usually marked with a symbol printed on the drum tape at the position or an empty space. Usually only part of the symbols on each drum tape is visible to the player at a time
ES 2 319 983 T3 determined. Thus, as the one or more reels rotate, the player sees different parts of each drum tape. The final position of the one or more reels indicates a symbol or a combination of symbols. The combination of symbols displayed on the mechanical reels, defined by a payline, can be used by the player to determine if the combination is a winning combination.
Fig. 3 is a flow chart depicting a procedure for generating a game using a 3D virtual gaming environment. At 700, game events are selected that comprise a game of chance that is played on the gaming machine and that are displayed. At 705, a 3D story board is generated describing a scene in one or more virtual game environments for each game event. The scene information can include virtual camera positions as a function of time in one or more gaming environments. For example, a script for cards being manipulated in a card game might describe a pair of 3D hands manipulating the card on a card table with a virtual camera positioned directly above the card table looking down towards hands. Scene information can also include game information generated in a textual format, which is rendered in the 3D game environment using 3D text objects of the present invention (see Figures 4A to 8B). At 710, a scene corresponding to the 3D visual script is generated for each game event in one or more 3D virtual game environments. At 715, a scene corresponding to the visual script is "shot" for each game event in the one or more 3D game environments. Filming each game event in the 3D game environment comprises selecting a sequence of virtual camera positions and angles in the one or more 3D game environments. In some embodiments, a player can control the position of the virtual camera in some way. At 720, a sequence of 2D projection surfaces (eg, virtual camera images) derived from the three-dimensional coordinates of the surfaces in the 3D gaming environment are rendered on a display screen on the gaming machine.
In Figures 4A to 8B, issues and details related to rendering 3D text in a 3D gaming environment of the present invention are described. In the present invention, as described with respect to Figure 1, 3D text objects can be generated for the display of game information in a textual format at runtime by the gaming machine, that is, the text is not in a pre-rendered display format. Using the present invention, a designer may be able to easily specify and adjust the format and appearance of graphic text that is rendered from a 3D gaming environment and displayed on a gaming machine display screen. The designer may be able to specify the visual formatting of a text string using function calls that are stored in a script file on the gaming machine. Using these function calls, the master game controller on the game machine can render the text in the manner specified by the designer. High-level issues and procedures in relation to rendering 3D text in a 3D gaming environment are described with respect to Figures 4A to 5B. The following describes the details of generating a specific font in the 3D gaming environment.
The first step in generating formatted text displays using 3D text objects of the present invention on the gaming machine may be the creation of a font (see Figures 6A to 6D). A font can be a collection of data representing the visual appearance and placement of characters, which can then be used to form words, sentences, and paragraphs. The data collection can be stored in a source file.
The font file can then be loaded into the gaming machine, which can use the font information to produce formatted text output used in a run-time 3D gaming environment (see Figures 7 and 8A to 8B). Formatted text output can be generated as a 3D text object and rendered in the 3D gaming environment as a bitmap box used in a presentation of the game result displayed on the gaming machine. In particular, in one embodiment, the fonts may include alphanumeric character bitmaps, which are mapped to polygons. Bitmaps provide a texture for polygons. The resulting polygons with their associated textures can be used to represent a text string and are called a 3D text object. In another embodiment, the font may include 3D vertex descriptions of shapes used as 3D alphanumeric characters. Shapes can be assembled in the 3D gaming environment with an appropriate texture to generate a 3D text object from a text string. The locations of a plurality of characters (polygons with texture maps) in the 3D gaming environment relative to each other can be determined using various typesetting rules. Typesetting rules, such as character spacing or line width, may be implemented in order to increase the quality of the text when it is displayed on a visual screen of the gaming machine.
The 3D text object, which generally comprises a plurality of characters in a text string, can be captured by a virtual camera in the 3D gaming environment and used as part of the game result presentation or bonus game presentation on the gaming machine. Details of the gaming software architecture and gaming operating system that may be used with the present invention are described in copending US application No. 10 / 040,329, filed January 3, 2002, by LeMay , et al., entitled, "Game Development Architecture That Decouples The Game Logic From The Graphics Logic," and US Application No. 10 / 041,212, filed January 7, 2002, by Breckner, et al., entitled "Decoupling Of The Graphical Presentation Of A Game From The Presentation Logic", which are each incorporated herein by reference in their entirety and for all purposes.
Typesetting, that is, the generation of printed text, has a long history, dating back hundreds of years. In recent years, mechanical processes for typesetting have been adapted to
ES 2 319 983 T3 computer through word processors. Word processors allow the user to arrange alphanumeric characters on virtual paper on a computer display screen and print the characters using a printer on a sheet of paper. Word processors employ rules, many originally developed for mechanical typesetting, that specify how to arrange characters relative to each other and character properties for maximum readability after printing. Producing easily readable text is important in the gaming industry because the display of poorly readable text can be associated with a lower quality of the product to which the text is associated.
Although many mechanical typesetting rules that increase readability can be applied directly to computer word processors, other rules have been specifically developed and / or have had to be adapted for issues particularly related to computer media. For example, pixelated character scaling is an example where typesetting rules have been developed specifically for computer media. Some scaling issues related to computer text rendering are described with respect to Figures 4A and 4B. This character scaling is provided to illustrate that when introducing a new method / apparatus for generating text in a new environment, for example, 3D gaming environments of the present invention, new typesetting procedures may be required to accommodate the requirements of the new procedures / apparatus. Additionally, scaling issues are also important when rendering text in a 3D gaming environment.
In a mechanical printer, such as a typewriter, a character is formed on paper when a mechanical key with an alphanumeric character strikes an ink ribbon to transfer a pattern of the character on the key to paper. In a computer word processor, an alphanumeric character bitmap, comprising a series of colored bits, can be used to generate text on a screen or printer. On the computer, a bitmap can be scaled to make the character appear larger or smaller, that is, to increase the font size when printed on a monitor or display screen. Computer scaling is much easier than in a mechanical environment and is an advantage of a computer word processor.
In FIG. 4A, a bitmap scaling 300 of a bitmap 302 of a character "a" is shown. Bitmap 302 consists of a number of black and white bits arranged in a pattern of the character "a." The bits can provide information to a display device to turn certain pixels on or off, or it can provide information to a printer as to where the ink droplets should be located. When the unscaled bitmap 306 is printed on a screen or printer with sufficient resolution to display the bitmap, the character pattern looks the same as on the bitmap. However, when the character scale 308 is increased, 304 scale is decreased, or a screen is printed with insufficient resolution, it may be necessary to add or remove pixels to display the character "a".
Adding or removing bits in the bitmap can alter the displayed bitmap pattern, as shown in Figure 4A, so that the readability of the text is degraded. The bitmap pattern is degraded because the bitmap information does not contain information regarding the relationship of the bits to each other relative to the pattern generated by the bits. This bitmap pattern degradation problem when scaling is unique to pixelated computer displays and is not a problem when using mechanical typesetting for printing on paper.
Scaling with vector fonts 310 is shown in Figure 4B, which is a solution to the scaling problem. In a vector font 312, information regarding the pattern of the character is included in the font information. When a vector font is generated, font and scaling information 314 is sent to a rasterizer 318 in the computing device. The rasterizer is software that is embedded in the operating system. It gathers information about the size, color, orientation and location of the vector font and converts the information into a bitmap that can be understood by the graphics card and monitor or a printer. Therefore, with a vector font, such as a TrueType font, when using a downscaled 320, no 322 scaling, or 324 increased scaling, the quality of the generated character can be maintained.
The font and scaling information may also include hinting information to arrange bits when the font scale is small enough. Hinting is a process that makes the appearance of a font that has been scaled down to a small size to be the best. Rather than simply using the vector profile to determine pixel locations, hinting codes ensure that characters align well with pixels so that the font appears as homogeneous and legible as possible. Hinting and vector methods, as well as other procedures known in the word processing arts, can be used with the 3D text generation and fonts of the present invention. However, as in the bitmap scaling example described with respect to Figures 4A and 4B, these procedures may not be transferable directly to 3D graphical rendering and may have to be tailored for the unique requirements of an imaging system. 3D graphic rendering. Some details of 3D graphical rendering have been described with respect to figure 1. Additional details of 3D graphical rendering in the context of text generation are described with respect to Figure 4C and 4D.
In FIG. 4C, the 3D graphical rendering execution course 325 for one embodiment of the present invention is described. In the 3D graphical rendering execution course 325, an input in the execution course may be vertices for a plurality of shapes, ie, 3D objects 326. As described with respect to
In FIG. 1, the shapes can be discretized as several triangular polygons defined by the vertices. Vertex data is referred to as primitive data. The output of the running course can be a bitmap layout 340 that can be drawn on a display screen.
The primitive data can be operated by various transformations 332. These transformations include a View transformation, a Modeling transformation, a Projection transformation, and a Viewport transformation. Vision transformation places the virtual camera in the 3D gaming environment. Vision transformation defines a volume of space in the 3D gaming environment that is captured by the virtual camera. Vertices outside of this volume of space may be clipped when rendering a photograph of the game environment in 3D.
The modeling transformation places the 3D objects 326 in the 3D game environment including rotations, translations, and scaling of the objects. The 3D text objects of the present invention are a type of 3D object and can be manipulated using the modeling transformation. The projection transformation is analogous to selecting a lens for the virtual camera. It affects the field of view (size of the viewing volume) as well as how objects are projected onto the screen. For example, the projection transformation can result in clipping of objects not in the vision volume defined by the projection transformation. The View Window transform specifies the screen size that is available for viewing a photo taken in the 3D gaming environment. Using the View Window transform, the photo can be enlarged, shrunk, or stretched. The projection and viewing window transformations determine how a scene maps to the viewing screen. User 330 can define these transformations as a function of time.
As a result of the modeling and vision transformations, new vertex data is generated for the triangular polygonal surfaces. In addition, texture coordinates are generated for each of the polygonal surfaces. Various color patterns, called textures, can be mapped to the triangular polygonal surfaces. The texture can be represented as an arrangement of color values for each position in the arrangement. The positions in the arrangement with their associated color values are often referred to as texels.
In one embodiment of the present invention, textures representing various characters in a font can be mapped to one or more polygonal surfaces to generate a pattern of a specified text string on the polygonal surface 336 (see Figures 7 and 8A). Texture coordinates are used to map textures to polygonal surfaces. In another embodiment, sources can be defined as 3D objects in the 3D gaming environment using multiple vertices. In this case, since the font is rendered in 3D, the textures mapped with the font can be simpler, such as a spot color, rather than a font pattern.
In rasterization 334, pixel and geometric data can be converted into chunks. Each chunk can correspond to one pixel in the frame buffer. Line and polygon stitches, line width, point size, shading pattern, and coverage calculations are considered to aid in edge smoothing when vertices are connected in lines or interior pixels are calculated for a filled polygon. Color and depth values are assigned for each fragment square. For each fragment additional operations, such as generating a texel element 338, determined by the texture maps, can be performed for each fragment.
As described with respect to Figure 4D, the texel map may not be aligned with the fragments generated after rasterization. In this case, the texels can be magnified or minimized creating distortions. In addition, other operations, such as mixing and dithering, can be performed on each chunk, which can also introduce distortions. These distortions can affect the quality of the rendered text.
After the fragment is processed, the remaining pixel can be displayed on the display screen 340. For example, a 13 x 16 pixel arrangement is shown in which a cube 326 is mapped with a texture of a 336 character "a". The low resolution of the 13x16 viewing window results in a relatively rudimentary cube and character "a" profile.
Typically, 3D graphical rendering hardware / software does not provide utilities for generating text, such as a word processor, and commercial word processors are not compatible with 3D graphical rendering systems. All text in the 3D game environment is generated in the context of defining 3D objects, operating on the vertices of these objects through various transformations and applying textures to the objects that the 3D graphical rendering system allows. 3D graphics rendering hardware / software can process all polygons and their associated textures in a similar way that is independent of whether the polygons and textures are used to display text or not. The 3D graphical rendering system does not care whether the rendered text is readable or not. It is the user's responsibility to provide procedures, such as 3D typesetting rules, that are compatible with a particular 3D graphical rendering system and that produce readable text.
The present invention provides methods for rendering readable text in a 3D graphical rendering environment. Issues such as minimizing the number of vertices processed are considered, which is important in regards to render times, and minimizing distortions resulting from scaling texture maps and transformations (i.e. vision, modeling, projection transformations and window
ES 2 319 983 T3 display). In addition, procedures are considered to take advantage of the unique attributes of the 3D graphical rendering environment, such as the ability to write text on non-rectangular, time-varying 3D text pages. In a typical word processor, text is always written on a rectangular 2D page where the shape of the page does not change over time.
As described with respect to 4A through 4C, there are many typesetting functions that have to be tailored to the unique requirements of a 3D graphical rendering system to produce high-quality text output. In one embodiment of the present invention, textures with font patterns can be mapped to polygons to generate text strings. The mapping of textures to polygons is affected by the procedures used in the 3D graphical rendering system. Textures can be used to fill a polygon face defined in 3D by multiple vertices with a color or color pattern.
In one embodiment hereof, the font textures are defined as an array of texels. Texels are defined in non-dimensional parametric coordinates that are mapped to polygons in the 3D gaming environment using the texture coordinates of the vertices. After applying various transformations to the primitives (vertices of objects defined in the 3D game environment), the texture coordinates can be generated. An initial photograph of the 3D gaming environment can then be rasterized into fragments (see Figure 4C). After performing various operations on the snippets, such as applying textures, the snippets can be converted to pixels in the frame buffer for display on the display screen.
As illustrated in Figure 4D, fragment texel mapping may not occur in one-to-one mode. In the process of applying the texels in a texture to the fragments in the 3D graphical rendering system, several texels can be mapped in the texture with a single fragment or a single texel can be mapped with several fragments. These processes are called minification and magnification respectively.
As an example of minification, in Figure 4D, four texels in texture 346 are mapped to a single fragment 342. The information from the four texels is somewhat interpolated to provide the texture information for fragment 342. In the case of a texture that displays character patterns. Interpolation can result in loss of information and degradation of the readability of text rendered using texels.
As an example of magnification, in Figure 4D, information from small parts of four texels in texture 346 is magnified to nine fragments. Information from the four texels is interpolated somewhat to provide texture information for the nine fragments 344. Interpolation can add information that degrades the readability of the displayed text. In the present invention, methods are described that attempt to minimize the degradation in text readability resulting from interpolation of font textures to the surfaces of 3D objects in the 3D gaming environment. These procedures are described with respect to Figures 5A to 8B.
Before providing details of the text rendering procedures of the present invention, the text rendering procedures are described at a higher level in the context of 3D rendering in a 3D graphical rendering system using the flow diagrams of Figures 5A and 5B. Figure 5A is a block diagram describing a procedure for generating a 3D gaming environment with 3D text objects. 3D text objects refer to 3D objects in the 3D gaming environment used to generate a text string when rendered on the display screen. 3D text objects can include, but are not limited to, 3D objects textured with patterns representing fonts, 3D objects in the form of letters, or combinations thereof.
At 150, for a presentation state, a 3D game environment setting for the state is determined. The settings may depend on the visual / audio script developed for the state (see Figure 3). The display state may comprise a sequence of photographs that are rendered on the display screen from the 3D gaming environment. In general, the information transmitted in the display state will depend on the purpose of the display state (eg, game result display, bonus game display, game history review, maintenance, etc.). The display state may be in response to a particular event (s) occurring at the gaming machine, such as a player initiating a game of chance.
At 152, for the given 3D gaming environment, the initial types and locations / orientation of 3D objects that include textures are specified as a function of time. The 3D objects may comprise 3D text objects that are adapted to convey textual information on the display screen during the presentation state. During the presentation state, the types and numbers of objects may vary over time in the 3D gaming environment. At 154, the vision, modeling, projection, and view window transformations for the presentation state are specified as a function of time. These transformations, as described with respect to Figure 4C, affect the output of the rendering process.
At 158, the specified 3D object types and textures are assembled. In 160, for each specified texture or object, when the 3D object or texture is available in memory, it can be loaded in 164. In 160, when the 3D object or texture is not available it can be generated in 162. For example, they can store in memory parametric models of 3D objects or textures that allow generating the 3D objects or parameterized textures
ES 2 319 983 T3 as required. At 168, for the presentation state, a sequence of photographs is rendered. The rendering process, as described with respect to Figure 4C, may involve applying the View, Modeling, Projection, and View Window transformations on the assembled objects and adding the specified textures to the objects.
In Figure 5B, a flow chart with additional details of 3D text rendering is provided. At 176, font geometries and font textures available for use in generating 3D text objects are loaded into the gaming machine. The geometries and textures can comprise parameters that allow you to generate the geometries and textures on the fly, or data that actually specifies the font geometry or the font textures. Font texture generation for one embodiment of the present invention is described in more detail with respect to Figures 6A through D.
In 178, text strings, text pages, and typesetting commands are specified for 3D text objects. The text string can be a character string to be rendered in the 3D game environment using font textures, font geometries, or combinations of both. The text page can be a curved 3D surface used to guide the placement of text in the 3D game environment. The boundaries, shape, color, and position of the text page may vary over time. Typesetting commands can be used to specify operations to be performed on fonts, such as scaling, line spacing, character spacing, justification, and centering of characters in the text string on the 3D text page , or operations to be performed on the 3D text page, such as changing the position and shape of the 3D text page as a function of time.
Typesetting commands may also include applying typesetting rules that are not controlled by the user. These typesetting rules can be applied to improve the quality of rendered text from 3D game objects. Examples of these typesetting rules may include, but are not limited to: 1) apply hinting to small scale characters, 2) improve the “color” of text to be rendered which may involve contrasts between weights of wide and thin pole, the size of the internal character spacing, the magnitudes of the space between lines and between characters, the serration of diagonal strokes and overall thickness of a stroke, 3) ensure that each glyph is readable, 4) determine the spacing between characters and words to maximize the regularity of spacing, 5) adjust the weight of the “strokes” used to draw the glyphs and 6) adjust the vertical and horizontal alignments of characters in a text string. Typesetting functions can be affected by the text page characteristics defined in 178.
At 180, automatic or user-specified typesetting functions are performed. At 182, the 3D text object is generated in the 3D game environment. At 184, photographs of the 3D text object are generated, which can be displayed on the display screen.
Font textures and font geometries used to generate 3D text objects can be generated and loaded into the gaming machine as part of a font geometry and texture library stored on a memory device in the gaming machine. In Figures 6A to 6D, the generation of font textures is described, including the specification of font information used for typesetting in one embodiment of the present invention. Font textures can be used to generate, typeset, and render 3D text objects, which is described with respect to Figures 7 and 8A.
In FIG. 6A, the generation 400 of a font file and the simulation of text string rendered in a 3D graphics system are described. The font file can comprise textures used to represent text in the 3D gaming environment and font / character information that is used for typesetting operations. Font files can be created using a font interface application 408.
Fonts can be loaded, viewed, edited, and saved in the font file 410, using the font interface application 408. Using an appropriate font generation program with the interface application, an artist may be able to import character images called glyphs from different fonts. Information about the font and individual characters can be entered and then saved as a font file 410 to be used by the gaming machine. The font file can be formatted to allow the gaming machine to generate a 3D text object at run time that uses the particular font represented in the font file 410.
Font generation data 402 input into interface application 408 can be used to generate a font file 410. The font data generation can include initial font data 404, such as font bitmaps. For example, the initial font data may include, but is not limited to, glyphs, glyph strips, and TrueType fonts in a Targa image format or a TrueType font format. The font designer can modify the initial font data 404 by adjusting the font and character settings for each font 406. The designer can adjust these font and character settings 406 to improve the quality of the rendered text.
In one embodiment of the present invention, the font interface application 408 may be coupled to a 3D text simulator 422. A font designer can use the 3D text simulator 422 to simulate 3D text using a generated font file and adjust the properties of the font file based on the display qualities of the text rendered from a selected font.
ES 2 319 983 T3
The 3D text simulator 422 may comprise a 3D text object generator 412 that generates 3D text objects using one or more available fonts. The designer can control simulation properties by specifying a text string, a 3D text page, and typesetting commands. The 3D text object can be rendered using a 3D rendering simulator that simulates the rendering of text on a target gaming device, such as a particular type of gaming machine.
The 3D text object can be rendered by itself or in the context of other 418 3D objects. For example, if the 3D text object is part of a game result presentation, then other 3D objects used in the game result presentation can also be rendered with the 3D text objects. The rendered text 420 may be output to a frame buffer for display on a display screen.
In Figures 6B and 6C, types of information that can be stored in the font file are described in more detail. Two categories of data are analyzed, font properties 425 (see FIG. 6B) and character properties 440 (see FIG. 6C). In Figure 6D, properties of a font texture containing character glyphs defined in a 470 font are described.
Font data or font properties can be used 425 to describe the entire character set and typically apply to all characters in a font. Font properties may comprise, but are not limited to, the following properties. The font name can be an ANSI string that can be used to give the font file an extended description. It can be whatever the developer wants, but it is usually used to store the full font name as "Arial Bold 24pt". Arial refers to a font style, bold refers to a thickness of the character lines, and 24pt is the font size. Many different font styles, which are well known in word processing and document preparation techniques, can be used with the present invention and the present invention is not limited to Arial. More details on font types and their associated information are described below.
Typeface refers to specific graphic attributes of characters and symbols in the font. A font typeface name can be used to describe the artistic theme or thickness of the thick and thin strokes that are used for the characters. The use of serifs in a font can also be a factor for the name of the typeface. The cap is the short horizontal line at the ends of a stroke not connected to a character. The style can be used to define the weight and slant of a font. Using different weights and skew values can dramatically change the appearance of character in a font. The font weight represents the stroke width used for all characters and symbols. The following list shows several names, ranging from thinnest to heaviest, that can be used to describe a font.
<td>Name by weight</td><td>Description</td>
<td>Slim</td><td>The finest; extra fine line</td>
<td>Extra fine</td><td></td>
<td>Fine</td><td></td>
<td>Normal</td><td></td>
<td>Half</td><td></td>
<td>Sem bold</td><td></td>
<td>Bold font</td><td></td>
<td>Extra bold</td><td></td>
<td>Heavy</td><td>The heaviest; much thickness</td>
The skew attribute refers to the vertical aspect of the characters in the font. Terms such as roman, oblique, and italic are used to categorize the different ways in which tilt can be achieved. Roman fonts are vertical without any slant, while oblique characters are slanted by applying a tangential offset transformation to them. Originally, the characters that are assigned an italic font are slanted and appear as if they were an artistic creation.
The font baseline provides the position where the bottom of a character is positioned within the font cell. With this value, a string of characters or symbols with different heights and different font sizes can be vertically aligned. Elevation is a measure of how far the character extends above the font baseline. This value also includes any single character accent marks. The descent is
ES 2 319 983 T3 a measure of how far the character falls below the font baseline. This value may not include the outer leading value, which is the amount of space the artist designed to be added between rows of strings.
The size attribute can be used to define the maximum width and height required to contain the largest character in the font. This value does not specify a size that corresponds to a specific character or symbol in the font, but rather a zone in which any character in the font could fit. This area, or virtual box, is also referred to as a character cell or symbol cell. The placement of the character within the cell can also include how the character rests on the baseline of the font. This can be important because the overall height of the font is determined not only by the height of a character, but also by its elevation and descent from the baseline. The font width is determined by the widest character or symbol. Therefore, the font size is defined by the character cell width and height.
The font type can be used to indicate the type of font stored in the file. Some examples of font types are 2D textured, 3D textured, and vector. In 2D textured font, the characters in this font can be flat rectangles textured with a 2D bitmap containing the character glyph. In a 3D textured font, characters in this font can be made from many 3D polygons and can be textured to provide color and visual effects. In a vector font, the characters in this font can be generated from Bezier curves or B-splines or other types of mathematical equations. The textures can then be applied to impart color and visual effects to the font. Combinations of these sources can be used with the current invention.
Width is a font property. It can be a value that contains the maximum character width of the font. This value is used to create non-supplied character spacing at run time. If the characters have different widths and spacing, it is termed as having proportional spacing. A font can be considered non-proportional if all its characters are the same width and spacing. The gaming machine may have the ability to convert a proportional font to a non-proportional one at runtime using this value and other information provided by the developer.
Height 426 is a font property. The height value can be used to describe the height of the font. The value of the height property can be greater than the tallest character in the font. All characters in the font are equal to or lower than the font height. In one embodiment of the typesetting rules with the present invention, all characters must fit within the font height property after the character is placed. Therefore, although the character glyph, such as 430, may be shorter than the font height, such as 432, the total character height must not exceed the font height. The height of the character may include its vertical placement on the base line 428. The height property 426 can also be used in text justification and multi-line calculations.
Baseline 428 is a font property. The baseline can be a vertical reference point that is used to position each character. Most of the characters normally rest on the baseline and a few extend below the baseline, such as the characters "g" or "y". Line spacing is a font 434 property. The line spacing value can be used to create space between multiple lines of text for 3D text objects with multiple lines. For example, the line spacing 434 is the distance between the line of text that begins with the character "M" and the second line that contains the text string, "Hello" 436.
"First Symbol" is a font property. Characters in the font can also be referred to as symbols. The first symbol property defines the ANSI code for the first character in the font. "Last Symbol" is a font property that defines the ANSI code for the last character in the font. "Token Count" is a font property. Symbol count is various characters defined in the font, such as 255.
Texture can be a font property (see Figure 6D). The texture property can be a layout of pixel data (or a 2D bitmap) that contains all the character glyphs or visual data that can be applied to the characters in the font. Information about the width and height of the texture in pixels and the pixel format of the texture can also be stored in this property. Multiple textures can exist in a font, and each texture contains all the character glyphs. If the source has MIP mapping capabilities then all MIP maps are stored in the texture property as well. All animated character glyph data can also be stored in the texture property. MIP mapping is a texturing technique commonly used for 3D animation in games and simulated CAD tours. To create a scene that contains polygons with sharp angles that disappear into the distance, MIP mapping mixes high- and low-resolution versions of the same texture to reduce the jagged effect that would otherwise appear.
The second set of properties stored in the font file can target the individual characters that make up the font. Each character can have a unique set of properties that describes the appearance and visual placement of the character. Character properties are described with respect to Figure 6C. Width 444 can be a character property. The width 444 can be the value that is the width of the character glyph or the maximum horizontal space of the character's visual appearance. This value can also be the width of the 3D geometry or character curve data depending on the font type property.
ES 2 319 983 T3
Height can be a character property. Height 448 can be a value that is the height of the character glyph or the maximum vertical space of the character's visual appearance. This value can also be the height of the 3D geometry or character curve data that depends on the font type property. The X origin and Y origin 442 can also be a character property. The 450 x origin and 448 y origin can specify the horizontal and vertical starting position of a character relative to the cursor position. Cursor 446 can be a reference point used to calculate where the next character is to be placed using typesetting rules used by the gaming machine. As characters are placed along the base line 428, the cursor may advance to indicate the next character position.
The X feed 452 and the Y feed (not shown) can be a character property. Advance in x and y can specify the amount of horizontal and vertical movement of the cursor from its current location. In essence, these values can be added to the current cursor position to move it to the end of the current character. By applying this property you can reposition the cursor for the next character placement and ensure that the next character will not obstruct the current character.
The texture U and V coordinates, illustrated in Figure 6D, can be a character property. The U and V texture property can be used to locate the character glyph from the font texture property 470. Since the texture property can contain all the character glyph data in a texture, each character glyph can be located at a different position within the texture bitmap. Along with the character width and height properties, character glyph data can be located and extracted from the texture. In one embodiment, the U and V coordinates for a texture range from 0 to 1 for U and from 0 to 1 for V.
Texture UV coordinates can specify a texture origin (0,0), a texture UV origin, such as 478, for each glyph in U and V coordinates, such as 474 and 476. Texture UV coordinates can also comprise a glyph width 482 and a glyph height 480 in U and V coordinates. With these coordinates, you define a rectangle in U and V coordinates that contains each character in the texture.
3D geometry can be a character property. This property can include data for vertices, faces, and standards that make up the character's 3D geometry. All animated geometry data can be stored in this property as well. Curves can be a character property. This property can include all curve data, which describes the shape of the character. All animated curve data can also be stored in this property. Curves are normally Bezier or B-spline but can consist of other types of mathematical equations that represent the character. Next, the generation of 3D text characters is described using the font and character properties described with respect to Figures 6A to 6D.
Figure 7 shows the generation of 3D text characters using triangular polygons. The present invention is not limited to the procedure described with respect to Figure 7, which is provided for illustrative purposes only. There are two parts that can be used to generate a character. The first part is to define a rectangular polygon that represents a visible area of the character or solid surface that can be seen. The second part assigns a texture image of the character to the polygon. The texture image contains the current detailed pixel image of the character or character shape. Each character in the text string can be comprised of its own set of vertices, faces, and texture coordinates.
In the example shown in Figure 7 a 3D text object is shown with the text string of "Win" 525 and its display area 530. The display area is the result of rendering the text page on which the 3D text characters are drawn. Figure 7 uses a rectangular text page. More complex text pages are described with respect to Figures 8A and 8B. In the present invention, a software module called, "Actor string", which can be part of a software module called "ActorText" can implement procedures used to generate 3D text strings.
To generate the "Win" text string 525, the master game controller can retrieve the first character in the string and look up its corresponding information stored in the font file. For example, texture U and V coordinates 502, 504, 506, and 508 can be retrieved from font texture 506. A polygon can then be created for the character "W". Using the width and height of the character W, the polygon can be defined by the four vertices labeled Vertex 1 through Vertex 4, 514, 516, 518, and 520, respectively. The four vertices are defined in the coordinates of the 3D game environment. The polygon can be comprised of two triangular faces or surfaces. Face 1 is defined from Vertex 1, Vertex 2 and Vertex 4 and Face 2 from Vertex 2, Vertex 3 and Vertex 4. The vertices that make up each character also have corresponding texture coordinates (for example, 502, 504, 508, and 510).
Texture coordinates can be used to link a location in a texture image (bitmap) with vertices in a polygon, essentially mapping a piece of the texture image to the polygon. The texture coordinates are specified in (u, v) where (0,0) refers to the upper left of the texture image. The u is the horizontal position and the v is the vertical position within the texture image. The vertex texture coordinates can be calculated using the character texture coordinates, such as the width and height of the character, stored in the font file (see Figure 6D). Using this information, a 3D text object for the individual "W" character can be assembled in the 3D game environment and rendered on the display screen. The rendering process can be repeated for each character defined in the property
ES 2 319 983 T3 text string. To determine the location of the next character in the text string in the 3D text object, the x-feed and y-feed are used from the character properties of the previous character, that is, the “W” character in this example.
An advantage of using the character information from the font texture file to define the dimensions of the polygon to receive the character texture is to minimize the magnification or minification of the texels in the texture during rendering. As described with respect to Figure 4D, magnification or minification can result in interpolations that degrade the quality of the pattern on the texture when rendered. In this embodiment, the initial size of the polygon used for the texture is selected to fit the character texture, which minimizes interpolation errors during rendering. Additionally, starting from their initial optimal sizes, the polygons for the characters can be stretched, shrunk, or manipulated to some extent without too much degradation in the quality of the rendered text.
In this embodiment, if the polygons are scaled too far from their initial size, the quality of the rendered text may degrade. In this case, it may be desirable to use a font texture closer in size to the font size after scaling or to apply a technique such as MIP mapping. The gaming machine can be adapted to select a font texture of a particular size to match a desired font size and minimize any scaling errors. Thus, a font library of the present invention can include font textures for the same type of font in different sizes. With 3D texture type fonts, the geometry information included in the font can be used for scaling, and it may not be necessary to select a font texture of a particular size when scaling.
To reiterate, using a 2D texture type font does not create the polygon geometry to define the shape of a character, but instead creates a visible 3D surface to which a 3D image can be applied. texture. The texture image can include the actual shape and appearance of the character. If a 3D texture type font is used, then the font may contain the polygon information, which would define the 3D physical shape of the character (see Figure 8B for example of a 3D texture type font). The texture image can be used to enhance its appearance. However, the polygon information can be used to define the shape of the character. Curve type fonts can be treated the same as 3D texture fonts except that the character's 3D physical shape is defined by curves. The polygon can be created using the curve information and then a texture can be applied to the polygons.
Another advantage of the 2D texture procedural approach is that it reduces the number of polygons that need to be processed by graphics software / hardware. In 3D graphics systems, the ability to render scenes in real time is a function of the number of polygons that need to be rendered. When the system has too many polygons to process, system performance can degrade to the point where it is too slow to be used in an operational environment. In 2D texturing, rendering each character in a text string requires the processing of only two triangular polygons. Therefore, the procedure reduces the number of polygons that the system needs to process compared to an approach in which one shape of each font in a character is represented by a large number of polygons.
There are numerous properties and features, available through ActorText, that can be used to provide text formatting and visual effects in the present invention. These additional features can also affect the generation of 3D character geometry. The following list describes some examples of features, which can be accessed through API function calls, statements (scripts), and models. However, the present invention is not limited to these examples. The commands are implemented to function in the context of the 3D graphical rendering system used in the gaming machines or gaming devices of the present invention.
It is noted that the orders described in the following paragraphs are high-level orders. Each order can comprise a sequence of low-level orders or function calls that allow the high-level orders to be implemented in the 3D graphical rendering system.
SetPosition can assign the x, y, and z positional coordinate for the location of a generated 3D text object. SetScale can set the scaling value to be applied to the size of the entire text string. SetRotation can be used to set rotation values that can be applied to all text on the x, y, and z axes. The polygons that define a text character or text string can be manipulated like other 3D objects defined in the 3D gaming environment. SetPivotPoint can set the x, y, and z positional coordinate for the pivot point location. The pivot point can be used as a reference location on the 3D text object when it is being rotated, scaled, and positioned. SetDisplayRegionSize can be used to set the text page size (width, height, and depth), which is used to contain the text string.
SetJustification can be used to set the type of justification used to position the text string in the text display area defined by the 3D text page. There are several types of justification that can each be combined with each other to form the desired justification effect. NONE no justification is applied to the text string. LEFT aligns the text string to the left side of the 3D text page. RIGHT aligns the text string to the right side of the 3D text page. CENTERING HORIZONTALLY centers the text string horizontally on the 3D text page. UP aligns the text string to the top edge of the
ES 2 319 983 T3 3D text page. DOWN aligns the text string to the bottom edge of the 3D text page. VERTICAL CENTERING centers the text string vertically on the 3D text page.
SetSizing can be used to set the sizing algorithm used on the text string. Various types of sizing algorithms can be applied. NONE no sizing is applied to the text string. GROW TO FIT you can size the text string to always fit within the 3D text page by shrinking or expanding the string width and / or height. ZOOM TO FIT can keep the aspect ratio of the chain and operate on the width and height of the chain. INCREASE WIDTH TO FIT you can change the width of the string to always fit within the width of the 3D text page by shrinking or expanding the width of the string. INCREASE WIDTH TO FIT can change the aspect ratio of the chain and can operate on the width of the chain (height is not affected). INCREASE HEIGHT TO FIT you can change the height of the string to always fit within the 3D text page by shrinking or expanding the height of the string. INCREASE HEIGHT TO FIT can change the aspect ratio of the chain and operate on the height of the chain (width is not affected).
SHRINK TO FIT can shrink the string to fit within the 3D text page when the width or height of the string exceeds the limits of the 3D text page. SHRINK TO FIT can keep the aspect ratio of the string and can operate on the width and height of the strings. SHRINK WIDTH TO FIT can shrink the width of the string to fit within the width of the 3D text page when the width of the string exceeds the width of the 3D text page. SHRINK WIDTH TO FIT can change the aspect ratio of the string and operates on its width (height is not affected). SHRINK HEIGHT TO FIT can shrink the height of the string to fit within the height of the 3D text page when the height of the string exceeds the height of the 3D text page. This parameter changes the aspect ratio of the string and operates on its height (width is not affected). DIMENSION TO FIT you can change the width and height of the string to always be the same as the width and height of the 3D text page. DIMENSION TO FIT can change the aspect ratio of the chain and can operate on its width and height.
INCREASE HEIGHT SHRINK WIDTH you can change the height of the string to always fit within the page height of 3D text by shrinking or expanding the height of the string (it does not change the aspect ratio). INCREASE HEIGHT SHRINK WIDTH can also shrink the width of the string to fit within the width of the 3D text page when the width of the string exceeds the width of the 3D text page (changes the aspect ratio). INCREASE WIDTH SHRINK HEIGHT you can change the width of the string to always fit within the width of the 3D text page by shrinking or expanding the width of the string (it does not change the aspect ratio). INCREASE WIDTH SHRINK HEIGHT can also shrink the height of the string to fit within the height of the 3D text page when the height of the string exceeds the height of the 3D text page. INCREASE WIDTH SHRINK HEIGHT can also change the aspect ratio of the string and can operate on its width and height (it will change the aspect ratio).
SetClipping can enable or disable text clipping against the limits defined by the text page. When enabled, any part of a character or characters that may be outside the bounds of the 3D text page may be removed and may not be displayed. SetName can set the name of the 3D text object. SetFont can be used to allocate a font resource that can be used when creating the text string. SetFontSize can be used to set the font size by defining its height in an appropriate coordinate system. SetColor can be used to set the color information of the string by specifying independent red, green, blue, and alpha color values.
SetLineSpacing can be used to set the additional line spacing that is used between lines within the string. SetSize can be used to set the width, height, and depth of the string. SetString can be used to assign a text string to be drawn. GetRawExtents can be used to calculate the width, height, and depth of 3D geometry in the text string using current property settings. SetCharacterScale can be used to assign a scaling value to be applied to each character size. This can be used to change the character aspect ratio by providing squeeze and stretch capabilities. SetCharacterSpacing can be used to set the character spacing for the space used to separate each character in the text string. This value is added to the character width defined in the font resource. SetNonProportionalWidth can be used to set the character width for use in non-proportional spacing. This value is added to the default font character width to produce a new width that is applied to each character when non-proportional spacing is enabled.
SetNonProportionalWidthType can be used to adjust the types of calculations used to determine the non-proportional width using the non-proportional width value. Several different width types can be used with the present invention. FONT WIDTH PERCENT interprets the non-proportional width property as a percentage of the maximum character width of the font. The resulting value is the new character width used in non-proportional spacing. VALUE interprets the non-proportional width property as the width value actually used in non-proportional spacing. OFFSET FONT WIDTH interprets the non-proportional width property to be added to the maximum character width of the font. The resulting sum is the new character width used in non-proportional spacing.
ES 2 319 983 T3
EnableNonProportionalSpacing can be used to indicate that a conversion from a proportional source to a non-proportional source is desired. SetStringPosition can be used to set the position of a string on the 3D text page. When justification is set to “NONE”, this value adjusts the position of the string within the 3D text page. Using this feature in conjunction with clipping can be used to create a marquee sign in which text scrolls through an area.
Methods can be used in the present invention to manipulate font properties. For example, GetFont can be invoked to determine the current font resource (font file being applied) that is being used. SetFont can be used to assign a font resource to use when creating a text string. GetFontSize can be used to retrieve a font size. SetFontSize can be used to set the font size by defining its height.
Methods can also be used in the present invention to manipulate text string properties. For example, getColor can be used to retrieve the color information from the separated string into red, green, blue, and alpha values. SetColor can be used to set the color information of the string by specifying independent red, green, blue, and alpha color values. GetLineSpacing can be used to retrieve additional line spacing that is added to the specified line spacing of the font. The value is used to increase or decrease the spacing between each line in the string. SetLineSpacing can be used to set the additional line spacing that is used between lines within the string.
GetScale can be used to get the current scaling value that is being applied to the text string in the 3D text object. SetScale can be used to set the scaling value to be applied to the size of the text string. GetSize can be used to calculate the string width, height, and depth using the current attribute values (that is, font size, line spacing, etc.). SetSize can be used to set the string width, height, and depth.
GetString can be used to retrieve a pointer to the buffer that contains the characters in the string to be drawn. SetString assigns a text string to be drawn. GetRawExtents can be used to set the width, height, and depth of the string.
The following commands, provided for illustrative purposes, may be used as part of character typesetting operations performed on the gaming machine. GetCharacterScale can be used to retrieve the current scaling value that is being applied to each character size in the string. SetCharacterScale can be used to assign a scaling value to be applied to each character size. GetCharacterSpacing can be used to retrieve character spacing. It can be used to separate each character in the string. SetCharacterSpacing can be used to set the character spacing for the space used to separate each character in the string. This value can be added to the character width defined in the font resource.
GetCharacterWidth can be used to retrieve the character width used in non-proportional spacing. This value is added to the default character width of the font to modify the width applied to each character. SetCharacterWidth can be used to set the character width for use in non-proportional spacing. This value is added to the default character width of the font to produce a new width that is applied to each character when non-proportional spacing is enabled. GetProportionalSpacing can be used to get the current proportional character spacing procedure. SetProportionalSpacing can be used to enable or disable the proportional character spacing procedure. Next, some examples of 3D text rendering will be analyzed using the procedures described with respect to Figures 4A to 7.
Figures 8A and 8B are diagrams of 3D text objects rendered on a gaming machine display screen. As described above, displaying text on the gaming machine may require the developer to create a 3D text object and specify text properties for that object. These properties can be assigned through several different mechanisms: API functions, instructions (scripts), and models. Any combination of these mechanisms can be used at any time to create, control, and specify text properties for the 3D text object. The 3D text object can be used in game result displays, bonus game displays, setup and maintenance menus as well as any other gaming machine function that requires text to be displayed on one of the display screens on the machine. of game.
To display text on the gaming machine, a 3D text object, such as 562 or 552, can be created. A logical unit, referred to as ActorText, can be used to create the 3D text object. ActorText can be used to create real-time formatted text on the gaming machine using the 3D graphical rendering system of the gaming machine or gaming device it is running on. You may have the ability to generate the information required to display text using font, specified developer properties, and type setting rules. The information displayed using ActorText can be in the context of an activity presented on the gaming machine, such as a game of chance. Thus, other 3D objects, such as 556, presented as part of a specific activity can also be rendered on the video display 34 with the rendered text.
In one embodiment, the developer may have to specify at least three properties before the game information, defined by a 3D text object, can be displayed. The first property that is specified
ES 2 319 983 T3 can be the resulting text page in a display area, such as 554 or 560. When the text page is rendered in 3D graphics systems, a 2D display area, such as 554, 560 , 574 or 576, corresponding to the text page is displayed on the video display 34. The text page can specify the size and shape of a 3D surface to be filled with text or used as a guide for the text. In the case of 3D fonts, the surface of the text page can act as a guide to the base of the fonts. As examples, the text page can be a flat simple rectangle, a flat complex polygon, or a 3D surface. The edges of the text page can be curves defined by B-splines, Bezier curves, or multiple line segments.
The position or shape of the text page may change over time. For example, the page of text can be rendered as a flag blowing in the breeze, 576, with text written on the surface of the flag. As another example, the page of text may be a world globe 574 that is turning 578 with text written on the surface of the globe. In yet another example, the text page can be rendered as the surface of a rippled pond.
In the present invention, a designer may be able to add textures to the text page as a background. For example, a flame texture that changes as a function of time can be added to the text page corresponding to the rectangular display area 554. The flame texture can provide an appearance that the text strings “total credits” and “2,356” are set on fire. Thus, the textures of the present invention can overlap each other with the text string texture by overlaying the texture applied to the text page, such as flames.
With the text page specified, ActorText may have the ability to warp the text characters to follow and fit the shape of the text page. For example, the characters in text object 562 in FIG. 8A follow the boundaries of the rendered text page as display area 560. The text page can be compared to a sheet of paper similar to most word processors because it is an area in which text characters are typeset using formatting rules. However, unlike a word processor, the text page of the present invention can be a complex 3D shape, for example a curled and twisted piece of paper. Additionally, the position and orientation of the text page can be manipulated in the 3D gaming environment to change the shape of the display area that is rendered on the display screen.
It is noted that the word processor is used for explanatory purposes only because it provides a convenient analogy. Although the present invention performs functions that are similar to a word processor, the present invention is not limited to the capabilities of a word processor. For example, the present invention has the ability to generate and manipulate decorative fonts in ways that are very limited or not possible with a conventional word processor.
The shape of the text page may change over time. ActorText may have the ability to warp text characters to follow and conform to the shape of the text page as it changes over time. Also, other character properties such as a color or texture of characters in the display area can change as a function of time, which can be taken into account in 3D text objects generated using ActorText.
The next property that can be specified for ActorText is the Font Property. The font property can be the file name and path of the font file that is used to generate the text on the 3D text page. With font, ActorText can obtain the information necessary to place text characters within the display area using type setting rules. The font file may include information about the placement and appearance of each character in the font as described with respect to Figures 6A through 7.
Finally, the text property can be assigned to ActorText. This property is a text string consisting of characters to be displayed. ActorText can take each character in the text string and generate the necessary 3D information (vertices, faces, normals, texture UV coordinates) that describe the 3D text object that is rendered in the 3D game environment. The text string can be viewed in one of the gaming machine displays when rendered from a 3D gaming environment that contains the 3D text object.
This section describes an embodiment that allows ActorText to generate 3D geometry for text characters using a 2D textured font. It is also possible to use 3D textured fonts with the present invention. Two examples of 3D textured fonts 570 for the characters "V" and "O" are shown in FIG. 8B. The 3D textured fonts in this example are defined by multiple triangles. These 3D fonts can be manipulated in the same way that any 3D object is manipulated in the 3D gaming environment. Once the 3D geometry is created, ActorText can send this information to the gaming machine's operating system where it is drawn on the video display 34.
Returning to Figure 9, a video game machine 2 of the present invention is shown. Machine 2 includes a main cabinet 4, which generally surrounds the interior of the machine (not shown) and can be seen by users. The main cabinet includes a main door 8 at the front of the machine, which opens to provide access to the interior of the machine. Attached to the front door are input switches or buttons 32 for
ES 2 319 983 T3 the player, a coin receiver 28 and a bill verifier 30, a coin tray 38 and a front glass 40. Visible through the front door is a video display monitor 34 and an information panel 36. The main display monitor 34 will typically be a cathode ray tube, high resolution flat panel LCD panel, plasma / LED display, or other conventional electronically controlled video monitor. The gaming machine 2 includes a top module 6, which sits on top of the main cabinet 4. A second display monitor 42 can be provided in the upper module. The second display monitor may also be a cathode ray tube, high resolution flat panel LCD panel or other conventional electronically controlled video monitor.
Typically, after a player starts a game on the gaming machine, the main display monitor 34 and the second display monitor 42 will visually display a game presentation, including one or more bonus games, controlled by a game controller. teacher (not shown). The bonus game can be included as a supplement in the presentation of the result of the main game on game machine 2. The video component of the game presentation consists of a sequence of frames updated at a sufficient rate in at least one of the displays, 34 and 42, so that it appears like a continuous presentation to the player playing the game on the machine. of game. Each 2D rendered frame on display 34 and / or 42 may correspond to a virtual camera view in a 3D virtual gaming environment stored on a memory device in gaming machine 2.
One or more frames of video can be captured from the sequence of frames used in the game presentation and stored in a memory device located in the game machine. The one or more boxes can be used to provide a history of gaming activities that have occurred on the gaming machine 2. Frame capture details for game story applications are provided in co-pending US application No. 09 / 689,498, filed October 11, 2000 by LeMay, et al., Entitled, "Frame Buffer Capture of Actual Game Play ”, incorporated herein in its entirety and for all purposes.
Returning to the gaming machine in Figure 9, the information panel 36 may be a backlit screen-printed glass panel with lettering to indicate general gaming information including, for example, the denomination of the tickets accepted by the machine. game (for example $ 1, $ 20 and $ 100). The bill verifier 30, the player input switches 32, the video display monitor 34 and the information panel are devices used to play a game on the gaming machine 2. The devices are controlled by the master game controller (not shown), which is located inside the main cabinet 4 of machine 2.
In the example, shown in Figure 9, the upper module 6 houses various devices, which can be used to input player tracking information or other player identification information into the gaming machine 2, including the bill verifier 30 that can reading barcode tickets 20, a numeric keypad 22, a fluorescent display 16 and a camera 44, and a card reader 24 for inserting magnetic stripe cards or smart cards. Camera 44 can be used to generate images of the player that are integrated into a virtual gaming environment implemented in the gaming machine. Numeric keypad 22, fluorescent display 16, and card reader 24 can be used to enter and display player tracking information. Furthermore, input devices other than those described above may be used to input player identification information including a fingerprint registration device or a retinal scanner. Procedures and apparatus for capturing a gamer's image on a video frame are described in copending US application No. 09 / 689,498, by LeMay et al. filed on October 11, 2000 and entitled "Frame Buffer Capture of Actual Game Play" and which is incorporated herein in its entirety and for all purposes.
In addition to the devices described above, the upper module 6 may contain different or additional devices than those shown in figure 9. For example, the upper module may contain a bonus wheel or a backlit screen-printed panel, which can be used to add Bonus features to the game being played on the gaming machine. During a game, these devices are controlled and powered, in part, by the circuitry of the master game controller (not shown) housed within the main cabinet 4 of the machine 2.
It is understood that the gaming machine 2 is only one example of a wide range of gaming machine designs in which the present invention can be implemented. For example, not all suitable gaming machines have superior modules or player tracking features. Additionally, some gaming machines have only a single gaming display - mechanical or video, while others are designed for bar tables and have upward-facing displays. As another example, a game can be generated on a central computer and can be displayed on a remote terminal or remote game device. The remote gaming device may be connected to the central computer through a network of some type such as a local area network, a wide area network, an intranet, or the Internet. The remote gaming device may be a portable gaming device such as, but not limited to, a mobile phone, a personal digital assistant, and a wireless game player. Images rendered from 3D gaming environments can be viewed on portable gaming devices used to play a game of chance. In addition, a game machine or server may include game logic to control a remote game device to render an image from a virtual camera in 3D game environments stored on the remote game device and to display the rendered image on a display. located on the remote gaming device. Therefore, those skilled in the art will understand that the present invention,
ES 2 319 983 T3 as described above, can be used in almost any gaming machine currently available or later developed.
Returning to the example of Figure 9, when a user selects a gaming machine 2, he inserts cash through the coin receiver 28 or bill verifier 30. In addition, the bill verifier may accept a printed ticket voucher, which may be accepted by the bill verifier 30 as proof of credit. Once the gaming machine has accepted the cash, credits or promotional credits, you can bet on a game of chance on the gaming machine. Typically, the player can use all or part of the cash entered or entered into the gaming machine to place a bet on a gaming match. During the course of a game, the player may be asked to make various decisions that affect the outcome of the game. For example, a player can vary his bet, select a prize, or make game duration decisions, which affect the gameplay. These options can be selected using the player input switches 32, the main video display screen 34 or by using some other device that allows a player to enter information into the gaming machine including a numeric keypad, a touch screen, a mouse. , a joystick, a microphone and a track ball.
Using input devices such as, but not limited to, player input switches 32, main video display screen 34 or using some other device that allows a player to enter information into the gaming machine including a numeric keypad , a touch screen, a mouse, a joystick, a microphone, and a trackball, properties of 3D objects can be altered in the 3D gaming environment and thus the corresponding presentation of these rendered 3D objects on one or more of the display screens in the gaming machine. For example, in a 3D gaming environment with a spinning object, such as, but not limited to, a spinning drum, spinning wheel, spinning drum segment, or spinning sphere, the spinning machine The game may be able to receive an input through one of the input devices that causes an object to start rotating, stops an object from rotating, or affects the speed of rotation of the object. In another example, the gaming machine may be able to receive an input through one or more input devices that initiates translational movement on one or more 3D objects in the 3D gaming environment, stops translational movement. o affects the speed of the translation movement.
In general, the gaming machine may be capable of receiving input information to control a plurality of motion parameters for 3D objects in the gaming environment. Motion parameters can vary depending on the degrees of freedom of motion rendered for a particular 3D object. The input information can be used to alter a game result display, a bonus game result display, or any other type of display generated on the gaming machine.
In some embodiments, to change the format of a presentation of the game result on the game machine or to use different game machine functions, the player can use an input device on the game machine to control a virtual camera in an environment. of virtual game implemented in the game machine. For example, a player may use the virtual camera to "zoom in" or "expand at will" a portion of the virtual gaming environment such as a hundred-hand poker hand displayed on display screen 34. In another example, the player can alter the presentation of the game result, such as the view or perspective of the game result presentation, by controlling the virtual camera. In yet another example, the player may be able to select a game type for a game match on the gaming machine, select a gaming environment in which a game is played, receive casino information, or obtain various services from casino, such as dinner reservations and show reservations, by browsing through a virtual casino implemented in the gaming machine. The virtual casino may correspond to the real casino in which the gaming machine is located. Therefore, the virtual casino can be used to give the player directions to other parts of the casino.
In other embodiments of the present invention, CAD / CAM models of the gaming machine 2 can be used to generate a virtual 3D model of the gaming machine. The virtual 3D model can be used to visually display various operational characteristics of the gaming machine 2. For example, when a player tracking card is incorrectly inserted into the card reader 24, the virtual 3D model of the gaming machine can be used to display a visual sequence of the card being removed from the card reader 24, giving turned over and properly inserted into the card reader 24. In another example, a visual sequence showing a player entering an entry code on the numeric keypad 22 can be used to prompt and show the player how to enter the information. In another example, when the game machine 2 is waiting for an input from the player using one of the input switches 32 for the player, the virtual 3D model of the game machine can be used to display a visual sequence of the correct button being by pressing on the gaming machine. In yet another example, the manner in which a ticket is inserted into the ticket verifier can be shown to the player using a sequence of photographs generated from the 3D model.
During certain game events, the game machine 2 can display visual and auditory effects that the player can perceive. These effects increase the excitement of a game, increasing the likelihood that a player will continue to play. Auditory effects include various sounds that are projected from speakers 10, 12,
14. Visual effects include flashing lights, strobes, or other displayed patterns from lights on the gaming machine 2 or from lights behind the front glass 40. The ability for a player to control a virtual camera in a virtual gaming environment to change the presentation of the game result can also increase the excitement of the game. After the player has completed a game, the player can
ES 2 319 983 T3 receive game tokens from coin tray 38 or ticket 20 from printer 18, which can be used for other games or to redeem for a prize.
Fig. 10 is a flow chart depicting a method of generating a game result presentation from a virtual gaming environment. At 600, after receiving a bet for one or more games played on a gaming machine, an input signal is received on the gaming machine to start a game of chance. A player can input the input signal using various input devices available on the gaming machine, such as input buttons and a touch screen. At 602, one or more game outcomes are determined for the one or more games initiated by the player. Typically, a game outcome is determined by generating one or more random numbers and comparing the numbers with a pay table stored in the gaming machine.
At 603, based on the one or more game outcomes determined at 602, one or more game displays are rendered in a 3D virtual gaming environment on the gaming machine. At 604, at least one virtual camera in the 3D gaming environment is used to render a sequence of 2D projection surfaces (eg images) derived from three-dimensional coordinates of surfaces in the 3D gaming environment. As described with reference to Figure 2, the position of the virtual camera can vary over time. At 606, the sequence of rendered 2D projection surfaces is displayed on one or more game display screens on the game machine as part of a game result presentation or a bonus game presentation. At 608, the outcome of the game (eg, a prize amount for one or more games) is displayed on the display screen. The procedure described above is not limited to game result displays. Other types of gaming information such as attraction mode displays, maintenance operation information, gaming operation information, and casino information can be generated in a 3D virtual gaming environment and displayed on a display screen on the gaming machine. play. In addition, transition screens that allow a smooth transition between different game presentations on the display screen can also be generated and displayed. For example, a transition screen can be generated to display a smooth transition between a presentation of the game result and a bonus game.
Figure 11 is a block diagram of gaming machines using distributed gaming software and distributed processors to generate a game of chance for one embodiment of the present invention. A master game controller 250 is used to present one or more games to game machines 61, 62, and 63. The master game controller 250 runs various game software modules to operate game devices 70, such as coin hoppers, bill verifiers, coin receivers, speakers, printers, lights, displays (for example 34), and other control mechanisms. entrance exit. The master game controller 250 may also run game software that enables communication with game devices located outside of the game machines 61, 62, and 63, such as player tracking servers, bonus game servers, game servers and progressive game servers. In some embodiments, communications with devices located outside of the gaming machines can be accomplished using the main communication panel 252 and network connections 71. The network connections 71 may allow communications with remote gaming devices over a local area network, an intranet, the Internet, or combinations thereof.
The gaming machines 61, 62 and 63 may use gaming software modules to generate a game of chance that can be distributed between local file storage devices and remote file storage devices. For example, to play a game of chance on the gaming machine 61, the master game controller may load game software modules into RAM 56 which may be located in 1) a file storage device 251 on the machine. 61, 2) a remote file storage device 81, 2) a remote file storage device 82, 3) a game server 90, 4) a file storage device 251 in the game machine 62, 5) a file storage device 251 in the game machine 63, or 6) combinations thereof. The game software modules can include instruction files (script), data files and 3D models used to generate 3D objects in the 3D game environments of the present invention. In one embodiment of the present invention, the gaming operating system may allow files stored on the local file storage devices and remote file storage devices to be used as part of a shared file system in which the files on the remote devices File storage is remotely integrated into the local file system. File storage devices can be a hard disk drive, CDROM, CDDVD, static RAM, flash memory, EPROM, compact flash memory, smart media, disk on board, removable media (for example ZIP drives with ZIP disks, flexible or combinations thereof). For both security and legal reasons, the gaming software executed on the gaming machines 61, 62, and 63 by the master gaming controllers 250 can be verified on a regular basis by comparing the software stored in RAM 56 for execution on the gaming machines. game with certified copies of the software stored in the game machine (for example the files can be stored in the file storage device 251), accessible by the gaming machine through a remote communication connection (eg, 81, 82 and 90) or combinations thereof.
The gaming server 90 may be a repository for gaming software modules and software for other gaming services provided on the gaming machines 61, 62, and 63. In one embodiment of the present invention, the gaming machines 61, 62, and 63 can download gaming software modules from the gaming server 90 to a local file storage device for playing a game of chance or the gaming server. you can start the download. An example of a game server that can be used with the present invention is described in the patent application
ES 2 319 983 T3 US pending together with the present 09 / 042,192, filed on 06/16/2000, entitled "Using a Gaming Machine as a Server" which is incorporated herein in its entirety and for all purposes. In another example, the game server can also be a dedicated computer or a service that runs on a server with other application programs.
In one embodiment of the present invention, the processors used to generate a game of chance may be distributed among different machines. For example, game flow logic for playing a game of chance can be executed on a game server 92 via processor 90 while master game controller 250 can execute game display logic on machines 61, 62. and 63 of game. The gaming operating systems on the gaming machines 61, 62, and 63 and the gaming server 90 may allow gaming events to be communicated between different gaming software modules that are running on different gaming machines through defined APIs. Thus, a game stream software module running on game server 92 can send game events to a game display software module running on game machine 61, 62, or 63 to control the play of a game. of chance or to control the play of a bonus game of chance presented on gaming machines 61, 62 and 63. As another example, the gaming machines 61, 62, and 63 may send game events to each other over a network connection 71 to control the play of a shared bonus game that is played simultaneously on the different gaming machines or in general to affect the gameplay on another machine.
Although the above invention has been described in some detail for the sake of clarity of understanding, it will be apparent that some changes and modifications can be made within the scope of the appended claims. For example, although the gaming machines of this invention have been shown with a top module mounted on top of the main cabinet of the gaming machine, the use of gaming devices according to this invention is not limited in this way. For example, the gaming machine can be provided without a top module or a secondary display. These two types of gaming machines can be modeled in a virtual gaming environment stored on a gaming machine.
Contents14
16 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16
78 members in 12 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 20020414982P | United States of America | – | |
| 41498202 | United States of America | P | |
| 41498202 | United States of America | P | |
| 03773084414982P | – | – | – |
| US20020414982P | – | – | – |
Members78
| Document | Office | Kind | |
|---|---|---|---|
| AU2772002A | Australia | A | |
| US2003032479A1 | United States of America | A1 | |
| WO2004028650A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2004029893A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003279092A1 | Australia | A1 | |
| AU2003279742A1 | Australia | A1 | |
| US2004077404A1 | United States of America | A1 | |
| US2004102244A1 | United States of America | A1 | |
| US2004102245A1 | United States of America | A1 | |
| US2005075167A1 | United States of America | A1 | |
| GB0505328D0 | United Kingdom | D0 | |
| US6887157B2 | United States of America | B2 | |
| EP1545728A1 | European Patent Office (EPO) | A1 | |
| EP1547031A1 | European Patent Office (EPO) | A1 | |
| GB2412282A | United Kingdom | A | |
| AU2005201148A1 | Australia | A1 | |
| US2005233799A1 | United States of America | A1 | |
| RU2005109161A | Russian Federation | A | |
| RU2005109160A | Russian Federation | A | |
| AU784628B2 | Australia | B2 | |
| AU2006203556A1 | Australia | A1 | |
| US2006287058A1 | United States of America | A1 | |
| AU2006331927A1 | Australia | A1 | |
| US2007155472A1 | United States of America | A1 | |
| US2007155473A1 | United States of America | A1 | |
| WO2007075582A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2006333064A1 | Australia | A1 | |
| WO2007078828A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2007078828A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2007075582A8 | World Intellectual Property Organization (WIPO) | A8 | |
| WO2008005278A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2008045331A1 | United States of America | A1 | |
| WO2008005278A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US7367885B2 | United States of America | B2 | |
| US2008188303A1 | United States of America | A1 | |
| US2008188304A1 | United States of America | A1 | |
| EP1964079A1 | European Patent Office (EPO) | A1 | |
| EP1964080A2 | European Patent Office (EPO) | A2 | |
| US7465230B2 | United States of America | B2 | |
| RU2344483C2 | Russian Federation | C2 | |
| EP1545728B1 | European Patent Office (EPO) | B1 | |
| CN101361102A | China | A | |
| RU2346334C2 | Russian Federation | C2 | |
| AT421371T | Austria | T | |
| ATE421371T1 | Austria | T1 | |
| CN101375320A | China | A | |
| US2009062001A1 | United States of America | A1 | |
| DE60325982D1 | Germany | D1 | |
| EP2038856A2 | European Patent Office (EPO) | A2 | |
| ES2319983T3This record | Spain | T3 | |
| MX2009000051A | Mexico | A | |
| RU2344483C9 | Russian Federation | C9 | |
| US7572186B2 | United States of America | B2 | |
| AU2006203556B2 | Australia | B2 | |
| AU2009212818A1 | Australia | A1 | |
| AU2009212822A1 | Australia | A1 | |
| AU2003279092B2 | Australia | B2 | |
| AU2003279742B2 | Australia | B2 | |
| GB2412282B | United Kingdom | B | |
| US7753774B2 | United States of America | B2 | |
| AU2005201148B2 | Australia | B2 | |
| US7901289B2 | United States of America | B2 | |
| US7909696B2 | United States of America | B2 | |
| US7934994B2 | United States of America | B2 | |
| US8002623B2 | United States of America | B2 | |
| US8012019B2 | United States of America | B2 | |
| BRPI0620087A2 | Brazil | A2 | |
| US8262451B2 | United States of America | B2 | |
| US8267767B2 | United States of America | B2 | |
| US2012289306A1 | United States of America | A1 | |
| US2013012317A1 | United States of America | A1 | |
| US8523672B2 | United States of America | B2 | |
| US2013237327A1 | United States of America | A1 | |
| US2014256435A1 | United States of America | A1 | |
| US9135774B2 | United States of America | B2 | |
| US2016019748A1 | United States of America | A1 | |
| US9418504B2 | United States of America | B2 | |
| BRPI0620021A2 | Brazil | A2 |
Numbers
- Publication
- 2319983
- Publication, DOCDB
- 2319983
- Publication, EPODOC
- ES2319983T
- Application
- 3773084
- Application, DOCDB
- 03773084
- Application, EPODOC
- ES20030773084T
Titles2
- Spanish
- TEXTO EN 3D EN UNA MAQUINA DE JUEGO.
- English
- 3D TEXT IN A GAME MACHINE.
Classification
- CPC, 2
- G07F17/3211
- A63F2300/66
- IPC, 3
- G07F17 32
- A63F13 00
- G07F17 00