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

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

TextSoap 8.4.8 - Automate tedious text d...
TextSoap can automatically remove unwanted characters, fix up messed up carriage returns, and do pretty much anything else that we can think of to text. Save time and effort. Be more productive. Stop... Read more
Air Video Server HD 2.3.0-beta1u1 - Stre...
Air Video Server HD streams videos instantly from your computer on your iPhone, iPad, iPod touch or Apple TV. No need to worry about converting or transferring files. We took everything that was... Read more
MacFamilyTree 8.4.2 - Create and explore...
MacFamilyTree gives genealogy a facelift: modern, interactive, convenient and fast. Explore your family tree and your family history in a way generations of chroniclers before you would have loved.... Read more
Chromium 70.0.3538.67 - Fast and stable...
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. Version 70.0.3538.67: This update includes 23... Read more
Opera 56.0.3051.52 - High-performance We...
Opera is a fast and secure browser trusted by millions of users. With the intuitive interface, Speed Dial and visual bookmarks for organizing favorite sites, news feature with fresh, relevant content... Read more
Things 3 3.7.2 - Elegant personal task m...
Things is a task management solution that helps to organize your tasks in an elegant and intuitive way. Things combines powerful features with simplicity through the use of tags and its intelligent... Read more
OmniFocus 3.1.1 - GTD task manager with...
OmniFocus helps you manage your tasks the way that you want, freeing you to focus your attention on the things that matter to you most. Capturing tasks and ideas is always a keyboard shortcut away in... Read more
QuarkXPress 14.1.0.0 - Desktop publishin...
QuarkXPress 2017 is the new version that raises the bar for design and productivity. With non-destructive graphics and image editing directly within your layout, you no longer have to choose between... Read more
Chromium 70.0.3538.67 - Fast and stable...
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. Version 70.0.3538.67: This update includes 23... Read more
Opera 56.0.3051.52 - High-performance We...
Opera is a fast and secure browser trusted by millions of users. With the intuitive interface, Speed Dial and visual bookmarks for organizing favorite sites, news feature with fresh, relevant content... Read more

It's up to you to decide the winner...
Thursday is the day when most of the new releases come out on the App Store. It's also the day when we pick what we think are the best five games that have come out over the last seven days. Then we pose you, our readers, a simple question - which... | Read more »
Grimvalor is last week's 148Apps iP...
What a week it has been here at 148Apps towers. We've been swamped, which means we're a bit late letting you know what last week's game of the week was. Don't worry though, we're here now, and we can reveal that Grimvalor takes away the prize. It... | Read more »
My scariest mobile game - Final Fantasy...
This is going to be a bit of a weird one, but bear with me. The game that has scared me the most isn't a horror experience (don't get me wrong, I won't go outside if it's foggy thanks to Silent Hill 2), it's actually Final Fantasy 7. Sounds... | Read more »
My scariest mobile game - Final Fantasy...
This is going to be a bit of a weird one, but bear with me. The game that has scared me the most isn't a horror experience (don't get me wrong, I won't go outside if it's foggy thanks to Silent Hill 2), it's actually Final Fantasy 7. Sounds... | Read more »
Dragalia Lost Daily Tasks Guide
Part of what makes gacha games compelling (and sometimes annoying) is their grind. You’re always supposed to be advancing something in these games, meaning you need to be checking in on your progress once or multiple times a day to make sure you’re... | Read more »
Why I'm looking forward to Stardew...
Last week I read the words I'd been hoping for and got so excited I almost cried: Stardew Valley is coming to mobile on October 24th. While, my colleagues know of my love for the game I think my reasons behind it have always been a bit of a... | Read more »
The best games for iPhone - The definiti...
Hi there, and welcome to our ever-increasing list of the very best games for iPhone. We're going to be updating this regularly with new content, so make sure you check back often, because you're not going to want to miss out on even one of the... | Read more »
Mad Rocket: Fog of War is the next big b...
Mad Rocket: Fog of War is the latest title from pblisher Four Thirty Three, and it’s a game that will have you rethinking your approach to strategic war games. In this new base-building card battler, you’ll be invading bases enshrouded in thick fog... | Read more »
These are the 5 best iPhone games like N...
There's a Mario game on the App Store nowadays, but if it hasn't quite sated your desires to fiddle with an Italian plumber while you're out and about, we've got some suggestions that might help. That's right, it's a list of games like Mario for... | Read more »
Everything You Need to Know About Dragal...
As of this writing, you’re no longer able to take on Phraeganoth or any of the other content in Loyalty’s Requiem. Dragalia Lost will just go back to its original state at launch… or will it? | Read more »

