Game Sprockets es una colección de interfaces de programación de aplicaciones (API) que permiten jugar en el Mac OS clásico . Constaba de cuatro partes principales: DrawSprocket, InputSprocket, SoundSprocket y NetSprocket, cada una con una biblioteca de rutinas predefinidas para tareas comunes de juego. SpeechSprocket era una versión renombrada del Administrador de reconocimiento de voz que proporcionaba soporte para el reconocimiento de voz , y QuickDraw 3D RAVE proporcionaba aceleración de hardware 3D .
Game Sprockets se lanzó por primera vez en 1996 y tuvo un uso limitado antes de que se cancelara su desarrollo en 1997. OS X incluyó muchas de las mismas características en sus bibliotecas integradas, mientras que OpenGL reemplazó a RAVE como capa de aceleración 3D. NetSprocket sigue existiendo como OpenPlay, aunque su adopción es limitada.
Historia
Fondo
En sus inicios, el ordenador Macintosh fue una plataforma de juegos potente gracias a su pantalla de alta resolución, su hardware de sonido digital y el hecho de que todos los Mac venían equipados con un mando de juegos decente: el ratón . Sin embargo, Apple nunca apoyó los juegos de forma significativa, e incluso en algunos casos los desaconsejó activamente. En la década de 1990, la plataforma Mac había aumentado considerablemente su complejidad debido a la proliferación de modelos con diferentes características. Para que un juego funcionara en toda la gama, el programador debía conocer las particularidades de cada modelo, en una época en la que ni siquiera determinar en qué máquina estaba instalado el programa tenía una solución estándar.
A mediados de los 90, los juegos de PC se habían convertido en un mercado poderoso por derecho propio, uno de los principales impulsores de la compra de nuevos ordenadores. Durante la transición de MS-DOS a Microsoft Windows , varios empleados de Microsoft notaron que los desarrolladores de juegos generalmente ignoraban Windows debido al mejor rendimiento disponible en DOS. Decidieron que Windows debía ofrecer soporte para juegos de primera clase y se propusieron asegurar que Windows se convirtiera en la plataforma de juegos preferida en el futuro. El resultado fue la introducción de las bibliotecas DirectX , que redujeron enormemente la complejidad y abordaron muchos de los problemas de rendimiento. [ 1 ] A medida que los juegos 3D se popularizaron, Direct3D de la biblioteca se convirtió en una ventaja decisiva, y DirectX se volvió prácticamente universal para los juegos de PC.
A mediados de los 90, los videojuegos en Mac estaban prácticamente extintos. La combinación de precios elevados, ventas estancadas, bajo rendimiento y la falta de un sistema similar a DirectX provocó que los desarrolladores de juegos abandonaran el mercado de Mac en masa. Al igual que en Microsoft, varios empleados de Apple, liderados por Chris DeSalvo, se propusieron solucionar este problema. El resultado fue un esfuerzo doble: por un lado, las bibliotecas Game Sprockets (junto con RAVE), y por otro, una plataforma de juegos específica para Mac, la Pippin .
Vida corta
Game Sprockets se lanzó el 29 de marzo de 1996, [ 2 ] justo antes de la WWDC de ese año .
El juego Sprockets fue una de las muchas tecnologías de Apple cuyo desarrollo se interrumpió tras el regreso de Steve Jobs al puesto de director ejecutivo de Apple. Su desaparición se anunció en un comunicado de prensa de marzo de 1997, [ 3 ] como parte de una amplia serie de despidos y reestructuraciones a medida que la empresa avanzaba hacia un futuro basado en Mac OS X. DeSalvo escribió una carta abierta bastante extensa sobre el tema, señalando que Sprockets podría volver a la vida en el futuro. [ 4 ]
Descripción
GameSprockets incluía cuatro bibliotecas principales y dos asociadas, que se describen a continuación.
Piñón de tracción
A diferencia de los sistemas PC anteriores a Windows, mostrar imágenes en color de alta resolución siempre había sido sencillo en Mac. Sin embargo, obtener información detallada sobre la resolución y la profundidad de color del equipo en el que se ejecutaban requería ciertos "trucos". Además, tareas comunes en los videojuegos, como cambiar la resolución o aplicar un fundido a negro , presentaban complejidades que obligaban al programador a ajustar las diferencias en la profundidad de color, algo que la mayoría ignoraba.
DrawSprocket era una biblioteca de utilidades para ayudar al programador a resolver estos problemas comunes. Entre sus numerosas funciones independientes se encontraban llamadas para permitir al usuario seleccionar un "monitor principal" para el juego (ya que las configuraciones de múltiples pantallas eran relativamente comunes), enumerar de forma clara las resoluciones disponibles y alternar entre ellas, varias rutinas para realizar transiciones graduales entre imágenes (en lugar de simplemente "a negro"), mostrar imágenes de fondo y diversas utilidades similares. [ 5 ]
Una parte importante de DrawSprocket proporcionaba una capa de abstracción para el cambio de página. Algunos Mac incluían la capacidad de cambiar de página por hardware, mientras que otros no. DrawSprocket proporcionaba una única API que funcionaba en cualquier máquina, utilizando el hardware si estaba disponible o recurriendo a blitters de software personalizados si no lo estaba. El código relacionado permitía a los desarrolladores crear fácilmente múltiples framebuffers para dibujar y luego usar las llamadas de cambio de página para mostrarlos rápidamente. [ 5 ]
Piñón de entrada
El Mac siempre incluyó un dispositivo de entrada adecuado para juegos: el ratón. Incluso en los casos en que otros dispositivos, como los joysticks, eran más apropiados para jugar, era relativamente fácil hacer que emularan la entrada del ratón o del teclado. [ 5 ] Sin embargo, este modelo dejó de funcionar bien a medida que se lanzaron joysticks cada vez más complejos en la década de 1990. Los nuevos modelos tenían varios ejes controlados por potenciómetros con entrada lineal, y en estos casos la emulación del ratón simplemente no funcionaba.
La solución fue InputSprocket. InputSprocket permitía al fabricante del hardware proporcionar un controlador para cualquier dispositivo de entrada. El controlador no solo gestionaba la comunicación con el dispositivo de entrada, sino que también presentaba una lista de capacidades al administrador de InputSprocket. InputSprocket mostraba todos los controladores instalados en un panel de control único y universal. Los juegos que se conectaban a InputSprocket proporcionaban una lista de las operaciones que querían que el usuario controlara. A través del panel de control, el usuario podía asignar cualquier operación a cualquier entrada. Apple proporcionó controladores para ratones y teclados.
InputSprocket fue uno de los Game Sprockets más utilizados, y se proporcionaron controladores para muchos dispositivos compatibles con Mac. Esto se amplió enormemente al integrar InputSprocket en el sistema de Dispositivos de Interfaz Humana (HID) del estándar USB . [ 6 ] Esto significaba que prácticamente cualquier dispositivo de entrada USB funcionaría, al menos parcialmente, con InputSprocket sin ningún esfuerzo por parte del desarrollador ni del usuario.
SoundSprocket
El gestor de sonido de Macintosh admitía sonido digital desde sus primeras versiones, y estéreo durante gran parte de su evolución. SoundSprocket amplió esta compatibilidad al incluir sistemas para simular sonido 3D. Los programadores podían añadir compatibilidad con SoundSprocket a sus programas y vincular objetos del juego a sonidos que aparecían localizados en el espacio. [ 5 ]
NetSprocket
NetSprocket proporcionaba una capa de abstracción que facilitaba a los desarrolladores la incorporación de soporte de red a sus juegos. NetSprocket era compatible con AppleTalk y TCP/IP , y permitía nombrar juegos y jugadores, así como proporcionar contraseñas. Utilizaba una arquitectura cliente/servidor e incluía una opción para que un host ejecutara únicamente el código de red, sin los gráficos. NetSprocket también incluía funcionalidades para asignar identificadores de jugador, equipos y tipos de jugador (jugadores, observadores, etc.). Además, NetSprocket proporcionaba código para el paso de mensajes, aunque el protocolo de estos mensajes quedaba a criterio del programador. [ 5 ]
NetSprocket fue la única parte de Game Sprockets que sobrevivió después de que el proyecto en su conjunto se redujera. Apple liberó el código como código abierto y lo desarrolló aún más con nuevas funcionalidades y compatibilidad con múltiples plataformas. Las versiones más recientes son compatibles con Mac OS, Windows y Linux. [ 7 ]
SpeechSprocket
SpeechSprocket se incluyó en Game Sprockets, pero no consistía en nada más que una versión renombrada del Speech Recognition Manager existente . [ 8 ]
QuickDraw 3D RAVE
Al igual que SpeechSprocket, QuickDraw 3D RAVE se consideraba parte de la tecnología general de Game Sprockets, aunque se desarrolló y recibió soporte por separado. RAVE era una capa de abstracción de hardware delgada similar a Direct3D de DirectX .
Referencias
Notas
- ↑ Entrada del blog de Craig Eisler sobre el frenesí por compilar DirectX versiones 1 a 5. Enlace obsoleto archivado el 11/07/2012 en archive.today en craig.theeislers.com
- ↑ Habilitar
- ↑ Adam Engst, "Apple Computer '97: Qué hay dentro, qué hay fuera" , TidBITS , n.° 706 (17 de marzo de 1997)
- ↑ Chris De Salvo, "Estado de Game Sprockets"
- 1 2 3 4 5 Viñedo
- ↑ Piñones
- ↑ «Boletín informativo de OpenPlay» , enero de 2000
- ↑ Matt Pallakoff y Arlo Reeves, "Se revela el gestor de reconocimiento de voz" , MacTech , septiembre de 1996
Bibliografía
- ( Sprockets ), "Documento y software de GameSprockets 1.7.5" Archivado el 13 de enero de 2009 en Wayback Machine , Apple Inc.
- Jeremy Vineyard, "Los piñones son para siempre" , MacTech , Volumen 13, Número 2 (1997)
- ( Habilitar ), "Apple Game Sprockets habilitará juegos multimedia y de Internet de vanguardia en Macintosh" Archivado el 21/10/2012 en Wayback Machine , Apple Inc., 29 de marzo de 1996
- API de sistemas operativos Macintosh