Skip to content.

[Tyrell]

Perfection Of Execution Built On The Foundation Of Core Development Principles

Macintosh Game Porting

Macintosh Game Porting

Please see our Porting page for more information.

Tyrell is responsible for porting or enhancing the following titles for the Mac platform.

Dynamix: Tribes

This port was in a playable alpha state after three months of effort, when market issues at Sierra, Dynamix's parent company, forced the cancellation of this and other projects. The only remaining items to complete were related to memory management.

Tribes utilized OpenGL and its networking code was interoperable with PC clients. We used TyrellObjects to emulate Win32 window manager calls, networking API (including the necessary endian-swapping), and various DirectX functionality, including keyboard control.

We were able to utilize 100% of the original game data.

Broderbund/Presage: KidPix for Macintosh

This project was an enhancement for KidPix, a very popular painting program for Windows and Macintosh. The update added twelve cultural themes of teacher-created materials, such as mountains and deserts.

Presage worked on the Windows version, and sub-contracted us for Mac version. For the most part we dealt with Broderbund directly.

It was necessary to become familiar with this program quickly, as the scheduled delivery date was very aggressive. Once we came up-to-speed, we were able to turn around each theme in one week. We worked with their existing QA team and the team creating the new assets.

Interplay: Star Fleet Academy

This product was designed to be cross-platform from the beginning, so the only features missing were accelerated 3D graphics, and networking, which had to be compatible with the Windows version.

We used RAVE for the graphics support, and OpenTransport and an SPX/IPX library for networking. This game had high requirements for network throughput, and polling obviously wasn't an option. We developed a networking queue, integrated with the game's high-level networking API, that used asynchronous I/O calls to keep up with the demand for network data.

Mindscape: Student Reference Library

This multi-media title was a competitor to Microsoft Encarta that needed to be ported to Macintosh from Windows.

We encountered a number of issues with this port. It was written in C++ using the MFC framework, which had no viable counterpart on the Mac. It also utilized a lot of 3rd-party libraries, including a multi-media engine, and the C-Index ISAM database. Some of the libraries lacked support for the Mac.

We ported these Windows-only libraries to the Mac after receiving the source. This application was Win32 and MFC throughout, and emulating that wasn't practical — so we rewrote the front-end. Since the MFC CString class was used throughout the project, it wasn't manageable to replace every use of this class with something else, so we created a semantically and syntactically equivalent clone that was Mac memory-management-savvy.

All provided database files, media files, including AVI and WAV files, and other assets were reused as-is, which simplified QA and greatly reduced the chance of post-production errors. Intel's AVI codec for QuickTime was used for AVI playback — Mindscape was expecting all the movies would be converted to QuickTime format, but were very pleased to see that wasn't necessary.

We produced a Hybrid-CD that contained the Mac and Windows version, which Mindscape didn't even think would be possible. However, marketing decisions resulted in the Mac and Windows versions being shipped separately.

This product also interacted with web browsers using AppleEvents.

Interplay: Star Trek Judgment Rights Collectors Disc

Judgment Rights shipped with a bonus disc containing an interactive virtual-bridge of the starship Enterprise that led to interviews of Gene Roddenberry, and Leonard Nimoy. This custom Win32 application was ported to the Mac using our TyrellObjects emulation layer to maximize reuse.

Electric Dreams / Mindscape: Angel Devoid

This game was ported from DOS in two months, using the Duck engine and a thin abstraction layer. Duck had some issues on the Mac, which we helped them with. All of the original game data was reused.

Interplay: Voyuer for CDI

This was a challenging project, porting a video-intensive Philips CDI title to the Mac. The CDI file format was proprietary, so we had to do a full post-production data-conversion to QuickTime.

It was essential that the video use a variable frame-rate to maximize compression and frame throughput, but there were no QuickTime tools that supported variable frame-rate video at the time, even though QuickTime itself supported it.

We had the original video sources, background tracks and the blue-screened actor tracks. We merged these tracks into one track using a custom-written tool using the alpha-channel support in QuickTime, which even our QuickTime engineering contact at Apple didn't think would work!

The rest of the game was also a 100% re-write, having to implement much of the CDI player's functionality. Leveraging QuickTime heavily, the entire project took three months to complete.

In the end, we had excellent performance, easily on par with CDI hardware on typical Mac hardware.

The DOS porting team (Tyrell only worked on the Mac version) had serious problems though, since they didn't have QuickTime at their disposal.

Bongenrief Software: Destiny

Officially, this was Tyrell's first game port. Destiny was a Zork-like game, with pictures, written in BASIC for the Apple ][. We ported this game to the Macintosh in 1985, using Pascal, of course!

The original developer for the port ditched the publisher after delivering only the binary of an Apple ][ byte-code to Macintosh translator.

Tyrell reverse-engineered the translator, re-implemented it, and completed the rest of the port.

Case Studies: Shared Successes
 
 

Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: