WhitehorseGames Pioneering Palm Games
Tiger '99 for PalmOS - FAQ
The Making of Tiger Woods PGA Tour Golf for Palm OS
At the time, the PalmPilot was the province of hobbyists. No professional game developer had ever written a game for the platform. This left us with a relatively clean slate for design philosophy.
We didn't intend to be ambitious -- not at first. We planned simply to convert an existing Nintendo Game Boy golf game to run on Palm OS. Unfortunately, Electronic Arts had lost all its archived source code from its Game Boy golf games, so we resolved to write one from scratch, borrowing heavily from previous Game Boy designs.
Superficially, Game Boy looks like a good model for Palm games. The device is the same size and shape, and its performance is relatively similar to that of a 1998-vintage PalmPilot. While the PalmPilot's 16 MHz 68000 processor was significantly faster than the Game Boy's 6502, the Game Boy had hardware support for scrolling playfields and sprites -- features naturally lacking on the general-purpose Palm platform. On the whole, though, the performance was comparable.
Certainly there were those in the Palm community that agreed. For example, in our early meetings with Jeff Hawkins at Handspring, we noticed Jeff carried a GameBoy around in his bag.
The difference between the platforms -- obvious to gamers (and Jeff, of course), but more subtle to everyone else -- is in user interface. The Palm buttons in 1998 -- and, to some degree, today -- were unusable in a twitch gaming environment. There was no joypad, and button action was too slow: travel was too long, spring load was too weak, the button was recessed too far into the enclosure, and the buttons were too far apart. There was also no comfortable way to hold the Palm and press buttons with both thumbs. We dropped several PalmPilots this way before deciding to stick with a stylus-based user interface.
A primary technical challenge in Tiger Woods for Palm was the scrolling playfield. Keep in mind that Palm handhelds today (2004) are more than 100 times faster than in 1998. Blitting is so simple that there's not much you can do to be clever algorithmically. It's a matter of writing really fast assembly code. Bill Mitchell had a lot of previous experience with this, both on the Apple II and 3DO game platforms. So Whitehorse soon had what was then the fastest blitter on the Palm platform.
Tiger also presented a tools development challenge. We needed to create three scale models of actual golf courses. They needed to be large, compressible, and to interface well with the ball motion software. And a non-technical game designer needed to be able to design the courses with minimal programmer interaction.
We chose a scheme that had been popular at least as far back as the early 1980s: tiled playfields. The artist created a map of the golf course in Photoshop. Each pixel of the map corresponded to a single tile in the game. The RGB color value of that pixel corresponded to a legend of tiles. This system was labor intensive for the artist, but allowed the easy creation of a "golf course compiler" that generated binary output for use in the game.
Eric's biggest challenge on this project was probably the ball physics model. He discovered a 1960s-vintage book that broke down the physics of ball motion, and at first he implemented this dutifully. Then it turned out to be too slow, and was progressively simplified to permit faster and better play.
Eric also made other amazing technical contributions to Whitehorse.