TweetFollow Us on Twitter

Game Sprocket Intro

Volume Number: 13 (1997)
Issue Number: 2
Column Tag: Game Development

Sprockets are Forever

By Jeremy Vineyard, Viperware

Macs Were Made to Play Games

The Beginning...

When I was a child, I used to beg my parents for quarters to play in the local arcade. Wasting thousands of hours with this activity, I developed a passion for creating games. The desire to create my own games magnified with every quarter I spent.

Reality is often harsh, especially for the would-be game developer. I discovered that games can be very difficult to write. A good game developer must have extensive knowledge of animation techniques, music composition, sound recording, graphics synchronization, algorithm design, data structures, and more. Game developers lose sleep over the slowdown caused by CD-quality sound and full-screen scrolling graphics, and the complexities of an arcade game type environment. Until fairly recently, there wasn't much documentation explaining how to write games, if you wanted to learn, you did so by trial and error.

Not long ago, Apple officially announced something that Mac lovers have known for years: the Mac is a game machine. In fact, the Mac is a great game machine, featuring built-in support for high-resolution graphics and CD-quality sound. Along with this announcement, Apple resolved to help Mac game developers write even cooler games for the Mac. The result - Apple's Game Sprockets.

What is a Sprocket?

A sprocket is a component of Apple's new game development architecture. Each sprocket adds extra features to the MacOS that specifically benefit those who are writing games. There are six sprockets currently under development by Apple: DrawSprocket, SoundSprocket, InputSprocket, NetSprocket, SpeechSprocket, and QuickDraw 3D Rave. SpeechSprocket is just a repackaged version of Apple's Speech Recognition Manager. Game Sprockets will run only on PowerMacs, but certain sprockets may be ported to 68k in the future. Game Sprockets require the newest system software including OpenTransport 1.1, Display Manager 2.0, and Sound Manager 3.2.1.

DrawSprocket

Prepare for battle! Flames rupture your view; sirens wail. You have the enemy in your sights. Fire! The screen jerks and the action grinds to a halt. Unexpectedly, you find yourself waiting for the screen to refresh. As the computer calculates the next frame of animation, your senses are brought to terms with reality. You lose interest, quit, and go to your living room to read a book. Full-screen, high-resolution graphics are quite possibly the bane of all computer games.

The Macs make great game machines, but they lack certain characteristics that make the primeval PCs more suitable for playing games. One noticeable shortcoming is that unlike PC's, most Macs don't have page-flipping. Page-flipping is the ability to almost instantly switch frames of animation by simply telling the display device (the monitor) to look somewhere else in memory for the display data (the graphics). DrawSprocket provides transparent support for page-flipping on the Macs that support it, and falls back on more compatible methods for those that don't. When page-flipping is not available, DrawSprocket reverts to using CopyBits, which is much slower than page-flipping because QuickDraw must copy the entire contents of each frame of animation onto the screen.

DrawSprocket also supports multi-buffering, with which the next frame of animation can be drawn even while the current frame is being copied to the screen. Multi-buffering can decrease the animation bottleneck that occurs when the processor overtakes the speed of the display device.

Figure 1. Select a Display with DrawSprocket.

DrawSprocket offers common game-related tasks such as a user interface for selecting monitors and providing an easy way for games to take control of the entire screen, which includes hiding the menu bar and blanking all unused monitors. DrawSprocket takes care of fading the screen to any color by altering a monitor's gamma tables. This is good for making a cool fade, setting up the screen for the next scene, and fading back into the game.

DrawSprocket makes it easy for you to include an underlay in your game. An underlay is an image that is always behind all other graphical elements. For example, you might have a scrolling picture of a mountain that is always in the background. In the future, DrawSprocket will support overlays allowing game developers to easily implement foreground images.

DrawSprocket's routines can provide your game with a consistent frame rate so that the animations don't change speed when they are becoming more or less processor-intensive. For the animated elements, Apple provides a sprite manager within QuickTime.

InputSprocket

Have you been frustrated while trying to use a Mac joystick? Until the introduction of InputSprocket, the Mac had no built-in support for game input devices, resulting in emulated performance by the Mac joysticks, flight sticks, and game pads.

InputSprocket is an API for the Mac joystick developers that provides a consistent user experience when using joysticks and other game-related input devices on the Mac. Joystick manufacturers write drivers for their devices that communicate with games about the elements of the joystick. Some examples of elements are buttons, controllers, directional pads, and others that are common to game-related input devices. Games that use InputSprocket can interact directly with these elements, eliminating the need for the elements to be emulated through the mouse or keyboard.

