Game Sprockets
   HOME

TheInfoList



OR:

Game Sprockets is a collection of
application programming interfaces An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build su ...
(APIs) supporting
gaming Gaming may refer to: Games and sports The act of playing games, as in: * Legalized gambling, playing games of chance for money, often referred to in law as "gaming" * Playing a role-playing game, in which players assume fictional roles * Playing ...
on the classic
Mac OS Mac operating systems were developed by Apple Inc. in a succession of two major series. In 1984, Apple debuted the operating system that is now known as the classic Mac OS with its release of the original Macintosh System Software. The system ...
. It consisted of four main parts, DrawSprocket, InputSprocket, SoundSprocket and NetSprocket, each providing a library of pre-rolled routines for common gaming tasks. SpeechSprocket was a relabelled version of the Speech Recognition Manager that provided
speech recognition Speech recognition is an interdisciplinary subfield of computer science and computational linguistics that develops methodologies and technologies that enable the recognition and translation of spoken language into text by computers. It is also ...
support, and QuickDraw 3D RAVE provided 3D hardware acceleration. Game Sprockets was first released in 1996, and saw only minor use before development was cancelled in 1997.
OS X macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
included many of the same features in the built-in libraries, while
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
replaced RAVE as the 3D acceleration layer. NetSprocket lives on as OpenPlay, although adoption is limited.


History


Background

