Developing Games for OS/2 Warp Made Easy

by Lynette Mitchell and Herman Rodriguez

Did you know that more money is being spent on games than box office movies? And did you know that last year, sales of PCs surpassed those of TV sets? The volume of PC sales also has created an unprecedented demand for multimedia software in just about every segment of the industry, and it appears that the thirst for that software is particularly acute in the consumer market (that is, games and multimedia titles).

If you're a game developer, IBM wants to give you the tools you need to create all this new content. Entertainment software developers, in particular, have had to fend for themselves--they view the support in an operating system such as OS/2 or Windows as an impediment to getting their job done. Graphics performance (a fundamental attribute in just about every successful game) is cited as the major reason for not developing on those platforms and for staying with DOS. Until now.

The Developer Connection Entertainment Toolkit for OS/2 Warp (Beta) enhances OS/2's support by providing unique features required by games and entertainment software developers. With this toolkit, we're delivering required function to you in a timely fashion (getting the tools and technology into your hands as soon as they are available). The components of this toolkit provide increased graphics performance, standard interfaces, enhanced audio support (real-time MIDI, Direct Audio), joystick support, 3D Graphics support, and networking support, thus making OS/2 an even more attractive platform for game developers.

The underlying motif of the toolkit is to give access to hardware features previously accessible only by running on DOS. The toolkit also demonstrates how to use its tools through programming tutorials.

The Developer Connection Entertainment Toolkit for OS/2 Warp (Beta) contains the following:
 * OS/2 Warp Video - This component allows very fast access to the display subsystem in a device-independent way. The provided functions allow for high-performance blitting, stretching and full-screen video buffer control, in addition to hardware video control. The backbone of this improved support is full-screen DIVE, which provides the means to manage the display through a set of objects that represent the display hardware, the drawing surface and display buffer, and the association of palettes with a drawing surface as well as color conversion.
 * OS/2 Warp Audio - This component allows high-speed, direct control of the audio device (Direct Audio) in addition to improved MIDI support (real-time MIDI). OS/2 Warp Audio gives you access to the features provided by a real-time MIDI interface device driver through a collection of node instances and links known as a node network. This network directs the flow of MIDI data in the system, with optional manipulation and transformation of the data. The Direct Audio interface was created to provide a high-speed mechanism for applications that could not be accomplished with any currently existing OS/2 Multimedia interface. Performance is enhanced with this support by eliminating the Wave-Audio device and providing a mechanism for communicating directly with the Amp-Mixer device.
 * OS/2 Warp Input - Joystick support is included through a driver that includes a physical device driver for OS/2 applications and a virtual device driver for DOS applications. Calibration of the joystick is included to adjust the joystick position and button layout.
 * 3D Support - Argonaut's BRender Blazing Rendering System for OS/2 Warp allows for the production of real-time 3D graphics. The toolkit contains the complete commercially available BRender development environment. BRender's 3D library is included for development purposes. The license to distribute must be arranged through Argonaut Technologies Limited. To BRender's renderer, the world is a tree called the Actor Hierarchy. The renderer accepts the root actor of a tree and traverses the entire tree to render the scene (that is, everything that can be seen in the scene, plus cameras and lights). Each actor contains all the information BRender needs to display it, or to calculate its contribution to the scene. If the actor represents an object, there is a description of its shape, color, and so on. If the actor represents a light, there is a pointer to its direction, angle of illumination, and so on.
 * OS/2 Warp Net - This component simplifies communications programming of a multiplayer game. A game that is OS/2 Warp Net-enabled can have multiple participants play against each other or even cooperate as a team. Multiple participation is not limited to individual players, so a participant can be several individual players that comprise a team. Multiple protocols are supported. However, for the summer 1995 Beta, only TCP/IP-based communication is included. Nonetheless, the programming interface hides the complexities of managing multiple protocols. OS/2 Warp Net does not dictate the message content of a communications packet. It provides communications support in a device-independent manner and manages system resources on behalf of users.

A Final Thought
We expect the next Beta (available in late 1995) to offer enhanced support and additional features. Additional technology, documentation, and support prior to that distribution will be available through the OS/2 Games Home Page on the World Wide Web (http://www.austin.ibm.com/os2games). We would also like to receive any feedback and comments you might have to help us develop better support for you.