Игровые звездочки
Game Sprockets — это набор интерфейсов прикладного программирования (API), поддерживающих игры в классической Mac OS . Он состоял из четырех основных частей: DrawSprocket, InputSprocket, SoundSprocket и NetSprocket, каждая из которых предоставляла библиотеку готовых процедур для распространенных игровых задач. SpeechSprocket представлял собой обновленную версию диспетчера распознавания речи , которая обеспечивала поддержку распознавания речи , а QuickDraw 3D RAVE обеспечивал аппаратное 3D-ускорение.
Game Sprockets была впервые выпущена в 1996 году и использовалась лишь незначительно, прежде чем разработка была отменена в 1997 году. OS X включала многие из тех же функций во встроенные библиотеки, а OpenGL заменил RAVE в качестве уровня 3D-ускорения. NetSprocket продолжает существовать как OpenPlay , хотя его распространение ограничено.
История
[ редактировать ]Фон
[ редактировать ]В начале своей истории компьютер Macintosh был мощной игровой платформой благодаря экрану высокого разрешения, цифровому звуковому оборудованию и тому факту, что каждый Mac был оснащен разумным игровым контроллером — мышью . Тем не менее, игры никогда не пользовались активной поддержкой внутри Apple, а в некоторых случаях активно не поощрялись. К 1990-м годам платформа Mac значительно усложнилась за счет множества моделей с различными функциями. Поддержка игры всей линейки требовала от программиста изучения тонкостей разных моделей в то время, когда даже выяснить, на какой машине установлена программа, не было стандартного решения.
К середине 90-х годов компьютерные игры превратились в мощный собственный рынок, один из драйверов покупок новых компьютеров. Во время перехода с MS-DOS на Microsoft Windows несколько сотрудников Microsoft заметили, что разработчики игр обычно игнорируют Windows из-за лучшей производительности, доступной в DOS. Они решили, что Windows должна поддерживать первоклассные игры, и приступили к тому, чтобы в будущем Windows стала предпочтительной игровой платформой. Результатом стало появление библиотек DirectX , которые значительно снизили сложность и решили многие проблемы с производительностью. [1] По мере того как 3D-игры получили широкое распространение, библиотека Direct3D стала решающим преимуществом, а DirectX стал почти универсальным для компьютерных игр.
К середине 90-х игры на Mac практически прекратились. [ нужна ссылка ] Сочетание высоких цен, стагнации продаж, низкой производительности и отсутствия системы, подобной DirectX, привело к тому, что разработчики игр массово покинули сферу Mac. Как и в Microsoft, несколько сотрудников Apple взяли на себя задачу решить эту проблему под руководством Криса ДеСальво. Результатом стало двустороннее усилие; с одной стороны находились библиотеки Game Sprockets (вместе с RAVE), а с другой — одна целевая игровая платформа Pippin .
Короткая жизнь
[ редактировать ]Игра Sprockets вышла 29 марта 1996 года. [2] в том же году незадолго до WWDC .
Game Sprockets была одной из многих технологий Apple, разработка которых прекратилась после возвращения Стива Джобса на должность генерального директора Apple. О его смерти было объявлено в пресс-релизе в марте 1997 года. [3] в рамках широкой серии увольнений и реструктуризации по мере перехода компании к будущему на базе Mac OS X. ДеСальво написал довольно длинное открытое письмо на эту тему, отметив, что Sprockets может снова ожить в будущем. [4]
Описание
[ редактировать ]GameSprockets включал четыре основные библиотеки и две сопутствующие, которые, в свою очередь, обсуждаются ниже.
Нарисовать звездочку
[ редактировать ]В отличие от ПК, существовавших до Windows, на Mac всегда было легко отображать цветные изображения с высоким разрешением. Однако получение подробной информации о разрешении и глубине цвета машины, на которой они работали, потребовало ряда «хитростей». Кроме того, обычные игровые задачи, такие как переключение разрешения или переход к черному , имели сложности, требующие от программиста корректировки различий в глубине цвета, которые большинство игнорирует.
DrawSprocket представлял собой библиотеку утилит, помогавшую программисту решать эти распространенные проблемы. Среди множества отдельных функций были вызовы, позволяющие пользователю выбрать «основной монитор» для игры (поскольку многоэкранные конфигурации были относительно распространены), чистый перечисление доступных разрешений и переключение между ними, различные процедуры перехода от одного изображения к другому. (а не просто «на черный»), отображение фоновых изображений и разные подобные утилиты. [5]
Основная часть DrawSprocket предоставляет уровень абстракции для перелистывания страниц. Некоторые компьютеры Mac имели аппаратную возможность переворачивания страниц, а другие — нет. DrawSprocket предоставил единый API, который работал на любой машине, используя аппаратное обеспечение, если оно было доступно, или прибегая к специально настроенным программным блиттерам, если оно было недоступно. Сопутствующий код позволил разработчикам легко создавать несколько буферов кадров для рисования, а затем использовать вызовы перелистывания страниц для их быстрого отображения. [5]
Входная звездочка
[ редактировать ]Mac всегда поставлялся с устройством ввода, подходящим для игр, — мышью. Даже в тех случаях, когда другие устройства, например джойстики, лучше подходили для игр, было относительно легко заставить устройства имитировать ввод с помощью мыши или клавиатуры. [5] Однако эта модель перестала хорошо работать, поскольку в 1990-х годах были выпущены джойстики все большей сложности. Новые модели имели несколько осей, управляемых потенциометрами с линейным входом, и в этих случаях эмуляция мыши просто не работала.
Решением стал InputSproket. InputSprocket позволил поставщику оборудования предоставить драйвер для любого возможного устройства ввода. Драйвер не только обеспечивал связь с устройством ввода, но и представлял список возможностей менеджеру InputSprocket. InputSprocket отображал все установленные драйверы на единой универсальной панели управления. Игры, подключающиеся к InputSprocket, затем предоставляли список операций, которые они хотели, чтобы пользователь мог контролировать. Через панель управления пользователь мог сопоставить любую операцию с любым входом. Apple предоставила драйверы для мышей и клавиатур.
InputSprocket был одним из наиболее широко используемых Game Sprockets, и драйверы поставлялись для многих устройств, работавших на Mac. Это было значительно расширено за счет сопоставления InputSprocket с аналогичной системой устройств пользовательского интерфейса , которая является частью стандарта USB . [6] Это означало, что практически любое USB-устройство ввода могло работать с InputSprocket хотя бы на каком-то уровне без каких-либо усилий со стороны разработчика или пользователя.
ЗвукЗвездочка
[ редактировать ]Macintosh Звуковой менеджер поддерживал цифровой звук с самых ранних версий и стерео на протяжении большей части своего развития. SoundSprocket добавил к этой поддержке системы для имитации 3D-звука. Программисты могли бы добавить поддержку SoundSprocket в свои программы и связать игровые объекты со звуками, которые будут локализованы в пространстве. [5]
NetSproket
[ редактировать ]NetSprocket предоставил уровень абстракции, который позволил разработчикам легко добавлять сетевую поддержку в свои игры. NetSprocket поддерживал AppleTalk или TCP/IP , а также давал имена играм, проигрывателям и предоставлял пароли. Он использовал архитектуру клиент/сервер и включал возможность разрешить хосту запускать только сетевой код без графики. NetSprocket также включал в себя функцию назначения идентификаторов игроков, команд и типов игроков (игроки, наблюдатели и т. д.). NetSprocket также предоставлял код для передачи сообщений, хотя протокол этих сообщений был оставлен на усмотрение программиста. [5]
NetSprocket была единственной частью Game Sprockets, которая сохранилась после сокращения всего проекта. Код был выпущен Apple в открытый исходный код и доработан с новыми функциями и поддержкой нескольких платформ. Последние версии поддерживают Mac OS, Винда и Линукс. [7]
РечьЗвездочка
[ редактировать ]SpeechSprocket был включен в Game Sprockets, но представлял собой не что иное, как обновленную версию существующего Speech Recognition Manager . [8]
QuickDraw 3D рейв
[ редактировать ]Как и SpeechSprocket, QuickDraw 3D RAVE считался частью общей технологии Game Sprockets, хотя разрабатывался и поддерживался отдельно. RAVE представлял собой тонкий уровень аппаратной абстракции , похожий на DirectX Direct3D .
Ссылки
[ редактировать ]Примечания
[ редактировать ]- ^ Сообщение в блоге Крейга Эйслера о безумии создания DirectX с 1 по 5. Архивировано 11 июля 2012 г. на archive.today на craig.theeislers.com.
- ^ Включить
- ^ Адам Энгст, «Apple Computer '97: Что внутри, что снаружи» , TidBITS , # 706 (17 марта 1997 г.)
- ^ Крис Де Сальво, «Статус Game Sprockets»
- ^ Перейти обратно: а б с д и виноградник
- ^ Звездочки
- ^ "Информационный бюллетень OpenPlay" , январь 2000 г.
- ^ Мэтт Паллакофф и Арло Ривз, «Раскрытие менеджера по распознаванию речи» , MacTech , сентябрь 1996 г.
Библиография
[ редактировать ]- ( Sprokets ), «Документация и программное обеспечение GameSprockets 1.7.5» , Apple Inc.
- Джереми Виньярд, «Звездочки навсегда» , MacTech , том 13, выпуск 2 (1997)
- ( Enable ), «Apple Game Sprockets для создания новейших мультимедийных и интернет-игр на Macintosh» , Apple Inc., 29 марта 1996 г.