Early in its history, the Macintosh computer was a strong gaming platform due to its high-resolution screen, digital sound hardware and the fact that every Mac came equipped with a reasonable gaming controller, the
mouse A mouse (: mice) is a small rodent. Characteristically, mice are known to have a pointed snout, small rounded ears, a body-length scaly tail, and a high breeding rate. The best known mouse species is the common house mouse (''Mus musculus'' ...
. However, gaming was never supported in any strong way within Apple, and in some cases actively discouraged. By the 1990s the Mac platform had greatly increased in complexity through a profusion of models with different features. Supporting a game across the entire lineup required the programmer to learn the intricacies of different models at a time when even figuring out which machine the program was installed on had no standard solution. By the mid-90s, PC gaming had evolved into a powerful market of its own, one of the drivers for new computer purchases. During the move from
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
to
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, several
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
staffers noticed that game developers were generally ignoring Windows due to the better performance available under DOS. They decided that Windows needed to support first-class gaming, and set about ensuring that Windows would become the preferred gaming platform in the future. The result was the introduction of the
DirectX Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
libraries, which greatly reduced complexity and addressed many of the performance concerns. As 3D games became widespread, the library's
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
became a decisive advantage, and DirectX grew to become almost universal for PC gaming. By the mid-90s, gaming on the Mac was largely dead. The combination of high prices, stagnating sales, poor performance and a lack of a DirectX-like system all resulted in the game developers leaving the Mac field in droves. As it was in Microsoft, several Apple staffers took it upon themselves to redress this problem, led by Chris DeSalvo. The result was a two-pronged effort; on one side was the Game Sprockets libraries (along with RAVE), and on the other was a single target gaming platform, the Pippin.


Short life

Game Sprockets was released on 29 March 1996, just before that year's
WWDC The Worldwide Developers Conference (WWDC) is an information technology conference held annually by Apple Inc. The conference is currently held at Apple Park in California. The event is used to showcase new software and technologies in the macO ...
. Game Sprockets was one of many Apple technologies that ended development after the return of
Steve Jobs Steven Paul Jobs (February 24, 1955 – October 5, 2011) was an American businessman, inventor, and investor best known for co-founding the technology company Apple Inc. Jobs was also the founder of NeXT and chairman and majority shareholder o ...
to the CEO position at Apple. Its death was announced in a March 1997 press release, as part of a wide series of layoffs and restructuring as the company moved to a Mac OS X based future. DeSalvo wrote a fairly lengthy open letter on the topic, noting that Sprockets might come to life again in the future.


Description

GameSprockets included four main libraries and two associated ones, discussed in turn below.


DrawSprocket

Unlike the pre-Windows PC system, displaying high-resolution color images had always been easy on the Mac. However, getting details about the resolution and color depth of the machine they were running on required a number of "tricks". Additionally, common gaming tasks, like switching resolutions or fading to black, had intricacies that required the programmer to adjust for differences in color depth that most ignored. DrawSprocket was a library of utilities to help the programmer address these common problems. Among its many separate functions were calls to allow the user to select a "main monitor" for the game, (because multi-screen configurations were relatively common) cleanly enumerating available resolutions and switching between them, various routines for fading from one image to another (instead of just "to black"), displaying background images and various similar utilities.Vineyard A major portion of DrawSprocket provided an abstraction layer for page flipping. Some Macs included the ability to page flip in hardware, while others did not. DrawSprocket provided a single API that worked on any machine, using the hardware if it was available, or falling back to custom-tuned software blitters if it did not. Related code allowed developers to easily create multiple
framebuffer A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Mode ...
s to draw into, and then use the page flipping calls to quickly display them.


InputSprocket

The Mac had always shipped with an input device suitable for gaming, the mouse. Even in cases where other devices were better suited to gaming, like joysticks, it was relatively easy to make the devices emulate mouse or keyboard input. However, this model stopped working well as joysticks with increasing complexity were released in the 1990s. New models had several axies controlled by potentiometers with linear input, and in these cases mouse emulation simply didn't work. The solution was InputSprocket. InputSprocket allowed the hardware vendor to provide a driver for any possible input device. The driver not only handled communications with the input device, but also presented a list of capabilities to the InputSprocket manager. InputSprocket displayed all installed drivers in a single, universal, control panel. Games linking to InputSprocket then provided a list of the operations they wanted the user to control. Through the control panel, the user could map any operation to any input. Apple supplied drivers for mice and keyboards. InputSprocket was one of the most widely used of the Game Sprockets, and drivers were supplied for many devices that worked on the Mac. This was greatly expanded by mapping InputSprocket onto the similar
Human Interface Device A human interface device (HID) is a type of computer device usually used by humans that takes input from or provides output to humans. The term "HID" most commonly refers to the USB HID specification. The term was coined by Mike Van Flandern ...
system that is part of the
USB Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
standard.''Sprockets'' This meant that almost any USB input device would work to at least some level with InputSprocket without any effort on the part of the developer or the user.


SoundSprocket

The Macintosh's
Sound Manager The Sound Manager is a part of the classic Apple Macintosh operating system, in Classic Mac OS. It is used to control the production and manipulation of sounds on Macintosh computers. The Sound Manager is also used by other parts of the Macintosh sy ...
supported digital sound from the earliest versions, and stereo for much of its evolution. SoundSprocket added to this support by including systems to simulate 3D sound. Programmers could add SoundSprocket support to their programs and link in-game objects to sounds that would appear localized in space.


NetSprocket

NetSprocket provided an abstraction layer that made it easy for developers to add networking support to their games. NetSprocket supported either
AppleTalk AppleTalk is a discontinued proprietary suite of networking protocols developed by Apple Computer for their Macintosh computers. AppleTalk includes a number of features that allow local area networks to be connected with no prior setup or the ...
or
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
, and supported naming of games, player and providing passwords. It used a client/server architecture, and included an option to allow a host to run just the networking code without the graphics. NetSprocket also included functionality to assign player ID's, teams, and player types (players, observers, etc.) NetSprocket also provided code for message passing, although the protocol of those messages was left to the programmer. NetSprocket was the one portion of Game Sprockets that lived on after the project as a whole was downsized. The code was released into
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
by Apple and further developed with new functionality and multiple platform support. The latest versions support Mac OS, Windows and Linux.


SpeechSprocket

SpeechSprocket was included in Game Sprockets, but consisted of nothing more than a re-badged version of the existing Speech Recognition Manager.Matt Pallakoff and Arlo Reeves
"The Speech Recognition Manager Revealed"
''MacTech'', September 1996


QuickDraw 3D RAVE

Like SpeechSprocket, QuickDraw 3D RAVE was considered to be part of the overall Game Sprockets technology, although it was developed and supported separately. RAVE was a thin
hardware abstraction layer Hardware abstractions are sets of routines in software that provide programs with access to hardware resources through programming interfaces. The programming interface allows all devices in a particular class ''C'' of hardware devices to be acc ...
similar to DirectX's
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
.


References


Notes


Bibliography

* (''Sprockets'')
"GameSprockets 1.7.5 Document and Software"
, Apple Inc. * Jeremy Vineyard

''MacTech'', Volume 13 Issue 2 (1997) * (''Enable'')
"Apple Game Sprockets to Enable Cutting-Edge Multimedia and Internet Games on the Macintosh"
, Apple Inc., 29 March 1996 {{refend Macintosh operating systems APIs