You can create your own interface for choosing the active game device and assigning functions to game controls, but InputSprocket provides a standard user interface for you.

Figure 2. InputSprocket Interface.

For a game input device to work with InputSprocket, a driver must be written for that device. As of the writing of this article, no joystick manufacturers shipped InputSprocket drivers for their products, but companies such as Gravis and Thrustmaster have demonstrated prototype InputSprocket drivers. InputSprocket has problems working with some third-party input devices such as Kensington mice, but Apple developers are working to fix this problem.

QuickDraw 3D RAVE

QuickDraw 3D RAVE (Rendering Acceleration Virtual Engine) is a Hardware Abstraction Layer (HAL) that allows game developers who write their own 3D rendering engines (as does Bungie for Marathon) to take advantage of the features offered by 3D accelerator cards when they are present. QuickDraw 3D Rave is a stripped-down version of QuickDraw 3D, and it is highly optimized, making it ideal for game developers who need every amount of speed they can get.

Games communicate with QuickDraw 3D RAVE by converting their rendered images into triangles, which RAVE then sends to the accelerator card if present, or otherwise emulates in software. In addition to supporting 3D accelerator cards, RAVE will soon be cross-platform, allowing game developers to easily port their low-level 3D rendering code.

SoundSprocket

3D games are the rage nowadays. This is evident by the huge sales of games like Doom and Marathon. Along with freedom of movement comes the responsibility to make the user experience as realistic as possible. Players are expecting to be drawn into their games more and more as computer processing power increases. 3D sound adds an extra dimension of reality and helps the game developer write really cool games.

Figure 3. Configuring a Sound Device for 3D Sound.

SoundSprocket adds the capability of making sounds appear to come from positions relative to the game player. This allows realistic feedback such as: "The aliens are to my left!" and can make game play much more enjoyable. Like all the other sprockets, SoundSprocket provides a standard user interface for configuring sound output devices to take maximum advantage of their 3D sound capabilities.

Future versions of SoundSprocket promise to add effects such as altering sound as it travels through the environment. Sound will be heard differently based on the humidity of the environment, and will even be able to travel through dense fog or water. Sound will also reverberate by bouncing off walls.

You don't have to have a 3D game to benefit from 3D sound. Most games that use sound effects can benefit from more realistic sound and a more in-depth user experience.

NetSprocket

As adrenaline pulses through your veins, your finger slips from sweat as you pull at the trigger. The force from the rocket blast kicks you back. Splat! A direct hit. You drool in ecstasy as your opponent's corpse splatters to the ground. Are you competing in Bloodsport? No- you have just finished off the last of your assailants in a networked game of Marathon. Unlike competing against a personality-less computer, going head-to-head with your best friends (or even your enemies) can be a heck of a good time.

Macs have been one of the easiest platforms to network together since their introduction. Setting up a local area network is as simple as connecting a cable between two Macs. This ease of use takes most of the pain out of adding networking to Mac games. However, because there are many different protocols that a network might support (IP, IPX, AppleTalk, Serial, etc.), a game developer probably won't have time to implement all of these protocols in addition to testing the reliability of their network code.

NetSprocket provides a set of high-level routines designed specifically to help developers add networking code to their games. NetSprocket hides the low-level details of the network from the programmer and takes care of many tasks that the developer would otherwise be forced to implement.

Figure 4. Hosting a Network Game.

Figure 5. Joining a Network Game.

NetSprocket is based on a client/server architecture in that one player acting as a server hosts a game session, and other players join as clients to the network game. In the future, NetSprocket will provide more models other than the client/server model for interacting between networked players. NetSprocket hides the implementation details of supporting various protocols, saving the developer time needed to re-write the networking code for each protocol. NetSprocket is fast and fault tolerant - when one computer in the networked game crashes, it doesn't bring down everyone else. Since the low-level network code is already written, NetSprocket can save a game developer hundreds of hours of work.

NetSprocket assigns each player a player ID and a player type. Player types might include referees, observers, and participants. Players can belong to groups (red team, black team, etc.).

