Код документа: RU2344483C9
Предлагаемая заявка является частичным продолжением и притязает на приоритет совместно рассматриваемой заявки на патент США №09/927901 под названием "ВИРТУАЛЬНЫЕ КАМЕРЫ И ТРЕХМЕРНЫЕ ИГРОВЫЕ СРЕДЫ В ИГРОВОЙ МАШИНЕ"("VIRTUAL CAMERAS AND 3-D GAMING ENVIRONMENTS IN A GAMING MACHINE"), поданной Лимэй (Lemay) с соавторами 9 августа 2001 г., которая включена в данное описание путем ссылки и для всех целей, и согласно §119(е) раздела 35 Кодекса законов США настоящая заявка притязает на приоритет совместно рассматриваемой заявки на патент США №60/414982 под названием "ТРЕХМЕРНЫЙ ТЕКСТ В ИГРОВОЙ МАШИНЕ" ("3-D TEXT IN A GAMING MACHINE"), поданной Эскалера (Escalera) с соавторами 30 сентября 2002 г., которая включена в данное изобретение путем ссылки и для всех целей.
ПРЕДПОСЫЛКИ К СОЗДАНИЮ ИЗОБРЕТЕНИЯ
Это изобретение относится к способам представления игр для игровых машин типа слот-машин и машин для видеопокера. В частности, настоящее изобретение относится к устройству и способам представлений игр, получаемых из трехмерной игровой среды.
С развитием технологии в игровой индустрии традиционные барабанные слот-машины с механическим приводом заменяются электронными аналогами, имеющими видеодисплеи на ЭЛТ, ЖК или т.п. Эти видео/электронные игровые усовершенствования позволяют проводить более сложные игры, которые обычно невозможно было реализовать иным способом на механически управляемых игровых машинах. Игровые машины типа видеослот-машин и машин для видеопокера становятся все более и более популярными. Частично причиной их все возрастающей популярности является почти бесконечное множество игр, которые могут быть реализованы на игровых машинах, использующих продвинутую электронную технологию.
Имеется множество различных вспомогательных устройств, которые могут быть подключены к видеоигровым машинам, таким как видеослот-машины или машины для видеопокера. В качестве отдельных примеров этих устройств можно назвать источники света, билетопечатающие устройства, считыватели карточек, динамики, банкнотоприемники, считыватели билетов, монетоприемники, информационные табло, клавишные панели, накопители монет и кнопочные панели. Многие из этих устройств встроены в игровую машину или в компоненты, связанные с игровой машиной, типа приставки, которая обычно размещена наверху игровой машины.
Как правило, с помощью ведущего игрового контроллера игровая машина управляет различными комбинациями устройств, которые позволяют игроку вести игру на игровой машине, а также поощрять проведение игры на игровой машине. Например, для проведения игры на игровой машине обычно требуется, чтобы игрок ввел деньги или кредитные билеты в игровую машину, указал сумму ставок и запустил игру. Эти этапы требуют от игровой машины управления устройствами ввода, включая банкнотоприемники и монетоприемники, приема денег в игровую машину и распознавания данных, вводимых пользователем с устройств, включая клавишные панели и кнопочные панели, определения суммы ставок и инициирования проведения игры.
После инициирования проведения игры игровая машина определяет результат игры, представляет результат игры игроку и в зависимости от результата игры может выдать какое-либо вознаграждение. Для представления результата игры могут быть использованы многочисленные разнообразные визуальные и аудиокомпоненты типа фонарей-вспышек, музыки, звуков и графики. Визуальные и аудиокомпоненты представления результата игры могут быть использованы для привлечения внимания игрока к различным отличительным особенностям игры и усиления заинтересованности игрока в проведении дополнительных сеансов игры. Поддержание интереса игрока к участию в играх, например на игровой машине, или в других игровых действиях является важным соображением для оператора игрового учреждения.
Один из способов поддержания интереса игрока заключается в одновременном представлении множества игр в процессе представления. Например, тройной покер, при котором игрок играет в покер на три руки во время каждого представления игры, стал очень популярной игрой, реализованной на видеоигровой машине. Варианты тройного покера включают в себя представления игр, в которых во время каждого представления игра в покер ведется на сто или более рук. Представление множества игр во время одного представления игр может быть распространено на другие типы игр, например на видеослоты.
Одной из трудностей, связанных с представлением множества игр в процессе представления видеоигр, является разрешающая способность экрана дисплея в игровой машине. Типичная разрешающая способность дисплея в игровой машине составляет приблизительно 640 пикселов на 480 пикселов. С увеличением числа игр, представляемых во время представления игр, количество деталей может быть ограничено разрешающей способностью экрана. Например, для покера на сто рук, в котором сто рук покера отображаются во время каждого представления игры, чтобы разместить все карты на одном экране дисплея, каждая карта должна быть вычерчена довольно малого размера и без многих деталей. Отсутствие деталей и малый размер карт могут стать для некоторых игроков препятствием на пути их участия в таких играх.
Другой способ поддержания интереса игроков к проведению игр на игровой машине заключается в захватывающем представлении игр, которое показывается на экране дисплея в игровой машине. Во многих более новых игровых системах используются схемы графической генерации с применением устройств памяти большой емкости, которые используют различные периоды времени загрузки и потоковые форматы мультимедиа, чтобы генерировать захватывающее представление игр. Эти игровые системы позволяют генерировать многие игровые сцены во время проведения игр с помощью сложных визуализации и возможностей воспроизведения видео. Однако, как правило, по причинам эффективности предоставляемая игроку возможность контроля над представлением результатов игр является более слабой, чем через принимаемые им игровые решения во время проведения игры.
Изложенные выше соображения позволяют сделать вывод о желательности создания способа и устройства, обеспечивающих детальные представления игр при одновременном представлении множества игр в видеоигровой машине, в которой управление представлением игр может также осуществляться игроком.
КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Это изобретение направлено на удовлетворение указанных выше потребностей путем создания способа и устройства в игровой машине для представления множества представлений результатов игр, получаемых из одной или более виртуальных трехмерных игровых сред, хранимых в игровой машине. Во время проведения азартной игры на игровой машине в качестве части представления результата игры может осуществляться визуализация двухмерных изображений, получаемых из трехмерного объекта в трехмерной игровой среде, на экране дисплея игровой машины в реальном масштабе времени. Трехмерные объекты могут включать в себя трехмерные текстовые объекты, используемые для отображения текста на экране дисплея игровой машины как часть представления результатов игр. Описываемые устройство и способы предназначены для генерации и отображения информации в текстовом формате, который является совместимым с системой трехмерной графической визуализации. В частности, описываются способы генерации и набора шрифтов, применимые в трехмерной игровой среде.
Одной целью настоящего изобретения является создание способа предоставления азартной игры в игровой машине с возможностью i) приема наличных денег или кредитных билетов в качестве ставки в азартной игре и ii) вывода наличных денег или кредитных билетов в качестве вознаграждения за азартную игру, где игровая машина содержит ведущий игровой контроллер, дисплей, запоминающее устройство и систему трехмерной графической визуализации. Способ может быть в основном охарактеризован как содержащий этапы: а) приема ставки в азартных играх, управляемых ведущим игровым контроллером в игровой машине; b) определения результата игры в азартных играх; с) визуализации одного или более двухмерных изображений, полученных из трехмерных объектов в трехмерной игровой среде, хранимой в запоминающем устройстве на игровой машине, причем, по меньшей мере, один из трехмерных объектов представляет собой трехмерный текстовый объект, адаптированный для передачи текстовой информации; и d) отображения одного или более визуализированных двухмерных изображений на дисплее в игровой машине. Обычно трехмерная игровая среда содержит множество трехмерных текстовых объектов, и система трехмерной графической визуализации может быть совместимой с OpenGL.
В частных примерах осуществления способ может дополнительно содержать этапы: а) наложения текстовой строки, содержащей один или более алфавитно-цифровых знаков на трехмерный текстовый объект, где трехмерный текстовый объект может быть сконфигурирован для передачи, по меньшей мере, одного из алфавитно-цифровых знаков в текстовой строке; b) наложения текстур с рисунками алфавитно-цифровых знаков на трехмерный текстовый объект для передачи текстовой информации; с) моделирования трехмерного текстового объекта в форме алфавитно-цифрового знака для передачи текстовой информации. Форма алфавитно-цифрового знака может быть определена множеством параметризованных кривых.
В других примерах осуществления способ может дополнительно содержать этап масштабирования трехмерного текстового объекта для передачи текстовой информации с помощью коэффициента масштабирования. Трехмерная игровая среда может содержать два или более трехмерных текстовых объекта, где игровая машина выполнена с возможностью применения разных коэффициентов масштабирования к каждому из двух или более трехмерных текстовых объектов. Коэффициент масштабирования может изменяться как функция времени. Масштабирование трехмерного текстового объекта может осуществляться менее чем в трех его измерениях. Кроме того, игровая машина может быть выполнена с возможностью применения разных коэффициентов масштабирования к каждому из трех измерений трехмерного текстового объекта. Масштабирование трехмерного текстового объекта может осуществляться с помощью мип-мэпинга (мип-мэпинг - метод улучшения качества текстурных изображений при помощи использования текстур с разным разрешением для различных объектов одного и того же изображения - в зависимости от их размера и глубины, сохранение нескольких размеров текстуры для ускорения наложения при изменении геометрических размеров трехмерной поверхностью - прим. переводч.)
В еще одних других примерах осуществления игровая машина может быть выполнена с возможностью масштабирования множества трехмерных текстовых объектов в соответствии с ограничивающей поверхностью. Форма ограничивающей поверхности может изменяться как функция времени. В одном примере ограничивающая поверхность может представлять собой плоскую поверхность. Форма трехмерных текстовых объектов может также изменяться как функция времени.
В частных примерах осуществления способ может дополнительно содержать этап размещения каждого из трехмерных объектов в трехмерной игровой среде. Положение одного или более из трехмерных объектов может изменяться как функция времени. Множество трехмерных текстовых объектов может быть размещено в трехмерной игровой среде вдоль прямой линии, вдоль двух или более параллельных линий или вдоль трехмерной кривой. Обычно в трехмерной игровой среде может быть размещено множество трехмерных текстовых объектов.
В одном примере осуществления способ может дополнительно содержать этап задания направления размещения трехмерных текстовых объектов с помощью поверхности текстовой страницы. Форма поверхности текстовой страницы, положение поверхности текстовой страницы и/или ориентация поверхности текстовой страницы могут изменяться как функция времени. Поверхность текстовой страницы может иметь форму плоского прямоугольника или плоского многостороннего полигона или представлять собой трехмерную поверхность. Поверхность текстовой страницы может являться невидимой. Кроме того, способ может дополнительно содержать этапы: а) наложения статической текстуры и/или анимированной текстуры на поверхность текстовой страницы; b) отсечения участка первого трехмерного текстового объекта, продолжающегося за границей, определяемой поверхностью текстовой страницы; и с) масштабирования трехмерного текстового объекта в соответствии с границами, определяемыми поверхностью текстовой страницы.
В других примерах осуществления способ может содержать этап ориентации углового положения каждого из трехмерных текстовых объектов в трехмерной игровой среде. Угловое положение каждого из трехмерных текстовых объектов может изменяться как функция времени. В частности, угловые положения каждого из трехмерных текстовых объектов могут быть ориентированы так, что одна поверхность каждого из трехмерных текстовых объектов совмещена с наклонной линией или перпендикуляром к кривой линии или криволинейной поверхности в трехмерной игровой среде.
В частных примерах осуществления способ может дополнительно содержать этапы визуализации текстовой информации в трехмерной игровой среде для i) представления результата игры для азартной игры, ii) технического обслуживания и ремонта игровой машины, iii) функции демонстрационного режима, iv) поощрительной функции, v) информации казино и/или vi) представления бонусной игры и захвата текстовой информации в одном или более двухмерных изображениях. Кроме того, текстовая информация, передаваемая трехмерными текстовыми объектами, может представлять собой информацию, источником которой является азартная игра, бонусная игра, реклама, новости, биржевые цены, электронная почта, Web-страница, служба сообщений, служба имен, гостиничная служба/служба казино, кинофильм, отрывок музыкального произведения, проспект казино, широковещательное событие, техническое обслуживание и ремонт, служба трекинга игроков, меню напитков и/или меню закусок.
В частных примерах осуществления на множество трехмерных текстовых объектов может быть наложена текстовая строка, содержащая один или более алфавитно-цифровых знаков, где каждый из трехмерных текстовых объектов передает текстовую информацию для одного из алфавитно-цифровых знаков в текстовой строке. Способ может дополнительно содержать этап применения одного или более правил набора текста для улучшения качества текстовой информации, визуализированной из множества трехмерных текстовых объектов, представляющих текстовую строку. Правила набора текста могут быть предназначены для i) регулирования интервала между знаками, ii) коррекции цветовых весов знаков, iii) выключки текстовой строки, iv) центрирования знаков, v) регулирования размеров штрихов, определяющих знаки, vi) выравнивания знаков по базовой линии, vii) размещения текстовой строки по двум или более линиям, viii) регулирования интервала между двумя или более линиями, ix) выравнивания знаков по вертикали или горизонтали, х) регулирования относительного размера каждого знака, xi) настройки пикселов, определяющих текстовый знак, и/или xii) настройки текселов, определяющих текстовый знак.
В других примерах осуществления способ может содержать этапы а) осуществляемых до визуализации одного или более двухмерных изображений генерации одной или более текстур шрифтов, причем каждая текстура шрифтов содержит множество знаков, и загрузки одной или более текстур шрифтов в первое запоминающее устройство в игровой машине, b) отображения меню азартных игр, доступных на игровой машине; и приема одного или более входных сигналов, содержащих информацию, используемую для выбора одной или более азартных игр, перечисленных в указанном меню, с) генерации анимированной текстуры поверхности в трехмерной игровой среде, d) сохранения одного или более визуализированных двухмерных изображений в запоминающем устройстве, локализованном в игровой машине, и/или е) загрузки одной или более текстур шрифтов в библиотеку шрифтов в запоминающем устройстве на игровой машине.
Другой целью настоящего изобретения является создание способа предоставления текстовой информации для игровой машины с возможностью i) приема наличных денег или кредитных билетов в качестве ставки в азартной игре и ii) вывода наличных денег или кредитных билетов в качестве вознаграждения за азартную игру, где игровая машина содержит ведущий игровой контроллер, дисплей, запоминающее устройство и систему трехмерной графической визуализации. Способ может быть в основном охарактеризован как содержащий этапы: а) генерации текстуры шрифтов, содержащей множество знаков, вычерченных в специфическом стиле шрифтов, где текстура шрифтов содержит один или более параметров шрифтов для определения общих характеристик из множества характеристик в текстуре шрифтов и один или более параметров знаков для определения характеристик каждого знака; b) определения текстовой строки, содержащей множество знаков; с) определения поверхности текстовой страницы для задания направления размещения множества знаков в трехмерной игровой среде; d) задания размеров трехмерного объекта для каждого знака в текстовой строке с помощью параметров шрифта и параметров знаков; e) наложения текстуры знака из текстуры шрифта на трехмерный объект; размещения каждого трехмерного объекта на поверхности текстовой страницы; f) применения одного или более правил набора текста к трехмерным объектам для улучшения визуального качества текстовой строки, визуализированной из трехмерных объектов; и g) визуализации текстовой строки с помощью системы трехмерной графической визуализации.
В частных примерах осуществления способ может дополнительно содержать этап отображения визуализированной текстовой строки на дисплее или определения местоположения первого знака в текстуре шрифтов с помощью координат знака. Система трехмерной графической визуализации может быть совместимой с OpenGL. Кроме того, азартная игра может быть выбрана из группы, состоящей из слота, кено, покера, патинко, видеоблэк-джека, бинго, баккары, рулетки, игры в кости и карточной игры.
В других примерах осуществления способ может дополнительно содержать этап сохранения одной или более генерированных текстур шрифтов в библиотеке шрифтов в запоминающем устройстве на игровой машине. Библиотека шрифтов дополнительно содержит множество текстур шрифтов с тем же самым стилем шрифтов и различными параметрами шрифтов или параметрами знаков. Библиотека шрифтов может дополнительно содержать множество текстур шрифтов с различными стилями шрифтов. Параметрами шрифтов в текстуре шрифтов могут являться имя шрифта, стиль шрифта, гарнитура шрифта, вес шрифта, базовая линия шрифта, надстрочный знак шрифта, подстрочный знак шрифта, наклон шрифта, максимальная высота шрифта, максимальная ширина шрифта и/или число знаков в текстуре шрифтов. Параметрами знаков в текстуре шрифтов могут являться высота знака, ширина знака, надстрочный элемент знака, подстрочный элемент знака, начало координат знака, форма знака и/или координаты знака для определения местоположения знака в текстуре шрифтов.
Еще одной другой целью настоящего изобретения является создание игровой машины. Игровая машина может быть в основном охарактеризована как содержащая: 1) корпус; 2) ведущий игровой контроллер, соединенный с корпусом, спроектированный или сконфигурированный для управления азартной игрой, проводимой на игровой машине; 3) трехмерную игровую среду для визуализации, по меньшей мере, представления результата игры для азартной игры, хранимую в запоминающем устройстве на игровой машине; 4) игровую логику для визуализации одного или более двухмерных изображений, полученных из трехмерных объектов в трехмерной игровой среде, причем, по меньшей мере, один из трехмерных объектов является трехмерным текстовым объектом, адаптированным для передачи текстовой информации; 5) по меньшей мере, один дисплей для отображения визуализированного одного или более двухмерных изображений, где игровая машина выполнена с возможностью i) приема наличных денег или кредитных билетов для ставки в азартной игре и ii) вывода наличных денег или кредитных билетов в качестве вознаграждения за азартную игру.
Игровая машина может дополнительно содержать а) систему трехмерной графической визуализации для визуализации одного или более двухмерных изображений, b) игровую логику, спроектированную или сконфигурированную для визуализации текстовой информации, источником которой является техническое обслуживание и ремонт игровой машины, в трехмерной игровой среде с помощью множества трехмерных текстовых объектов и захвата технического обслуживания и ремонта игровой машины в одном или более двухмерных изображениях, с) игровую логику, спроектированную или сконфигурированную для визуализации текстовой информации, источником которой являются i) рабочая функция игровой машины, ii) функция технического обслуживания и ремонта игровой машины в трехмерной игровой среде, iii) функция демонстрационного режима, iv) поощрительная функция, v) информация казино и/или v) представление бонусной игры, с помощью множества трехмерных текстовых объектов и захвата рабочей функции игровой машины в одном или более двухмерных изображениях, d) графический процессор, не зависимый от указанного ведущего игрового контроллера, спроектированный или сконфигурированный для исполнения графических операций, используемых для визуализации одного или более двухмерных изображений, полученных из трехмерных объектов в трехмерной игровой среде, е) сетевую интерфейсную плату, спроектированную или сконфигурированную для обеспечения возможности передачи визуализированной текстовой информации с ведущего игрового контроллера в удаленный дисплей, f) видеокарту с несколькими видеовыходами и/или g) запоминающее устройство для сохранения текстур шрифтов в библиотеке шрифтов на игровой машине. Библиотека шрифтов дополнительно может содержать множество текстур шрифтов с тем же самым стилем шрифтов и различными параметрами шрифтов или параметрами знаков или множество текстур шрифтов с различными стилями шрифтов.
Другой целью настоящего изобретения является компьютерный программный продукт, содержащий машиночитаемый носитель, на котором хранятся команды программы, обеспечивающей осуществление каждого из описанных выше способов. Любой из способов этого изобретения может быть представлен как команды программы и/или структуры данных, базы данных и т.д., которые могут быть предоставлены на таком компьютерно-читаемом носителе.
Эти и другие признаки настоящего изобретения будет представлены более подробно в следующем ниже подробном описании изобретения, иллюстрируемом прилагаемыми фигурами.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - перспективное изображение трехмерной виртуальной игровой среды, реализуемой в игровой машине, для одного примера осуществления этого изобретения.
Фиг.2 - перспективное изображение виртуальных слот-барабанов в трехмерной виртуальной игровой среде, реализуемой в игровой машине, для одного примера осуществления этого изобретения.
Фиг.3 - блок-схема последовательности этапов в способе генерации азартной игры, соответствующем настоящему изобретению.
Фиг.4A-4D - блок-схемы некоторых этапов визуализации в трехмерной игровой среде.
Фиг.5А-5В - блок-схемы этапов визуализации трехмерных текстовых объектов в трехмерной игровой среде, соответствующей настоящему изобретению.
Фиг.6А - блок-схема процесса создания файла шрифта.
Фиг.6В - графическая схема свойств шрифтов.
Фиг.6С - графическая схема свойств знаков.
Фкг.6D - графическая схема текстуры шрифтов.
Фиг.7 - графическая схема процесса создания трехмерных текстовых знаков.
Фиг.8А-8В - графические схемы трехмерных текстовых объектов, отображенных с использованием примера осуществления настоящего изобретения.
Фиг.9 - перспективное изображение игровой машины для одного примера осуществления настоящего изобретения.
Фиг.10 - блок-схема последовательности этапов в способе генерации азартной игры с использованием виртуальной игровой среды.
Фиг.11 - блок-схема игровых машин, использующих распределенное игровое программное обеспечение и распределенные процессоры для генерации азартной игры, для одного примера осуществления настоящего изобретения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ПРИМЕРОВ ОСУЩЕСТВЛЕНИЯ
Фиг.1 - перспективное изображение трехмерной виртуальной игровой среды 100, реализуемой на игровой машине, для одного примера осуществления этого изобретения. Трехмерная виртуальная игровая среда может быть использована ведущим игровым контроллером в игровой машине для представления азартной игры. Азартная игра, проводимая на игровой машине, может включать в себя: 1) ставку, выбираемую игроком, ведущему игру на игровой машине, 2) инициирование игроком азартной игры на игровой машине, 3) определение игровой машиной результата для азартной игры и 4) представление результата игры на игровой машине игроку. В настоящем изобретении трехмерная игровая среда может быть использована для представления результата игры игроку, описания рабочих функций игровой машины и предоставления интерфейса для получения игровой информации и услуг. В частности, описываются способы и устройство для отображения текстовой строки в трехмерной игровой среде, типа текстовой строки, используемой в счетчике кредитов, отображаемом на игровой машине, или текстовой строки, используемой для предоставления игровой информации по азартной игре, отображаемой на игровой машине. Генерация текстовой строки может осуществляться с использованием текстур, которые накладываются на трехмерный объект в трехмерной игровой среде. Устройство и способы, реализующие эти особенности, описываются со ссылками на фиг.1-11.
В частности, фиг.1-11 предоставляют следующую информацию. На фиг.1 представлена трехмерная игровая среда, соответствующая настоящему изобретению. На фиг.2 изображены трехмерные барабаны в трехмерной игровой среде. Фиг.3 иллюстрирует способ генерации азартной игры в трехмерной игровой среде. На фиг.4А-4D представлены некоторые этапы визуализации текста из трехмерной игровой среды.
Фиг.5А-5В иллюстрируют способы генерации текста в трехмерной игровой среде. Фиг.6A-6D иллюстрируют способы генерации шрифтов, знаков и текстур, используемых при визуализации трехмерного текста, для одного примера осуществления настоящего изобретения. На фиг.7 представлен один из способов генерации трехмерных текстовых объектов в трехмерной игровой среде. На фиг.8А-8В показаны видеодисплеи, отображающие текстовые объекты, генерированные с использованием различных способов, соответствующих настоящему изобретению. Фиг.9 иллюстрирует один из примеров осуществления игровой машины, соответствующей настоящему изобретению. На фиг.10 представлен способ генерации азартной игры или бонусной игры с использованием трехмерных игровых сред, соответствующих настоящему изобретению. На фиг.11 показана игровая сеть, соответствующая настоящему изобретению.
Перед описанием фиг.1 рассмотрим некоторые общие особенности трехмерных виртуальных игровых сред и их взаимосвязь с двухмерными средами. Чтобы использовать виртуальную трехмерную игровую среду для представления игр или других игровых действий на игровой машине, осуществляют визуализацию двухмерного вида виртуальной трехмерной игровой среды. Двухмерный вид захватывает некоторую часть трехмерных поверхностей, моделируемых в виртуальной трехмерной игровой среде. Захватываемые поверхности определяют трехмерный объект в трехмерной игровой среде. Захватываемые поверхности в двухмерном виде определяют в трехмерных координатах виртуальной трехмерной игровой среды и преобразуют в систему двухмерных координат во время процесса захвата. Как часть представления игры двухмерный вид может быть представлен как видеокадр на экране дисплея в игровой машине. До некоторой степени двухмерный вид аналогичен фотографии физической трехмерной среды, снятой камерой, причем фотография захватывает часть физических трехмерных поверхностей, существующих в физической трехмерной среде. Однако фотография, полученная с помощью камеры, не является точным аналогом двухмерного вида, визуализированного из виртуальной трехмерной игровой среды, так как в виртуальной трехмерной игровой среде могут быть использованы многие технические приемы графической обработки, не доступные в случае с реальной камерой.
В настоящем изобретении двухмерный вид генерируется из точки обзора внутри виртуальной трехмерной игровой среды. Точка обзора является главным фактором при задании поверхностей трехмерной игровой среды, определяющих трехмерный объект, захватываемый в двухмерном виде. Так как информация о трехмерной игровой среде хранится в игровой машине, то точку обзора можно изменять, чтобы генерировать новые двухмерные виды объектов внутри трехмерной игровой среды, например, в одном кадре генерация двухмерного вида объекта, смоделированного в трехмерной игровой среде, типа фасада здания (например, точка обзора захватывает фасад здания), может быть осуществлена с использованием первой точки обзора. В другом кадре двухмерный вид того же самого объекта может быть генерирован из другой точки обзора (например, с задней стороны здания).
Недостаток существующих игровых машин заключается в том, что двухмерные виды, используемые как видеокадры в представлениях игр, визуализируются только из двухмерных объектов, а информация о многомерности объектов, визуализируемых в двухмерных видах, типа точки обзора, используемой для генерации двухмерного вида, не сохраняется в игровой машине. Исторически вследствие регулирования среды игровой индустрии игровое программное обеспечение, используемое для представления азартной игры, проектировалось для "обкатки" на ППЗУ, установленном в игровой машине. Использование ППЗУ не позволяет хранить большие объемы игровых данных, относящихся к сложной трехмерной модели. Поэтому в игровой машине сохранялась только информация о двухмерных объектах, используемая для визуализации двухмерного вида.
Однако двухмерные игры, визуализируемые на игровых машинах, также стали более сложными и в них часто стали использоваться сложные анимации. Когда сложные анимации используются в двухмерной системе, например при воспроизведении кино на двухмерном объекте, трехмерная система может фактически экономить память, так как большее число типов анимации может использоваться с трехмерной системой, в отличие от двухмерной системы, без обращения к использованию кино, которое требует много памяти. В двухмерной системе без использования кино свойства анимации, которые могут быть использованы, представляют собой простое двухмерное движение и циклическую смену цветов с использованием цветовых палитр, обеспечивающих ограниченную визуальную притягательность.
При доступности только двухмерной информации о трехмерном объекте генерировать новые двухмерные виды из различных точек обзора трехмерного объекта невозможно. Например, когда визуализируется изображение игральной карты на существующих игровых машинах, трехмерная информация типа толщины карты не сохраняется. Поэтому невозможно генерировать двухмерный вид игральной карты из точки обзора "сбоку", так как толщина карты неизвестна. В другом примере как часть представления игры на игровой машине могут быть использованы кадры из кинофильма. Каждый кадр кинофильма представляет двухмерный вид из точки обзора камеры, использованной для съемки каждого кадра. Если кадр содержит изображение здания, рассматриваемого с фасада (например, точка обзора захватывает фасад здания), то генерировать новый двухмерный вид задней части этого здания невозможно, так как информация о задней части здания неизвестна.
Одно из преимуществ настоящего изобретения заключается в том, что размер потенциальной области проведения игры, используемой для представления азартной игры, моделируемой в трехмерной игровой среде, превышает размер потенциальной области проведения игры двухмерной игровой среды. Например, азартная игра, может быть представлена на каждой из шести сторон куба, моделируемого в виртуальной игровой среде. Для проведения азартной игры двухмерные виды куба из различных точек обзора в трехмерной игровой среде могут быть визуализированы в реальном масштабе времени и представлены игроку. Как описывается ниже, в некоторых примерах осуществления игрок может даже выбирать точку обзора в трехмерной игровой среде, используемой для генерации двухмерного вида.
В существующих игровых машинах куб визуализируется в виде двухмерного объекта, генерированного из трехмерного куба, наблюдаемого из конкретной точки обзора. Выбор конкретной точки обзора происходит при разработке игры, и только двухмерная информация о наблюдаемом кубе из выбранной точки обзора сохраняется в ППЗУ на игровой машине. Поэтому азартная игра может быть представлена на сторонах куба, визуализированного из двухмерного объекта, который был генерирован из выбранной точки обзора трехмерного куба и сохранен в ППЗУ. Однако, если дополнительные двухмерные объекты не генерируются из различных точек обзора, то представить азартную игру на сторонах куба, не видимых из выбранной точки обзора, невозможно, потому что двухмерный объект не хранит информации, относящейся к сторонам куба, не видимым из выбранной точки обзора. Кроме того, даже в случае генерации множества двухмерных объектов, процесс генерации достаточного числа двухмерных объектов, обеспечивающего возможность плавных переходов между точками обзора, захваченными двухмерными объектами, является затруднительным и требует времени. Затруднительным является и масштабирование двухмерного объекта без внесения искажений, как при уменьшении, так и при увеличении.
Искажение генерируется также при масштабировании трехмерных объектов. Однако проще использовать специализированные платы трехмерной графики, так как в плате к текселам во время визуализации применяется процесс билинейной фильтрации. Без специальных аппаратных средств типа платы трехмерной графики осуществлять коррекцию искажений в реальном масштабе времени сложно.
Наконец, в типичной двухмерной игровой системе вследствие ограниченной гибкости двухмерных объектов результаты для азартной игры, визуализируемой в двух измерениях и отображаемой на игровой машине, подлежат количественному определению и предварительной визуализации, т.е. требуют предварительной записи анимаций. Гибкость трехмерной игровой системы позволяет определять результаты при входе пользователя в систему и давать в ответ на обращение игрока неограниченное число анимаций. Отсутствие необходимости в ряде предварительно записанных анимаций и определение анимации в ответ на обращение игрока взамен этого позволяет экономить многие байты в требованиях к пространству памяти. Со ссылками на прилагаемые фигуры ниже приводится подробное описание способов и устройства, используемых для представления азартной игры, генерируемой из трехмерной игровой среды.
Как показано на фиг.1, в состав трехмерной игровой среды 100 входят три объекта: 1) прямоугольный параллелепипед 101 на плоскости, 2) плоскость 114 и 3) второй параллелепипед 127. Параллелепипед 101, параллелепипед 127 и плоскость 114 определены в трехмерном пространстве 104 прямоугольных координат. Как правило, поверхности объектов в игровой среде определяются с помощью множества элементов поверхности. Среди элементов поверхности могут быть элементы различных форм, такие как различные типы полигонов, известных в трехмерной графике. Например, объекты в настоящем изобретении могут быть определены таким образом, чтобы быть совместимыми с одним или более графическими стандартами типа открытой графической библиотеки (OpenGL). Информацию об OpenGL можно найти по адресу www.opengl.org.
В одном примере осуществления объекты в игровой среде 100 могут быть определены множеством треугольных элементов. Как пример, для определения части поверхности 108 и грани 112 поверхности использовано множество треугольных элементов 125 поверхности. В другом примере осуществления объекты в игровой среде 100, типа параллелепипеда 101 и параллелепипеда 127, могут быть определены множеством прямоугольных элементов. В еще одном другом примере осуществления для описания различных объектов в игровой среде 100 может быть использована комбинация различных типов многоугольников, например треугольников и прямоугольников. С помощью соответствующего числа элементов поверхности, типа треугольных элементов, объектам можно придать сферическую или трубчатую форму или воплотить в виде какого-либо числа комбинаций криволинейных поверхностей.
Самым популярным полигоном, используемым для определения трехмерных объектов, являются треугольники, как наиболее простые в обращении. Для представления твердотельного объекта требуется полигон, имеющий, по меньшей мере, три стороны (например, треугольник). Однако OpenGL поддерживает квадраты, точки, линии, наборы треугольников и наборы квадратов и полигоны с любым числом точек. Помимо всего прочего, трехмерные модели могут быть представлены множеством трехмерных кривых типа неоднородных рациональных базисных сплайнов (NURBS) и поверхностей Безье.
Каждый из элементов поверхности, составляющих трехмерную виртуальную игровую среду, может быть описан в системе прямоугольных координат или в системе других подходящих координат, типа сферических координат или полярных координат, в соответствии с областью применения. Трехмерные виртуальные игровые среды, соответствующие настоящему изобретению, не ограничиваются формами и элементами, показанными на фиг.1, или системой координат, использованной на фиг.1, представленными исключительно в иллюстративных целях. Подробное описание способов трехмерной графической визуализации, которые могут быть использованы в настоящем изобретении, описаны в книгах "OpenGL Reference Manual: The Official Reference Document to Open GL, Version 1.2", 3-е издание, Dave Shreiner (редактор), OpenGL Architecture Review Board, Addison-Wesley Publishing, Co., 1999, ISBN: 0201657651 и "OpenGL Program Guide: The Official Guide to Learning OpenGL, Version 1.2," 3-издание, Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner, OpenGL Architecture Review Board, Addison-Wesley Publishing, Co., 1999, ISBN: 0201604582, которые включены в данное изобретение полностью и для всех целей.
Текстуры поверхности могут быть наложены на каждый из элементов поверхности, типа элементов 125, определяющих поверхности в виртуальной игровой среде 100. Текстуры поверхности могут позволить создавать иллюзию более реальной трехмерной игровой среды при просматривании на экране дисплея в игровой машине. Как пример, каждому из элементов поверхности, определяющих различные объекты в трехмерной игровой среде, могут быть приданы цвета, текстуры и отражающие способности. Миллионы различных цветов могут быть использованы для добавления реалистичности данной игровой среде. Среди используемых текстур можно назвать гладкость или неровности поверхности типа выпуклостей, лунок, складок, карт рельефа, карт освещенности, карт отражающей способности и карт преломляющей способности или другие рисунки, которые могут быть выполнены на каждом элементе. Текстуры могут быть использованы как математические модели, хранимые как "карты текстур" в игровой машине.
В одном примере осуществления "карта текстуры" может быть анимированной текстурой. Например, кадры кинофильма или другой анимации могут проецироваться на трехмерный объект в трехмерной игровой среде. Эти анимированные текстуры могут быть захвачены в двухмерных видах, представляемых в видеокадрах на игровой машине.
В одно и то же время может быть использовано множество анимированных текстур. Таким образом, например, первый кинофильм может проецироваться на первую поверхность в трехмерной игровой среде, а второй кинофильм может проецироваться на вторую поверхность в трехмерной игровой среде, причем оба кинофильма можно просматривать одновременно.
Материальные свойства трехмерной поверхности можно описать как реакция поверхности на свет. Среди этих свойств поверхности можно назвать такие как а) способность материала поглощать различные длины волн света, b) способность материала отражать различные длины волн света, с) способность материала испускать определенные длины волн света типа задних фар на автомобиле и d) способность материала пропускать определенные длины волн света. Как пример, отражающая способность соответствует количеству света, отражаемого каждым элементом. В зависимости от отражающей способности элемента поверхности другие элементы в игровой среде могут отражаться нечетко, резко или совсем не отражаться. Комбинации цвета, текстуры и отражающей способности могут быть использованы для придания объекту иллюзии специфического качества типа твердости, мягкости, теплоты или холода.
Среди некоторых методов затенения, обычно используемых вместе с трехмерной графикой для добавления текстуры, которые могут быть применены в настоящем изобретении, можно назвать затенение по Гуро и затенение по Фонгу. Затенения по Гуро и Фонгу являются методами, используемыми для того, чтобы скрыть ограниченную геометрию объекта путем интерполяции между двумя поверхностями с различным нормалями. Кроме того, использование альфа-смешения позволяет обеспечивать сочетание пикселов, чтобы придавать объекту прозрачность, например, когда объект пропускает свет.
Виртуальные источники света типа 102 могут использоваться в игровой среде для создания иллюзии затенения и теней. Затенение и тени используются, чтобы добавить визуализируемому виртуальному объекту веса и устойчивости. Например, чтобы добавить устойчивости прямоугольному параллелепипеду 101 лучи света, испускаемые источником 102 света, используются для генерации тени 103 вокруг прямоугольного параллелепипеда 101. В одном способе трассировка лучей используется для вычерчивания путей прохождения мнимых лучей света, испускаемых мнимым источником 102 света. Эти лучи света могут падать и могут отражаться от различных поверхностей, оказывая влияние на цвета, назначенные каждому элементу поверхности. В некоторых игровых средах может быть использовано множество источников света, причем число этих источников света и интенсивность каждого источника света со временем изменяются. Как правило, в режиме реального времени трехмерной среды источники света не генерируют тени, и задача программиста заключается в добавлении теней вручную. Однако, как было указано ранее, источники света создают затенение на объектах.
Перспектива, которая используется для передачи иллюзии расстояния, может быть применена к игровой среде 100 путем определения точки схода типа 128. Как правило, когда все объекты в сцене визуализируются, чтобы иметь вид сходящихся в конечном счете в одной точке на расстоянии, например в точке схода, используется одноточечная перспектива. Однако многоточечные перспективы могут быть также использованы в трехмерной игровой среде, соответствующей настоящему изобретению. Перспектива позволяет видеть объекты в игровой среде один позади другого. Например, параллелепипед 101 и параллелепипед 127 могут иметь одни и те же размеры. Однако параллелепипед 127 выполнен так, что кажется меньше и, следовательно, дальше от наблюдателя, потому что находится ближе к точке 128 схода. Трехмерная игровая среда может или не может обеспечивать коррекцию перспективы. Коррекция перспективы выполняется путем трансформации точек в направлении центра двухмерного экрана визуального наблюдения. Чем дальше объект от точки обзора в трехмерной игровой среде, тем больше будет его трансформация в центр экрана.
Настоящее изобретение не ограничивается пространственными видами или многочисленными пространственными видами трехмерной игровой среды. Когда трехмерные объекты, визуализируемые в двухмерном виде, всегда имеют один и тот же размер независимо от того, как далеко они находятся в трехмерной игровой среде, может быть использован ортогональный вид. Ортогональный вид - это вид с тенью, отбрасываемой от бесконечно удаленного источника света (лучи которого являются параллельными), при формировании пространственного изображения от источника света, удаленного на конечное расстояние, при котором лучи света отклоняются. В настоящем изобретении могут быть использованы комбинации и перспективных и ортогональных видов. Например, ортогональный вид текстового сообщения можно наслоить поверх пространственного изображения трехмерной игровой среды.
К перспективе имеет отношение и "глубина резко изображаемого пространства". Глубина резко изображаемого пространства описывает эффект, при котором объекты, которые находятся ближе зрителю, являются более сфокусированными, а объекты, находящиеся дальше, выглядят не в фокусе. Глубина резко изображаемого пространства может быть использована применительно к визуализациям различных объектов в игровой среде 100. Другой эффект, который может быть использован при визуализациях объектов в игровой среде, - "сглаживание". Сглаживание используется, чтобы сделать линии, генерируемые в цифровой форме как ряд прямолинейных сегментов, более гладкими при визуализации на экране дисплея в игровой машине. Поскольку двухмерный дисплей берет только конечные положения пикселов, ступенчатость наблюдается на любой из линий, не идущих строго вверх и вниз и строго поперек (влево и вправо) или под 45° на дисплее экрана. Ступенчатость вызывает эффект визуальной непривлекательности, поэтому для ослабления этого эффекта к ступенчатым линиям добавляют пикселы.
Объекты в игровой среде 101 могут казаться статичными или динамичными. Например, координаты параллелепипеда 127 могут изменяться со временем, в то время как координаты параллелепипеда 101 и плоскости 114 могут оставаться фиксированными. Поэтому при визуализации на экране дисплея в игровой машине параллелепипед 127 может казаться двигающимся в игровой среде 101 относительно параллелепипеда 101. Возможна демонстрация многих динамических эффектов. Например, может казаться, что параллелепипед 127 вращается в фиксированном положении или вращается при одновременном перемещении, чтобы генерировать эффект дрожания или кувыркания. Кроме того, в игровой среде объекты могут казаться сталкивающимися один с другим. Например, может казаться, что параллелепипед 127 сталкивается с параллелепипедом 101, изменяющим траекторию параллелепипеда 127 в игровой среде. Применительно к игровой среде, соответствующей настоящему изобретению, могут быть использованы многие эффекты цифровой визуализации. Эффекты, описанные выше, были предоставлены исключительно в иллюстративных целях.
На один или более элементов поверхности в игровой среде 101 для демонстрации игровой информации игроку могут быть наложены стандартный алфавитно-цифровой текст и символы. Алфавитно-цифровой текст и символы могут быть наложены на различные поверхности в игровой среде, чтобы генерировать множество отображений игр, что может быть использовано как часть представлений результатов игр, просматриваемых на игровой машине. Например, отображения игр могут быть визуализированы на каждой из шести поверхностных граней параллелепипеда 101 или параллелепипеда 127 и множество отображений игр может также быть визуализировано на плоской поверхности 114. В настоящем изобретении отображения игр могут быть визуализированы на одной или более поверхностях любого многогранника или другого объекта, определенного в игровой среде.
Визуализированный текст и символы обеспечивают возможность генерации представлений результатов игр для различных азартных игр. Например, рука с картами для покера или блэк-джека может быть визуализирована на каждой из граней параллелепипеда 101, например на поверхностях 108, 110 и 112. В другом примере числа кено или числа бинго могут быть визуализированы на различных гранях параллелепипедов 101 и 127. Кроме того, на различных гранях параллелепипедов 101 и 127 могут быть визуализированы отображения слотов и отображения патинко.
В игровой среде 100 может быть визуализировано много различных комбинаций азартных игр. Например, отображение слота может быть визуализировано на грани 108 параллелепипеда 101, отображение блэк-джека может быть визуализировано на грани 110, отображение покера может быть визуализировано на грани 112, отображение кено может быть визуализировано на грани параллелепипеда 101, противоположной грани 108, отображение патинко может быть визуализировано на грани параллелепипеда 101, расположенной напротив 110, а отображение бинго может быть визуализировано на грани параллелепипеда 101, противоположной грани 112. Другая комбинация отображений игр может быть визуализирована на поверхностях параллелепипеда 127. В число других азартных игр, которые могут быть использованы в настоящем изобретении, входят игра в кости (например, крэпс), баккара, рулетка и др.
В настоящем изобретении азартные игры используются для обозначения игровых действий, при которых игрок делает ставку на результат азартной игры. В зависимости от результата азартной игры, инициированной игроком, ставка может быть умножена. Результат игры может быть исключительно случайным, т.е. без какого-либо участия игрока, или игрок может оказывать влияние на результат игры в соответствии с одним или более решениями. Например, в видеопокере результат игры может быть определен по картам, удерживаемым или сбрасываемым игроком. В то время как в слоте результат игры, т.е. конечное положение слот-барабанов, произвольным образом определяется игровой машиной.
Комбинации игр, описанных выше, могут быть визуализированы в одно и то же время в трехмерной игровой среде. Игрок может инициировать одну или более игр последовательно. Например, игрок может выбрать одну или более игр, сделать ставку в одной или более играх и затем инициировать одну или более игр и просматривать представления результатов игр для одной или более игр. Игрок может также проводить одну или более игр параллельно. Например, игрок может выбрать одну или более игр, сделать ставку в одной или более играх и инициировать одну или более игр. Перед завершением представлений результатов игр для одной или более выбранных игр игрок может выбрать одну или более новых игр, сделать ставку в одной или более новых играх и инициировать одну или более новых игр. Подробное описание методологии параллельных игр приводится в совместно рассматриваемой заявке на патент США №09/553437 под названием "Parallel Games on a Gaming Device" ("Параллельные игры на игровом устройстве"), поданной Brosnan с соавт. 19 апреля 2000 г., которая включена в данное изобретение полностью и для всех целей.
Визуализированный текст и символы в отображении игры являются не обязательно плоскими и могут быть представлены в игровой среде 100 во множестве измерений. Например, визуализированные карты могут иметь конечную толщину или выступающие символы. Карты могут раздаваться руками, которые определены как трехмерные объектные модели в трехмерной игровой среде 100 и двигаются при раздаче карт. В другом примере отображение слота может быть визуализировано в виде многомерных барабанов с символами (см. фиг.2), которые могут вращаться в игровой среде 100.
Отображение игры для представления результата игры может быть визуализировано на отдельной поверхности и может изменяться со временем в ответ на различные входные воздействия игрока. Например, в покере игрок может сбрасывать и удерживать различные карты в процессе участия этих карт в игре. Поэтому карты на руках изменяются при визуализации результата игры в трехмерной игровой среде и некоторые карты (например, сброшенные карты) могут исчезать из игровой среды. В другом примере барабаны при отображении слота, визуализированном в игровой среде, могут начать вращение в игровой среде, когда игрок потянет за рычаг или нажмет кнопку ввода на физической игровой машине.
В игровой среде 100 могут быть также визуализированы другие игровые функции и игровая информация. Например, в игровой среде могут быть также визуализированы бонусные игры, проспекты, реклама и графика демонстрационного режима. Например, эмблема казино или лицо игрока могут быть визуализированы в игровой среде. Эти дополнительные игровые функции могут быть интегрированы в представление результатов игр на игровой машине или в другие рабочие режимы игровой машины типа демонстрационного режима.
В другом примере осуществления настоящего изобретения в трехмерной игровой среде может быть визуализирован виртуальный человек, например, трехмерная модель части тела (например, лицо, руки, голова и туловище и т.д.) или весь человек. Виртуальный человек может быть анимирован. Например, путем последовательной регулировки параметров трехмерной модели виртуального человека виртуальный человек может предстать говорящим или жестикулирующим. Виртуальный человек может быть использован для объяснения игровых инструкций игроку или может быть использован как компонент в представлении игры. Виртуальный человек может быть представлен отвечающим на вопросы или взаимодействующим с пользователем в соответствии с обращениями пользователя к игровой машине. Например, игрок может задать виртуальному человеку конкретный вопрос посредством механизма ввода в игровой машине, типа микрофона в игровой машине, снабженной программным обеспечением распознавания речи. Затем виртуальный человек может предстать отвечающим на заданный пользователем вопрос. В трехмерной среде могут быть использованы также анимированные трехмерные модели для других объектов типа животных или вымышленных знаков.
После определения игровой среды в трех измерениях для отображения части трехмерной игровой среды на экране дисплея в игровой машине генерируется "фотография" части игровой среды. Фотография является двухмерной визуализацией части трехмерной игровой среды. Специалистам по графике известны преобразования между трехмерными системами координат и двухмерными системами координат. Фотография может быть сделана виртуальной "камерой", размещенной внутри игровой среды 100. Последовательность фотографий, сделанных виртуальной камерой в игровой среде, может рассматриваться как аналог съемке кинофильма.
"Фотография", отображаемая на экране дисплея игровой машины, может быть также композицией из множества различных фотографий. Например, композиционная фотография может быть генерирована из участков первой фотографии, генерированной с использованием ортографического вида, и участков второй фотографии, генерированной с использованием перспективного вида. Участки фотографий, составляющих композиционную фотографию, могут быть размещены одна поверх другой, чтобы обеспечить эффекты "наложения", могут быть отображены "бок о бок" для получения "коллажа" или могут быть представлены в виде их комбинации.
В другом примере осуществления настоящего изобретения фотография может представлять собой смешанную комбинацию двух различных фотографий. При использовании схемы интерполяции какого-либо типа две фотографии могут быть смешаны в порядке следования фотографий, чтобы обеспечить эффект морфинга, при котором создается иллюзия плавного преобразования первой фотографии во вторую фотографию. Например, слот может плавно преобразовываться в покер.
Для определения трехмерной поверхности в игровой среде, которая проецируется на двухмерную поверхность для получения фотографии, используются рабочие параметры виртуальной камеры, типа ее положения в отдельные моменты времени. Трехмерная поверхность может содержать участки ряда трехмерных объектов в трехмерной игровой среде. Трехмерная поверхность может также рассматриваться как трехмерный объект. Поэтому фотография является двухмерным изображением, полученным из трехмерных координат объектов в трехмерной игровой среде.
Виртуальная камера может представлять игровую логику, хранимую в игровой машине, необходимую для визуализации части трехмерной игровой среды 100 в виде двухмерного изображения, отображаемого на игровой машине. Фотография преобразуется в видеокадр, содержащий ряд пикселов, которые можно просматривать на экране дисплея в игровой машине.
Преобразование, выполняемое виртуальной камерой, позволяющее просматривать часть виртуальной игровой среды на одном или более экранах дисплеев в игровой машине, может быть функцией ряда переменных. Размер линзы в виртуальной игровой среде, положение линзы, виртуальное расстояние между линзой и фотографией, размер фотографии, перспектива и глубина, изменяющиеся в соответствии с каждым объектом, являются некоторыми из переменных, которые могут быть встроены в преобразование с помощью виртуальной камеры, которая визуализирует фотографию виртуальной игровой среды. Разрешающая способность экрана дисплея в игровой машине может оказывать влияние на размер фотографии в виртуальной камере. Типичный экран дисплея может обеспечить разрешающую способность 800 на 600 цветовых пикселов, но могут быть использованы и экраны с более высокой или более низкой разрешающей способностью. "Размер линзы" виртуальной камеры определяет окно в виртуальную игровую среду. Окно иногда называют портом просмотра. Размер и положение линзы определяют то, какую часть виртуальной игровой среды 100 просматривает виртуальная камера.
После генерации фотографии виртуальной игровой среды другие эффекты типа статического и динамического сглаживания могут быть использованы применительно к фотографии, чтобы генерировать кадр, отображаемый на одном или более дисплеях, размещенных в игровой машине. Как правило, математические и логические операции, закодированные в логике игрового программного обеспечения, необходимой для выполнения конкретного преобразования и генерации видеокадра, могут быть исполнены видеокартами и графическими платами, размещенными в игровой машине, и специально спроектированными для выполнения этих операций. Графические платы обычно содержат графические процессоры (ГП). Однако операции преобразования могут быть также выполнены одним или более ЦП общего применения, размещенными в игровой машине, или комбинацией ГП и ЦП.
Обычно ускорители или сопроцессоры двух/трехмерной видеографики, часто называемые графическими процессорами (UG), размещают или подключают к ведущему игровому контроллеру и используют для выполнения графических операций. Описанные решения в наиболее общем случае реализуются как видеокарты. Графическая электроника может быть встроена непосредственно в процессорную плату (например, ведущий игровой контроллер) игровой машины и даже хорошо интегрирована в другую микросхему с очень высокой плотностью размещения компонентов. Методы интегрирования часто являются мерами экономии стоимости, обычно используемыми для снижения затрат, связанных с массовым производством. Например, видеокарты типа Video!XS от VideoLogic System (VideoLogic System - подразделение корпорации Imagination Technologies Group ple, England) могут быть использованы для выполнения графических операций, описанных в настоящем изобретении. В другом примере могут быть использованы видеокарты от Nvidia Corporation (Santa Clara, California). В одном примере осуществления видеокарта может представлять собой трехмерную видеокарту с несколькими видеовыходами типа Matrox G450 (Matrox Graphics Inc., Dorval, Quebec, Canada). Видеокарты с несколькими видеовыходами позволяют графической плате поддерживать два дисплея одновременно или визуализировать два изображения одновременно на одном и том же дисплее.
При отображении фотографий из виртуальной камеры в трехмерной игровой среде одно изображение из камеры может быть разделено среди множества устройств отображения. Например, четыре экрана дисплея могут быть использованы для отображения одной четвертой части одного изображения. Источники видеосигнала для каждого из множества устройств отображения может обеспечивать одна видеокарта. Видеокарты с несколькими видеовыходами позволяют одной графической плате (или графической подсистеме) выводить изображения на два или более дисплея одновременно. Это может быть множество изображений, полученных в результате визуализации для каждого дисплея, или одно изображение для нескольких дисплеев или вариация того и другого. Например, при использовании видеокарты с несколькими видеовыходами первый видеовыход видеокарты с несколькими видеовыходами может быть использован для визуализации изображения из первой виртуальной камеры в трехмерной игровой среде, а второй видеовыход видеокарты с несколькими видеовыходами может быть использован для визуализации второго изображения из второй виртуальной камеры в трехмерной игровой среде. Визуализированные первое и второе изображения с первого видеовыхода и второго видеовыхода могут быть воспроизведены одновременно на одном и том же дисплее или первое изображение может быть воспроизведено на первом дисплее, а второе изображение может быть воспроизведено на втором дисплее.
На фиг.1 три линзы, 105, 106 и 107, используемые в виртуальной камере, показаны размещенными в трех положениях в виртуальной игровой среде. Каждая линза просматривает отличную от других часть игровой среды. Размер и форма линзы могут изменяться, что изменяет часть виртуальной игровой среды, захватываемую линзой.
Например, линзы 105 и 106 имеют прямоугольную форму, в то время как линза 107 имеет овальную форму.
Линза 106 размещена так, чтобы просматривать "отображение игры" для представления результата игры, визуализированного на поверхности 108. Часть игровой среды, захватываемая линзой 106, имеет форму шестигранника 120. Как указано выше, отображение игры может содержать представление проводимой на игровой машине конкретной игры, типа руки карт для покера. После применения соответствующего преобразования фотография 124 части виртуальной игровой среды 100 в объеме 120 генерируется виртуальной камерой с линзой 106.
С помощью другой терминологии, которая является общей для специалистов по трехмерной графике, линзы 105, 106 и 107 могут быть описаны как камера. Каждая камера может иметь различные установочные параметры. Сцена в трехмерной игровой среде сфотографирована из точки обзора камеры. Каждая камера захватывает другую сцену. Поэтому для получения изображения сцена визуализируется из камеры.
Фотография 124, генерированная виртуальной камерой с линзой 106, может просматриваться на одном или более экранах дисплеев в игровой машине. Например, фотография 124 может просматриваться на главном дисплее в игровой машине и на вторичном дисплее в игровой машине. В другом примере осуществления часть фотографии 124 может быть воспроизведена на главном дисплее и часть фотографии может быть одновременно воспроизведена на вторичном дисплее. В еще одном другом примере осуществления часть фотографии 124 может быть отображена на первой игровой машине, в то время как часть фотографии 124 может быть одновременно отображена на второй игровой машине.
Линза 105 виртуальной камеры размещена так, чтобы просматривать объем 121 в виртуальной игровой среде 100. Объем 121 пересекает три грани 108, 110 и 112 параллелепипеда 101. После применения соответствующего преобразования виртуальной камерой с линзой 105 визуализируется фотография 125 части виртуальной игровой среды 101 в объеме 121, которая может быть отображена на одном из экранов дисплеев в игровой машине.
Линза 107 виртуальной камеры размещена так, чтобы просматривать объем 122 в виртуальной игровой среде 100. Овальная форма линзы создает округленный объем 122, подобный свету от прожектора. Объем 122 пересекает часть грани 110 и часть плоскости 114, в том числе часть тени 103. После применения соответствующего преобразования виртуальной камерой с линзой 107 визуализируется фотография 126 части виртуальной игровой среды 101 в объеме 122, которая может быть отображена на одном из экранов дисплеев в игровой машине. Например, игровая машина может содержать главный дисплей, вторичный дисплей, дисплей для модуля трекинга игрока и экран удаленного дисплея, обменивающегося информацией с игровой машиной посредством сети какого-либо типа. Любой из этих экранов дисплеев может отображать фотографии, визуализированные из трехмерной игровой среды.
Последовательность фотографий, генерируемых из одной или более виртуальных камер в игровой среде 101, может быть использована для представления результата игр на игровой машине или представления других функций игровой машины. Последовательность фотографий при просматривании игроком может приближаться к кино- или видеофильму. Например, трехмерная модель виртуального человека может казаться говорящей. Как правило, частота смены кадров для экрана дисплея в игровой машине составляет порядке 60 Гц или выше и генерация новых фотографий из виртуальных камер в игровой среде может осуществляться по ходу игры, чтобы соответствовать частоте смены кадров.
Генерация последовательности фотографий из одной или более виртуальных камер в игровой среде может осуществляться, по меньшей мере, из одной виртуальной камеры, положение которой и угол зрения линзы которой изменяются со временем. Например, линза 106 может представлять положение виртуальной камеры в момент времени t1, линза 105 может представлять положение виртуальной камеры в момент времени, t2, а линза 107 может представлять положение виртуальной камеры в момент времени t3. Фотографии, генерированные в этих трех положениях виртуальной камерой, могут быть включены в последовательность фотографий, отображаемых на экране дисплея.
Положение виртуальной камеры может непрерывно изменяться между положениями в моменты времени t1, t2, t3 генерации последовательности фотографий, которая при этом кажется плавно движущейся через виртуальную игровую среду. Между положениями в моменты времени t1, t2, t3 скорость движения виртуальной камеры может увеличиваться или уменьшаться. Кроме того, виртуальная камера может совершать прерывистое движение. Например, первая фотография в последовательности фотографий, отображаемых на экране дисплея, может быть генерирована виртуальной камерой с использованием положения линзы 106. Генерация следующей фотографии в последовательности фотографий может быть осуществлена виртуальной камерой с использованием положения линзы 105. Третья фотография в последовательности фотографий может быть генерирована виртуальной камерой с использованием положения линзы 107. Обычно виртуальная камера в игровой среде 101 может двигаться непрерывно, прерывисто и совершать комбинированное движение.
В представлении игры может быть задействовано множество виртуальных камер, положения которых изменяются со временем, во множестве виртуальных игровых сред. Информация о камерах и средах как функция времени может храниться в игровой машине, и к этой информации можно обращаться при необходимости конкретной сцены для игрового события в представлении результата игры, при котором сцена может быть визуализирована "в реальном масштабе времени". Сцена может быть определена положениями одной или более виртуальных камер в одной или более игровых средах как функция времени. Сцены могут быть построены из модулей, т.е. может быть генерирована библиотека сцен, которые можно включать в состав различных игр. Например, сцена нажатия кнопки может быть включена в любую игру, использующую этот тип последовательности.
Последовательность фотографий, генерируемых из первой виртуальной камеры, в первой виртуальной игровой среде может быть отображена одновременно с последовательностью фотографий, генерируемых из второй виртуальной камеры, во второй виртуальной игровой среде. Например, первая последовательность фотографий и вторая последовательность фотографий могут быть отображены на разделенном экране или могут быть отображены на различных экранах. Помимо всего прочего, первая виртуальная камера может находиться в первой виртуальной игровой среде, а вторая виртуальная камера может быть размещена во второй виртуальной игровой среде, отличной от первой виртуальной игровой среды. Первая виртуальная игровая среда и вторая виртуальная игровая среда могут также находиться в одной и той же игровой среде. Кроме того, одна виртуальная камера может перескакивать между различными игровыми средами, например между средой проведения игры и средой бонусной игры. Переход между игровыми средами может также казаться плавным (например, камера может совершать плавное перемещение из одной среды непрерывным образом).
В некоторых примерах осуществления игрок может выбирать одну или более виртуальные игровые среды, используемые при проведении игр на игровой машине. Например, первая игровая среда может включать в себя городской пейзаж типа Нью-Йорка, в то время как вторая игровая среда может включать в себя городской пейзаж типа Парижа. Во время проведение игры на игровой машине игрок может выбирать Нью-Йорк или Париж в качестве городского пейзажа для виртуальной игровой среды, используемой в ходе игры. Различные игровые среды и различные сцены, генерируемые средами, могут храниться в памяти на игровой машине как библиотека какого-либо типа.
В частных примерах осуществления при использовании игровой машины игрок может управлять положением виртуальной камеры с помощью механизма ввода в составе игровой машины (см. фиг.9). Например, игрок, может перемещать линзу 106 ближе к поверхности 108 в игровой среде 108, которая генерирует появление наплыва, или объект может быть перемещен ближе к камере. Для игр в карты на множество рук игрок может изменять масштаб изображения отдельной руки, чтобы "по требованию" увеличить руку и повысить возможность ее обзора. Например, игрок может использовать механизм ввода для "прокрутки" камеры и просмотра участков большей площади. В другом примере игрок может перебрасывать виртуальную камеру через игровую среду или выбирать сцену в игровой среде. Возможность перемещения виртуальной камеры может инициироваться определенными игровыми событиями типа события бонусной игры на игровой машине или движение камеры может быть подготовленным в виде сценария (например, заранее) как часть последовательности проведения игры. Например, как часть события проведения бонусной игры игроку может быть предоставлена возможность выбора двери из числа нескольких, ведущих в различные комнаты с сундуками сокровищ. Когда игрок входит в одну из комнат, сундук перед ним открывается и ему демонстрируется бонусное вознаграждение.
Преимущества использования настоящего изобретения, обеспечивающего возможность генерации трехмерной игровой среды, визуализация которой может осуществляться в реальном времени на экране дисплея, заключаются в следующем. Во-первых, игроку демонстрируется представление результата сложной игры в реальном времени и предоставляется возможность управления этим представлением. Поэтому представление результатов игр может изменяться от игры к игре и определяется игроком. Традиционные представления результатов игр моделировались в двухмерной среде и возможностей управления игроку предоставлялось немного. Поэтому традиционные представления результатов игр изменялись от игры к игре в незначительной степени. Во-вторых, моделирование игр в трехмерной среде позволяет преодолеть проблемы разрешающей способности экрана, связанные с одновременным представлением большого числа игр на одном экране.
В любое данное время во время представления игры, просматриваемого на экране дисплея в игровой машине, игрок может обозревать только часть из множества игр, моделируемых в трехмерной игровой среде. Таким образом, проведение игры проходит в трехмерной игровой среде, превышающей по размерам двухмерную игровую среду, так как азартная игра может быть представлена на поверхностях, смоделированных в трехмерной игровой среде, что может быть скрыто от обзора. В двухмерной игровой среде не имеется никаких скрытых поверхностей, т.е. "что Вы видите" является тем "что Вы получите". Так как точка обзора в трехмерной модели может изменяться, игрок или игровая машина может изменять масштаб изображения в одной или более играх на интерес, некоторые из которых могут быть скрыты в данном двухмерном виде, и выбирать желаемый уровень разрешающей способности. Поэтому визуализация всех игр или компонентов игры не должна осуществляться на одном экране одновременно.
На фиг.2 представлено перспективное изображение трех виртуальных слот-барабанов 202, 204 и 206 в трехмерной виртуальной игровой среде 200, реализованной в игровой машине для одного примера осуществления это изобретения. Три слот-барабана смоделированы как участки цилиндров в пространстве координат 201. Барабаны кажутся подвешенными в пространстве. На каждом из барабанов визуализированы различные символы, в том числе треугольник 210, тройной штрих 212, "семерка" 214, двойной штрих 216 и овал 218. На задних участках барабанов могут быть визуализированы другие символы (не показанные). В виртуальной трехмерной слот-игровой среде типа 200 размер барабанов, число барабанов, число символов на барабанах и типы символов на барабанах могут изменяться. Кроме того, в среде может изменяться и фоновый пейзаж (не показанный).
Над барабанами 202, 204 и 206 визуализировано окно 208, иллюстрирующее ряд символов, которые можно видеть на механическом слот-дисплее. Самое большее на механическом слот-дисплее можно видеть девять символов, например три двойных штриха, три семерки и три тройных штриха. Когда игрок видит множество символов, то это множество символов может быть использовано для генерации множества выигрышных линий, на которые можно делать ставки в ходе игры.
Когда после приема ставок и инициирования игры барабаны останавливаются, комбинацию символов вдоль выигрышной линии можно сравнить с выигрышной комбинацией символов для определения вознаграждения за игру. Например, показаны три выигрышные линии 228, 229 и 230. Вдоль выигрышной линии 229 находятся три символа семерки. Вдоль выигрышных линий 228 и 230 показаны тройной штрих, семерка и двойной штрих. Часто в слот-машинах в качестве выигрышной комбинации используется комбинация из трех семерок. Число выигрышных линий повышает возможности ставок для данной игры, и некоторые игроки желают проводить игры на множестве выигрышных линий. В некоторых слотах можно видеть только одну линию символов, например три семерки, и игрок может сделать ставку только на одной выигрышной линии.
Для представления результата игры каждый из слот-барабанов 202, 204 и 206 может начать вращение и движение в виртуальной игровой среде. В виртуальном пространстве 200 барабаны могут вращаться в различных направлениях, совершать поступательное перемещение, вращаться вокруг различных осей, уменьшаться в размерах или увеличиваться в размерах, так как эти барабаны не имеют ограничений, присущих реальным механическим слот-барабанам. Во время представления результата игры виртуальная камера, положение которой может изменяться как функция времени, может снимать последовательность (например, генерировать последовательный ряд фотографий), которая отображается на экране дисплея в игровой машине и таким образом захватывает движение барабанов.
Для захвата одного или более символов на слот-барабанах в виртуальной игровой среде 200 может быть размещен ряд виртуальных камер. Например, линза 220 виртуальной камеры захватывает символ семерки на барабане 202 в объеме 221 виртуальной игровой среды 200. Линза 222 виртуальной камеры захватывает символ треугольника на барабане 204 в объеме 223 виртуальной игровой среды. Линза 224 виртуальной камеры захватывает символ тройного штриха (не показано) на барабане 204 в составе виртуальной игровой среды. Наконец, линза 226 виртуальной камеры захватывает символ овала на барабане 206 в объеме 226 виртуальной игровой среды. Однако для захвата множества символов вдоль линии символов, проходящей через множество барабанов, может быть использована и одна виртуальная камера.
Символы, захватываемые виртуальными камерами, использующими линзы 220, 222, 224 и 226, могут быть использованы для создания различных выигрышных линий, на которые можно делать ставки в процессе игры. Например, символы, захватываемые линзами 220, 222 и 226, используются, чтобы генерировать первую комбинацию символов 232, на которую можно поставить в процессе игры. Символы, захватываемые линзами 220, 224 и 226, используются, чтобы генерировать вторую комбинацию символов 234, на которую можно поставить в процессе игры. Наконец, виртуальные камеры могут быть размещены вдоль выигрышной линии 230, чтобы захватить комбинацию символов 236.
В настоящем изобретении число выигрышных линий, которые могут быть реализованы, является довольно большим. Например, для трех виртуальных барабанов с 25 символами на каждом барабане может быть использовано 253 выигрышных линии. В одном примере осуществления для обеспечения возможности отображения большого объема игровой информации, генерируемой в одной виртуальной игровой среде, игровая информация, генерируемая в первой игровой среде, может передаваться во вторую игровую среду. Например, игровая информация о комбинациях символов вдоль множества выигрышных линий, генерируемая в игровой среде 200, может передаваться во вторую игровую среду с помощью виртуальных камер для ее визуализации на дисплее, просматриваемом игроком.
В другом примере осуществления слот-барабаны 202, 204, 206 могут казаться прозрачными, так что символы на задней части барабана могут быть видны спереди. Выигрышные линии, вдоль которых игрок может получать выигрышные комбинации, могут быть визуализированы в "виртуальном пространстве" так, что соединяют символы на передней части барабана с символом на задней части барабана. Например, выигрышная линия может быть визуализирована проходящей от передней части барабана 202 к задней части барабана 204 и к передней части барабана 206.
Далее приводится описание других примеров осуществления для отображения символов, которые могут быть использованы в азартных играх и бонусных играх, соответствующих настоящему изобретению, и проводится их сравнение с традиционной механической слот-машиной. В механическом слоте к барабану, который приводится во вращение двигателем, крепится накладка. Накладка на барабане может иметь прямоугольную форму и представлять собой пригодный для печати носитель с рядом различных символов, напечатанных на этом носителе. Символы размещены в определенной последовательности. Для представления азартной игры типичный механический слот может использовать множество барабанов, например три барабана.
Механическая слот-машина может содержать одну или более таблиц выигрышей, которые определяют вероятность каждого положения, выпадающего для одного барабана/колеса, или вероятность каждой комбинации положений, выпадающих для множества барабанов. Например, некоторые механические слот-машины содержат бонусное колесо и 3 барабана. Вероятность каждого положения или комбинаций положений может быть пропорциональна выплате для азартной игры, проводимой на слот-машине. После того, как ставка была сделана и игра была инициирована, для определения результата азартной игры может быть генерировано произвольное число и проведено сравнение с введенными данными по таблице выигрышей, хранимой в игровой машине.
С помощью таблицы выигрышей и произвольного числа можно определить положение каждого одного или более барабанов или колес и выплата за проведение игры. Вращение барабанов и их остановка в заданном положении в слот-машине может осуществляться на основе алгоритма, хранимого в игровой машине. Положение на каждом барабане обычно помечается символом, напечатанным на барабанной накладке в этом положении, или пробелом. Обычно только часть символов на каждой барабанной накладке видна игроку в какой-либо момент времени. Поэтому, когда один или более барабанов вращаются, игрок просматривает различные участки каждой барабанной накладки. Конечное положение одного или более барабанов указывает символ или комбинацию символов. Комбинация символов на механических барабанах, определенная выигрышной линией, может быть использована игроком, чтобы установить, является ли эта комбинация выигрышной.
На фиг.3 представлена блок-схема последовательности этапов в способе генерации азартной игры с использованием трехмерной виртуальной игровой среды. На этапе 700 выбираются игровые события, которые составляют азартную игру, проводимую на игровой машине и представляемую визуально. На этапе 705 для каждого игрового события генерируется трехмерный визуальный сценарный план, описывающий сцену в одной или более виртуальных игровых средах. Информация о сцене может содержать положения виртуальных камер как функцию времени в одной или более игровых средах. Например, сценарный план для карт, участвующих в игре в карты, может описывать пару трехмерных рук с картами над игровым столом и виртуальной камерой, размещенной непосредственно над игровым столом и обращенной вниз на руки. Информация о сцене может также содержать игровую информацию, генерируемую в текстовом формате, который визуализируется в трехмерной игровой среде с помощью трехмерных текстовых объектов, соответствующих настоящему изобретению текста (см. фиг.4А- 8В). На этапе 710 сцена, соответствующая трехмерному визуальному сценарному плану для каждого игрового события, генерируется в одной или более трехмерных виртуальных игровых средах. На этапе 715 осуществляется "съемка" сцены, соответствующей визуальному сценарному плану для каждого игрового события, в одной или более трехмерных игровых средах. Съемка каждого игрового события в трехмерной игровой среде содержит выбор последовательности положений виртуальной камеры и углов в одной или более трехмерных игровых средах. В некоторых примерах осуществления игрок может управлять положением виртуальной камеры каким-либо образом. На этапе 720 последовательность двухмерных проекционных поверхностей (например, изображений виртуальной камеры), полученных из трехмерных координат поверхностей в трехмерной игровой среде, визуализируется на экране дисплея в игровой машине.
Со ссылками на фиг.4А-8В приводится описание проблем и подробностей, относящихся к визуализации трехмерного текста в трехмерной игровой среде, соответствующей настоящему изобретению. В настоящем изобретении, как об этом говорится при описании фиг.1, генерация трехмерных текстовых объектов для отображения игровой информации в текстовом формате может быть осуществлена в период времени выполнения (программ) игровой машиной, т.е. текст не находится в формате предварительно визуализированного отображения. Используя настоящее изобретение, проектировщик может задать и легко настроить формат и вид графического текста, который визуализируется из трехмерной игровой среды и отображается на экране дисплея игровой машины. Проектировщик может задать визуальное форматирование текстовой строки, используя вызовы функции, которые хранятся в файле сценария на игровой машине. Используя эти вызовы функции, ведущий игровой контроллер в игровой машине может осуществить визуализацию текста способом, заданным проектировщиком. Проблемы высокого уровня и способы, относящиеся к визуализации трехмерного текста в трехмерной игровой среде, описываются со ссылками на фиг.4А-5В. Далее приводится подробное описание генерации специального шрифта в трехмерной игровой среде.
Первым этапом в генерации отображений форматированного текста с использованием трехмерных текстовых объектов, соответствующих настоящему изобретению, может быть создание шрифта (см. фиг.6A-6D). Шрифт может быть совокупностью данных, представляющих визуальный аспект и размещение знаков, которые могут быть затем использованы для формирования слов, предложений и абзацев. Совокупность данных может храниться в файле шрифта.
Файл шрифта может быть затем загружен в игровую машину, которая может использовать информацию о шрифте для обеспечения вывода форматированного текста, используемого в трехмерной игровой среде в период времени выполнения (см. фиг.7 и 8А-8В). Вывод форматированного текста может генерироваться как трехмерный текстовый объект и визуализироваться в трехмерной игровой среде как кадр битовой карты, используемый в представлении результата игры, отображаемом на игровой машине. В частности, в одном примере осуществления шрифты могут содержать битовые карты алфавитно-цифровых знаков, которые накладываются на полигоны. Битовые карты обеспечивают текстуру для полигонов. Результирующие полигоны со своими присвоенными текстурами могут быть использованы для представления текстовой строки и называются трехмерными текстовыми объектами. В другом примере осуществления шрифт может содержать описания трехмерных вершин форм, используемых как трехмерные алфавитно-цифровые знаки. Формы могут быть собраны в трехмерной игровой среде вместе с соответствующей текстурой, чтобы генерировать трехмерный текстовый объект текстовой строки. Положения множества знаков (полигонов с картами текстуры) в трехмерной игровой среде одного относительно другого могут быть определены с помощью различных правил набора текста. Правила набора текста типа интервала между знаками или ширины линии могут быть реализованы с целью повышения качества текста при его отображении на визуальном дисплее игровой машины.
Трехмерный текстовый объект, который, как правило, содержит множество знаков в текстовой строке, может быть захвачен виртуальной камерой в трехмерной игровой среде и использован как часть представления результата игры или представления бонусной игры на игровой машине. Подробности архитектуры игрового программного обеспечения и игровой операционной системы, которая может быть использована в сочетании с настоящим изобретением, описаны в совместно рассматриваемой заявке на патент США №10/040239, поданной Лимэй (Lemay) с соавторами 3 января 2002 г. под названием "Архитектура развития игр с разъединением игровой логики и графической логики" ("Game Development Architecture That Decouples The Game Logic From The Graphics Logic"), и в заявке на патент США №10/041212, поданной Брэкнер (Breckner) с соавторами 7 января 2002 г.под названием "Разъединение графического представления игры от логики представления" ("Decoupling Of The Graphical Presentation Of A Game From The Presentation Logic"), каждая из которых включена в данное изобретение путем ссылки полностью и для всех целей.
Набор текста, т.е. генерация напечатанного текста, имеет долгую историю, насчитывающую сотни лет. В последние годы механические процессы набора текста были адаптированы для компьютера через текстовые процессоры. Текстовые процессоры позволяют пользователю размещать алфавитно-цифровые знаки на виртуальной бумаге на экране дисплея компьютера и печатать знаки посредством принтера на листе бумаги. Текстовые процессоры используют правила, многие из которых были первоначально разработаны для механического набора текста и которые задают, как размещать знаки один относительно другого, а также свойства знаков для обеспечения максимальной разборчивости после печати. Создание текста с высокой разборчивостью имеет важное значение в игровой индустрии, потому что отображение текста с низкой разборчивостью может быть ассоциировано с низким качеством продукта, к которому текст относится.
Несмотря на возможность непосредственного применения многих правил механического набора текста, повышающих разборчивость, к текстовым процессорам компьютера, были специально разработаны другие правила и/или эти правила должны были быть адаптированы для решения проблем, в частности, относящихся к компьютерным носителям информации. Например, масштабирование пикселизированных знаков - это один пример, когда правила набора текста были разработаны специально для компьютерных носителей информации. Некоторые проблемы масштабирования, связанные с компьютерной визуализацией текста, описываются со ссылками на фиг.4А и 4В. Это масштабирование знаков рассматривается, чтобы проиллюстрировать, что при появлении нового способа/устройства для генерации текста в новой среде, например в трехмерных игровых средах, соответствующих настоящему изобретению, для удовлетворения требованиям новых способов/устройств может возникнуть необходимость в новых способах набора текста. Кроме того, проблемы масштабирования имеют также важное значение при визуализации текста в трехмерной игровой среде.
В механическом принтере типа печатающего устройства знак формируется на бумаге, когда механическая клавиша с алфавитно-цифровым знаком ударяет по красящей ленте, чтобы перенести рисунок знака с клавиши на бумагу. В текстовом процессоре компьютера для генерации текста на экране или принтере может быть использована битовая карта алфавитно-цифрового знака, содержащая ряд цветовых битов. На компьютере битовая карта может быть масштабирована, чтобы сделать знак больше или меньше, т.е. увеличить размер шрифта при печати на мониторе или экране дисплея. На компьютере масштабирование осуществляется намного легче, чем в механической среде, и это является преимуществом текстового процессора компьютера.
На фиг.4А представлено масштабирование 300 битовой карты 302 знака "а". Битовая карта 302 состоит из ряда черных или белых битов в матрице в рисунке знака "а". Биты могут предоставлять в устройство отображения информацию для включения или выключения определенных пикселов или могут предоставлять в принтер информацию о том, в какие точки должны наноситься чернила. При печати битовой карты без масштабирования 306 на экране или на принтере с достаточной разрешающей способностью для отображения битовой карты рисунок знака имеет вид как в битовой карте. Однако, когда знак увеличивается в масштабе 308, уменьшается в масштабе 304 или печатается на экран с недостаточной разрешающей способностью, для отображения знака "а" пикселы должны добавляться или вычитаться.
Добавление или вычитание битов в битовую карту может изменять отображаемый рисунок битовой карты, как показано на фиг.4А, так что разборчивость текста ухудшается. Искажение рисунка битовой карты объясняется тем, что битовая карта не содержит информации, относящейся к зависимости битов одного от другого в отношении рисунка, генерируемого битами. Эта приводит к искажению рисунка битовых карт, когда масштабирование является уникальным для пикселизированным компьютерным отображениям, и не вызывает искажения при использовании механического набора текста для печати на бумаге.
На фиг.4В представлено масштабирование с векторными шрифтами 310, которые позволяют решить проблему масштабирования. В векторном шрифте 312 информация, относящаяся к рисунку знака, включена в информацию о шрифте. При генерации векторного шрифта информация о шрифте и масштабировании 314 посылается в растеризатор 318 в компьютерном устройстве. Растеризатор - часть программного обеспечения, вложенного в операционную систему. Он собирает информацию о размере, цвете, ориентации и положении векторного шрифта и преобразует эту информацию в битовую карту, которая может распознаваться графической платой и монитором или принтером. Поэтому с помощью векторного шрифта типа TrueType при масштабировании с уменьшением 320, без масштабирования 322 или при масштабировании с увеличением 324 качество генерируемого знака может быть сохранено.
Информация о шрифте и масштабе может также содержать служебную информацию (хинты) для размещения битов при очень малом масштабе шрифта. Эти хинты описывают процесс, позволяющий улучшить вид шрифта, масштабированного с уменьшением до небольшого размера. Взамен простого использования векторного контура для определения положений пикселов коды хинтов гарантируют выстраивание знаков в линию вдоль пикселов и позволяют шрифтам по возможности иметь вид гладких и четких. Хинты и векторные способы, а также и другие способы, известные специалистам по обработке текстов, могут быть использованы применительно к шрифтам и генерации трехмерного текста, соответствующим настоящему изобретению. Однако, как в примере масштабирования битовой карты, описываемом со ссылками на фиг.4А и 4В, эти способы не могут быть непосредственно перенесены на визуализацию трехмерной графики и должны быть адаптированы к уникальным требованиям системы трехмерной графической визуализации. Некоторые подробности трехмерной графической визуализации были рассмотрены со ссылками на фиг.1. Дополнительные подробности трехмерной графической визуализации в контексте генерации текста рассматриваются со ссылками на фиг.4С и 4D.
На фиг.4С представлен конвейер 325 трехмерной графический визуализации для одного примера осуществления настоящего изобретения. В конвейере 325 трехмерной графической визуализации на одном входе могут быть вершины для множества форм, т.е. трехмерных объектов 326. Как описывается со ссылками фиг.1, формы могут быть дискретизированы как ряд треугольных полигонов, определяемых вершинами. Данные вершин называются данными примитивов. На выходе конвейера может быть матрица 340 битовой карты, которая может быть вычерчена на экране дисплея.
Операции над данными примитивов могут проводиться с помощью ряда преобразований 332. В состав этих преобразований входят видовое преобразование, модельное преобразование, проекционное преобразование и преобразование порта просмотра. Видовое преобразование размещает виртуальную камеру в трехмерной игровой среде. Видовое преобразование определяет объем пространства в трехмерной игровой среде, захватываемого виртуальной камерой. Вершины за границами этого объема пространства могут быть отсечены при визуализации фотографии трехмерной игровой среды.
Модельное преобразование размещает трехмерные объекты 326 в трехмерной игровой среде с вращением, трансляцией и масштабированием объектов. Трехмерные текстовые объекты, соответствующие настоящему изобретению, являются типом трехмерного объекта и ими можно манипулировать с помощью модельного преобразования. Проекционное преобразование аналогично выбору линзы для виртуальной камеры. Оно воздействует на поле зрения (размер просматриваемого объема), а также на то, как объекты проецируются на экран. Например, проекционное преобразование может иметь следствием отсечение объектов вне просматриваемого объема, определяемого проекционным преобразованием. Преобразование порта просмотра задает размер экрана, являющийся доступным для отображения снятой фотографии в трехмерной игровой среде. Преобразование окна просмотра позволяет увеличивать, уменьшать или растягивать фотографию. Проекционное преобразование и преобразование окна просмотра определяют, какой сцена получается при наложении на экран дисплея. Пользователь 330 может определить эти преобразования как функцию времени.
Результатом видовых и модельных преобразований является генерация новых данных вершин для треугольных полигональных поверхностей. Кроме того, генерируются координаты текстуры для каждой из полигональных поверхностей. На треугольные полигональные поверхности могут быть наложены различные цветовые рисунки, называемые текстурами. Текстура может быть представлена как матрица значений цветов для каждого положения в матрице. Положения в матрице с ассоциированными с ними значениями цветов часто называют текселами.
В одном примере осуществления настоящего изобретения текстуры, представляющие различные знаки в шрифте, могут быть наложены на одну или более полигональные поверхности, чтобы генерировать рисунок определенной текстовой строки на полигональной поверхности 336 (см. фиг.7 и 8А). Координаты текстур используются для наложения текстур на полигональные поверхности. В другом примере осуществления шрифты могут быть определены как трехмерные объекты в трехмерной игровой среде с помощью ряда вершин. В этом случае, так как шрифт смоделирован в трех измерениях, текстуры, накладываемые на шрифт, могут быть более простыми, типа сплошных цветных, а не в виде рисунка шрифта.
При растеризации 334 геометрические данные и данные пикселов могут быть преобразованы во фрагменты. Каждый фрагмент может соответствовать пикселу в буфере кадра. Пунктиры линий и полигонов, ширина линий, размер точек, модель затенения и расчеты зоны покрытия для поддержания сглаживания учитываются как вершины, соединяемые в линии, или внутренние пикселы рассчитываются для закрашенного полигона. Значения цветов и глубины назначаются для каждого квадрата фрагмента. Для каждого фрагмента могут быть выполнены дополнительные операции типа генерации тексельного элемента 338, определяемого картами текстуры.
Как описывается со ссылками на фиг.4D, карта текселов не может быть совмещена с фрагментами, генерируемыми после растеризации. В этом случае текселы могут быть увеличенными или уменьшенными и создавать искажения. Помимо всего прочего над каждым фрагментом, который может также являться источником искажений, могут быть выполнены другие операции, типа смешивания и размывания цветов. Эти искажения могут затрагивать качество визуализируемого текста.
После обработки фрагмента остающиеся пикселы могут быть отображены на экране 340 дисплея. Например, показана матрица 13×16 из пикселов, в которой куб 326 наложен на текстуру знака 'а' 336. Низкая разрешающая способность порта просмотра 13×16 приводит к тому, что куб и контур знака 'а' получаются сравнительно грубыми.
Как правило, аппаратное обеспечение/программное обеспечение трехмерной визуализации не предоставляет утилиты для генерации текста типа текстового процессора, а серийные текстовые процессоры не совместимы с системами трехмерной графической визуализации. Весь текст в трехмерной игровой среде генерируется в контексте определения трехмерных объектов, воздействия на вершины этих объектов через различные преобразования и наложения на объекты текстур, которые разрешены системой трехмерной графической визуализации. Аппаратное обеспечение/программное обеспечение трехмерной графической визуализации может обрабатывать все полигоны и ассоциированные с ними текстуры подобным образом вне зависимости от того, используются ли полигоны и текстуры для отображения текста или нет. Система трехмерной графической визуализации не имеет отношения к считываемости или несчитываемости визуализированного текста. Это для пользователя важно иметь способы типа правил набора трехмерного текста, совместимые с конкретной системой трехмерной графической визуализации и обеспечивающие создание считываемого текста.
В настоящем изобретении предлагаются способы для визуализации считываемого текста в среде трехмерной графической визуализации. Рассмотрены проблемы типа уменьшения числа обрабатываемых вершин, которое является важным с точки зрения времени визуализации, и уменьшения искажений, вызываемых масштабированием битовых карт и преобразованиями (например, видовым, модельным, проекционным и преобразованием порта просмотра). Помимо всего прочего рассмотрены способы извлечения выгоды из уникальных атрибутов среды трехмерной графической визуализации типа возможности записывать текст не в прямоугольнике, изменения во времени и трехмерной текстовой страницы. В типичном текстовом процессоре текст всегда записывали на двухмерной прямоугольной странице, причем форма страницы не изменялась со временем.
Как описывается со ссылками на фиг.4А-4С, имеется множество функций набора текста, которые должны быть адаптированы к уникальным требованиям системы трехмерной графической визуализации для получения на выходе текста высокого качества. В одном примере осуществления настоящего изобретения текстуры с рисунками шрифтов могут накладываться на полигоны, чтобы генерировать текстовые строки. Способы, используемые в системе трехмерной графической визуализации, оказывают влияние на наложение текстур на полигоны. Текстуры могут быть использованы для закрашивания цветом или цветовым рисунком грани полигона, определяемой в трех измерениях рядом вершин.
В одном примере осуществления настоящего изобретения текстуры шрифта определены как матрица текселов. Текселы определены в безразмерных параметрических координатах, которые накладываются на полигоны в трехмерной игровой среде с помощью координат текстуры вершин. После применения различных преобразований к примитивам (вершинам объектов, определяемым в трехмерной игровой среде) могут быть генерированы координаты текстуры. Затем исходная фотография трехмерной игровой среды может быть подвергнута растеризации на фрагменты (см. фиг.4С). После выполнения различных операций над фрагментами типа наложения текстур фрагменты могут быть преобразованы в пикселы в буфере кадра для отображения на экране дисплея.
Как показано на фиг.4D, наложение текселов на фрагменты может происходить не в соотношении один к одному. В процессе наложения текселов в текстуре на фрагменты в системе трехмерной графической визуализации ряд текселов в текстуре может быть наложен на один фрагмент или один тексел может быть наложен на ряд фрагментов. Эти процессы соответственно называются уменьшением и увеличением.
В примере с уменьшением на фиг.4D четыре тексела в текстуре 346 накладываются на один фрагмент 342. Информация из этих четырех текселов интерполируется некоторым образом, чтобы обеспечить информацию о текстуре для фрагмента 342. В этом случае текстура отображает рисунки знаков. Интерполяция может приводить к потере информации и ухудшению разборчивости текста, визуализированного с помощью текселов.
Как пример увеличения, на фиг.4D информация из маленьких участков четырех текселов в текстуре 346 увеличивается до девяти фрагментов. Информация из этих четырех текселов интерполируется некоторым образом, чтобы обеспечить информацию о текстуре для девяти фрагментов 344. Интерполяция может добавить информации, которая ухудшит разборчивость отображенного текста. В настоящем изобретении описываются способы, способствующие минимизации ухудшения разборчивости текста, вызываемого интерполяцией текстур шрифтов на поверхностях трехмерных объектов в трехмерной игровой среде. Описание этих способов приводится со ссылками на фиг.5А-8В.
Перед подробным описанием способов визуализации текста, соответствующих настоящему изобретению, способы визуализации описываются на более высоком уровне в контексте трехмерной визуализации в системе трехмерной графической визуализации с использованием блок-схем последовательности этапов на фиг.5А и 5В. Фиг.5А - блок-схема, описывающая способ генерации трехмерной игровой среды с трехмерными текстовыми объектами. Трехмерные текстовые объекты относятся к трехмерным объектам в трехмерной игровой среде, используемым для генерации текстовой строки при визуализации на экране дисплея. В состав трехмерных текстовых объектов могут входить трехмерные объекты, текстурированные рисунками, представляющими шрифты, трехмерные объекты в форме писем или их комбинации и др.
На этапе 150 определяется трехмерная игровая среда для состояния представления. Конфигурация может зависеть от визуального/звукового сценарного плана, разработанного для состояния (см. фиг.3). Состояние представления может содержать последовательность фотографий, визуализированных на экране дисплея из трехмерной игровой среды. Обычно информация, передаваемая в состояние представления, зависит от цели состояния представления (например, это может быть представление результата игры, представление бонусной игры, обзор истории игр, техническое обслуживание и т.д.). Состояние представления может быть ответом на конкретное событие(я), наступающие на игровой машине, например когда игрок инициирует азартную игру.
На этапе 152 для определенной трехмерной игровой среды осуществляется задание типов и начальных положений/ориентации трехмерных объектов, включая текстуры, как функции времени. Трехмерные объекты могут содержать трехмерные текстовые объекты, адаптированные для передачи текстовой информации на экран дисплея во время состояния представления. Во время состояния представления типы и число объектов могут изменяться как функция времени в трехмерной игровой среде. На этапе 154 осуществляется задание видового, модельного и проекционного преобразований, а также преобразования порта просмотра для состояния представления как функции времени. Эти преобразования, как об этом говорится при описании фиг.4С, оказывают влияние на выход процесса визуализации.
На этапе 158 происходит сборка определенных типов трехмерных объектов и текстур. Для каждой заданной текстуры или объекта, если на этапе 160 трехмерный объект или текстура доступны в памяти, их можно загрузить на этапе 164. Если на этапе 160 трехмерный объект или текстура недоступны, их можно на этапе 162 генерировать. Например, параметрические модели трехмерных объектов или текстур могут храниться в памяти, позволяющей в случае необходимости генерировать параметризованные трехмерные объекты или текстуры. На этапе 168 для состояния представления визуализируется последовательность фотографий. Процесс визуализации, как описывается со ссылками на фиг.4С, может включать в себя применение видового, модельного и проекционного преобразований, а также преобразования порта просмотра на собранных объектах и добавление заданных текстур к объектам.
На фиг.5В представлена блок-схема последовательности этапов процесса визуализации трехмерного текста с дальнейшей детализацией. На этапе 176 происходит загрузка конфигураций шрифтов и текстур шрифтов, доступных для использования при генерации трехмерных текстовых объектов, в игровую машину. Конфигурации и текстуры могут содержать параметры, которые позволяют генерировать конфигурации и текстуры на мухе, или данные, которые фактически задают геометрию шрифтов или текстуры шрифтов. Генерация текстуры шрифта для одного примера осуществления настоящего изобретения описана более подробно со ссылками на фиг.6A-D.
На этапе 178 задаются текстовые строки, текстовые страницы и команды набора текста для трехмерных текстовых объектов. Текстовая строка может представлять собой строку знаков, которые должны быть визуализированы в трехмерной игровой среде с использованием текстур шрифтов, конфигураций шрифтов или их комбинации. Текстовая страница может быть трехмерной криволинейной поверхностью, используемой для направления размещения текста в трехмерной игровой среде. Границы, форма, цвет и положение текстовой страницы могут изменяться как функция время. Команды набора текста могут быть использованы для задания операций, выполняемых над шрифтами, типа масштабирования, изменения интервала между линиями, изменения интервала между знаками, выключки и центрирования знаков в текстовой строке на трехмерной текстовой странице, или операций, выполняемых на трехмерной текстовой странице, типа изменения положения и формы трехмерной текстовой страницы как функции времени.
В состав команд набора текста может также входить применение правил набора текста, которыми пользователь не управляет. Эти правила набора текста могут быть использованы для улучшения качества текста, визуализируемого из трехмерных игровых объектов. Среди примеров правил набора этого типа можно назвать: 1) применение хинтов к знакам мелкого масштаба, 2) улучшение "цвета" подлежащего визуализации текста, который может затрагивать контрасты между весами толстых и тонких ножек, размер внутреннего интервала между знаками, значения интерлиньяжа и интервала между знаками, зубчатость диагональных штрихов и полную толщину штриха, 3) обеспечение считываемости каждого глифа, 4) определение интервала между знаками и словами для доведения регулярности этих интервалов до максимума, 5) настройку веса "штрихов", используемых для вычерчивания глифов, а также 6) настройку вертикалей и горизонталей для выравнивания знаков в текстовой строке и др. На функции набора текста могут оказывать влияние характеристики текстовой страницы, определенной на этапе 178.
На этапе 180 осуществляется автоматическое или задаваемое пользователем выполнение функций набора. На этапе 182 трехмерный объект генерируется в трехмерной игровой среде. На этапе 184 генерируются фотографии трехмерного текстового объекта, который может быть отображен на экране дисплея.
Текстуры шрифтов и конфигурации шрифтов, используемые для генерации трехмерных текстовых объектов, могут быть генерированы и загружены в игровую машину как часть геометрии шрифтов и библиотеки текстур, хранимой в запоминающем устройстве в игровой машине. Со ссылками на фиг.6A-6D приводится описание генерации текстур шрифтов, в том числе спецификации информации о шрифтах, используемой для набора текста в одном примере осуществления настоящего изобретения. Текстуры шрифтов могут быть использованы для генерации, набора текста и визуализации трехмерных текстовых объектов, описываемых со ссылками на фиг.7 и 8А.
Со ссылками на фиг.6А приводится описание генерации 400 файла шрифтов и имитации визуализированной текстовой строки в системе трехмерной графики. Файл шрифтов может содержать текстуры, используемые для представления текста в трехмерной игровой среде, и информацию о шрифтах/знаках, используемую для операций набора текста. Файлы шрифтов могут быть созданы с использованием интерфейсного приложения 408 для шрифтов.
Шрифты в файле 410 шрифтов могут загружаться, просматриваться, редактироваться и сохраняться с использованием интерфейсного приложения 408 для шрифтов. Используя подходящую программу генерации шрифтов, с помощью интерфейсного приложения специалист может импортировать изображения знаков, называемые глифами, из различных источников. Информация о шрифте и отдельных знаках может быть введена и затем сохранена как файл 410 шрифтов, который будет использоваться игровой машиной. Файл шрифтов может быть форматированным, чтобы позволить игровой машине генерировать в период времени выполнения трехмерный текстовый объект, который использует конкретный шрифт, представленный в файле 410 шрифтов.
Данные 402 генерации шрифтов, введенные в интерфейсное приложение 408, могут быть использованы для генерации файла 410 шрифтов. Данные генерации шрифтов могут содержать исходные данные 404 шрифтов типа битовых карт шрифтов. Например, исходные данные шрифтов могут включать в себя глифы, наборы глифов и шрифты TrueType в формате изображения Targa или в формате шрифтов TrueType и др. Проектировщик шрифтов может модифицировать исходные данные 404 шрифтов путем настройки шрифта и установочных параметров 406 знака для каждого шрифта. Проектировщик может настраивать эти шрифт и установочные параметры 406 знака, чтобы улучшить качество визуализируемого текста.
В одном примере осуществления настоящего изобретения интерфейсное приложение 408 для шрифтов может быть соединено с имитатором 422 трехмерного текста. Проектировщик шрифтов может использовать имитатор 422 трехмерного текста для имитации трехмерного текста с помощью генерированного файла шрифтов и настройки свойств файла шрифтов на основе качеств отображения текста, визуализированного из выбранного шрифта.
Имитатор 422 трехмерного текста может содержать генератор 412 трехмерных текстовых объектов, который генерирует трехмерные текстовые объекты с помощью одного или более доступных шрифтов. Проектировщик может управлять свойствами имитации путем задания текстовой строки, трехмерной текстовой страницы и команд набора текста. Трехмерный текстовый объект может быть визуализирован с использованием имитатора трехмерной визуализации, который имитирует визуализацию текста на целевом игровом устройстве типа игровой машины конкретного типа.
Трехмерный текстовый объект может быть визуализирован отдельно или в контексте с другими трехмерными объектами 418. Например, если трехмерный текстовый объект является частью представления результата игры, то другие трехмерные объекты, используемые в представлении результата игры, могут быть также визуализированы вместе с трехмерными текстовыми объектами. Визуализированный текст 420 может быть выведен в буфер кадра для отображения на экране дисплея.
Со ссылками на фиг.6В и 6С приводится более подробное описание типов информации, которые могут храниться в файле шрифтов. Обсуждаются две категории данных, свойства 425 шрифтов (см. фиг.6В) и свойства 440 знаков (см. фиг.6С). Со ссылками на фиг.6D описываются свойства текстуры шрифтов, содержащей глифы знаков, определенные в шрифте 470.
Данные шрифтов или свойства 425 шрифтов могут быть использованы для описания полного набора знаков и обычно применяются ко всем знакам в шрифте. В состав свойств шрифтов могут входить перечисляемые ниже и др. свойства. Имя шрифта может представлять собой строку ANSI, которая может быть использована для придания шрифту расширенного описания. Содержание может быть любым, угодным разработчику, но обычно используется для хранения полного имени шрифта подобно "Arial Bold 24pt". Arial относится к стилю шрифта, bold относится к толщине линий в знаках, а 24pt - размер шрифта. В сочетании с настоящим изобретением могут быть использованы многие различные стили шрифтов, являющиеся известными в области обработки текстов и подготовки документов, и настоящее изобретение не ограничивается Arial. Ниже приводится более подробное описание типов шрифта и ассоциированной с ними информации.
Гарнитура шрифта относится к специальным графическим атрибутам знаков и символов в шрифте. Название гарнитуры шрифта может быть использовано для описания дизайна шрифта или ширины толстых и тонких штрихов, используемых для знаков. Использование засечек в шрифте может также выступать в качестве составного элемента в названии гарнитуры. Засечка - это короткая горизонтальная линия на концах несвязанных один с другим штрихов в знаке. Стиль может быть использован для определения веса и наклона шрифта. Использование различных весов и величин наклона может радикально изменять вид знака в шрифте. Вес шрифта описывает ширину штриха, используемую во всех знаках и символах. Ниже приводится список вариантов или названий весов от самого светлого до самого темного, которые могут быть использованы для описания шрифта.
Атрибут наклона относится к положению знаков в шрифте по отношению к вертикали. Термины типа «прямой», «наклонный» и «курсив» используются для классификации различных путей достижения наклона. Прямые шрифты являются вертикальными и не имеют наклона, в то время как наклонные знаки имеют наклон, придаваемый в результате применения к ним преобразования сдвига. Первоначально знаки с назначенным курсивным шрифтом являются наклонными и имеют вид, как будто они были такими созданы.
Базовая линия шрифта указывает на положение, в котором нижняя кромка знака размещена внутри ячейки шрифта. С помощью этой линии можно выравнивать по вертикали знаки или символы с различными высотами и различными размерами шрифта. Подъем - расстояние, на которое знак простирается над базовой линией шрифта. Эта величина также включает в себя все надстрочные элементы знака. Спуск - расстояние, на которое знак опускается ниже базовой линии шрифта. Эта величина может не включать в себя значение интерлиньяжа, который проектировщик предполагает добавлять между рядами строк знаков.
Атрибут размера может быть использован для определения максимальной ширины и высоты, необходимой для включения в состав шрифта самого большого знака. Эта величина определяет не размер, соответствующий любому специальному знаку или символу в шрифте, а область, которая может вмещать любой знак в шрифте. Эту область или виртуальный кадр также называют ячейкой знака или ячейкой символа. Размещение знака внутри ячейки может также определять его положение на базовой линии шрифта. Это может быть важным, потому что полная высота шрифта определяется не только высотой знака, но также и его подъемом и спуском по отношению к базовой линии. Ширина шрифта определяется самым широким знаком или символом. Поэтому размер шрифта определяется шириной и высотой ячейки знака.
Тип шрифта может быть использован для указания типа шрифта, хранимого в файле. Среди нескольких примеров типов шрифтов можно назвать двухмерный текстурированный, трехмерный текстурированный и векторный. В двухмерном текстурированном шрифте знаки этого шрифта могут быть плоскими прямоугольниками, текстурированными двухмерным растром, содержащим глиф знака. В трехмерном текстурированном шрифте знаки этого шрифта могут быть выполнены из многих трехмерных полигонов и могут быть текстурированы для придания цвета и визуальных эффектов. В векторном шрифте знаки в этом шрифте могут быть генерированы из кривых Безье или базисных сплайнов или других типов математических уравнений. В последующем возможно наложение текстур для придания шрифту цвета и визуальных эффектов. Комбинации этих шрифтов могут быть использованы в сочетании с данным изобретением.
Ширина является свойством шрифта. Это может быть величиной, которая содержит в себе максимальную ширину знака шрифта. Эта величина используется для создания непропорциональной разбивки знаков во время выполнения. Если знаки имеют различные ширину и интервал, это называется пропорциональной разбивкой. Шрифт может считаться непропорциональным, если все его знаки имеют одни и те же ширину и интервал. Используя эту величину и другую информацию, предоставленную разработчиком, игровая машина может осуществлять преобразование пропорционального шрифта в непропорциональный во время выполнения.
Высота 426 является свойством шрифта. Величина высоты может быть использована для описания высоты шрифта. Величина свойства высоты может превышать самый высокий знак в шрифте. Все знаки в шрифте равны или короче, чем высота шрифта. В одном примере осуществления правил набора в сочетании с настоящим изобретением все знаки должны соответствовать свойству высоты шрифта после размещения знака. Таким образом, даже если глиф знака, например 430, может иметь более короткую высоту, чем высота шрифта, например 432, общая высота знака не может превышать высоту шрифта. Высота знака может включать в себя его вертикальное размещение на базовой линии 428. Свойство 426 высоты может также использоваться в выравнивании текста и многострочных вычислениях.
Базовая линия 428 является свойством шрифта. Базовая линия может быть вертикальной контрольной точкой, которая используется для размещения каждого знака. Большинство знаков обычно опирается на базовую линию, а некоторые простираются ниже базовой линии подобно знакам 'g' или 'у'. Интервал между линиями является свойством 434 шрифта. Величина интервала между линиями может быть использована для создания пространства между многочисленными линиями текста для трехмерных текстовых объектов с множеством линий. Например, интервал 434 между линиями является расстоянием между текстовой линией, начинающейся со знака "М", и второй линией, содержащей текст "Hello" 436.
"Первый символ" является свойством шрифта. Знаки в шрифте можно также называть символами. Свойство первого символа определяет код ANSI для первого знака в шрифте. "Последний символ" является свойством шрифта, которое определяет код ANSI для последнего знака в шрифте. "Число символов" является свойством шрифта. Число символов является числом знаков, определенных в шрифте, например 255.
Текстура может быть свойством шрифта (см. фиг.6D). Свойство текстуры может представлять собой матрицу данных пикселов (или двухмерный растр), содержащую все глифы знака или визуальные данные, которые могут быть использованы применительно к знакам в шрифте. Информация о ширине и высоте текстуры в пикселах и формат пикселов текстуры может также храниться в этом свойстве. В шрифте могут существовать множество текстур, и каждая текстура содержит все глифы знака. Если к шрифту могут быть применены возможности мип-мэпинга, тогда все битовые карты также хранятся в свойстве текстуры. Все данные глифов анимированных знаков могут также храниться в свойстве текстуры, мип-мэпинг - технология текстурирования, которая обычно используется для трехмерной анимации в играх и программах сквозного контроля САПР. Чтобы создать пейзаж, содержащий остроугольные полигоны, которые исчезают на расстоянии, мип-мэпинг смешивает версии с высокой и низкой разрешающей способностью одной и той же текстуры для уменьшения эффекта зубчатости, который в противном случае имел бы место.
Вторая совокупность свойств, хранимая в файле шрифтов, может быть ориентирована на отдельные знаки, составляющие шрифт. Каждый знак может иметь уникальную совокупность свойств, описывающую визуальный вид и размещение знака. Описание свойств знаков ведется со ссылками на фиг.6С. Ширина 444 может быть свойством знака. Ширина 444 может быть величиной, которая является шириной глифа знака или максимальным горизонтальным пространством визуального аспекта знака. Эта величина может быть также шириной трехмерной геометрии знака или данными кривой в зависимости от свойства типа шрифта.
Высота может быть свойством знака. Высота 448 может быть величиной, которая является высотой глифа знака или максимальным вертикальным пространством визуального аспекта знака. Эта величина может быть также высотой трехмерной геометрии знака или данными кривой в зависимости от свойства шрифта. Начало отсчета Х и начало отсчета Y 442 могут быть также свойством знака. Начало отсчета х 450 и начало отсчета у 448 могут задавать горизонтальное и вертикальное начальное положение знака от положения курсора. Курсор 446 может быть контрольной точкой, используемой для вычисления положения следующего знака с помощью правил набора, используемых игровой машиной. Поскольку знаки размещены вдоль базовой линии 428, курсор может быть продвинут, чтобы указать положение следующего знака.
Продвижение Х 452 и продвижение Y (не показанное) могут быть свойством знака. Продвижение х и у могут задавать величину горизонтального и вертикального смещения курсора из его текущего положения. В сущности, эти величины могут быть добавлены к текущему положению курсора, чтобы переместить его в конец данного знака. Путем применения этого свойства можно изменять положение курсора для размещения следующего знака и гарантировать, что следующий знак не будет препятствовать продвижению данного знака.
Координаты U и V текстуры, показанные на фиг.6D, могут быть свойством знака. Свойство U и V текстуры может быть использовано для локализации глифа знака из свойства 470 текстуры шрифта. Так как свойство текстуры может содержать все данные глифа знака в одной текстуре, каждый глиф знака может быть локализован в отличном от других положении внутри битовой карты текстуры. Вместе со свойствами ширины и высоты знака данные глифа знака могут быть локализованы и выделены из текстуры. В одном примере осуществления координаты U и V для текстуры изменяются от 0 до 1 для U и от 0 до 1 для V.
Координаты UV текстуры могут задавать начало координат (0, 0) текстуры, начало координат UV текстуры, например 478, для каждого глифа в координатах U и V, например, 474 и 476. Координаты UV текстуры могут также содержать ширину 482 глифа и высоту 480 глифа в координатах V и U. С помощью этих координат может быть определен прямоугольник в координатах U и V, ограничивающий каждый знак в текстуре.
Трехмерная геометрия может быть свойством знака. Это свойство может включать в себя данные для вершин, граней и нормалей, которые составляют трехмерную геометрию знака. Все данные анимированной геометрии могут также храниться в этом свойстве. Кривые могут быть свойством знака. Это свойство может включать в себя все данные кривых, которые описывают форму знака. Все данные анимированных кривых могут также храниться в этом свойстве. Эти кривые обычно представляют собой кривые Безье или базисные сплайны, но могут состоять из других типов математических уравнений, которые представляют знак. Далее приводится описание генерации трехмерных текстовых знаков с помощью свойств шрифтов и знаков, рассмотренных со ссылками на фиг.6A-6D.
На фиг.7 представлена генерация трехмерных текстовых знаков с помощью треугольных полигонов. Настоящее изобретение не ограничено способом, описываемым со ссылками на фиг.7, которая приведена исключительно в иллюстративных целях. Имеются две части, которые могут быть использованы для генерации знака. Первая часть определяет прямоугольный полигон, который представляет видимую область знака или сплошную поверхность, которую можно видеть. Вторая часть назначает изображение текстуры знака для полигона. Изображение текстуры содержит фактическое детальное изображение пикселов знака или формы знака. Каждый знак в текстовой строке может содержать свою собственную совокупность вершин, граней и координат текстуры.
В примере, показанном на фигуре 7, трехмерный текстовый объект показан с текстовой строкой "Win" 525 и областью 530 ее отображения. Область отображения получена в результате визуализации текстовой страницы, на которой вычерчены трехмерные текстовые знаки. На фиг.7 использована прямоугольная текстовая страница. Более сложные текстовые страницы описываются при рассмотрении фиг.8А и 8В. В настоящем изобретении модуль программного обеспечения под названием "Actor string", который может быть частью модуля программного обеспечения под названием "ActorText", позволяет реализовать способы, используемые для генерации трехмерные текстовых строк.
Для того чтобы генерировать текстовую строку "Win" 525, ведущий игровой контроллер может извлечь первый знак в строке и просмотреть соответствующую ему информацию, хранимую в файле шрифта. Например, координаты U и V текстуры 502, 504, 506 и 508 могут быть извлечены из текстуры 506 шрифта. Затем может быть создан полигон для знака 'W'. С помощью ширины и высоты знака полигон может быть определен четырьмя отмеченными вершинами 1-4 соответственно 514, 516, 518 и 520. Эти четыре вершины определены в координатах трехмерной игровой среды. Полигон может содержать две треугольных грани или поверхности. Грань 1 определена вершиной 1, вершиной 2 и вершиной 4, а грань 2 - вершиной 2, вершиной 3 и вершиной 4. Вершина, которая составляет каждый знак, также имеет соответствующие координаты текстуры (например, 502, 504, 508 и 510).
Координаты текстуры могут быть использованы для соединения положения в изображении текстуры (в битовой карте) с вершинами в полигоне, по существу для наложения части изображения текстуры на многоугольник. Координаты текстуры определены в (u, v), где (0, 0) означает верхний левый угол изображения текстуры. u - Горизонтальное положение, а v - вертикальное положение в изображении текстуры. Координаты текстуры вершин могут быть вычислены с помощью координат текстуры знака, например ширины и высоты знака, хранимых в файле шрифта (см. фиг.6D). С помощью этой информации трехмерный текстовый объект для одного знака 'W' может быть собран в трехмерной игровой среде и визуализирован на экране дисплея. Процесс визуализации может быть повторен для каждого знака, определенного в свойстве текстовой строки. Для определения положения следующего знака в текстовой строке в трехмерном текстовом объекте используются продвижение х и продвижение у из свойств предыдущего знака, т.е. знака 'W' в этом примере.
Одно из преимуществ использования информации о знаке из файла текстуры шрифта, чтобы определить размеры полигона для приема текстуры знака, состоит в минимизации увеличения или уменьшения текселов в текстуре во время визуализации. Как об этом говорится при описании фиг.4D, увеличение или уменьшение может приводить к интерполяциям, которые ухудшают качество рисунка на текстуре при визуализации. В этом примере осуществления начальный размер полигона, используемого для текстуры, выбирается так, чтобы он соответствовал текстуре знака, что минимизирует ошибки интерполяции во время визуализации. Кроме того, используя начальные оптимальные размеры полигонов для знаков, можно их расширять, сужать или манипулировать до некоторой степени без слишком большого ухудшения качества визуализируемого текста.
В этом примере осуществления, если при масштабировании размеры полигонов значительно изменяются по отношению к их начальным значениям, качество визуализированного текста может ухудшиться. В этом случае желательно использовать текстуру шрифта, которая приближается по размеру к размеру шрифта после масштабирования, или применить технологию типа мип-мэпинга. Игровая машина может быть адаптирована для выбора текстуры шрифта конкретного размера, чтобы соответствовать требуемому размеру шрифта и минимизировать любые ошибки масштабирования. Поэтому библиотека шрифтов, соответствующая настоящему изобретению, может включать в себя текстуры шрифта для одного и того же типа шрифта различных размеров. В шрифтах с трехмерной текстурой геометрическая информация, включенная в состав шрифта, может быть использована для масштабирования, и необходимость выбора текстуры шрифта конкретного размера при масштабировании может отсутствовать.
Геометрия полигонов для определения формы знака, чтобы повторить в случае использования шрифта с двухмерной текстурой, не создана, но взамен этого создана трехмерная видимая поверхность, на которую может быть наложено изображение текстуры. Изображение текстуры может включать в себя фактическую форму и вид знака. При использовании шрифта с трехмерной текстурой шрифт может содержать информацию о полигонах, которая определяет трехмерную физическую форму знака (см. фиг.8В, на которой представлен пример шрифта с трехмерной текстурой). Изображение текстуры может быть использовано для улучшения его вида. Но информация о полигонах может быть использована для определения формы знака. Со шрифтами криволинейного типа можно манипулировать как с такими же трехмерными шрифтами, за исключением того, что трехмерная физическая форма знака определяется кривыми. Полигон может быть создан с использованием информации о кривых, и затем на полигоны может быть наложена текстура.
Другое преимущество использования способа с двухмерной текстурой состоит в том, что это уменьшает число полигонов, которые должны быть обработаны графическим программным обеспечением/аппаратными средствами. В системах трехмерной графики возможность визуализации сцены в реальном масштабе времени является функцией числа полигонов, которые должны быть визуализированы. В случае необходимости обработки слишком большого числа полигонов производительность системы можно ухудшиться до такого состояния, что она будет работать слишком медленно, чтобы использовать ее в рабочей среде. В примере с двухмерной текстурой визуализация каждого знака в текстовой строке требует обработки только двух треугольных полигонов. Поэтому способ позволяет уменьшить число полигонов, которые должны быть обработаны системой, по сравнению с подходом, при котором форма каждого шрифта в знаке представлена большим числом полигонов.
Имеются многочисленные свойства и особенности, доступ к которым может быть обеспечен посредством ActorText, который может быть использован для обеспечения форматирования текста и получения визуальных эффектов в настоящем изобретении. Эти дополнительные особенности могут также затрагивать генерацию трехмерной геометрии знаков. Ниже приводится описание некоторых типичных особенностей, которые можно обеспечить посредством вызовов функций API, сценариев и моделей. Однако настоящее изобретение не ограничивается этими примерами. Реализуемые команды предназначены для работы в контексте системы трехмерной графической визуализации, используемой в игровых машинах или игровых устройствах, соответствующих настоящему изобретению.
Следует указать, что команды, описываемые в следующих абзацах, являются командами высокого уровня. Каждая команда может содержать последовательность команд низкого уровня или вызовы функций, обеспечивающие возможность реализации команд высокого уровня в системе трехмерной графической визуализации.
SetPosition может присваивать позиционную координату х, у, и z положению генерируемого трехмерного текстового объекта. SetScale может задавать величину масштабирования, применяемого к полному размеру текстовой строки. SetRotation может быть использована для задания параметров вращения, которые могут быть применены к полному тексту в оси х, у и z. Полигонами, определяющими текстовый знак или текстовую строку, можно манипулировать подобно другим трехмерным объектам, определенным в трехмерной игровой среде. SetPivotPoint может задавать позиционную координату х, у и z для положения точки поворота. Точка поворота может быть использована как контрольное положение в трехмерном текстовом объекте при его вращении, масштабировании и размещении. SetDisplayRegionSize может быть использована для задания размера текстовой страницы (ширины, высоты и глубины), который используется для ограничения текстовой строки.
SetJustification может быть использована для задания типа выключки используемой для размещения текстовой строки в области отображения текста, определяемой трехмерной текстовой страницей. Имеются несколько типов выключки, которые можно использовать в комбинации одного с другим, чтобы сформировать требуемый эффект выключки. NONE - отсутствие какой-либо выключки применительно к текстовой строке. LEFT - выравнивание текстовой строки по левой стороне трехмерной текстовой страницы. RIGHT - выравнивание текстовой строки по правой стороне трехмерной текстовой страницы. HORIZONTAL CENTERED центрирует текстовую страницу по горизонтали в трехмерной текстовой странице. ТОР выравнивает текстовую строку по верхнему краю трехмерной текстовой страницы. BOTTOM выравнивает текстовую строку по нижнему краю трехмерной текстовой страницы. VERICAL CENTERED центрирует текстовую страницу по вертикали в трехмерной текстовой странице.
SetSizing может быть использована для задания алгоритма изменения размера, используемого в текстовой странице. Имеется ряд типов алгоритмов изменения размера, которые могут быть применены. NONE - никакого изменения размера не применяется к текстовой строке. GROW TO FIT может изменять размер текстовой строки, чтобы она постоянно соответствовала размерам трехмерной текстовой страницы, путем уменьшения или увеличения ширины и/или высоты строки. GROW TO FIT может сохранять пропорции строки и регулировать ширину и высоту строки. GROW WIDTH TO FIT может изменять ширину строки, чтобы она постоянно соответствовала ширине трехмерной текстовой страницы, путем уменьшения или увеличения ширины строки. GROW WIDTH ТО FIT может изменять пропорции строки и может регулировать ширину строки (не затрагивая высоты). GROW HEIGHT TO FIT может изменять высоту строки, чтобы она постоянно находилась в границах трехмерной текстовой страницы, путем уменьшения высоты или увеличения высоты строки. GROW HEIGHT TO GIT может изменять пропорции строки и регулировать высоту строки (не затрагивая ширины).
SHRINK TO FIT может сжимать строку, чтобы она находилась в границах трехмерной текстовой страницы, когда ширина строки или высота превышают границы трехмерной текстовой страницы. SHRINK TO FIT может сохранять пропорции строки и регулировать ширину и высоту строки. SHRINK WIDTH TO FIT может уменьшать ширину строки, чтобы она находилась в границах ширины трехмерной текстовой страницы, когда ширина строки превышает ширину трехмерной текстовой страницы.
SHRINK WIDTH TO FIT может изменять пропорции строки и регулировать ее ширину (не затрагивая высоты). SHRINK HEIGHT TO FIT может уменьшать высоту строки, чтобы она находилась в границах высоты трехмерной текстовой страницы, когда высота строки превышает высоту трехмерной текстовой страницы. Этот параметр изменяет пропорции строки и регулирует ее высоту (не затрагивая ширины). SIZE TO FIT может изменять ширину и высоту строки, чтобы они постоянно совпадали с шириной и высотой трехмерной текстовой страницы. SIZE TO FIT может изменять пропорции строки и может регулировать ее ширину и высоту.
GROW HEIGHT SHRINK WIDTH может изменять высоту строки, чтобы она постоянно находилась в границах высоты трехмерной текстовой страницы, путем уменьшения или увеличения высоты строки (пропорции не изменяются). GROW HEIGHT SHRINK WIDTH может также уменьшать ширину строки, чтобы она находилась в границах ширины трехмерной текстовой страницы, когда ширина строки превышает ширину трехмерной текстовой страницы (пропорции изменяются). GROW WIDTH SHRINK HEIGHT может изменять ширину строки, чтобы она постоянно находилась в границах ширины трехмерной текстовой страницы, путем уменьшения или увеличения ширины строки (пропорции не изменяются). GROW WIDTH SHRINK HEIGHT может также уменьшать высоту строки, чтобы она находилась в границах высоты трехмерной текстовой страницы, когда высота строки превышает высоту трехмерной текстовой страницы. GROW WIDTH SHRINK HEIGHT может также изменять пропорции строки и может регулировать ширину и высоту (пропорции изменяются).
SetClipping может разрешать или запрещать отсечение текста по отношению к границам, определяемым текстовой страницей. При разрешении любая часть знака или знаков, которые могут постоянно находиться вне границ трехмерной текстовой страницы, может быть удалена и не может быть отображена. SetName может присваивать имя трехмерному текстовому объекту. SetFont может быть использована для назначения ресурса шрифта, который может быть использован при создании текстовой строки. SetFontSize может быть использован для задания размера шрифта, определяющего его высоту в системе соответствующих координат. SetColor может быть использована для присваивания строке цветовой информации путем задания отдельных значений красного, зеленого и синего цветов и цвета alpha.
SetLineSpacing может быть использована для задания дополнительного интервала между линиями, который используется между линиями в строке. SetSize может быть использована для задания ширины, высоты и глубины строки. SetString может быть использована для назначения текстовой строки, подлежащей вычерчиванию.
GetRawExtents может быть использована для вычисления ширины, высоты и глубины трехмерной геометрии текстовой строки с помощью текущих установочных параметров свойств. SetCharacterScale может быть использована для назначения величины масштабирования, которая должна быть применена к размеру каждого знака. Эта команда может быть использована для изменения пропорций знака путем обеспечения возможностей сжатия и растяжения.
SetCharacterSpacing может быть использована для задания интервала между знаками для пространства, используемого для отделения каждого знака в текстовой строке. Эта величина добавляется к ширине знака, определенной в ресурсе шрифта. SetNonProportionalWidth может быть использована для регулирования ширины знаков при непропорциональном интервале. Эта величина добавляется к ширине знака шрифта по умолчанию, чтобы получить новую ширину, которая применяется к каждому знаку, когда непропорциональный интервал разрешается.
SetNonProportionalWidthType может быть использована для задания типа вычислений, используемых для определения непропорциональной ширины, с помощью величины непропорциональной ширины. Имеется ряд различных типов ширины, которые могут быть использованы в сочетании с настоящим изобретением. FONT WIDTH PERCENTAGE интерпретирует свойство непропорциональной ширины в процентах от максимальной ширины знака шрифта. Результирующая величина является новой шириной знака, используемой при непропорциональном интервале. VALUE интерпретирует свойство непропорциональной ширины как фактическую величину ширины, используемую при непропорциональном интервале. FONT WIDTH OFFSET интерпретирует свойство непропорциональной ширины, добавляемой к максимальной ширине знака шрифта. Результирующая сумма является новой шириной знака, используемой при непропорциональном интервале.
EnableNonProportionalSpacing может быть использована для указания на желательность преобразования пропорционального шрифта в непропорциональный шрифт. SetStringPosition может быть использована для задания положения строки в трехмерной текстовой странице. Когда установлена выключка NONE, эта величина задает положение строки внутри трехмерной текстовой страницы. Использование этой функции наряду с отсечением позволяет создать надпись бегущей строкой, в которой текст прокручивается по области.
Предлагаемые в настоящем изобретении способы могут быть использованы для управления свойствами шрифтов. Например, GetFont может быть инициирована для определения используемого ресурса данного шрифта (применяемого файла шрифта).
SetFont может быть использована для назначения ресурса шрифта, который будет использоваться при создании текстовой строки. GetFontSize может быть использована для извлечения размера шрифта. SetFontSize может быть использована для задания размера шрифта путем определения его высоты.
Предлагаемые в настоящем изобретении способы могут быть также использованы для манипулирования свойствами текстовой строки. Например, getColor может быть использована для извлечения цветовой информации строки, разделенной на значения красного, зеленого и синего цветов и цвета alpha. SetColor может быть использована для задания цветовой информацию строки путем определения отдельных значений красного, зеленого и синего цветов и цвета alpha. GetLineSpacing может быть использована для восстановления дополнительного интервала между линиями, который добавлен к определенному интервалу между линиями шрифта. Эта величина используется для увеличения или уменьшения интервала между каждой из линий строки. SetLineSpacing может быть использована для задания дополнительного интервала между линиями, который используется между линиями в строке.
GetScale может быть использована для получения величины текущего масштабирования, применяемой к текстовой строке в трехмерном текстовом объекте. SetScale может быть использована для задания величины масштабирования, которая должна быть применена к размеру текстовой строки. GetSize может быть использована для вычисления ширины, высоты и глубины строки путем использования текущих значений атрибутов (например, размера шрифта, интервала между линиями и т.д.). SetSize может быть использована для задания ширины, высоты и глубины строки.
GetString может быть использована для извлечения указателя на буфер, содержащий знаки в строке, подлежащей вычерчиванию. SetString назначает текстовую строку, подлежащую вычерчиванию. GetRawExtents может быть использована для задания ширины, высоты и глубины строки.
Как часть операций набора знаков, выполняемых на игровой машине, могут быть использованы следующие команды, предоставляемые в иллюстративных целях. GetCharacterScale может быть использована для извлечения текущей величины масштабирования, применяемой к размеру каждого знака в строке. SetCharacterScale может быть использована для назначения величины масштабирования, которая должна быть применена к размеру каждого знака. GetCharacterSpacing может быть использована для извлечения интервала между знаками. Он может быть использован для отделения каждого из знаков в строке. SetCharacterSpacing может быть использована для задания интервала между знаками для пространства, используемого для отделения каждого из знаков в строке. Эта величина может быть добавлена к ширине знака, определенной в ресурсе шрифта.
GetCharacterWidth может быть использована для извлечения ширины знака, используемой при непропорциональном интервале. Эта величина добавляется к ширине знака шрифта по умолчанию, чтобы модифицировать ширину, применяемую к каждому знаку. SetCharacterWidth может быть использована для регулирования ширины знака при непропорциональном интервале. Эта величина добавляется к ширине знака шрифта по умолчанию, чтобы получить новую ширину, которая применяется к каждому знаку, когда разрешается использовать непропорциональный интервал. GetProportionalSpacing может быть использована для получения способа с текущим пропорциональным распределением интервалов между знаками. SetProportionalSpacing может быть использована для разрешения или запрета способа с пропорциональным распределением интервалов между знаками. Далее рассматриваются некоторые примеры визуализации трехмерного текста с использованием способов, описываемых со ссылками на фиг 4А-7.
На фиг.8А и 8В представлены графические схемы трехмерных текстовых объектов, визуализированных на экране дисплея игровой машины. Как указано выше, отображение текста в игровой машине может потребовать от разработчика создания трехмерного текстового объекта и определения свойств текста для этого объекта. Эти свойства могут быть назначены посредством нескольких различных механизмов: функций API, сценариев и моделей. Любая комбинация этих механизмов может быть использована в любое время для создания, управления и определения свойств текста для трехмерного текстового объекта. Трехмерный текстовый объект может быть использован в представлениях результатов игр, представлениях бонусных игр, техническом обслуживании и установочном меню, также как в любой другой функции игровой машины, которая требует отображения текста на одном из экранов дисплеев в игровой машине.
Для отображения текста на игровой машине может быть создан трехмерный текстовый объект типа 562 или 552. Для создания трехмерного текстового объекта может быть использован логический модуль под названием ActorText. ActorText может использоваться для создания форматированного текста в режиме реального времени на игровой машине с помощью системы трехмерной графической визуализации игровой машины или игрового устройства, в котором он исполняется. Он может быть выполнен с возможностью генерировать информацию, необходимую для отображения текста путем использования шрифта, определенных разработчиком свойств и правил набора текста. Информация, отображаемая с использованием ActorText, может быть в контексте действий, представляемых на игровой машине, типа азартной игры. Поэтому другие трехмерные объекты типа 556, представляемые как часть определенных действий, могут быть также визуализированы на видеодисплее 34 с визуализированным текстом.
В одном примере осуществления разработчик должен задать, по меньшей мере, три свойства перед тем, как игровая информация, определенная трехмерным текстовым объектом, может быть отображена. Первое задаваемое свойство может быть текстовой страницей, которая появляется в области отображения типа 554 или 560. Когда текстовая страница визуализирована в трехмерной графической системе, на видеодисплее 34 отображается двухмерная область отображения типа 554, 560, 574 или 576, соответствующая текстовой странице. Текстовая страница может определять размер и форму трехмерной поверхности, которая должна быть заполнена текстом или использоваться как направляющая для текста. В случае трехмерных шрифтов поверхность текстовой страницы может действовать как направляющая для базы шрифтов. В примерах текстовая страница может быть простым плоским прямоугольником, плоским сложным полигоном или трехмерной поверхностью. Края текстовой страницы могут быть криволинейными и определяться базисными сплайнами, кривыми Безье или множеством линейных сегментов.
Положение или форма текстовой страницы могут изменяться как функция времени. Например, текстовая страница может быть смоделирована как флаг 576, развевающийся на ветру, с текстом, написанным на поверхности флага. В другом примере текстовая страница может быть глобусом 574, который вращается 578 с текстом, написанным на поверхности этого глобуса. В еще одном другом примере текстовая страница может быть смоделирована как поверхность водоема с рябью.
В настоящем изобретении проектировщик может добавлять текстуры к текстовой странице в качестве фона. Например, текстура пламени, которая изменяется как функция времени, может быть добавлена к текстовой странице, соответствующей прямоугольной области 554 отображения. Текстура пламени может создать видимость локализации текстовых строк "Сумма кредитов" и "2,356" в огне. Таким образом, текстуры, соответствующие настоящему изобретению, могут накладываться на текстуру текстовой строки и перекрывать текстуру, наложенную на текстовую страницу так, как огонь.
С помощью определенной текстовой страницы ActorText может деформировать текстовые знаки, чтобы они следовали и соответствовали форме текстовой страницы. Например, знаки в текстовом объекте на фиг.8А следуют за границами текстовой страницы, визуализированной как область 560 отображения. Текстовую страницу можно сравнить с листом бумаги, подобным области в большинстве текстовых процессоров, в которой с помощью правил форматирования набираются текстовые знаки. Однако в отличие от текстового процессора текстовая страница, соответствующая настоящему изобретению, может иметь сложную трехмерную форму, например форму согнутого и скрученного листа бумаги. Кроме того, в трехмерной игровой среде можно манипулировать положением и ориентацией текстовой страницы, чтобы изменять форму области отображения, которая визуализируется на экране дисплея.
Следует указать, что текстовой процессор использован исключительно в объяснительных целях, поскольку является подходящей аналогией. Несмотря на то, что настоящее изобретение выполняет функции, являющиеся подобными текстовому процессору, настоящее изобретение не ограничивается возможностями текстового процессора. Например, настоящее изобретение позволяет генерировать декоративные шрифты и манипулировать ими, используя способы, реализовать которые обычный текстовый процессор может или очень ограниченно или вообще не может.
Форма текстовой страницы может изменяться как функция времени. ActorText может деформировать текстовые знаки, чтобы они следовали и соответствовали форме текстовой страницы, поскольку она изменяется как функция времени. Кроме того, другие свойства знака типа цвета или текстуры знаков в области отображения могут изменяться как функция времени, которая может рассчитываться для трехмерных текстовых объектов, генерируемых с использованием ActorText.
Следующее свойство, которое может быть определено для ActorText, - свойство Шрифт. Свойство Шрифт может быть названием файла и путем доступа к файлу шрифта, используемому для генерации текста в трехмерной текстовой странице. Используя Шрифт, ActorText может получить необходимую информацию для размещения текстовых знаков в области отображения с помощью правил набора текста. Файл шрифта может содержать информацию о размещении и виде каждого знака в шрифте, как описывается со ссылками на фиг.6А-7.
Наконец, ActorText может быть назначено свойство Текст. Это свойство представляет собой текстовую строку, состоящую из знаков, которые должны быть отображены. ActorText может брать каждый знак в текстовой строке и генерировать необходимую трехмерную информацию (вершины, грани, нормали, координаты UV текстуры), которая описывает трехмерный текстовый объект, визуализируемый в трехмерной игровой среде. Текстовая строка может быть видна на одном из дисплеев игровой машины при визуализации из трехмерной игровой среды, содержащей трехмерный текстовый объект.
Этот раздел описывает один пример осуществления, который позволяет ActorText генерировать трехмерную геометрию для текстовых знаков с помощью двухмерного текстурированного шрифта. В сочетании с настоящим изобретением возможно также использование трехмерных текстурированных шрифтов. Два примера трехмерных текстурированных шрифтов 570 для знаков 'V' и 'О' показаны на фиг.8В. Трехмерные текстурированные шрифты в этом примере определены рядом треугольников. Этими трехмерными шрифтами можно манипулировать таким же образом, что и любым трехмерным объектом в трехмерной игровой среде. После создания трехмерной геометрии ActorText может представить эту информацию в операционную систему игровой машины, где она вычерчивается на видеодисплее 34.
На фиг.9 представлена видеоигровая машина 2, соответствующая настоящему изобретению. Машина 2 содержит основной корпус 4, который, как правило, окружает внутреннюю часть машины (не показано) и который доступен взору пользователей. Со своей передней стороны основной корпус имеет главную дверцу 8, открывающуюся для обеспечения доступа внутрь машины. На поверхность главной дверцы выведены переключатели или кнопки 32 ввода для игрока, монетоприемник 28 и банкнотоприемник 30, лоток 38 для монет, а также защитное стекло 40. Через главную дверцу можно видеть монитор с видеодисплеем 34 и информационную панель 36. Главный монитор 34 с дисплеем, как правило, представляет собой катодно-лучевую трубку, плоско-панельный ЖК-дисплей с высоким разрешением, плазменный/светодиодный дисплей или другой обычный видеомонитор с электронным управлением. Игровая машина 2 снабжена приставкой 6, которая установлена на верхней поверхности основного корпуса 4. Приставка может иметь второй монитор 42 с дисплеем. Второй монитор с дисплеем может также представлять собой катодно-лучевую трубку, плоско-панельный ЖК-дисплей с высоким разрешением или другой обычный видеомонитор с электронным управлением. Как правило, после того, как игрок инициирует игру на игровой машине, главный монитор 34 с дисплеем и второй монитор 42 с дисплеем визуально отображают представление игры, в том числе одну или более бонусных игр, управляемых ведущим игровым контроллером (не показанным). Бонусная игра может быть включена как приложение к первичному представлению результата игры на игровой машине 2. Видеокомпонент представления игры состоит из последовательности кадров, обновляемых с достаточной скоростью, по меньшей мере, на одном из дисплеев 34 и 42 так, чтобы это имело вид непрерывного представления для игрока, ведущего игру на игровой машине. Каждый кадр, визуализированный в двухмерной среде на дисплее 34 и/или 42, может соответствовать виду виртуальной камеры в трехмерной виртуальной игровой среде, хранимой в запоминающем устройстве на игровой машине 2.
Один или более видеокадров последовательности кадров, используемых в представлении игры, может быть захвачен и храниться в запоминающем устройстве, размещенном на игровой машине. Один или более кадров может быть использован для предоставления истории игровых действий, которые происходили на игровой машине 2. Подробное описание захвата кадров для истории игр приводится в совместно рассматриваемой заявке на патент США №09/689498 под названием "Frame Buffer Capture of Actual Game Play", поданной Лимэй (Lemay) с соавторами 11 октября 2000 г., которая включена в данное изобретение полностью и для всех целей.
Как показано в игровой машине на фиг.9, информационная панель 36 может представлять собой стеклянную или пластиковую панель с задней подсветкой и выполненными методом трафаретной печати надписями для отображения общей игровой информации, включая, например, достоинство банкнот, принимаемых игровой машиной (например, $1, $20 и $100). Банкнотоприемник 30, переключатели 32 ввода для игрока, монитор 34 с видеодисплеем и информационная панель являются устройствами, используемыми для проведения игры на игровой машине 2. Управление этими устройствами осуществляется ведущим игровым контроллером (не показано), размещенным внутри основного корпуса 4 машины 2.
В примере, представленном на фиг.9, внутри приставки 6 размещено ряд устройств, которые могут быть использованы для ввода информации о трекинге игрока или других идентификационных данных игрока в игровую машину 2, в том числе банкнотоприемник 30, который может считывать билеты 20 со штриховым кодом, клавишная панель 22, флуоресцентный дисплей 16 и камера 44, а также считыватель 24 карточек для ввода карточки с магнитной полосой или смарт-карты. Камера 44 может быть использована для генерации изображений игрока, которые интегрируются в виртуальную игровую среду, реализованную на игровой машине. Вспомогательная клавиатура 22, флуоресцентный дисплей 16 и считыватель 24 карточек могут быть использованы для ввода и отображения информации о трекинге игрока. Кроме того, для ввода идентификационной информации об игроке помимо описанных выше могут быть использованы и другие устройства, в том числе устройство для снятия отпечатков пальцев или сканер сетчатки. Описание способов и устройства для захвата изображения игрока в видеокадре приводится в совместно рассматриваемой заявке на патент США №09/689498 под названием "Frame Buffer Capture of Actual Game Play", поданной Лимэй (Lemay) с соавторами 11 октября 2000 г., которая включена в данное изобретение полностью и для всех целей.
В дополнение к устройствам, описанным выше, приставка 6 может содержать другие или дополнительные устройства, отличные от показанных на фиг.9. Например, приставка может содержать бонусное колесо или стеклянную панель с задней подсветкой и выполненными методом трафаретной печати надписями, которые могут быть использованы для придания бонусных особенностей игре, проводимой на игровой машине. Управление этими устройствами и их включение во время игры осуществляется частично схемой ведущего игрового контроллера (не показано), размещенного внутри основного корпуса 4 из машины 2.
Ясно, что игровая машина 2 является всего лишь одним примером из множества различных проектов игровых машин, на которых настоящее изобретение может быть осуществлено. Например, не все подходящие игровые машины имеют приставки или функции трекинга игрока. Кроме того, некоторые игровые машины имеют только один игровой дисплей - механический или видео, в то время как другие спроектированы для барных стоек и имеют дисплеи, обращенные экраном вверх. В другом примере генерация игры может быть осуществлена на хост-компьютере и может отображаться на удаленном терминале или удаленном игровом устройстве. Удаленное игровое устройство может быть подключено к хост-компьютеру посредством сети какого-либо типа, такой как локальная вычислительная сеть, глобальная сеть, интрасеть или Internet. Удаленное игровое устройство может быть портативным игровым устройством типа телефона сотовой связи, персонального цифрового секретаря, беспроводного игрового плейера и др. Изображения, визуализированные из трехмерных игровых сред, могут отображаться на портативных игровых устройствах, которые используются для проведения азартной игры. Кроме того, игровая машина или сервер могут содержать игровую логику для управления удаленным игровым устройством с целью визуализации изображения из виртуальной камеры в трехмерных игровых средах, хранимых на удаленном игровом устройстве, и отображать визуализированное изображение на дисплее, размещенном на удаленном игровом устройстве. Поэтому специалистам в данной области техники должно быть очевидно, что настоящее изобретение, как описывается ниже, может быть развернуто на большинстве любых игровых машин, которые существуют в настоящее время или будут разработаны в будущем.
Как показано в примере со ссылками на фиг.9, когда пользователь выбирает игровую машину 2, он или она вводит наличные деньги через монетоприемник 28 или банкнотоприемник 30. Кроме того, банкнотоприемник может принимать напечатанный билет-ваучер, который может быть принят банкнотоприемником 30 как кредитный билет. После того, как игровая машина приняла наличные деньги, кредиты или поощрительные кредиты, на игровой машине может быть сделана ставка в азартной игре. Как правило, игрок может использовать все или часть внесенных наличных денег или кредит в игровой машине, чтобы сделать ставку на проведение игры. В процессе проведения игры игрок может принимать некоторые решения, оказывающие влияние на результат игры. Например, игрок может изменять свою ставку, выбирать приз или принимать решения во время игры, которые оказывают влияние на результат игры. Возможность выбора этих вариантов игрок может реализовать с помощью переключателей 32 ввода, экрана 34 главного видеодисплея или каких-либо других устройств, обеспечивающих игроку возможность ввода информации в игровую машину, в том числе клавишной панели, сенсорного экрана, мыши, джойстика, микрофона и трекбола.
С помощью устройств ввода типа переключателей 32 ввода для игрока, экрана 34 главного видеодисплея или какого-либо другого устройства, обеспечивающего игроку возможность ввода информации в игровую машину, в том числе клавишной панели, сенсорного экрана, мыши, джойстика, микрофона и трекбола, можно изменять свойства трехмерных объектов в трехмерной игровой среде и, таким образом, соответствующее представление этих трехмерных объектов, визуализированных на одном или более экранах дисплеев в игровой машине.
Например, в трехмерной игровой среде с вращающимся объектом типа вращающегося барабана, вращающегося колеса, вращающегося сегмента барабана или вращающейся сферы и др., игровая машина может принимать посредством одного из устройств ввода входные данные, которые обеспечивают начало вращения объекта, останов вращающегося объекта или воздействует на скорость вращения объекта. В другом примере игровая машина может принимать посредством одного или более устройств ввода входные данные, которые обеспечивают инициирование поступательного движения в одном или более трехмерных объектах в трехмерной игровой среде, прекращение поступательного движения или воздействуют на скорость поступательного движения.
Вообще игровая машина может быть выполнена с возможностью приема входной информации для управления параметрами движения множества трехмерных объектов в игровой среде. Параметры движения могут изменяться в зависимости от степеней свободы движения, смоделированного для конкретного трехмерного объекта. Входная информация может быть использована для изменения представления результата игры, представления результата бонусной игры или любого другого типа представления, генерируемого в игровой машине.
В некоторых примерах осуществления, чтобы изменить формат представления результата игры в игровой машине или использовать различные функции игровой машины, игрок может использовать устройство ввода в игровой машине для управления виртуальной камерой в виртуальной игровой среде, реализованной в игровой машине. Например, игрок может использовать виртуальную камеру, чтобы изменить масштаб изображения в сторону увеличения или показать крупным планом часть виртуальной игровой среды типа одной руки покера из сотни рук покера, отображаемых на экране 34 дисплея. В другом примере игрок может изменять представление результата игры, например, вид или перспективу представления результата игры, управляя виртуальной камерой. В еще одном другом примере игрок может выбирать тип игры для проведения игры на игровой машине, выбирать игровую среду, в которой игра будет проводиться, принимать информацию казино или получать различные услуги казино, типа предварительного заказа обеда и предварительного заказа билетов на развлекательные мероприятия, путем навигации по виртуальному казино, реализованному в игровой машине. Виртуальное казино может соответствовать фактическому казино, где размещена игровая машина. Поэтому виртуальное казино может быть использовано для направления игрока в другие отделения казино.
В других примерах осуществления настоящего изобретения для генерации виртуальной трехмерной модели игровой машины могут быть использованы модели САПР/АСУП игровой машины 2. Виртуальная трехмерная модель может быть использована для визуальной демонстрации различных рабочих функций игровой машины 2. Например, когда карточка трекинга игрока вставлена неправильно в считыватель 24 карточек, виртуальная трехмерная модель игровой машины может быть использована для показа визуальной последовательности удаления карточки из считывателя 24 карточек, переворачивания карточки и правильного ввода в считыватель 24 карточек. В другом примере визуальная последовательность, показывающая игрока, вводящего входной код на клавишной панели 22, может быть использована для подсказки и демонстрации игроку, как вводить информацию. В другом примере, когда игровая машина 2 ожидает входные данные от игрока, с помощью одного из переключателей 32 ввода для игрока виртуальная трехмерная модель игровой машины может быть использована для демонстрации визуальной последовательности нажатия правильных кнопок на игровой машине. В еще одном другом примере с помощью фотографий, генерированных из трехмерной модели, игроку может быть продемонстрирован способ ввода банкноты или билета в банкнотоприемник.
При определенных игровых событиях игровая машина 2 может воспроизводить визуальные и звуковые эффекты, оказывающие на игрока несомненное влияние. Эти эффекты придают игре дополнительный эмоциональный накал, вызывающий у игрока желание продолжить игру. Звуковые эффекты могут представлять собой различные звуки, воспроизводимые динамиками 10, 12, 14. В качестве визуальных эффектов могут быть использованы проблесковые или трассирующие огни или другие картины, воспроизводимые с помощью источников света на игровой машине 2 или с помощью фонарей, расположенных за защитным стеклом 40. Способность игрока управлять виртуальной камерой в виртуальной игровой среде, чтобы изменить представление результата игры, может также придавать игре дополнительный эмоциональный накал. После того, как игрок закончил игру, игрок может получить игровые жетоны из лотка для монет 38 или билет 20 из принтера 18, которые могут быть использованы для дальнейших игр или для выкупа приза.
На фиг.10 представлена схема последовательности этапов в способе генерации представления результата игры из виртуальной игровой среды. На этапе 600 после приема ставки в одной или более играх, проводимых на игровой машине, игровая машина принимает входной сигнал на инициирование азартной игры. Входной сигнал может быть подан игроком с помощью различных устройств ввода, доступных на игровой машине, типа кнопок ввода и сенсорного экрана. На этапе 602 происходит определение одного или более результатов игры для одной или более игр, инициированных игроком. Как правило, результат игры определяется путем генерации одного или более произвольных чисел и сравнения этих чисел с таблицей выигрышей, хранимой в игровой машине.
На этапе 603 на основе одного или более результатов игры, определенных на этапе 602, осуществляется визуализация одного или более игровых дисплеев в трехмерной виртуальной игровой среде в игровой машине. На этапе 604, по меньшей мере, одна виртуальная камера в трехмерной игровой среде используется для визуализации последовательности двухмерных проекционных поверхностей (например, изображений), полученных из трехмерных координат поверхностей в трехмерной игровой среде. Как описывается со ссылками на фиг.2, положение виртуальной камеры может со временем изменяться. На этапе 606 как часть представления результата игры или представления бонусной игры отображается последовательность визуализированных двухмерных проекционных поверхностей на одном или более экранах игровых дисплеев в игровой машине. На этапе 608 результат игры (например, сумма вознаграждения за одну или более игр) отображается на экране дисплея. Описанный способ не ограничивается представлениями результата игры. Другие типы игровой информации, такие как представления демонстрационного режима, информация о техническом обслуживании и ремонте, информация об игровых действиях и информация казино, могут быть генерированы в трехмерной виртуальной игровой среде и отображены на экране дисплея в игровой машине. Кроме того, переходные экраны, обеспечивающие возможность плавного перехода между различными игровыми представлениями, могут быть также генерированы и отображены на экране дисплея. Например, переходной экран может быть генерирован для отображения плавного перехода между представлением результата игры и бонусной игрой.
На фиг.11 представлена блок-схема игровых машин, которые используют распределенное игровое программное обеспечение и распределенные процессоры для генерации азартной игры, для одного примера осуществления настоящего изобретения. Для представления одной или более игр на игровых машинах, 61, 62 и 63 используется ведущий игровой контроллер 250. Ведущий игровой контроллер 250 исполняет ряд модулей игрового программного обеспечения для управления игровыми устройствами 70 типа накопителей монет, банкнотоприемников, монетоприемников, динамиков, принтеров, источников света, дисплеев (например, 34) и других механизмов ввода/вывода. Ведущий игровой контроллер 250 может также исполнять игровое программное обеспечение, позволяющее обмениваться информацией с игровыми устройствами, размещенными вне игровых машин, 61, 62 и 63, типа серверов трекинга игроков, серверов бонусных игр, игровых серверов и серверов прогрессивных игр. В некоторых примерах осуществления связь с устройствами, размещенными вне игровых машин, может осуществляться с помощью главной коммуникационной платы 252 и сетевых подключений 71. Сетевые подключения 71 могут обеспечивать обмен информацией с удаленными игровыми устройствами посредством локальной вычислительной сети, интрасети, Internet или их комбинации.
Игровые машины 61, 62 и 63 могут использовать для генерации азартной игры модули игрового программного обеспечения, которые могут быть распределены между локальными файловыми запоминающими устройствами и удаленными файловыми запоминающими устройствами. Например, для проведения азартной игры на игровой машине 61 ведущий игровой контроллер может загружать в оперативную память 56 модули игрового программного обеспечения, которые могут быть локализованы в 1) файловом запоминающем устройстве 251 на игровой машине 61, 2) удаленном файловом запоминающем устройстве 81, 3) удаленном файловом запоминающем устройстве 82, 4) игровом сервере 90, 5) файловом запоминающем устройстве 251 на игровой машине 62, 6) файловом запоминающем устройстве 251 на игровой машине 63 или 7) их комбинации. В состав модулей игрового программного обеспечения могут входить файлы сценариев, файлы данных и трехмерные модели, используемые для генерации трехмерных объектов в трехмерных игровых средах, соответствующих настоящему изобретению. В одном примере осуществления настоящего изобретения игровая операционная система может обеспечивать возможность использования файлов, хранимых в локальных файловых запоминающих устройствах и удаленных файловых запоминающих устройствах, как части совместно используемой файловой системы, где файлы в удаленных файловых запоминающих устройствах удаленно смонтированы в локальной файловой системе. Файловые запоминающие устройства могут представлять собой жесткий диск, CD-ROM, CD-DVD, статическую оперативную память, флэш-память, ППЗУ, компактную флэш-память, твердотельный накопитель типа disk-on-chip, носитель информации "Смарт Медиа", сменный носитель информации (например, накопители "ЗИП" с дисками "ЗИП", дискеты или их комбинации). В целях как безопасности, так и регулирования игровое программное обеспечение, исполняемое на игровых машинах, 61, 62 и 63 ведущими игровыми контроллерами 250, может подвергаться регулярной проверке путем сравнения программного обеспечения, хранимого в оперативной памяти 56 для исполнения на игровых машинах, с заверенными копиями программного обеспечения, хранимого в игровой машине (например, файлы могут храниться в файловом запоминающем устройстве 251), доступного для игровой машины посредством удаленного коммуникационного подключения (например, 81, 82 и 90) или их комбинаций.
Игровой сервер 90 может быть репозиторием для модулей игрового программного обеспечения и программного обеспечения для других игровых услуг, предоставляемых на игровых машинах 61, 62 и 63. В одном примере осуществления настоящего изобретения игровые машины 61, 62 и 63 могут загружать модули игрового программного обеспечения с игрового сервера 90 в локальное файловое запоминающее устройство для проведения азартной игры или игровой сервер может инициировать загрузку. Один пример игрового сервера, который может быть использован в сочетании с настоящим изобретением, описан в совместно рассматриваемой заявке на патент США 09/042192 под названием "Использование игровой машины в качестве сервера" ("Using a Gaming Machine as a Server"), поданной 16 июня 2000 г., которая включена в данное изобретение полностью и для всех целей. В другом примере игровой сервер может быть также специализированным компьютером или услугой, выполняемой на сервере вместе с другими прикладными программами.
В одном примере осуществления настоящего изобретения процессоры, используемые для генерации азартной игры, могут быть распределены среди различных машин. Например, логика игрового потока для проведения азартной игры может исполняться на игровом сервере 92 процессором 90, в то время как ведущий игровой контроллер 250 может исполнять логику представления игры на игровых машинах 61, 62 и 63. Игровые операционные системы на игровых машинах 61, 62 и 63 и игровой сервер 90 могут обеспечивать обмен игровыми событиями между различными модулями игрового программного обеспечения, исполняемыми на различных игровых машинах через определенные интерфейсы API. Таким образом, модуль программного обеспечения игрового потока, исполняемый на игровом сервере 92, может осуществлять пересылку игровых событий в модуль программного обеспечения представления игр, исполняемый на игровых машинах 61, 62 или 63, чтобы управлять проведением азартной игры или управлять проведением бонусной азартной игры, представляемой на игровых машинах 61, 62 и 63. В другом примере игровые машины 61, 62 и 63 могут осуществлять пересылку игровых событий одна другой через сетевое подключение 71, чтобы управлять проведением совместно используемой бонусной игры, проводимой одновременно на различных игровых машинах или вообще оказывать влияние на проведение игры на другой машине.
Выше было приведено довольно подробное описание настоящего изобретения, целью которого является прояснение сути изобретения. Однако очевидно, что в пределах объема притязаний прилагаемой формулы изобретения в него могут быть внесены определенные изменения и дополнения. Например, несмотря на то, что игровая машина, являющаяся предметом этого изобретения, была снабжена приставкой, установленной на верхней поверхности основного корпуса игровой машины, использование игровых устройств в соответствии с этим изобретением не ограничивается этой приставкой. Например, игровая машина может быть выполнена без приставки или вторичного дисплея. Оба этих типа игровых машин могут быть смоделированы в виртуальной игровой среде, хранимой в игровой машине.
Группа изобретений относится к игровым устройствам. Техническим результатом является обеспечение множества представлений результатов игр, получаемых из одной или более виртуальных трехмерных игровых сред. В способе во время проведения азартной игры на игровой машине в качестве части представления результата игры может быть осуществлена визуализация двухмерных изображений, полученных из трехмерного объекта в трехмерной игровой среде, на экране дисплея в игровой машине в реальном масштабе времени. Трехмерные объекты в трехмерной игровой среде могут содержать трехмерные текстовые объекты, используемые для отображения текста на экране дисплея игровой машины в качестве части представления результата игры. Описываются устройство и способы для генерации и отображения информации в текстовом формате, который является совместимым с системой трехмерной графической визуализации. В частности, описываются способы генерации шрифтов и набора текста, применимые в трехмерной игровой среде. 3 н. и 87 з.п. ф-лы, 11 ил., 1 табл.