home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 14 Text
/
14-Text.zip
/
os2gamet.zip
/
OS2GAME.TXT
Wrap
Text File
|
1995-03-31
|
115KB
|
2,735 lines
OS/2 WARP FOR PLAYING AND DEVELOPING PC GAMES
Wayne Caswell
IBM Corporation
January 1995
ABSTRACT: This document focuses on specific OS/2 Warp
features that apply to PC gaming. It assumes that the
reader is already familiar with OS/2 as a PC operating
system.
The first section, "OS/2 Warp for PC Gamers," describes OS/2
as a games platform, solving many of the problems PC users
face when playing games under DOS or Windows, and helping to
usher in a new breed of high-performance 32-bit games. It
is being publishied as an article in IBM Personal Software
Technical Newsletter, Issue 1, 1995. "Personal Software"
is delivered to PC and OS/2 user groups and is also
available in softcopy form on the Internet World Wide Web
(htpp://www.austin.ibm.com/pspinfo/ibmpcug.html).
The second section, "OS/2 Warp for PC Game Developers,"
describes unique advantages OS/2 has as a development
platform and contains detailed information for program
developers. It is being published in the May/June 1995
issue of IBM Personal Systems Technical Solutions magazine.
For either a single issue or a subscription to Personal
Systems magazine, call 1-800-678-8014.
DISCLAIMER: Some sections of this paper may include
information concerning future products or future releases of
products currently commercially available. The description
and discussion of IBM's future products, performance,
functions, and availability are based upon IBM's current
intent and are subject to change.
The information contained in this paper has not been
submitted to any formal IBM test and is distributed on an
"as is" basis without any warranty either express or
implied. The use of this information or the implementation
of any of these techniques is a customer responsibility and
depends on the customer's ability to evaluate and integrate
them into the customer's operational environment. While
each item may have been reviewed by IBM for accuracy in a
specific situation, there is no guarantee that similar
outcomes will result elsewhere. Customers attempting to
adapt these techniques to their own environments do so at
their own risk. This information is not intended to be an
assertion of future action or a commitment to deliver
products.
The authors (and IBM) may use or distribute any information
you supply in any way believed appropriate without incurring
any obligation whatever.
COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 1995.
ALL RIGHTS RESERVED.
Comments & corrections concerning this paper may be sent to:
Wayne Caswell
IBM, internal zip 2999
11400 Burnet Rd.
Austin, TX 78758
1-512-823-1746 (voice)
1-512-823-2733 (fax)
WCASWELL@VNET.IBM.COM (INTERNET)
============================================================
TABLE OF CONTENTS
============================================================
OS/2 Warp for PC Gaming
PC Games versus Arcade & Game Boxes
32- versus 16- versus 8-Bit
Access to More Memory
OS/2 Warp Manages Memory
Multitasking and Multithreading
Child Proofing
Installing and Configuring DOS Games
Application Recognition Database
Save Settings
Default Subdirectory
Games Folder
Troubleshooting Your Games
Windows as a Game Platform?
BonusPak Reaches into Home Markets
Multimedia Features
IBM Works
IBM Internet Connection for OS/2
CompuServe Information Manager for OS/2
IBM Person to Person for OS/2
FaxWorks for OS/2
HyperACCESS Lite for OS/2
OS/2 Warp for PC Game Developers
Market Potential
Selecting APIs and Tools
Memory Management
Multitasking and Multithreading
Synchronizing Events and Actions
Direct Access to Video Buffers
Direct Interface video Extension (DIVE)
32-Bit Virtual I/O
Audio Support
Sharing Sound Cards
Playlists Provide Specific Game Support
Image and Photo CD Support
Motion (Indeo, Ultimotion, and MPEG)
Video Capture
Animation (FLI-FLC)
Device Drivers
Multiplayer Network Access
Migrating Existing Applications
Future Proofing
Symmetric Multiprocessing Systems
PowerPC
Human Centrics
Object Orientation
OS/2 Binaries
Native PowerPC Apps
New Toolkit for Developing Games
Objects and Classes
Client and Server Classes
World Objects
Subclasses of Container Class
Display Proxies
Speech Recognition
3-D Graphics
Joystick Support
Developer Support
IBM Developers Assistance Program
Developers Connection for OS/2
Conversion Tools (SMART)
Additional Support
Possible OS/2 Warp Game Scenario
Recommended DOS Settings
List of Games Recognized by OS/2 Warp
============================================================
OS/2 WARP FOR PC GAMING
============================================================
OS/2 is a PC operating system that has been around for
years, and is well known as the leading 32-bit PC operating
system for enterprise client/server computing. Now, IBM is
bringing this power to home and mobile users, and is turning
heads, with OS/2 Warp.
OS/2 Warp is the 32-bit, multitasking, multimedia,
crash-protected, Windows-friendly, Internet-accessed,
totally cool new way to run your computer.
It combines the performance and reliability of its 32-bit
heritage with new mobility and productivity features, such
as simplified installation, reduced memory requirements, a
BonusPak of productivity applications, Internet access,
LaunchPad, and a more responsive user interface. OS/2 Warp
lets you run lots of applications (written for OS/2, DOS,
Windows 3.1 and its upgrades, and Windows for Workgroups 3.1
and 3.11) on the same system at the same time.
This section for PC gamers describes OS/2 Warp as an ideal
games platform, solving many of the problems that PC users
face when playing games under DOS or Windows, and helping to
usher in a new breed of high-performance, 32-bit games.
PC GAMES VERSUS ARCADE & GAME BOXES
===================================
More money is spent on games (arcade games and PC games)
than on box-office movies, and 1994 sales of PCs surpassed
that of television sets. Traditionally, the dedicated arcade
and game boxes (such as Nintendo, Sega, and 3DO) have run
the high-speed, fast-twitch, adrenaline-pumping action games
popular with young males, leaving adventure and thinking
games to personal computers; but that is starting to change
with multimedia PCs and advanced operating systems like OS/2
Warp.
Game boxes are still less expensive and easier to install
and use than PCs. Just plug them into your TV and the wall
plug, and insert a game cartridge. There are no commands to
start a game, and navigation through the game is simple,
usually driven through a joystick that has just a few
buttons.
Although personal computers are likely to remain more
expensive than game boxes, they are on the same technology
curve and have the advantage of starting out as
multifunction devices -- but with more computing power; both
hard-disk and CD-ROM storage; the ability to support better
graphics, sound, and video; more user interface alternatives
such as keyboard, mouse, and speech and handwriting
recognition; and significantly greater flexibility and
expandability.
PC games have been able to offer greater richness, depth of
experience, and educational value. So parents, concerned
that their kids are spending too much time in front of
violent video games, are attracted by the types of games
offered on PCs. They use this as partial justification for
spending more for a PC, which can also be used for personal
productivity and business applications, than for a game box.
PCs are now starting to attract the action games, making
them an even better investment, and possibly replacing some
of the demand for game boxes. It's no wonder that the
manufacturers of video games are looking at the PC market
for ports of their games. Even shareware programs like Doom,
from Id Software, have proven that the PC can rival the
arcade and game controllers in offering engaging action and
excitement.
32- VERSUS 16- VERSUS 8-BIT
===========================
Over the last few years, we've seen game controllers move
from 8-bit models to 16-bit, with more function and the
ability to handle better graphics. 16-bit personal computers
have been available longer, and started a similar move to
more powerful 32-bit systems with the Intel i386. Now PCs
have moved through the 486 to Pentium and PowerPC
processors, but most of the software is still designed for
16-bit systems. That's like running your V8 engine on just
six cylinders.
OS/2 Warp, a 32-bit operating system, helps make 32-bit PCs
perform better, even when running old 16-bit games. The
newer 32-bit OS/2 games and applications can improve
performance even more, especially when compared to running
older 16-bit versions under the Windows operating
environment.
You may ask "What benefits does 32-bit processing bring to
games?" Without getting into details, you can summarize the
benefits as faster performance, richer content, better
compatibility with existing applications, and the ability to
do more than one thing at a time -- a real boon for games
that need to calculate their next moves while displaying
video or animation, synchronizing that with exciting sound,
and interacting with one or more users.
ACCESS TO MORE MEMORY
=====================
Today's computers come with more memory than they did a few
years ago, and accessing that additional memory gives game
developers the ability to handle superior graphics with
higher resolution and more colors. With extra memory,
programs can also do more, and offer richer, more life-like
experiences.
But DOS application developers have found that exploiting
that extra memory is not easy. DOS is a 16-bit operating
system, and as such can only address 1 million bytes of
information. Even with 32-bit computers that can address 2
gigabytes of memory, DOS still requires developers to design
programs in small 64 KB segments, and limits total memory
access to 640K bytes. (1 MB minus DOS control blocks = 640
KB.) The 64 KB memory segment is the result of DOS's
segmented memory model, which is carried over from the
circa-1980 CPM operating system that DOS was based on. CPM
ran on 8-bit computers that could only address 64 KB of
memory.
To gain access to the additional memory, developers have had
to rely on memory managers (EMS, XMS, or DPMI) or on other
tricks, including writing their own proprietary DOS
extenders. (To support older programs, OS/2 Warp simulates
these DOS extenders.)
OS/2 WARP MANAGES MEMORY
OS/2 programs no longer need to worry about managing memory.
Users accustomed to jumping through memory-management hoops
will be pleasantly surprised by OS/2 Warp, where they can
take advantage of built-in DOS memory management. OS/2 Warp
gives each DOS or Windows program up to 48 MB of combined
XMS/EMS memory, and up to 512 MB for each application
written to the DPMI specification. And Terminate and Stay
Resident (TSR) programs can be tucked neatly out of the way
by using the LOADHIGH command.
OS/2 Warp manages system memory, so you no longer have to do
this yourself. Because OS/2 Warp has built-in support for
more memory than you'll ever need, and lets your programs
access more virtual memory than you really have installed,
you no longer have to mess around with DOS extenders and the
CONFIG.SYS conflicts that often exist between DOS games.
You don't have to reboot with a different CONFIG.SYS each
time you want to run a different game. Instead, each game
runs in its own virtual DOS machine, with its own settings,
thus avoiding CONFIG.SYS conflicts. Some configuration
changes can even be made while the program is running.
Later, we'll see some suggested settings that are typical
for DOS games, but there's enough flexibility to handle
almost any DOS game.
OS/2 Warp even has the ability to boot a unique DOS session
from a diskette or disk image created on your hard disk,
while still running other applications. This is helpful if
you have an application that is written to a specific
version of DOS (e.g., PC DOS 2.1 or DR DOS). It's even
possible to run a copy of the pre-1980 version of CPM/86 in
this manner.
OS/2 Warp shatters the 640 KB memory barrier permanently
with its flat (or linear) memory model, giving OS/2 programs
as much memory as they need. There is no practical limit to
the amount of RAM that OS/2 applications can use -- the
system is capable of addressing up to 2 gigabytes of virtual
memory and more than 16 MB of physical memory.
OS/2 Warp can handle memory objects from just 1 byte in size
to 2 gigabytes, giving you flexibility at both the small and
very large ends of the software spectrum. OS/2 Warp
recognizes and uses all available memory, and also supports
virtual memory. As a result, OS/2 applications are not
limited by the amount of memory that is physically installed
in the system, and developers don't have to create (and
users don't have to buy) DOS extenders. And, they don't have
to deal with context switches between real-mode and
protect-mode memory.
OS/2 Warp's virtual memory manager treats hard-disk space as
if it were real RAM, limited only by the size of the hard
drive. OS/2 Warp silently and quickly swaps out to disk the
memory that hasn't been used recently, freeing up real
memory for active tasks. Because OS/2 Warp manages memory in
small 4 KB page frames instead of variable 64 KB program
segments, memory fragmentation and swapping is reduced, and
speed is increased. Rather than getting out-of-memory
errors, you get fast, efficient, virtual memory management
that makes the best of your computer resources.
In a few years, it won't be uncommon to find PCs with 64 MB
of RAM -- essentially today's mainframes on the desktop.
With so much memory, simulation games can be more realistic,
and action games can be more vivid. OS/2 Warp is ready for
this challenge.
MULTITASKING AND MULTITHREADING
===============================
Preemptive multitasking is what lets more than one program
task run at the same time. With this feature, your fax
software can answer a phone call and receive an incoming fax
transmission while your son continues playing with his
action game. The multitasking in Microsoft Windows and Apple
System 7, however, expects each application to cooperate and
voluntarily yield control to other programs -- not a very
likely scenario. With Windows and System 7, you'd either
receive the fax or play the game, but not both at once.
Multithreading is the ability to execute more than one
program thread at the same time -- within the same program.
Because this capability is so helpful (even required) for
games, many DOS developers wrote their own routines to
handle multiple program segments. With OS/2 Warp, this extra
code is not necessary, making OS/2 applications smaller and
easier to write.
CHILD PROOFING
==============
OS/2 Warp makes it possible for the same PC that's used to
run a home office to also be used for games and kids'
education.
Even before the advent of this newest OS/2 version, it was
reported by early adopters that OS/2 is the best PC platform
for kids, especially when set up by an adult. It rivals an
Apple Macintosh in ease of use, offers a richer choice of
applications than either DOS or Windows, and protects
applications from each other (or from kids). Kids, it seems,
learned quickly about which parts of the system they were
allowed to explore, and how to shut down the system when
they were done. Although it won't prevent very small kids
from spilling drinks on the keyboard or inserting foreign
objects into diskette drives, OS/2 Warp adds a level of
protection that helps make parents feel better.
OS/2 Warp's Crash Protection ensures that an error in one
program doesn't impact the system or other running programs.
Program memory is protected from access by other programs.
You can also create a "kids" folder, or a folder for each
family member, and fill them with shadows of the program
_______
objects, files, or devices that family members are allowed
to use. Shadows of your favorite games can appear in
everyone's folder, for example. These shadows differ from
copies in that they simply link to the original object,
which might be a file or program on another disk, so you
don't have to take up space with multiple copies.
INSTALLING AND CONFIGURING DOS GAMES
====================================
Games and education applications with arcade-style action
can be very aggressive in their exploitation of PC hardware,
so they often won't run in the Windows environment because
of the need for faster graphics. Almost all of the popular
games run well under OS/2 Warp, provided that customized
settings are used. OS/2 Warp now automatically recognizes
over 200 games, and creates individual icons with the
associated settings to optimize performance. You can take
advantage of this new OS/2 Warp feature in either of two
ways:
1. Use the Add Programs application from the System Setup
folder to configure multiple games. For each game that
OS/2 Warp finds, it assigns a set of customized DOS
settings and adds a program object icon in the Games
folder, which is found inside the OS/2 System folder.
2. Drag a Program template from the Templates folder to set
up an individual program. When you install new games,
use the default subdirectory whenever possible. Then
make a note of the fully qualified filename (e.g.,
D:\3DBODY\3DBODY.EXE) of the file used to start the
game. Use the Program template to add the game to the
location of your choice. When you enter the file name,
OS/2 Warp automatically adjusts all settings necessary
to run the game. Simply close the Settings notebook, and
launch the program object just created.
Either way, you avoid the inconvenience of modifying your
CONFIG.SYS or AUTOEXEC.BAT files, configuring memory, or
using trial-and-error to find ways to keep all those
demanding DOS and Windows applications working together.
APPLICATION RECOGNITION DATABASE
A file named D:\OS2\INSTALL\DATABASE.TXT includes the tested
settings for over 200 of the popular games and education
titles, including all but a few of the top 100 and a number
of shareware titles. If you want to add your own
personalized titles to OS/2 Warp's "Application Recognition
Database," merely edit the DATABASE.TXT file. When your
changes are complete, compile the TXT file with the
following commands:
CD \OS2\INSTALL
PARSEDB DBTAGS.DAT DATABASE.TXT DATABASE.DAT
After the next reboot, OS/2 Warp includes your new settings,
and is able to recognize your applications whenever you run
Add Applications or use the Program template to create a new
program object.
SAVE SETTINGS
OS/2 Warp now allows you to save settings for an individual
application in a file you can share with other OS/2 Warp
users. From the DOS Settings page, select Print, and then
Encoded File, entering the name of the file that will
contain the saved settings. Then, from the DOS Settings page
on another system, the encoded file can be used to recreate
the saved settings for a new object by pressing the Load
button.
DEFAULT SUBDIRECTORY
In most cases, you can simply use the default subdirectory
offered by your application's installation program. This
enables OS/2 Warp to most easily recognize the game. Some
updated games, however, might require installation in a
different directory than the default. For example, install
the following games as specified:
o Install KidPix 2 (for Windows) to a \KIDPIX2
subdirectory instead of the default \KIDPIX, especially
if you have the original KidPix program, which also uses
\KIDPIX.
o Install Might and Magic V: The Dark Side of XEEN to
\XEEN5 rather than to the default of \XEEN, especially
if you have any of the earlier Might and Magic games,
which also try to use \XEEN.
o Install Pipe Dream to a directory named \PIPEDRM instead
of to the default \PIPE.
GAMES FOLDER
OS/2 Warp comes with three simple OS/2 games in a Games
folder:
1. Solitaire - Klondike
2. Mahjongg Solitaire
3. OS/2 Chess
The Games folder is a good place to put the program object
icons for your other games. You can then create shadows of
appropriate games in each of your kids' folders, as
described above under "Child Proofing".
TROUBLESHOOTING YOUR GAMES
==========================
OS/2 Warp permits you to do other things while a game is
ongoing, but some graphics- or CPU-intensive games may slow
down in this multitasking environment. For fastest
performance with such games, close all windows and apps,
especially other DOS apps, before you run a game. Leaving
other apps open can steal CPU time from the game, thus
slowing down any high-speed action.
If you still have trouble running (or installing) your game
under OS/2 Warp, the following notes may be of value.
o OS/2 WARP DOESN'T RECOGNIZE YOUR GAME. -- If you have
other games or applications that are not recognized by
the OS/2 Warp Add Programs application and that don't
run under the default DOS full-screen session, try the
following:
- Create a program object for your game by dragging
the Program template from the Template folder.
- Enter the path and file name and any necessary
parameters (such as -NOSOUND, -SB, -VGA, and so on)
according to the application's documentation.
- Select the Session tab, then "DOS full screen".
- Select "DOS settings" and "All DOS settings."
- Change the settings in accordance with any
documentation or technical support provided by the
application vendor.
Refer to "Recommended DOS Settings" later in this
document to see which settings you'll likely want to
change.
o TROUBLE WITH SOUND. -- Whether running DOS, Windows, or
OS/2, PC users occasionally experience problems running
certain advanced games that aggressively use your
system's sound capabilities. If you have problems with
any game under OS/2 Warp, first try disabling the sound
using the program's configuration, setup, install, or
sound options.
o GAME WON'T EVEN WORK. -- A small number of DOS games
apparently use memory-management techniques, such as
Virtual Control Program Interface (VCPI), which are
virtually impossible to support in any multitasking,
controlled-memory environment, such as OS/2 or Windows.
To run these programs, your best option may be to boot a
native copy of DOS. Fortunately, OS/2 Warp has a
dual-boot feature that lets you easily switch back and
forth between DOS and OS/2 Warp. Once most users move to
OS/2, however, they rarely return to DOS.
WINDOWS AS A GAME PLATFORM?
===========================
Microsoft Windows comes preloaded on most PC systems and is
primarily used for Windows-based business applications that
offer a consistent graphical user interface (GUI), but
Windows has not proven to be a good games platform. This is
partially because games provide their own user interface and
don't need the Windows GUI, but mainly because the GUI
interferes with the performance of action games.
Games also tend to need much more memory than the Windows
environment allows, since Windows itself takes away from the
DOS 640 KB limit. For these and other reasons, a very large
number of DOS games (especially action games) don't even run
under current versions of Windows. With few exceptions, they
do run under OS/2 Warp, often running even better than under
native DOS because of the 32-bit nature of OS/2 Warp and its
superior memory management.
Microsoft Windows does offer some benefits to games that
don't need fast performance, such as device independence for
video displays and sound cards (developers don't have to
provide their own support, but can write to standard
interfaces), and Video for Windows (an add-on that is
shipped with educational titles and some games). As a
result, some new Windows-based games are starting to appear,
but they are usually limited to reference titles and
thinking games. OS/2 Warp offers similar benefits and can
run these applications too.
For more information on DOS, Windows and OS/2 as platforms
for running action games, see "Selecting APIs and Tools" in
the Developer's section of this document.
BONUSPAK REACHES INTO HOME MARKETS
==================================
A new BonusPak now ships with every copy of the OS/2 Warp
operating system, giving users the immediate opportunity to
experience the advantage of native OS/2 applications. In
addition to a variety of popular applications, the BonusPak
includes easy access to the Internet and other online
services by clicking on the IBM Information Superhighway
icon. It also includes high-performance multimedia support
designed to offer a compelling development environment for
next-generation games.
The combined information superhighway and multimedia
capabilities of OS/2 Warp will make it the ideal system
environment for CD-ROM-based educational programs and games,
and it will make it easy for users to transform their
computers into televisions, view and store their favorite
photos, and host live video teleconferences with friends and
colleagues.
We expect these added features to be a big hit in the
booming home-office and edutainment markets. They will
change the way people use their computers. For example, you
will be able to have your daughter's birthday pictures
developed on a Kodak Photo CD and send them electronically
to family members across the country via Warp's Internet
features.
MULTIMEDIA FEATURES
OS/2 Warp comes with many leading-edge multimedia features,
some of which are ideal for playing today's sophisticated
computer games.
MULTIMEDIA VIEWER -- is an object-oriented tool that enables
users to organize, manage, and browse images, audio files,
animation, and video clips. Multimedia objects are shown
with "thumbnails", or miniature pictures, as if they were
slides on a photographer's light table. The multimedia
viewer is an extension of OS/2 Warp's Workplace Shell that
gives the user freedom to display or play an object by
simply double-clicking on it with a mouse. Multimedia Viewer
allows users to view popular image formats such as GIF,
TIFF, Targa and PCX. Many of the formats are found in online
services such as CompuServe and Internet.
EASTMAN KODAK PHOTO CD TECHNOLOGY -- allows users to store
and view high-resolution color images and photographs
developed on Kodak Photo CDs. The ability to view these
images will make OS/2 Warp an attractive program for
creating business and school presentations, newsletters, and
other documents. OS/2 Warp is the first PC operating system
to be Photo CD-enabled without additional software
requirements.
USE THE PC LIKE A TV -- with OS/2 Warp's support of popular
video overlay cards, including the WIN/TV card from
Hauppauge Computer Works, Inc. With the preemptive
multitasking power of OS/2 Warp, a fully-scalable TV screen
can run in the foreground or background while users work on
other applications. Device-driver support for other video
overlay adapters is also included.
ULTIMEDIA VIDEO IN FOR OS/2 (VIDEO IN/2) -- enables users to
capture digital video, compress the data into files on their
hard-disk drives, and then use the data in presentations
using IBM's Ultimotion and Intel's Indeo formats. Video IN/2
complements other multimedia capabilities in OS/2 Warp,
including the ability to play and record Audio Video
Interleaved (AVI) clips. Video input comes from a video
recorder or other device.
MOTION PICTURE EXPERTS GROUP (MPEG) -- is an industry
standard for digital video that is supported in Warp through
Sigma Design's ReelMagic MPEG multimedia playback adapter.
This support allows multimedia developers to create OS/2
Warp applications that offer full-motion, full-screen,
full-color video and CD-quality digital stereo sound from a
single-speed CD-ROM. MPEG support in OS/2 Warp also allows
users to view movies and television shows created in the
emerging cross-platform VideoCD standard.
DIRECT INTERFACE VIDEO EXTENSIONS (DIVE) -- is an API in
OS/2 Warp that gives OS/2 applications direct access to the
PC video hardware, enabling them to generate the high-speed
graphics needed for today's advanced multimedia software.
The DIVE graphics interface allows powerful, high-speed
games and digital-video applications to use a single
high-speed API for stretching, clipping, and color
conversion.
AUTODESK ANIMATION -- playback support in OS/2 Warp allows
users to view video animation files developed using the
Autodesk .FLI and .FLC animation file formats. These formats
are recognized as the industry standard for PC animation.
Sound effects can be added to these files to enhance
playback.
COMPRESSED AUDIO -- support is included for the
industry-standard Interactive Multimedia Association ADPCM
and Microsoft ADPCM formats. These formats reduce the amount
of disk space required to store audio content, and make it
easier to send and receive voice files over networks. Now,
audio files take up to 75 percent less disk space, without
the need for additional hardware device support. IBM is also
extending this capability in Warp to reduce the disk space
needed for AVI files.
IBM WORKS
IBM Works is a collection of productivity tools and
application programs designed to meet the needs of a wide
variety of users. It will benefit personal use at home, as
well as the home office, small business, and even users in
corporate environments.
IBM Works includes:
WORD PROCESSOR -- A full-function word processor that
includes advanced features such as tables, mail/merge
processing, graphic objects, and functions found in other
full-function word processors.
SPREADSHEET -- A full-function spreadsheet that includes a
variety of features designed to meet the needs of a variety
of applications. Combine the spreadsheet capability with the
chart application to produce a compound document with text,
numbers and charts on the same page.
CHART -- A versatile charting application that produces a
variety of chart types and allows enhancement with text and
drawing tools. Charts can be printed on their own or
combined into other IBM Works documents.
DATABASE -- A powerful, easy-to-use database application
program that can organize both text and graphical
information, and import and export files in a variety of
formats. The database application works with the IBM Works
Report Writer to produce customized reports.
REPORT WRITER -- Produces custom reports from any IBM Works
or dBase-compatible database.
IBM WORKS PERSONAL INFORMATION MANAGER (PIM) -- A collection
of productivity applications to help you manage your daily
activities. Features include an appointment book, monthly
planner, calendar, to-do list, phone book, contact list,
note pad, and much more.
IBM INTERNET CONNECTION FOR OS/2
The IBM Internet Connection for OS/2 is a complete Internet
software package that gives you access to the vast resources
of the Internet. This Internet application takes the
complexity out of the command-line-based Internet
applications of today, and provides the user with one-button
installation, as well as one-button registration and hookup
to the Internet. With the Advantis default service provider,
the Internet becomes easily accessible and fun to explore.
The IBM Internet Connection for OS/2 consists of the
following:
ULTIMAIL LITE -- An easy-to-use interface for creating,
sending, receiving, and storing compound document electronic
mail.
GOPHER CLIENT -- A graphical, user-friendly interface to the
Internet, enabling the user to locate and display or
transfer information. The Internet consists of more than 30
million computers; Gopher helps you navigate comfortably and
confidentially among these systems.
TELNETPM -- Allows the user to log in to other computers on
the Internet. Programs and information located on other
computers can be accessed as though they were on your own
computer. (VT100 and VT220 terminal emulation).
PMANT -- Allows access to information and programs located
on Internet hosts that support 3270 sessions such as VM or
MVS. (3270 terminal emulation).
FTPPM -- Allows you to easily share, store, and distribute
data between your computer and other computers on the
Internet. If you are authorized access to a given computer,
you can manipulate files on that computer as though it were
your own.
WEBEXPLORER -- allows users to access the World Wide Web
(WWW) through a graphical user interface. The WWW links
resources together in an easy-to-use-fashion. For example, a
user can get a map of a country, click on a city to retrieve
information, see photographs, and read about current
demographics. With WebExplorer, users traverse the Internet
by moving from one document to another via links or
hyperlinks, and can save and annotate documents.
WebExplorer was completed after general availability of OS/2
Warp. It is being included in newer versions of OS/2 Warp
and is also available electronically. To download to your
PC, simply click on an icon that is presented on the Gopher
Server or IBM Home Page. It will download and install
itself.
COMPUSERVE INFORMATION MANAGER FOR OS/2
Developed by CompuServe for OS/2 Warp, this Information
Manager program helps you get the most from your CompuServe
membership. An object-oriented user interface allows you to
access, sort, and utilize the online information and
services quickly and easily. If you aren't currently
registered with CompuServe but would like to try the
service, there is a simple sign-up icon.
IBM PERSON TO PERSON FOR OS/2
IBM's real-time conferencing software, Person to Person, has
been integrated in the Warp BonusPak. P2P allows up to eight
people to work together -- without actually being together
-- on a single document, sharing suggestions and writing or
drawing comments on the document on their PCs. Data to be
worked on is placed into the shared clipboard and can be
modified in real time. All parties see the same data at the
same time or share files. Without leaving their desks, users
can achieve the same level of efficiency, personal
interaction, and productivity associated with traditional
working sessions, saving time and reducing unnecessary
business travel costs. By adding video cameras and an Action
Media II adapter, users can host live teleconferences over
existing networks. The link can be established over modems,
LANs, ISDN, or the Internet, and will also accommodate
future protocols (e.g., ATM and two-way TV cable).
FAXWORKS FOR OS/2
FaxWorks for OS/2 is a 32-bit fax software program that
sends and receives faxes of unlimited length, and prints
faxes on any OS/2 Warp printer. Features include drag-drop
fax viewing and printing, normal and fine resolution,
portrait or landscape orientation, and variable page length.
HYPERACCESS LITE FOR OS/2
HyperACCESS Lite for OS/2 is a 32-bit, easy-to-use,
easy-to-set-up, object-oriented, modem communications
program.
============================================================
OS/2 WARP FOR PC GAME DEVELOPERS
============================================================
PC game developers have long pushed past the limits of DOS,
spending countless hours creating their own
memory-management DOS extenders, simulating multi-threading,
and supporting only de-facto standard sound cards and
VGA/SVGA displays unless they write their own drivers. They
had to do all this before they could even begin writing the
game itself! Unfortunately, because each developer must
create all of this on his/her own, conflicts occur between
games from different developers, and it's very difficult for
users to constantly reconfigure their systems to resolve
such conflicts.
Not only can OS/2 Warp run the installed base of DOS and
Windows games and applications, it also solves many of the
problems faced in writing games. And developers are starting
to view OS/2 as a way to the future of PowerPC, symmetric
multiprocessing, multiplayer networking, and new interfaces
like voice recognition and virtual-reality devices. A new
entertainment toolkit for OS/2 will make it even easier to
exploit these new technologies.
MARKET POTENTIAL
================
PC application developers are noticing how expensive it is
to launch new DOS- or Windows-based products. The launch of
a simple Windows screen-saver, for example, can cost over $1
million, because of all of the product "clutter" in that
market. OS/2 Warp, on the other hand, offers an easier entry
into a potentially larger market -- at least for 32-bit
applications. It's already established in the enterprise,
where most OS/2 applications are custom-written,
line-of-business apps, and it's rapidly moving into the
home. Almost all of the one million copies sold in its first
two months went to new OS/2 users, which we know because the
upgrade version (from OS/2) didn't become available until
January, 1995.
The market potential for OS/2 looks just as bright as the
technology behind it. OS/2 is well accepted as the
industry's leading 32-bit operating system for
IBM-compatible PCs, greatly outselling Windows NT, and
receiving numerous industry awards. It has attracted
thousands of mainstream software developers worldwide. Now,
with OS/2 Warp Version 3, IBM is bringing the industrial
strength of OS/2 to home and notebook PC users -- making it
easier for consumers to buy, install, and use, and expanding
the market for OS/2 apps. OS/2 Warp performs well on systems
with as little as 4 MB of memory.
The beta of OS/2 Warp won BYTE Magazine's "Best of COMDEX"
at COMDEX/Spring '94. And that was before IBM added the
BonusPak of bundled applications and Information
Superhighway access. As of this writing, OS/2 already
represents an installed base of over 8 million licenses, and
IBM plans to sell more OS/2 in 1995 than Apple Computer,
Inc. will sell of the Macintosh, meaning more than 5 million
units.
IBM's timing couldn't be better, given the growth of home
PCs, Microsoft's problems with Windows 95 (as reported in
the trade press), and a growing interest in Intel-based
systems from among Apple PC users. By 1996, more than half
of all PCs will be sold into the home, and with OS/2 Warp,
IBM is showing serious interest in that market, while users
are showing serious interest in OS/2 Warp.
SELECTING APIS AND TOOLS
========================
DOS:
DOS has long been the preferred platform for PC games, if
for no other reason than because DOS makes it easy to
directly access hardware devices like the video screen, game
port, and CD-ROM drive. This direct access to hardware
devices is necessary so that the PC can rival arcade games
and their high-speed, fast-twitch, adrenaline-pumping action
popular with young males.
To add more function under DOS, programs have grown in size,
and developers have had to invent ways of expanding beyond
the 640 KB memory barrier. And to improve performance,
they've written routines to let their game do more than one
thing at a time. This all makes development more difficult
and costly.
Even with the inventive "tricks" that today's fastest DOS
games (like DOOM) include, they still run well under OS/2
Warp!
WINDOWS:
The "OS/2 Warp for PC Gamers" section of this document gives
reasons why action games don't run well under today's
Windows environments, and why most game developers have
stayed with DOS. But you may also be thinking, "What about
Microsoft's new Windows 95?"
ISVs developing products for the Windows market have been
put in an awkward position, faced with one Microsoft delay
after another. Many are now starting to turn to OS/2 Warp as
their first market for advanced 32-bit applications,
possibly porting back to Windows 95 when that market finally
develops.
Microsoft has also made it difficult for developers to keep
up with its many versions of Windows, with at least four
different sets of APIs. And there are major differences
between these versions:
----------------
The descriptions of Win16, Win32s, Win32, Win32c, and
WinG are from Gartner Group, Inc., January 1994.
----------------
1. Win16 -- The 16-bit, single-thread, segmented-memory API
set for Windows 3.0 and 3.1 only.
2. Win32s -- The 32-bit, single-thread API set that allows
an application to run unchanged on either Windows 3.1 or
Windows NT.
3. Win32 -- The 32-bit, multiple-thread API set for Windows
NT. Applications written to Win32 will run only on NT.
4. Win32c -- The 32-bit, multiple-thread API set for
Windows 95. It is equal to Win32, minus the support for
NT specific features (e.g., security, SMP and advanced
graphics), plus the Windows 95 user-interface
extensions. Applications written to Win32c will run on
Windows 95 only, at least until Microsoft releases an
upgrade to NT that incorporates the Windows 95 user
interface and APIs.
5. WinG -- Microsoft's attempt to make Windows more
friendly to games, letting developers access video
buffers and run full-screen instead of being forced to
run in a window. It remains to be seen how many games
will be rewritten for WinG. According to the trade
press, Windows will continue to have difficulty running
the installed base of 16-bit DOS games and, of course,
may not be able to run the new 32-bit OS/2 games.
6. Win32i -- An open industry standard, proposed by a large
group of developers who are tired of being forced to
write to different APIs and who are at the mercy of
Microsoft's control of those APIs. The fact that Win32i
is being proposed seems to be a sign of growing
developer frustration with Microsoft and its control of
programming standards.
Do you think software developers appreciate being forced to
choose between Windows APIs (and limit their market), or to
write multiple versions of their applications? No, but they
do it anyway because it is the cost of participating in the
Windows market.
OS/2:
IBM's approach to developing for OS/2 is easier -- with a
single API set that can be used to build apps for hand-held
PCs all the way up to multiprocessing super-servers. That
same API set can be used for character-mode apps, or for
very graphical apps that take over the whole screen or work
in a windowed environment with OS/2's Workplace Shell user
interface.
To further improve the productivity of developers, OS/2
supports object-oriented programming techniques and
languages. The Workplace Shell itself is written in this
way, using OS/2's System Object Model (SOM), which allows
object-oriented programs to be written in any language (not
just C++). All of the Workplace Shell object types (folders,
data files, printers, etc.) are implemented as SOM objects.
OS/2 apps can be written with a mix of 16-bit and 32-bit
modules, making it easier to convert older apps. Developers
don't have to convert all of their modules at once, and can
choose to exploit the 32-bit, flat-memory model or features
like multithreading and SOM objects when they are ready.
(This is in extreme contrast with Microsoft's attempt to
force the rewrite of all modules in all Windows apps that
want to keep using the Windows-Compatible logo.)
IBM has been working with various standards organizations,
and has made many of its technologies open and available on
other platforms, including Windows. These technologies
include the Workplace Shell, SOM, OpenDoc, Taligent
Frameworks, Ultimedia Compression, and others.
The interesting thing is that DOS and Windows users, who are
not in a hurry to upgrade their hardware and apps, have a
new friend in OS/2 Warp, the most backward-compatible
operating system around. I mean that in a nice way. This
latest release of OS/2 goes farther than ever before to
support DOS and Windows users, and the applications and
systems they already own. These users aren't interested in
buying a processor upgrade or a new planar, and may even
balk at adding memory. Even with modest hardware, many users
who couldn't even run OS/2 before are now enjoying this new
32-bit, multitasking, multimedia, Internet-accessed,
crash-protected, Windows-friendly, totally cool way to run
their computer. They gain new BonusPak apps, and don't have
to upgrade their DOS or Windows apps until they are ready.
MEMORY MANAGEMENT
=================
What would it mean to you, the game developer, if you didn't
have to worry about memory management?
There would be no more need for DOS extenders -- the ones
you write or the ones you expect your users to buy. You
wouldn't have to segment your programs into 64 KB modules,
and the overall size of your program would be smaller. You'd
see improved performance. Because you no longer have to do a
lot of trivial stuff, you can get your product to market
quicker, or with more function.
OS/2 provides rich EMS, XMS, and DPMI support for DOS and
Windows applications, but its own flat-memory (versus
segmented-memory) model means that, once you develop for
OS/2, porting to other 32-bit operating systems (such as
System 7, Windows 95, or UNIX) or other hardware platforms
(PowerPC, Macintosh, System/390 ...) is relatively easy.
This is especially true because of the openness and
availability of various IBM technologies (Workplace Shell,
SOM, OpenDoc, Taligent Frameworks, Ultimedia Compression...)
on other platforms.
MULTITASKING AND MULTITHREADING
===============================
Microsoft Windows and Apple System 7 offer limited forms of
multitasking that requires the programmer to physically add
the wait and time-slicing commands into his program. We call
this COOPERATIVE multitasking. Because the success of a
program is often determined by magazine benchmark tests that
feature performance, however, most applications don't
"cooperate."
In OS/2, the operating system acts as the traffic cop and
can preempt a long-running application to satisfy the needs
of a higher-priority task. We call this PREEMPTIVE
multitasking.
MULTITHREADING means that programs can start subtasks that
will then be executed by the operating system in the
background. For example, a word processor may create a
separate thread (subtask) to handle printing or saving to
disk. When the user asks the word processor to perform one
of these tasks, the word processor creates a new thread, and
control returns to the word processor (and the user)
immediately, so he/she can continue typing. Applications
that utilize multithreading can be much more responsive to
the user. Game play can be greatly enhanced and smoother.
OS/2 removes the burden from the programmer by supporting
multiple threads of execution. This multithreading results
in unparalleled responsiveness for game players. In
addition, programs can have a separate thread playing music
and drawing graphics, all without any special code by the
developer. For example, the OS/2 game "Galactic
Civilizations" has an artificial-intelligence thread running
in the background, generating different "personalities" for
the various aliens that the player is competing with, and
calculating the computer's next move while the user is
moving his/her own pieces or querying status.
Speaking of Galactic Civilizations, it was the first
commercially available game for OS/2 Warp, and (as of
December 12, 1994) has quickly risen to the Net PC Games Top
100 worldwide preference list. This is an independent
Internet poll conducted each week on the most popular games.
Since the list is compiled from votes by the world's most
avid gamers, many in the PC game industry consider it the
most objective compilation available. According to John
Schaeffer, president of AIM, Sandy, Utah, publisher of
Galactic Civilizations, "THERE'S ONLY ONE PC OPERATING
SYSTEM THAT GAMERS CAN DEPEND ON TO HANDLE THE
RESOURCE-INTENSIVE DESIGN OF GALACTIC CIVILIZATIONS: OS/2
WARP."
"THIS WEEK IS A VICTORIOUS ONE FOR OS/2 GAMES WITH GALACTIC
CIVILIZATIONS BUMPING DOOM 2: HELL ON EARTH FROM OUR NUMBER
ONE POSITION, AND ROIDS (AN OS/2 SHAREWARE GAME) BOASTING
THE HIGHEST NEW ENTRY POSITION," says Jurgen Appelo, editor
of the Net PC Games Top 100.
"MIRRORING THE STRONG CUSTOMER DEMAND FOR OS/2 WARP,
GALACTIC CIVILIZATIONS IS REALLY FLYING OUT THE DOOR," says
Buck Bohac, president of Indelible Blue, an OS/2 solutions
catalog provider in Raleigh, N.C. "NEXT TO OS/2 WARP, WE'VE
RARELY SEEN SUCH DEMAND FOR A NEW PRODUCT AS WE HAVE FOR
GALACTIC CIVILIZATIONS."
SYNCHRONIZING EVENTS AND ACTIONS
================================
Games typically have to synchronize actions with the playing
of a CD-ROM or motion on the screen. This requires that
programs poll (i.e., constantly get the status of) a sound
card to determine where it is playing. This constant polling
consumes lots of processor time and is nontrivial code.
Fortunately, OS/2 Warp provides a variety of choices for
inter-process communications. Multimedia Presentation
Manager/2 (MMPM/2), for example, provides a much simpler
method to synchronize sound. Simply make one call, and OS/2
Warp will automatically notify your application of the exact
position of the sound device. In addition to periodic
notifications, MMPM/2 also offers the ability to notify your
application at a very specific point in time for
synchronization purposes. MMPM/2, which used to be a
separately priced add-on product, is now included with OS/2
Warp, so you can be sure that every OS/2 Warp user has the
software to handle multimedia.
When MMPM/2 is used to play a video clip, it uses one thread
to decompress the video (which is very processor-intensive)
and another thread to play the audio. The two are
synchronized so well that you can (for example) hear the
tennis ball hit the racket at the same time you see it hit
-- even when several other applications are running at the
same time!
Video Support:
OS/2 Warp supports several ways of addressing the video
display, and three of them are especially interesting to
game developers.
1. Direct Access to Video Buffer
2. Direct Interface Video Extension (DIVE)
3. 32-bit Virtual I/O
DIRECT ACCESS TO VIDEO BUFFERS
To start with, you can get close to the hardware with OS/2
Warp, and write directly to video memory, even when running
in a Presentation Manager window. While this capability
provides excellent performance, there are complexities that
must be dealt with when using it. Applications that write
directly to the video buffer must provide their own clipping
support, color space conversion to the frame buffer, and
scaling (if applicable). Also, on displays that are
bank-switched, these apps must invoke functions whenever
access moves from one bank to another.
DIRECT INTERFACE VIDEO EXTENSION (DIVE)
DIVE is a display engine that frees the developer from the
complexities of direct video buffer access while still
providing a high level of performance. The DIVE display
engine provides easy-to-use API functions for display
updates, and hides the complexities of color space
conversion, window clipping, scaling, and bank switching. It
also utilizes graphics display hardware acceleration
capabilities when present, so your game may actually run
faster through the display engine than it would with direct
video buffer access.
32-BIT VIRTUAL I/O
A third alternative for games development is Virtual I/O
(VIO) full-screen sessions. While Presentation Manager
services are not available, applications running in this
environment have full access to OS/2's 32-bit multitasking,
I/O, and memory management functions. API support for some
basic VGA modes is provided, and you can also manipulate VGA
and SVGA registers (just like in DOS) to control advanced
graphics modes. These functions are not portable to OS/2 for
the PowerPC, however, and should therefore be used with
caution.
AUDIO SUPPORT
=============
MMPM/2, which comes with OS/2 Warp, provides a very rich API
(called Media Control Interface, or MCI) to access sound and
video devices. Game vendors no longer have to write a myriad
of sound drivers to play a digital audio file. One simple
call lets you access popular sound cards (from Creative
Labs, Media Vision, Aztech, Gravis, IBM...), as well as
other internal or external multimedia devices, such as
CD-ROM or videodisc.
SHARING SOUND CARDS
With OS/2 Warp, it only takes about ten lines of code for an
OS/2 game developer to share the audio device with any other
OS/2 application. This smooth support assures you that your
game always has access to the audio device. This capability
is unique to OS/2.
Other operating systems make it virtually impossible to
share a sound card with another application. Even when
running DOS apps under OS/2 Warp, the sound card can't be
shared (they must be OS/2 apps in order to share). Thus, if
another application is already using the sound card, the
game will have to play in silence. Because the computing
world is moving toward multitasking environments, where many
programs and games can run at the same time, this is a
severe limitation with DOS or Windows applications.
PLAYLISTS PROVIDE SPECIFIC GAME SUPPORT
Game developers have used DOS because it lets them do things
that are against the rules -- DOS permits self-modifying
code, doesn't have a cumbersome API, and provides tremendous
speed. To attract game writers to OS/2, the MMPM/2 designers
created playlists specifically to support the things people
are used to doing under DOS.
Playlists let you play (or stream) digital audio or wave
files directly from a program's memory buffers, which is
very fast. Playlists also offer a dynamic, BASIC-like
language that lets an app instruct MMPM/2 exactly how to
play a file. This language can have loops, dynamically grow
or shrink, automatically change memory buffers, perform
synchronization messages, and even create self-modifying
code. For example, a playlist can be created that plays a
machine-gun sound five times, then a scream, and finally
plays Taps twice -- all without intervention from the
programmer. This cannot be done in any other operating
environment.
IMAGE AND PHOTO CD SUPPORT
==========================
OS/2 Warp has access to the large memories required to work
with high-resolution images and Kodak Photo CDs, and
includes the necessary software support. IBM has signed a
license for Photo CD technology from Eastman Kodak, and has
integrated that technology into OS/2 Warp. As a result, OS/2
Warp is the first PC operating system to be Photo CD-enabled
without requiring users to buy additional software.
Kodak's Photo CD system allows color images, including 35mm
photos, scanned images, and computer-generated color
graphics, to be stored in the Photo CD format. Up to 100
high-resolution Photo CD images can be stored on a single
Photo CD master disc. The master discs store images at five
levels of resolution, ranging from 2048 x 3072 pixels to 128
x 192 pixels.
With the addition of integrated Photo CD support in OS/2
Warp, any OS/2 application that supports display or
manipulation of images will be able to view Photo CD images.
This includes all applications that use the documented OS/2
multimedia interface. For example, current versions of
Ultimedia Perfect Image/2 image processing and enhancement
software; Ultimedia Builder/2, an easy-to-use multimedia
presentation development package; and Ultimedia Workplace/2,
a tool for linking multimedia information and databases, are
able to exploit this capability.
MOTION (INDEO, ULTIMOTION, AND MPEG)
Many game developers have megabytes of proprietary video and
audio content that are simply unplayable under environments
such as Windows. In contrast, OS/2 Warp offers application
developers the ability to support any audio, video, or
bitmap format if the vendor writes the appropriate
file-parser routines. Another ramification of this rich
format support is that the same game can support numerous
audio and video formats with a single API call.
OS/2 Warp offers unparalleled motion video support, with or
without specialized hardware. OS/2's 32-bit environment
maximizes video performance in the pervasive software-only
environment, enabling the broadest audience for video
content for games and titles. OS/2 supports the popular .AVI
file format, including Intel's Indeo 2.1, 3.0, and 3.1
compression codecs, as well as IBM's Ultimotion compression.
OS/2's software motion video playback remains synchronized
even while other activities are going on, and OS/2 also
supports video hardware acceleration devices, such as Sigma
Design's Reel Magic MPEG adapter and graphics coprocessors
that scale the video image. Now, it is possible for games to
actually display motion video while plotting future courses
of action in a different thread!
Using IBM's Ultimotion video format, you can include video
content in your game that plays back at 320 x 240 resolution
at 15 frames per second (fps) on virtually all 486 systems
and above, without floating-point support. Faster systems
will play back 320 x 240, 30fps Ultimotion video content.
More important, since the Ultimotion video data stream is
fully documented and supports random access, you can use the
video content in creative ways in your game to achieve
interactivity and special effects.
Ultimotion video content can also be played back through
Video for Windows in the Microsoft Windows environment. The
Ultimotion decompressor for Windows enables the
Windows-based playback of Ultimotion video clips created
under OS/2. The Ultimotion decompressor is a plug-in module
that can be installed and used with existing video tools
such as Microsoft's Video for Windows. It can also be used
by software developers to create their own customized
Windows applications that incorporate digital video.
Now software developers can take advantage of
high-resolution, software-only Ultimotion video to create a
wide range of applications such as games, computer-based
training, desktop video conferencing, sales kiosks, or
edutainment. Ultimotion offers up to full-screen VGA
resolution or, at lower resolutions, frame rates of up to 30
fps (full-motion video). Ultimotion also offers an excellent
compression ratio that allows the creation of high-quality
video at low data rates. This makes it ideal for networked
or CD-ROM-based applications.
The Ultimotion Development Kit -- including a license for
Ultimotion, Ultimotion data stream documentation, a beta of
the IBM Ultimotion decompressor for Windows, and sample
Ultimotion files -- is available at no charge to qualified
developers. For more information in the USA and Canada,
contact IBM Worldwide Industry Hardware Support at (800)
426-4579, ext. 200. In the USA and worldwide, information
can be received by faxing requests to (708) 635-3620. The
Ultimotion Development Kit is also available on-line via
PRODIGY (IBM Device Driver in the OS/2 Club Download
Library), CompuServe (OS/2 Support, Library 17, IBM files),
or Internet via anonymous FTP from software.watson.ibm.com
in the /PUBS/OS2/MISC directory.
VIDEO CAPTURE
Ultimotion playback capability was introduced as part of
OS/2 2.1 in May 1993. In November 1993, IBM introduced
Ultimedia Video IN for OS/2 (Video IN/2), software that
enables users of OS/2 version 2.1 to capture images and
create digital video clips in IBM's Ultimotion and Intel's
Indeo formats. Using the Ultimotion format, Video IN/2 can
create digital video clips in a choice of resolutions, from
640 x 480 (full-screen VGA) to 160 x 120. Video IN/2 also
offers a choice of frame rates for Ultimotion, with a
maximum of 30 fps full-motion video (at resolutions of up to
320 x 240). Both real-time and asymmetrical (off-line)
capture support are provided.
Ultimotion provides excellent image quality at extremely low
data rates. An average compression ratio of 18:1 allows
Ultimotion to deliver 320 x 240 video running at 15 fps at
the 150 kilobytes per second (kbs) data rates offered by a
single-spin CD-ROM, and running at 30 fps on double-speed
CD-ROM at data rates of 300 kbs.
Video IN/2, formerly a separately priced product, is now
included in OS/2 Warp.
ANIMATION (FLI-FLC)
An exciting new development in the world of OS/2 multimedia
is support for animation files. What this means to you is
that the same unsurpassed performance, resource management,
synchronization, device independence, file-format
independence, and data-compression independence is now
available for animation, as it has been for still images,
audio, and digital video.
The great majority of all PC-based animation uses the .FLI
and .FLC file formats designed by AutoDesk. FLI is the
format used by older animation applications like AutoDesk
Animator. FLC, a superset of FLI, was introduced with
AnimatorPro. Collectively, files in either of these formats
are referred to as FLICs.
FLICs contain data that is organized into frames. The data
is compressed, both within a frame and across frames. You
can create new FLICs with AnimatorPro or a compatible
animation design tool.
AnimatorPro has many tools for painting individual still
frames with a variety of color and texture effects,
including ray-tracing functions. AnimatorPro also has a
tweening tool that lets you generate a sequence of frames
between any two still frames, creating an illusion of motion
or transformation. Finally, AnimatorPro will compress and
convert your frames into an .FLC file.
DEVICE DRIVERS
==============
PC users are impressed by multimedia apps and games, but
they get frustrated with the DMA and IRQ settings required
to support sound, especially when there are conflicts with
other adapters and apps. They have lots of choices of sound
cards, but not all of the games support all of the cards,
and even the emulation (of SoundBlaster, for example) is
inconsistent between cards and drivers shipped with games.
From a game developer perspective, keeping up with the
proliferation of different types of sound cards and video
cards is a constant headache. Each device requires a
different driver, and writing all of these drivers is
difficult.
A possible solution to both sets of problems is for the game
to support the device drivers that come with Windows or
OS/2. Users would find it much easier to install, and the
developer wouldn't have to supply all of those drivers and
risk conflicts with other drivers. But that means writing
Windows or OS/2 games (not DOS games), and we already
visited that issue above. Game vendors have so far chosen to
include their own device drivers, so they can access devices
directly instead of having to wait for Windows to do the
I/O.
The device drivers supplied with OS/2 let developers access
system hardware directly, so you get the best of both worlds
-- device independence and direct access. OS/2 also supports
the DOS device drivers that ship with games, fax, and
communications programs, and any other app that has unique
device needs. Windows cannot support those drivers or run
those applications.
MULTIPLAYER NETWORK ACCESS
==========================
With OS/2 Warp, a developer can write multi-player and
multi-computer games by utilizing standard networking APIs.
OS/2 Warp supports the most popular networking protocols
(e.g., TCP/IP, IPX, and NetBIOS). Furthermore, since these
protocols are operating system-independent, it is possible
to interact with games running under DOS, X-Windows, and
even System 7.
MIGRATING EXISTING APPLICATIONS
===============================
IBM has obtained the exclusive marketing rights to a
migration tool from One Up Corp. in Dallas. SMART 2.0
(Source Migration Analysis Reporting Toolset) automatically
converts as much as 70% of the Windows API and message code
from 16- and 32-bit Windows applications to 32-bit OS/2
applications. SMART 2.0 is distributed as part of IBM's
Developer Connection for OS/2 quarterly CD-ROM and
newsletter, priced at $199 per year.
FUTURE PROOFING
===============
Although OS/2 games (written for today's Intel x86 or
Pentium processors) can take advantage of all the features
mentioned in this document, developers are especially
excited about the future prospects for those games,
discussed now.
SYMMETRIC MULTIPROCESSING SYSTEMS
SMP computer systems are becoming more affordable, and will
reach consumer price points in a year or two. IBM already
has a version of OS/2 for SMP that supports up to 16
processors and can dispatch program tasks or threads on any
of them. The same shrink-wrapped OS/2 binaries that run
under OS/2 Warp also run under OS/2 for SMP.
POWERPC
IBM's PowerPC is a RISC processor that is posing a serious
challenge to Intel. Because of its lower price, smaller
size, and lower power requirements, the PowerPC is popping
up everywhere -- in automobiles, in PDAs, in TV set-top
boxes, and in multiprocessing supercomputers. It's
comforting to know that the same OS/2 source code that runs
on Intel systems will also run on PowerPC systems with a
simple recompilation. That's a major advantage for OS/2,
since Microsoft's Windows 95 won't run natively on PowerPC.
HUMAN CENTRICS
Human-centered technologies will provide key features of
OS/2 and PowerPC, so people will be able to interact with
computers with the same skills they use to interact with
other people. These technologies include advanced
handwriting and speech recognition, personal agents (who
learn your habits, make suggestions, and act on your
behalf), animated actors (whose facial movements synchronize
with their spoken words), and natural language (so you don't
have to remember computer commands).
Some of the multimedia features planned for OS/2 for
PowerPC, such as software motion video capture and playback,
are already built into OS/2 Warp. And two human-centered
applications planned for PowerPC, ImageMail and Person to
Person (P2P), are also already built into OS/2 Warp.
OBJECT ORIENTATION
The object-oriented technologies planned for PowerPC are
built on the base of OS/2's System Object Model (SOM),
OpenDoc, and the Taligent frameworks. A "framework" is a
programming structure that reduces the amount of programming
to be done, because the code that supplies the mechanics of
a task is already written. For example, a communications
framework would handle all of the complicated work of
adhering to the transport protocols. Application developers
could just "plug into" a framework by writing to published
interfaces. What an easy way to add multiuser networking
capabilities to PC games!
OS/2 BINARIES
Existing OS/2 Intel-based binaries should run unmodified on
the PowerPC with a future release of OS/2 for PowerPC. These
applications, however, best exploit the PowerPC capabilities
when they are recompiled and run in native PowerPC mode.
When Intel object code is run on the PowerPC, there is a
performance loss caused by the translation from Intel to
PowerPC instruction sets.
NATIVE POWERPC APPS
You can start writing native applications for the PowerPC
today -- by writing pure 32-bit OS/2 Warp applications.
Start development on Intel systems using ANSI C compilers.
The OS/2 for PowerPC Software Developer Toolkit (SDK)
contains a cross-compiler from Metaware that runs on Intel
systems but produces PowerPC binaries. In addition, the
32-bit source code you develop can be used on today's OS/2
Warp as well as tomorrow's OS/2 for PowerPC. Only a single
source needs to be maintained for both Intel and PowerPC
hardware systems!
NEW TOOLKIT FOR DEVELOPING GAMES
================================
IBM intends to extend The Developer Connection for OS/2
family with an additional toolkit to enhance the development
of entertainment software (games, education, etc.). This new
toolkit will build on the existing function in The Developer
Connection by incorporating new technologies from IBM. These
new technologies, such as comprehensive networking and
speech recognition, are areas where IBM excels, and they can
provide a unique competitive advantage for the games and
entertainment developer.
IBM envisions a new generation of OS/2-based games that
combine multimedia with these new technologies in a way that
home computer users will find irresistible. To show the
power of this new generation, and to illustrate programming
techniques, the toolkit will contain source code for a
sample game that will use all the technologies provided.
This sample application will be a 32-bit, multithreaded,
multi-player, networked, speech-recognition-capable
adventure game using animation, digital video, waveform
audio, MIDI, still images, sprites, and 3-D graphics.
For a scenario example of what IBM hopes to enable with its
new entertainment software developer toolkit, see "OS/2 Warp
Game Scenario," later in this section. IBM intends to make
this scenario possible with the delivery of its new OS/2
toolkit for games, education, and entertainment programmers.
OBJECTS AND CLASSES
The centerpiece of this toolkit will be a game object Base
class, which will ease the way for games and entertainment
programs to exploit the best of new technology from IBM. The
game object Base class contains (among others) the following
classes:
Client and Server Classes:
Client and Server classes will make possible multiplayer
networked games by routing messages via an open-ended set of
supported communications transport subsystems.
The Server class will use the IBM Lakes architecture to
provide this communications support. IBM Lakes is the
networking technology that underlies the Person-To-Person
program that IBM ships in the BonusPak for OS/2 Warp.
Lakes provides support for application-level connections via
TCP/IP, LAN NetBIOS, or asynchronous dial-up, and its
architecture can be extended to handle other transport
subsystems in the future. An OS/2 game with a game Server
object can communicate with game Clients and other game
Servers using any or all of the supported transport layers
simultaneously.
Most games built on the entertainment toolkit will not need
to subclass the Client or Server classes. They can remain
contentedly ignorant of the workings of the underlying
communication functions. Merely by instantiating a Server
object, a game can ensure that all players of a multiplayer
game session see a consistent view of the game.
Communications between the Server and Client objects ensures
that state information is reliably replicated and updated
for each client.
Because Lakes supports the dynamic addition or deletion of
individual nodes or applications at any time during a
communications session, players will be able to join or
leave a game in progress at any time. When a player joins a
game, the game's Server object will ensure that the player's
Client is brought up to date with the latest state
information for the game. Furthermore, all preexisting
Clients will be informed of the presence of the new player.
The physical location of a game's Server object is of no
concern to the game programmer; it is merely recommended
that the game code that instantiates the Server object be
built into a separate executable from the code that
instantiates Client objects. Any end-user, given the
appropriate executable, will have the capability of
instantiating the Server object on his/her own machine at
the same time he/she brings up his/her Client. Another user
can connect to the first user and use the same Server
object; only another Client is started. Finally, a game
Server administrator could start a detached process with
just the Server, to which user's Clients will attach as
these users log on. In this way, the same executable
packaging can easily support a stand-alone player, multiple
peer-to-peer connections, or a pay-per-access, client-server
configuration.
Transport layers for communicating between Servers and
Clients are also of no concern to the game developer. Lakes
hides all the details of networking with an elegant concept
called "channels." The Server and Client objects simply
include Lakes channels and ports through which all messages
pertinent to the state of the game will pass. A Lakes
channel always connects a sending port to a receiving port.
Whenever an application joins a Lakes call set (i.e.,
whenever a user joins a multi-player game in progress), all
of the messages sent to Server or Client objects' sending
ports will automatically be received by all of the
corresponding receiving ports at all of the connected Server
or Client objects. In this way, anything that one player
does to change the state of the game is automatically seen
by all other players. And this synchronization of state
data occurs without any special code in the game
application.
Since Lakes channels can be serialized, the game object base
class can guarantee that messages affecting the game are
processed in the same order by all distributed Servers and
Clients. For example, if Peter and Susan both reach the
cellar door key at roughly the same time, but Susan is
actually a little faster, both players' clients will receive
the same two messages in the same order:
1. Susan's player object has attempted to pick up the key.
2. Peter's player object has attempted to pick up the key.
So, when Susan's and Peter's clients receive these messages,
they will both know that Susan's grab was successful and
Peter's attempt failed.
At the time a Client connects to a call set and joins a
game, the game may, if it wishes, determine whether the
Client has the necessary display data (audio, animation,
video, etc.) and input data (e.g. speech recognition
grammars) to play the game. If the Client does not have the
necessary data, or it has a back-level version of the data,
the game Server object may:
o disallow the client from playing,
o download (presumably with the user's permission) the
necessary data, or
o allow the client to play with back-level data.
Furthermore, the game application may allow clients with
different levels of display/input data to play together. For
example, a Client on a slow machine without multimedia
functions could still participate by playing a text-based
version of the game. It would be up to the Display Proxy
objects in the game to test whether multimedia function is
available. If it is, each object would use the available
multimedia types to display itself. If it is not, each
object would be displayed using only text data.
World Objects:
World class objects will represent a single game. Each
instance of a World object represents an instance of that
game in progress. The state of the World object's data
represents the current state of the game.
The World object will be instantiated in the same physical
location as the Server object; World and Server objects
generally exist in a one-to-one relationship. Each time a
player joins the game, the World object instantiates a
player object to represent the player in the game. Via
communication with the Server object, all connected Client
objects will then be notified of the new player, causing the
creation of a Display Proxy Player (DPPlayer) object at each
Client.
If the new player's Client does not have the display data
necessary for the game (i.e., all the video, images,
animation, MIDI, etc. that the game uses), or if the Client
has an old version, the World object will download all the
necessary files to the Client at the time that the new
player joins the game.
As the game progresses, all actions taken by all players
will be serialized in the World object to keep the game
self-consistent. If two players try to change the state of
the game at the same time, this serialization will ensure
that the changes make sense. For example, if two players in
an adventure game try to pick up a cellar door key at the
same time, the player whose Client gets a message to the
World object first will actually get the object.
Subclasses of Container Class:
The game object Base class will define a Container class for
creating objects that contain other objects: Room, Room
Exit, Player, Non-Player, Thing, and other Containers.
Stated another way, a subclass of Container will be (for
example) Room.
ROOM objects can be used to represent physical places in a
game, or they can represent more abstract concepts like
levels.
ROOM EXIT objects define the interfaces between Room
objects. They govern when and how a player may pass from one
Room to another. Room Exit objects will enable use of the
server-switching functions that allow separate World objects
to connect.
PLAYER objects are instantiated for each player that joins
the game; they, too, are containers. Players can contain
objects that they own, such as a key picked up in an
adventure game, or a weapon earned in an action game.
NON-PLAYER objects are similar to Player objects in that
they can own Things and move from Room to Room. However,
their behavior is determined by the game application. An
example of a Non-Player object would be an alien monster in
a space adventure game.
The Non-Player object class will provide randomizing methods
for influencing behavior. For example, a game may assign a
sequence of actions that a Non-Player object will perform at
a specified time. The game may also specify that exact order
or timing of the sequence be modified in a random fashion.
Non-Player objects will be designed to exploit the game
object Base class's journaling functions. A journal of
actions recorded by a Player object could be used as the
basis for the randomized behavior of a Non-Player object.
So, a space adventure game programmer could determine the
behavior of an alien monster by first recording a journal
while an experienced user played as though he was the
monster. The recorded actions of the user's Player object
would be randomized to program the new Non-Player object.
The THING class would be used to populate the Room objects
with all the necessary parts of the game. All Thing objects
could, at the discretion of the game application, use any of
the underlying technologies built into the game object Base
class. For example, any Thing object could accept input from
mouse, joystick, keyboard or speech recognition. A Thing
object could display itself on the player's system using any
of the available OS/2 Multimedia formats: still picture,
animation, motion video, wave audio, or MIDI.
Two-dimensional Thing objects will be able to use the new
OS/2 sprite engine for motion through a room and for
detecting collisions with other Thing objects.
Three-dimensional objects will make use of a new OS/2 3-D
graphics API for translation and rotation through space.
Display Proxies:
All of the objects described above, except the Client
object, reside in the same physical location as the Server
object. Taken together, they define the logical processing
of the game, but they do not define how the game appears to
the user.
The Room, Player, Non-Player and Thing objects each have a
counterpart that gets instantiated in the client of every
player in the game. This counterpart is called the object's
display proxy, or DP. Display proxies contain the actual
data necessary for an object to manifest itself to the user:
image, animation, video, audio, or MIDI data. Since this
data is kept locally at each Client, there will be no
performance impact caused by the transmission of display
data.
The Display Proxies will use the new Direct Access Video
Extension (DIVE) interface for displaying images. This new
OS/2 Warp interface will permit high-speed (50 fps or more,
depending on image size, availability of acceleration
hardware, and display type) animation from still image data.
An application could, therefore, specify a bitmap array as
the display data for a Display Proxy object; the game object
base class will display the images in that array through
DIVE whenever that object is visible.
SPEECH RECOGNITION
The Input class will use the IBM Continuous Speech Series to
provide speech-recognition input capability to all objects
defined by the application. ICSS is a continuous
speech-recognition system that digitizes and compresses
speech input, then applies a recognition search based on an
algorithm that compares phoneme models against context
files. Context files define the grammars that delineate the
words that are acceptable as input.
Because ICSS accepts continuous speech, the user does not
need to pause after every word he/she speaks. Furthermore,
ICSS is speaker-independent, so users do not have to be
trained to talk to ICSS, and ICSS does not have to be
trained to listen to users. Unlike speech-recognition
systems for dictation, ICSS uses small grammars that define
the possible spoken inputs at a given point in time. The
capabilities of ICSS to accept continuous speech from an
untrained user, to operate independent of a particular
speaker, and to utilize discrete, customizable grammars
makes it an ideal input method for games and entertainment
software.
To speech-enable any of the objects it creates, an
application based on the entertainment toolkit's game object
Base class will provide a context file that contains a
grammar for each state of the object. As the object changes
state, the new grammar will automatically be loaded so as to
correctly interpret any subsequent utterances.
For example, an object that represents a book might be
defined to have states such as "open" and "closed". The
grammar for the open state would contain commands such as
"Read the book" and "Close the book", whereas the grammar
for the closed state would contain "Open the book". Once
these states and grammars are defined, the base class will
ensure that the book object receives an "open" message when
it is closed and the user says, "Open the book."
If ICSS is installed on the user's system, the Input object
will:
o Establish a session with ICSS
o Load the correct context to guide speech recognition
every time the input focus changes or an object's state
changes
o Start the ICSS listening process
o Spin off a separate thread which will wait for spoken
input
o Convert the spoken command into a call to the
appropriate object method
o Terminate the session with ICSS upon application
termination.
3-D GRAPHICS
IBM intends to provide support for 3-D graphics modeling and
rendering in the entertainment toolkit. Like the MMPM/2
implementation of software motion video, this new 3-D
graphics support will use the DIVE interface for maximum
performance.
JOYSTICK SUPPORT
IBM intends to provide a joystick driver for OS/2 in the
entertainment toolkit.
DEVELOPER SUPPORT
=================
IBM wants to make it easy to port existing games, easy to
develop new ones, and easy to bring them to market. Several
support programs have been set up to meet these objectives.
IBM DEVELOPERS ASSISTANCE PROGRAM
The IBM Worldwide Developers Assistance Program (DAP) is
open to all developers of IBM Personal Software-based
products. These developers include corporate programmers
producing in-house applications, consultants, educators,
industry analysts, government agencies, and others with an
interest in PC DOS, OS/2, Pen, Multimedia, LAN Systems, and
now OS/2 for PowerPC.
The DAP is designed to provide a broad range of technical,
business, and marketing support services for this growing
and increadingly diverse development community, such as:
o Technical support through IBM OS/2 forums on CompuServe
o The opportunity to participate in early-code programs
o Access to DAPTOOLS via CompuServe and the Internet
o Access to OS/2 Custom Application Porting Workshops and
LAN Systems Workshops
o Technical Conferences
o IBM product announcements.
Worldwide DAP membership is open to individuals, with no
company or product prerequisite, and with no fee.
Enrollment is done electronically through either CompuServe
or Internet. On CompuServe, enter Go OS2DAP to complete the
on-line application form. On Internet, FTP to dap.svo.com
(192.203.134.5). Log on using a guest account (GUEST1, ...
, GUEST10) and password of DAP4ME. Download the file
WWDAP.TXT. Complete and send to wwdap@vnet.ibm.com.
If you have any questions, please call 407-982-6408 or
407-982-1030.
The Worldwide DAP also has a number of extensions that offer
customized services for specific developer needs. Your
eligibility for a specific service depends on the type of
products you are currently marketing, or developing with
plans to market. Some services vary by country but can
include:
o Online technical support at no charge
o Defect support for all warranted products that are
supported by IBM support centers
o Complimentary access to the online database of Personal
Software-based development tools Complimentary
subscriptions to OS/2 Developer magazine
o Discounts on IBM Personal Software products
o Listings in IBM OS/2 & LAN Systems Application
Directory, IBM OS/2 & LAN Systems Development Tools
Guide, and Sources and Solutions catalog.
o "READY! for OS/2" and "READY! for LAN Systems"
certification marks
o IBM Direct Marketing Center
DEVELOPERS CONNECTION FOR OS/2
The Development Connection for OS/2 is a unique annual
subscription program, offered in conjunction with the
world-wide Developers Assistance Program, and designed to
deliver CDs and Newsletters to your door four times a year.
Electronic support is also provided to subscribers though
Compuserve and the Internet. The Developer Connection for
OS/2 is designed to support application developers that
develop on the OS/2 platform with the most current technical
information, tools, and sneak-previews, along with creative
tips and techniques. IBM intends to extend the Developer
Connection family with a toolkit for developing
entertainment software.
The OS/2 Developer's Connection CD-ROM subscription,
containing a wide selection of development tools and code,
is available for $199 (U.S.) from IBM:
800-6-DEVCON to order in the UNITED STATES
800-561-5293 to order in CANADA
45-3-252-6588 or FAX 45-3-252-8203 to order in EUROPE
61-2-354-7684 or FAX 61-2-354-7766 to order in OTHER
LOCATIONS
CONVERSION TOOLS (SMART)
IBM recently signed an agreement with One Up Corporation to
widely distribute its conversion tool, Source Migration
Analysis Reporting Toolset (SMART), including current and
future versions. SMART will be offered as part of the
Developers Connection for OS/2 CD-ROM and results in
tremendous time and cost savings for developers converting
to 32-bit OS/2 applications from 16-bit Windows, 32-bit
Windows NT, and 32-bit applications for future versions of
Windows, as well as from 16-bit OS/2 applications.
SMART consists of two primary tools. (1) The Analysis and
Reporting Tool measures the size of a conversion effort and
provides a roadmap for migration, typically in a day, rather
than the 6 person-month effort usually required. (2) The
Source Migration Tool automatically converts as much as 70
percent, or more in some cases, of the API and message code
to 32-bit OS/2 code.
ADDITIONAL SUPPORT
A surprising amount of information and support is available
for OS/2 game developers. Much of it comes from electronic
bulletin boards and networks.
OS/2 Warp includes electronic access to CompuServe and
various tools to navigate the Internet. IBM also provides
easy access to an Internet home page (server) on the World
Wide Web (WWW) that contains a growing library of support
information, information about available OS/2 applications,
and sample code. As a game developer, be sure to ask about
having your application listed there, and about supplying
demo code for users to download and try.
The list below is a small subset of Internet and CompuServe
sites that contain answers and information about OS/2
multimedia and game development.
INTERNET:
COMP.OS.OS2.ANNOUNCE -- carries important OS/2
announcements
COMP.OS.OS2.BETA -- explores beta releases of OS/2
COMP.OS.OS2.BUGS -- discusses possible bugs found in
released versions of OS/2
COMP.OS.OS2.GAMES -- deals with game playing under OS/2
COMP.OS.OS2.MISC -- addresses anything else related to
OS/2 programming
COMP.OS.OS2.MULTIMEDIA -- discusses OS/2 multimedia
(including MMPM/2)
COMP.OS.OS2.PROGRAMMER.OOP -- focuses on programming
with object technologies (such as SOM, DSOM, OpenDoc,
Taligent frameworks, and the OS/2 Workplace Shell)
COMP.OS.OS2.PROGRAMMER.PORT -- helps programmers port
applications to OS/2
COMP.OS.OS2.PROGRAMMER.TOOLS -- compares and contrasts
the various programming tools and compilers available
for OS/2
COMP.OS.OS2.SETUP -- offers a place to talk about setup
and installation issues
COMP.REC.GAMES -- for general games questions
FTP-OS2.CDROM.COM -- for OS/2-based multimedia programs
and source code
COMPUSERVE:
OS2DF1 (MMPM/2 section) -- multimedia and game support
GO IBM -- OS/2 Forum
FIND OS/2
This next list includes a small subset of the hundreds of
non-IBM bulletin-board systems with significant OS/2
content. They are sequenced by area code and country code.
Fernwood (203) 483-0348
The Bin BBS (206) 451-1905
OS/2 Source BBS (303) 744-0373
Denver OS/2 BBS (303) 755-6859
Inside Technologies BBS (313) 283-1151
OS/2 Woodmeister (314) 446-0016
Gateway/2 (314) 554-9313
Pyramid/2 (415) 494-7497
Bay Area OS/2 (510) 657-7948
OS/2 San Diego (619) 558-9475
OS/2 Las Vegas (702) 433-5535
OS/2 Shareware (703) 385-4325
Greater Chicago Online (708) 895-4042
OS/2 Exchange BBS (904) 739-2445
Abaforum (Barcelona) 34-3-589.38.88
IBM UK 44-256-336655
OS/2 UK 44-454-633197
IBM Denmark 45-42-88-72-22
Copenhagen UG BBS 45-48-24-45-80
OS/2 Norway 47-22-38-09-49
IBM Norway 47-66-99-94-50
IBM Germany 49-7034-15-2160
OS/2 Australia 61-2-241-2466
Soft/2 Shareware 61-8-370-7339
(Adelaide)
Your local FidoNet BBS may carry OS/2 echo conferences
and/or OS2NET. If not, ask your system operator to join
them. Smartnet (an international network of PCBoard BBSs),
and PRODIGY (JUMP OS/2 CLUB) are also excellent resources.
For information about the IBM United States OS/2 BBS, phone
800-547-1283. IBM Canada also maintains several support
BBSs: (416) 946-4244, (416) 946-4255, (514) 938-3022, (604)
380-5441, (604) 664-6464.
============================================================
POSSIBLE OS/2 WARP GAME SCENARIO
============================================================
The following scenario provides an exciting glimpse of what
the near future can bring with OS/2 Warp.
Eric uses OS/2 Warp's Internet Connection to log on to a
game server via the Internet. In one fantasy world provided
by this game server, Eric has obtained the key to the cellar
door. He's already explored the cellar, gleaning all the
clues within, but he's hoping to get something more in
exchange for the key itself.
An animated figure with a likeness of Eric's face approaches
the cellar door on the screen as Eric guides his
player-likeness with a joystick. Eric speaks aloud, "Create
a VCR", and an image of a video cassette recorder and TV
monitor appears at his alter-ego's feet. "Record!" commands
Eric, and a red light on the recorder starts blinking. Eric
looks into the video camera he has attached to his $200
video capture card. "I have the key to the cellar door," he
says as the animated reels turn on the tape recorder. "If
you can tell me how to break the Wizard's spell, I'll give
you the key." Eric selects the Stop button on the animated
VCR and then shuts down his game session.
Later that day, Peter connects to the same game server via
LAN NetBIOS, and starts exploring the same game world. When
he gets to the cellar door, he sees the VCR and TV monitor
and selects the play button. Peter watches Eric's recorded
message in the animated TV monitor inside his game world.
His curiosity is piqued, and Peter says, "Who left this
message?" A dialog appears on-screen showing an image of
Eric with his nickname and TCP/IP address. In spite of the
fact that Peter doesn't have TCP/IP installed, Peter says,
"Call him."
Meanwhile, Eric has pulled up the IBM Works word processor
(included with OS/2 Warp in the BonusPak) and is into more
serious homework, but he has left his Person-to-Person Call
Manager running in auto-answer mode. Suddenly the game
reappears on Eric's OS/2 desktop. Eric sees his own
player-image and the image of another player (with a face
that looks like Peter's) standing near that same cellar
door.
Peter has the same view on his screen. Peter speaks into his
microphone, and as he talks, his player-likeness moves its
mouth in a pantomime of speech. Eric can hear Peter's words
emanating from his multimedia speakers: "I know someone who
has beaten the Wizard. I will give you her number if you
give me the key to the cellar door."
Eric's mike is active, too. He replies, "No deal. Get me the
information I need first; then I will give you the key."
"Okay, can you hold a second?" Peter asks. "Let me see if I
can get her on-line." Peter then says, "Call Susan," and his
modem begins to click and hum. A moment later, a third
player-figure is visible in the game scene, and a third
voice can be heard on the audio channel. "Susan," says
Peter, "Eric has offered to give us the cellar door key if
we can show him how to defeat the Wizard. Do you want to
deal?"
The same game has popped up on Susan's screen. "It's
complicated," replies Susan, "so I made it into a macro.
Here, I'll replay it for you." She starts a second session
of the same game, but the scene is different: the Wizard's
laboratory. The same scene appears on Peter's and Eric's
machines. As Peter and Eric watch, Susan's player-image
engages in a duel with the Wizard, using various weapons and
exchanges of cryptic utterances.
"Got it," says Eric. "Thanks!" With his joystick, he drags
the cellar door key from his sack onto the image of Peter's
player. Then he picks up the VCR, drags it to the shredder,
and shuts down his game session.
Eric's player-image has disappeared from the other players'
screens, but Peter can now see the key in his own sack. He
unlocks the cellar door and says to Susan, "Follow me." They
step inside...
============================================================
RECOMMENDED DOS SETTINGS
============================================================
Although OS/2 Warp automatically recognizes the top 100+ DOS
games and automatically optimizes the DOS settings, there
surely will be games that were missed. In this case, you can
either make a copy of a program icon for a similar game and
then manually change the drive path and program name, or you
can use the generalized system settings listed below as a
base to start from, and fine-tune if needed. The DOS
Settings are displayed in a graphical format, and can be
changed according to your game's documentation, or to match
the guidelines provided here.
1. Point to the game/program 5. Select "DOS settings."
2. Press mouse button 2. 6. Select "All DOS settings".
3. Select the Session tab. 7. Select OK.
4. Select "DOS full screen".
DOS FULL SCREEN -- This is a push button that is selected
before editing the DOS Settings. Selecting this option
causes your application to cover the entire screen instead
of running in a window. You won't be able to see other
windows and icons, but most games run much faster in
full-screen mode.
DOS_BACKGROUND_EXECUTION=OFF (default=ON) -- You'll want to
set this to OFF for most games, so that your game doesn't
continue to run when you switch to another application. In
other words, your game will "freeze" when it is in the
background, and resume when you once again bring it to the
foreground. Set this to OFF if you don't want your
fictitious character to get shot by aliens while you're
working on something else!
DOS_FILES=NN (default=20) -- For those few games that use
more than 20 files during game play, increase the number of
files to 30 or 40. Doing this slightly reduces the amount of
memory available.
DOS_HIGH=ON (default=OFF) -- In most cases, you'll want to
set this to ON (along with DOS-UMB) to provide more
conventional memory for your game. Some games, however,
prefer to access the DOS high-memory space directly, thus
requiring DOS-HIGH (and DOS_UMB) to be set to OFF. If
DOS_HIGH is ON, you'll generally also want DOS-UMB to be ON,
XMS_HANDLES to be greater than zero, and XMS_MEMORY_LIMIT to
be at least 64.
DOS_STARTUP_DRIVE=D: (a drive letter) -- Some game
applications allow you to create a boot diskette to play the
game. In those cases where nothing else seems to work,
create a boot diskette, then enter "A:" for this setting.
After that, when you double-click on the game icon, just
make sure that the boot diskette is in drive A:, and OS/2
Warp will start your game as though it were actually
starting your system from drive A:
DOS_UMB=ON (default=OFF) -- This setting should be ON unless
DOS_HIGH is OFF. It lets your DOS game load drivers and
other TSR (terminate and stay resident) programs into upper
and XMS memory, thus freeing conventional memory space for
your game.
DPMI_DOS_API=AUTO -- DOS Protected Mode Interface (DPMI) is
a memory-access specification for use in multitasking
environments such as OS/2 Warp. Many new applications are
starting to take advantage of this feature. If you see DPMI
mentioned in the game documentation, or in error messages,
this default should be changed to ENABLED.
DPMI_MEMORY_LIMIT=4 -- This default is usually adequate;
however, if you have a truly memory-hungry game, boosting
this setting to match the amount of physical memory (RAM)
you have might provide performance improvements. However,
boosting it beyond your physical memory might cause memory
swapping to disk, thus impairing performance.
DPMI_NETWORK_BUFF_SIZE=8 -- This default should be OK, but
some games require this setting to be 64.
EMS_MEMORY_LIMIT=2048 -- If your game requires more than the
default of 2 MB of EMS (expanded) memory, then increase this
setting to match the amount of physical memory (RAM) you
have in your system.
HW_NOSOUND=ON (default=OFF) -- Setting this to ON usually
prevents your game from using your PC's internal speaker to
make annoying noises. This setting does not, however, turn
off sound card support in games that attempt, but fail, to
play under OS/2 Warp. You should use the application's
installation or setup features to control sound-card
support.
HW_ROM_TO_RAM=ON (default=OFF) -- This setting, which
enables copying ROM BIOS to faster RAM, usually improves
performance slightly, unless your system is
memory-constrained. In some games, this slight improvement
can eliminate screen flicker.
HW_TIMER=ON (default=OFF) -- This should be set to ON for
games and other timing-sensitive applications that need
direct access to hardware timer ports. With this setting
ON, however, the performance of background applications
could suffer. It's a price you pay for fast action games --
where else could you receive a fax while playing DOOM?
IDLE_SECONDS=NN (default=0) -- Some programs, such as games
and word processors, spend most of their time idling,
waiting for user input. Because they were written under the
assumption that they are the only application running, they
may make heavy use of the processor during this time,
polling the keyboard or another device in order to appear as
responsive as possible to the user. This setting lets you
tell OS/2 Warp how many seconds you would like OS/2 Warp to
wait before interrupting the program's idle time. By setting
it to 10, you essentially tell OS/2 Warp to allow the DOS
program to do whatever it pleases in 10-second intervals
during idle time. If IDLE_SENSITIVITY is set to 100,
disabling idle-detection, then it doesn't make any
difference what IDLE_SECONDS is set to.
IDLE_SENSITIVITY=100 (default=75) -- Set this to 100 for
most DOS games to disable idle-detection, essentially
telling OS/2 Warp not to interrupt your game just because
you haven't responded for a certain period of time (defined
by IDLE_SECONDS).
INT_DURING_IO=ON (default=ON) -- Setting this to OFF causes
DOS programs to not receive interrupts until after
read/write is done. It should be left ON for multimedia
applications to avoid choppy audio.
KBD_ALTHOME_BYPASS=OFF (default=OFF) -- Some DOS games
display great graphics even in a windowed DOS session. By
pressing Alt+Home, you can toggle between running the game
in full-screen or in a window. Other programs are not so
well-behaved, however, and can even fail if using Alt+Home.
In those cases, and whenever the application itself uses the
Alt+Home key sequence, KBD_ALTHOME_BYPASS should be set to
ON, which tells OS/2 Warp to pass the Alt+Home key sequence
along to the application.
KBD_CTRL_BYPASS -- In the case where a DOS game uses either
the Ctrl+Esc or Alt+Esc key sequences, or when the game does
bad things to the screen when you try to switch back to the
OS/2 Warp desktop from your game, you should set this to
either CTRL_ESC or ALT_ESC.
MOUSE_EXCLUSIVE_ACCESS=ON (default=OFF) -- For most games,
this can be set to ON to eliminate a second cursor, and to
give your game more complete control over the mouse pointer.
VIDEO_8514A_XGA_IOTRAP=OFF (default=ON) -- For most games,
this should be set to OFF to provide faster, unrestricted
access to the video device.
VIDEO_FASTPASTE (default=OFF) -- In a few cases where a game
seems unresponsive, setting this to ON can provide a minor
benefit.
VIDEO_RETRACE_EMULATION=OFF (default=OFF) -- This should be
left OFF for games and graphical applications to improve
performance.
XMS_MEMORY_LIMIT=2048 (default=2048) -- Use this setting to
increase the amount of XMS (Extended) memory available to an
application, or to provide additional memory for the use of
DOS_HIGH and DOS_UMB. In general, it's a good idea to leave
this number a few megabytes less than the amount of physical
memory you have.
============================================================
LIST OF GAMES RECOGNIZED BY OS/2 WARP
============================================================
The following are the game titles that (as of this writing)
are recognized by OS/2 Warp. For each title, an icon has
been placed in OS/2 Warp's Games folder, including
fine-tuned settings to enable enjoyable play. When different
versions of these titles exist for different system
platforms (e.g., DOS and Windows), in most cases OS/2 Warp
recognizes the multiple versions.
1942: The Pacific Air War, MicroProse
4D Boxing, Distinctive Software
7th Guest, Virgin Games
A-Train, Maxis
Aces of the Pacific, Dynamix
Aces over Europe, Dynamix
Alone in the Dark, I-Motion
Alone in the Dark CD, I-Motion
Alone in the Dark 2, I-Motion
Arena: The Elder Scrolls, Bethesda Softworks **
Asteroids, Microsoft
Battle Chess, Interplay
Battle Chess 4000, Interplay
Battles of Destiny, QQP
Battlezone, Microsoft
Betrayal at Krondor, Dynamix
Betrayal at Krondor CD, Dynamix
Black Jack for OS/2, Reed
Blake Stone, Apogee
Carriers at War Construction Kit, Strategic Simulations
Carriers at War II, Strategic Simulations
Castle Wolfenstein 3D, Apogee
Centipede, Microsoft
Chess Master 3000, Mega CD Pack
Chip's Challenge, Microsoft
Chuck Yeager's Air Combat, Electronic Arts **
Civilization, MicroProse
Commander Keen, Apogee/id Software
Commander Keen 4, GT Software/id Software
Commander Keen 5, GT Software/id Software
Conquered Kingdoms, QQP
Corridor 7, Capstone
Cosmo's Cosmic Adventure, Apogee
Cruel, Microsoft
Day of the Tentacle, LucasArts
Day of the Tentacle CD, LucasArts
DOOM, id Software **
DOOM II, id Software **
Dr. Black Jack, Microsoft
Duck Tales, Incredible Technologies
Duke Nukem, Apogee
Duke Nukem 2, Apogee
Dungeon Hack, Strategic Simulations
El-Fish, Maxis
Electranoid, Pixel Painters
Empire Deluxe, New World Computing
Epic Pinball, Epic **
Eric the Unready, Legend
F-117A Stealth Fighter 2.0, MicroProse
F15 Strike Eagle 3, MicroProse
Falcon 3.0, Spectrum HoloByte
Fleet Defender, MicroProse
Freddy Pharkas Frontier Pharmacist, Sierra
Freecell, Microsoft
Freecell (Win32s), Microsoft
Front Page Sports Football, Sierra
Frontier Elite II, Gametek/Konami
Fuji Golf, Microsoft
Galactic Civilizations, AIMs/Stardock
Golf, Microsoft
Gunship 2000, MicroProse
Halloween Harry, Apogee **
Hardball III, Accolade
Harpoon CD, Three-Sixty Pacific
Harpoon II, Three-Sixty Pacific
Hocus Pocus, Apogee
Hoyle's Book of Games, Sierra
Hoyle's Book of Games, Vol. 3, Sierra
Humans, GameTek
Indiana Jones: Fate of Atlantis, LucasArts
Indianapolis 500, Electronic Arts
Indy Car Racing, Papyrus
Jack Nicklaus Signature Golf, Accolade **
Jack Nicklaus Unlimited Golf and Course, Accolade **
JezzBall, Microsoft
JigSawed, Microsoft
Joe Montana Football, SEGA
Just Grandma and Me, Living Books
Kid Pix, Broderbund
Kid Pix 2, Broderbund
Killing Cloud, Konami
Kings Quest I, Sierra
Kings Quest II, Sierra
Kings Quest III, Sierra
Kings Quest IV, Sierra
Kings Quest V, Sierra
Kings Quest V CD, Sierra
Kings Quest VI, Sierra
Kings Quest VI CD, Sierra
Klotski, Microsoft
Knowledge Adventure, Knowledge Adventure, Inc. **
LHX: Attack Chopper, Electronic Arts
Lakers vs. Celtics and the NBA Playoffs, Electronic Arts
Lands of Lore, Westwood Studios **
Lands of Lore CD, Westwood Studios **
Leisure Suit Larry 3, Sierra
Leisure Suit Larry 5, Sierra
Lemmings 2: The Tribe, Psygnosis
Lemmings, Psygnosis
Life Genesis, Microsoft
Links-The Challenge of Golf, Access
Links386 Pro, Access **
MYST, Broderbund
Mahjongg for OS/2, IBM
Mario Is Missing, The Software Toolworks
Master of Orion, MicroProse
Math Blaster, Davidson
Math Rabbit, The Learning Company
Mavis Beacon Teaches Typing, Mega CD Pack
Mickey's 123's, Disney
Mickey's ABC's, Disney
Microsoft Flight Simulator 4.0, Microsoft
Microsoft Flight Simulator 5.0, Microsoft
Might and Magic II, New World Computing
Might and Magic III, New World Computing
Might and Magic IV: Clouds of Xeen, New World Computing
Might and Magic V: Darkside of Xeen, New World Computing
Minesweeper for OS/2, David Charlap
Minesweeper, Microsoft
Missile Command, Microsoft
Monster Bash, Apogee
Mother Goose, Sierra
NHL Hockey, Electronic Arts
Oh No! More Lemmings, Psygnosis
Operation Neptune, The Learning Company
Oregon Trail, MECC
Out of This World, Interplay
Outpost, Sierra
Oxyd magnum!, Dongleware Publishing **
Pegged, Microsoft
Pipe Dream, LucasFilm Games
Pipe Dream (Windows), Microsoft
Playworld, Broderbund
Police Quest 3, Sierra
Police Quest 4: Open Season, Sierra
Police Quest 4: Open Season CD, Sierra
Populous, Electronic Arts/Bullfrog
Populous 2, Electronic Arts/Bullfrog
Prince of Persia, Broderbund
Prince of Persia 2, Broderbund
Quest for Glory I, Sierra
Quest for Glory II: Trial by Fire, Sierra
Quest for Glory III, Sierra
Quest for Glory IV: Shadows of Darkness, Sierra
Railroad Tycoon, MicroProse
Railroad Tycoon Deluxe, MicroProse
Rally Racer, Accolade
Raptor, Apogee/Cygnus
RattlerRace, Microsoft
Reader Rabbit, The Learning Company
Reader Rabbit 1, The Learning Company
Reader Rabbit 1 for Windows, The Learning Company
Reader Rabbit 2, The Learning Company
Reader Rabbit 3, The Learning Company
Reader Rabbit's Ready for Letters, The Learning Company
Rebel Assault, LucasArts
Red Baron, Dynamix
Red Baron CD, Dynamix
Return to Zork, InfoCom
Reversi, Microsoft
Rex Nebular, MicroProse
Rodent's Revenge, Microsoft Best
Roids, Leonard Guy
Sam and Max Hit the Road, LucasArts
Scorched Earth, Wendell Hicken
Seawolf, Electronic Arts
Secret Weapons of the Luftwaffe, LucasArts AirCombat
Secret of Monkey's Island 2, LucasFilm Games
Secret of Monkey's Island, LucasFilm Games
Serf City, Strategic Simulations, Inc.
Sherlock Holmes (CD), Icom Simulations
Sherlock Holmes III, Icom Simulations
SimCity 2000, Maxis
SimCity Classic, Maxis
SimCity (Windows), Maxis
SimEarth, Maxis
SimFarm, Maxis
SimFarm (Windows), Maxis
Ski Free, Microsoft
Solitaire, Microsoft
Solitaire's Journey, QQP
Solitaire's Journey (Windows), QQP
Space Quest I, Sierra
Space Quest IV, Sierra
Space Quest V, Sierra
Spear of Destiny, Apogee
Speed Racer, Accolade
Splash, Spinnaker
Star Trek 25th Anniversary, Interplay
Star Trek: Judgment Rites, Interplay
Stellar 7, Dynamix
Super Solvers Gizmos & Gadgets, The Learning Company
Super Solvers Midnight Rescue, The Learning Company
Super Solvers Outnumbered!, The Learning Company
Super Solvers Spellbound!, The Learning Company
Super Solvers Spellbound! CD, The Learning Company
Super Solvers Treasure Mountain, The Learning Company
Taipei, Microsoft
Take a Break Pinball, Dynamix
Task Force 1942, MicroProse
Tempest, Microsoft
Tensor, AIMs/Palet
TetraVex, Microsoft
Tetris, Spectrum HoloByte
Tetris for Windows, Microsoft
The Bard's Tale II, Interplay
The Bard's Tale, Interplay
The Castle of Dr. Brain, Sierra
The Grandest Fleet, QQP
The Incredible Machine, Sierra
The Island of Dr. Brain, Sierra
The Legend of Kyrandia (Book I), Westwood Studios
The Legend of Kyrandia (Book II), Westwood Studios
The Lost Admiral, QQP
The Perfect General, QQP
The Playroom, Broderbund
The Treehouse, Broderbund
Their Finest Hour: The Battle of Britain, LucasArts Air Combat
Theme Park, Electronic Arts/Bullfrog
Theme Park CD, Electronic Arts/Bullfrog
TicTactics, Microsoft
Tie Fighter, LucasArts
Tom Landry Strategy Football Deluxe, Merit Software
Tony LaRussa Baseball II, Strategic Simulations
Treasure MathStorm, The Learning Company
Treasure Mountain V1.02, The Learning Company
Tri Peaks, Microsoft Best
Tut's Tomb, Microsoft Best
U.S. Atlas Multimedia, Software Toolworks Mega CD
Ultima Under World, Origin
Ultima Under World II, Origin
V for Victory: Market Garden, Three-Sixty Pacific
V for Victory: Velikiye Luki, Three-Sixty Pacific
VGA Planets, Tim Wisseman
Video Poker, Brett King
Warlords, Strategic Studies Group
Warlords II, Strategic Studies Group
Warlords II Scenario Builder, Strategic Studies Group
Wasteland, Interplay
Wheel of Fortune, GameTek
Where in Europe is Carmen San Diego?, Broderbund
Where in Space is Carmen San Diego?, Broderbund
Where in Time is Carmen San Diego?, Broderbund
Where in the USA is Carmen San Diego?, Broderbund
Where in the World is Carmen San Diego?, Broderbund
Wing Commander, Origin
Wing Commander Academy, Origin
Wing Commander II, Origin
Wing Commander II Special Operations I, Origin
Wing Commander II Special Operations II, Origin
Wizardry VII: Crusaders of the Dark Savant, Sir-Tech
WolfPack CD, Nova Logic
WordZap, Microsoft
World Atlas Multimedia, Software Toolworks
World Circuit, MicroProse
X-Wing, LucasFilm Games
XCOM - UFO Defense, MicroProse
XCOM - UFO Defense CD, MicroProse
NOTE: In some games, depending on the hardware
configuration, sound should be disabled for optimum
performance. Titles marked with an ** are games that require
the sound to be disabled in most of the tested
configurations. Try them with sound on your system first.
============================================================
TRADEMARKS:
============================================================
Crash Protection, DSOM, IBM, MMPM/2, Multimedia Presentation
Manager/2, OS/2, Operating System/2, Person to Person,
PowerPC, SOM, System Object Model, Ultimedia Builder/2,
Ultimedia Perfect Image/2, Ultimedia Video IN, Ultimedia
Workplace/2, Ultimotion, and Workplace Shell are trademarks
or registered trademarks of IBM Corporation.
Microsoft and Windows95 are trademarks or registered
trademarks of Microsoft Corporation.