DDJ Special Issue 1996 - GAMES GRAPHICS MULTIMEDIA


FEATURES

Games Programming with DirectPlay

by Chris Howard

DirectPlay, which comes with the Windows 95 Game SDK, provides communication services for your games. Chris examines DirectPlay by presenting a multiplayer game, while Jim Mischel adds a few DirectPlay "gotchas" he discovered the hard way.

Designing Isometric Game Environments

by Nate Goudie

As computer games became more sophisticated, simple tile-based games have given way to the isometric point of view and 3-D effects.

Designing a Distributed Simulation Game

by Ron van der Wal

Ron describes a simulation game he helped design, focusing on the communications facilities that allow it to run on top of several different protocols.

Your Own Two-Dimensional Gaming Engine

by Mark Seminatore

Mark's 2-D game engine includes modules that support VGA displays, keyboard, animation, and file management.

A MIDI Class in C++

by George Wright

George uses the VisualAge C++ collection classes to develop event, track, and MIDI file classes that produce realistic-sounding audio.

Programming with OpenGL Primitives

by Ron Fosner

OpenGL is a graphics API that allows portable, hardware-assisted 3-D rendering.

COLUMNS

Ramblings in Real Time

by Michael Abrash

Michael analyzes the rationale behind Quake's hidden-surface removal and looks at the pros and cons of sorting edges by BSP order or 1/z.

DTACK Revisited

by Hal W. Hardenbergh

CPU vendors' eyes are sometimes bigger than their stomachs, at least when it comes to delivery on performance promises.

20/20

by Al Williams

This month, Al shows you how to create DLLs using Visual Basic 4.0 and Borland's Delphi 2.0.

Software and the Law

by Marc E. Brown

If you earn your living working with third-party software, give careful thought to the legal ramifications of interfacing with software written by someone else.

The Software Engineer

by Allen Holub

In his return to Dr. Dobb's, Allen describes what it takes to get into the object-oriented design game.

Editorial

by Tim Kientzle