Price Scanner via MacPrices.net

Apple drops prices on Series 3 GPS Apple Watc...
Apple has restocked Certified Refurbished Series 3 Apple Watch GPS models starting at only $239. Apple’s standard 1-year warranty is included, and shipping is free. Numerous bands are available: –... Read more
Apple now offering Certified Refurbished 2018...
Apple is now offering Certified Refurbished 2018 13″ 2.3GHz Touch Bar MacBook Pros for $270-$300 off the cost of new models, with prices starting at $1529. Apple’s refurbished prices are the lowest... Read more
21″ and 27″ iMacs available starting at only...
Apple has a full line of Certified Refurbished iMacs available for up to $350 off original MSRP. Apple’s one-year warranty is standard, and shipping is free. The following models are available: – 27... Read more
Apple offers a wide range of refurbished iPad...
Apple has Certified Refurbished 2017 10.5″ iPad Pros available for $100-$170 off MSRP, depending on the model. An Apple one-year warranty is included with each model, and shipping is free: – 64GB 10... Read more
Get a new 2018 13″ 2.3GHz Touch Bar MacBook P...
B&H Photo has new 2018 13″ 2.3GHz/256GB Touch Bar MacBook Pros on sale for $100 off MSRP. Shipping is free at B&H, and they charge sales tax for residents of NY & NJ only: – 13″ 2.3GHz/... Read more
Order a new 2018 15″ MacBook Pro from Adorama...
Adorama is offering new 2018 15″ Touch Bar MacBook Pros for up to $300 off MSRP. Shipping is free, and they charge sales tax for residents of NY & NJ only: – 15″ 2.2GHz Touch Bar MacBook Pros (... Read more
2017 15″ 2.9GHz Touch Bar MacBook Pro availab...
Adorama has clearance 2017 high-end 15″ 2.9GHz Space Gray Touch Bar MacBook Pros available for $2099 or $700 off original MSRP. Shipping is free, and Adorama charges sales tax in NJ and NY only: – 15... Read more
Apple restocks factory refurbished 13″ MacBoo...
Apple has Certified Refurbished 2017 13″ MacBook Airs available again starting at $849. An Apple one-year warranty is included with each MacBook, and shipping is free: – 13″ 1.8GHz/8GB/128GB MacBook... Read more
Apple May Have ‘One More Thing…’ To Announce...
NEWS: 10.15.18- Steve Jobs, the late co-founder of Apple, Inc. and its former CEO, was famous for ending his keynote addresses that unveiled the tech giant’s newest products with “one more thing…”... Read more
How to use Apple’s Education discount to save...
Purchase a new Mac using Apple’s Education discount, and take up to $400 off MSRP. All teachers, students, and staff of any educational institution with a .edu email address qualify for the discount... Read more

Jobs Board

LPN/CMA - St. Paul and *Apple* Valley Urgen...
LPN/CMA - St. Paul and Apple Valley Urgent Care + Job ID: 50254 + Department: SP Urgent Care + City: St Paul, MN + Location: HP - St Paul Wabasha St Clinic + Read more
*Apple* Mobile Master - Best Buy (United Sta...
**647233BR** **Job Title:** Apple Mobile Master **Job Category:** Store Associates **Location Number:** 000532-Framingham-Store **Job Description:** **What does a Read more
Best Buy *Apple* Computing Master - Best Bu...
**651117BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Sales **Location Number:** 000504-Gwinnett-Store **Job Description:** **What does a Read more
Geek Squad *Apple* Master Consultation Agen...
**651575BR** **Job Title:** Geek Squad Apple Master Consultation Agent **Job Category:** Services/Installation/Repair **Location Number:** 001128-Vallejo-Store **Job Read more
Sephora Product Consultant - *Apple* Blosso...
Sephora Product Consultant - Apple Blossom Mall Location:Winchester, VA, United States- Apple Blossom Mall 1850 Apple Blossom Dr Job ID:1056553 Date:October Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.