A networked game works like a conversation - players pass messages back and forth. This communication activity is known as a protocol. A network protocol is very much like a conversation - players ask questions and wait for responses. Although NetSprocket makes it very easy to pass messages between networked players, knowledge of designing protocols is important. Fortunately, designing protocols is not a difficult topic to learn, and can end up being somewhat addicting. (Or maybe it's just me?)

To Infinity and Beyond

Apple is not supporting 68k machines with its Game Sprockets architecture. Until Apple develops 68k versions of Game Sprockets, Game Sprocket developers must limit their audience to PowerMac users.

Apple has a tarnished reputation for settling for complacency when it releases new technologies to developers (see QuickDraw GX, AOCE). In order for Game Sprockets to thrive, Apple must provide game developers with an abundance of tools, source code, and updates to the existing API. Thankfully, Apple has been doing a good job with Game Sprockets, keeping updates coming steadily and keeping in touch with the developers who use the technologies.

Apple's Game Sprockets are definitely a step in the right direction if they want to remain a competitive OS solution into the future. I look forward to seeing games released that take advantage of the features that are offered. Thank you to those people within Apple who are working hard to bring more cool games to the Mac!

Footnote

The Internet is a great place to find information on Apple's Game Sprocket architecture. Here are some URL's that can help you get started.

Apple's Game Sprocket Page

http://dev.info.apple.com/evangelism/games/games.html

Developer University Course- Game Development with Sprockets

http://devworld.apple.com/dev/du/Using_Game_Sprockets/Using_Sprockets.html

Licorice Web Page for Game Sprocket Developers

http://www.viperware.com/licorice

 
AAPL
$102.50
Apple Inc.
+0.25
MSFT
$45.43
Microsoft Corpora
+0.55
GOOG
$571.60
Google Inc.
+2.40

MacTech Search:
Community Search:

Software Updates via MacUpdate

Skype 6.19.0.450 - Voice-over-internet p...
Skype allows you to talk to friends, family and co-workers across the Internet without the inconvenience of long distance telephone charges. Using peer-to-peer data transmission technology, Skype... Read more
VueScan 9.4.41 - Scanner software with a...
VueScan is a scanning program that works with most high-quality flatbed and film scanners to produce scans that have excellent color fidelity and color balance. VueScan is easy to use, and has... Read more
Cloud 3.0.0 - File sharing from your men...
Cloud is simple file sharing for the Mac. Drag a file from your Mac to the CloudApp icon in the menubar and we take care of the rest. A link to the file will automatically be copied to your clipboard... Read more
LibreOffice 4.3.1.2 - Free Open Source o...
LibreOffice is an office suite (word processor, spreadsheet, presentations, drawing tool) compatible with other major office suites. The Document Foundation is coordinating development and... Read more
SlingPlayer Plugin 3.3.20.505 - Browser...
SlingPlayer is the screen interface software that works hand-in-hand with the hardware inside the Slingbox to make your TV viewing experience just like that at home. It features an array of... Read more
Get Lyrical 3.8 - Auto-magically adds ly...
Get Lyrical auto-magically add lyrics to songs in iTunes. You can choose either a selection of tracks, or the current track. Or turn on "Active Tagging" to get lyrics for songs as you play them.... Read more
Viber 4.2.2 - Send messages and make cal...
Viber lets you send free messages and make free calls to other Viber users, on any device and network, in any country! Viber syncs your contacts, messages and call history with your mobile device,... Read more
Cocktail 7.6 - General maintenance and o...
Cocktail is a general purpose utility for OS X that lets you clean, repair and optimize your Mac. It is a powerful digital toolset that helps hundreds of thousands of Mac users around the world get... Read more
LaunchBar 6.1 - Powerful file/URL/email...
LaunchBar is an award-winning productivity utility that offers an amazingly intuitive and efficient way to search and access any kind of information stored on your computer or on the Web. It provides... Read more
Maya 2015 - Professional 3D modeling and...
Maya is an award-winning software and powerful, integrated 3D modeling, animation, visual effects, and rendering solution. Because Maya is based on an open architecture, all your work can be scripted... Read more

Latest Forum Discussions

See All

Rhonna Designs Magic (Photography)
Rhonna Designs Magic 1.0 Device: iOS Universal Category: Photography Price: $1.99, Version: 1.0 (iTunes) Description: Want to sprinkle *magic* on your photos? With RD Magic, you can add colors, filters, light leaks, bokeh, edges,... | Read more »
This Week at 148Apps: August 25-29, 2014
Shiny Happy App Reviews   | Read more »
Qube Kingdom – Tips, Tricks, Strategies,...
Qube Kingdom is a tower defense game from DeNA. You rally your troops – magicians, archers, knights, barbarians, and others – and fight against an evil menace looking to dominate your kingdom of tiny squares. Planning a war isn’t easy, so here are a... | Read more »
Qube Kingdom Review
Qube Kingdom Review By Nadia Oxford on August 29th, 2014 Our Rating: :: KIND OF A SQUARE KINGDOMUniversal App - Designed for iPhone and iPad Qube Kingdom has cute visuals, but it’s a pretty basic tower defense game at heart.   | Read more »
Fire in the Hole Review
Fire in the Hole Review By Rob Thomas on August 29th, 2014 Our Rating: :: WALK THE PLANKUniversal App - Designed for iPhone and iPad Seafoam’s Fire in the Hole looks like a bright, 8-bit throwback, but there’s not enough booty to... | Read more »
Alien Creeps TD is Now Available Worldwi...
Alien Creeps TD is Now Available Worldwide Posted by Ellis Spice on August 29th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Dodo Master Review
Dodo Master Review By Jordan Minor on August 29th, 2014 Our Rating: :: NEST EGGiPad Only App - Designed for the iPad Dodo Master is tough but fair, and that’s what makes it a joy to play.   | Read more »
Motorsport Manager Review
Motorsport Manager Review By Lee Hamlet on August 29th, 2014 Our Rating: :: MARVELOUS MANAGEMENTUniversal App - Designed for iPhone and iPad Despite its depth and sense of tactical freedom, Motorsport Manager is one of the most... | Read more »
Motorsport Manager – Beginner Tips, Tric...
The world of Motorsport management can be an unforgiving and merciless one, so to help with some of the stress that comes with running a successful race team, here are a few hints and tips to leave your opponents in the dust. | Read more »
CalPal Update Brings the App to 2.0, Add...
CalPal Update Brings the App to 2.0, Adds Lots of New Stuff Posted by Ellis Spice on August 29th, 2014 [ permalink ] | Read more »

Price Scanner via MacPrices.net

Apple now offering refurbished 21-inch 1.4GHz...
The Apple Store is now offering Apple Certified Refurbished 21″ 1.4GHz iMacs for $929 including free shipping plus Apple’s standard one-year warranty. Their price is $170 off the cost of new models,... Read more
Save $50 on the 2.5GHz Mac mini, on sale for...
B&H Photo has the 2.5GHz Mac mini on sale for $549.99 including free shipping. That’s $50 off MSRP, and B&H will also include a free copy of Parallels Desktop software. NY sales tax only. Read more
Save up to $300 on an iMac with Apple refurbi...
The Apple Store has Apple Certified Refurbished iMacs available for up to $300 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free. These are the best prices on... Read more
The Rise of Phablets
Carlisle & Gallagher Consulting Group, a businesses and technology consulting firm focused solely on the financial services industry, has released an infographic depicting the convergence of... Read more
Bad Driver Database App Allows Good Drivers t...
Bad Driver Database 1.4 by Facile Group is a new iOS and Android app that lets users instantly input and see how many times a careless, reckless or just plain stupid driver has been added to the... Read more
Eddy – Cloud Music Player for iPhone/iPad Fre...
Ukraine based CapableBits announces the release of Eddy, its tiny, but smart and powerful cloud music player for iPhone and iPad that allows users to stream or download music directly from cloud... Read more
A&D Medical Launches Its WellnessConnecte...
For consumers and the healthcare providers and loved ones who care for them, A&D Medical, a leader in connected health and biometric measurement devices and services, has launched its... Read more
Anand Lal Shimpi Retires From AnandTech
Anand Lal Shimpi, whose AnandTech Website is famous for its meticulously detailed and thoroughgoing reviews and analysis, is packing it in. Lal Shimpi, who founded the tech site at age 14 in 1997,... Read more
2.5GHz Mac mini, Apple refurbished, in stock...
The Apple Store has Apple Certified Refurbished 2.5GHz Mac minis available for $509, $90 off MSRP. Apple’s one-year warranty is included, and shipping is free. Read more
13-inch 2.5GHz MacBook Pro on sale for $999,...
B&H Photo has the 13″ 2.5GHz MacBook Pro on sale for $999.99 including free shipping plus NY sales tax only. Their price is $100 off MSRP. Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Senior Event Manager, *Apple* Retail Market...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global event strategy. Delivering an overarching brand story; in-store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.