home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 14 Text / 14-Text.zip / os2gamet.zip / OS2GAME.TXT
Text File  |  1995-03-31  |  115KB  |  2,735 lines

  1.  
  2. OS/2 WARP FOR PLAYING AND DEVELOPING PC GAMES
  3.  
  4. Wayne Caswell
  5. IBM Corporation
  6. January 1995
  7.  
  8.  
  9.  
  10. ABSTRACT:  This document focuses on specific OS/2 Warp
  11. features that apply to PC gaming.  It assumes that the
  12. reader is already familiar with OS/2 as a PC operating
  13. system.
  14.  
  15. The first section, "OS/2 Warp for PC Gamers," describes OS/2
  16. as a games platform, solving many of the problems PC users
  17. face when playing games under DOS or Windows, and helping to
  18. usher in a new breed of high-performance 32-bit games.  It
  19. is being publishied as an article in IBM Personal Software
  20. Technical Newsletter, Issue 1, 1995.  "Personal Software"
  21. is delivered to PC and OS/2 user groups and is also
  22. available in softcopy form on the Internet World Wide Web
  23. (htpp://www.austin.ibm.com/pspinfo/ibmpcug.html).
  24.  
  25. The second section, "OS/2 Warp for PC Game Developers,"
  26. describes unique advantages OS/2 has as a development
  27. platform and contains detailed information for program
  28. developers.  It is being published in the May/June 1995
  29. issue of IBM Personal Systems Technical Solutions magazine.
  30. For either a single issue or a subscription to Personal
  31. Systems magazine, call 1-800-678-8014.
  32.  
  33. DISCLAIMER:  Some sections of this paper may include
  34. information concerning future products or future releases of
  35. products currently commercially available.  The description
  36. and discussion of IBM's future products, performance,
  37. functions, and availability are based upon IBM's current
  38. intent and are subject to change.
  39.  
  40. The information contained in this paper has not been
  41. submitted to any formal IBM test and is distributed on an
  42. "as is" basis without any warranty either express or
  43. implied.  The use of this information or the implementation
  44. of any of these techniques is a customer responsibility and
  45. depends on the customer's ability to evaluate and integrate
  46. them into the customer's operational environment.  While
  47. each item may have been reviewed by IBM for accuracy in a
  48. specific situation, there is no guarantee that similar
  49. outcomes will result elsewhere.  Customers attempting to
  50. adapt these techniques to their own environments do so at
  51. their own risk.  This information is not intended to be an
  52. assertion of future action or a commitment to deliver
  53. products.
  54.  
  55. The authors (and IBM) may use or distribute any information
  56. you supply in any way believed appropriate without incurring
  57. any obligation whatever.
  58.  
  59. COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 1995.
  60. ALL RIGHTS RESERVED.
  61.  
  62. Comments & corrections concerning this paper may be sent to:
  63.  
  64.  Wayne Caswell
  65.  IBM, internal zip 2999
  66.  11400 Burnet Rd.
  67.  Austin, TX  78758
  68.  1-512-823-1746 (voice)
  69.  1-512-823-2733 (fax)
  70.  WCASWELL@VNET.IBM.COM (INTERNET)
  71.  
  72.  
  73. ============================================================
  74. TABLE OF CONTENTS
  75. ============================================================
  76.  
  77. OS/2 Warp for PC Gaming
  78. PC Games versus Arcade & Game Boxes
  79. 32- versus 16- versus 8-Bit
  80. Access to More Memory
  81.   OS/2 Warp Manages Memory
  82. Multitasking and Multithreading
  83. Child Proofing
  84. Installing and Configuring DOS Games
  85.   Application Recognition Database
  86.   Save Settings
  87.   Default Subdirectory
  88.   Games Folder
  89. Troubleshooting Your Games
  90. Windows as a Game Platform?
  91. BonusPak Reaches into Home Markets
  92.   Multimedia Features
  93.   IBM Works
  94.   IBM Internet Connection for OS/2
  95.   CompuServe Information Manager for OS/2
  96.   IBM Person to Person for OS/2
  97.   FaxWorks for OS/2
  98.   HyperACCESS Lite for OS/2
  99.  
  100. OS/2 Warp for PC Game Developers
  101. Market Potential
  102. Selecting APIs and Tools
  103. Memory Management
  104. Multitasking and Multithreading
  105. Synchronizing Events and Actions
  106.   Direct Access to Video Buffers
  107.   Direct Interface video Extension (DIVE)
  108.   32-Bit Virtual I/O
  109. Audio Support
  110.   Sharing Sound Cards
  111.   Playlists Provide Specific Game Support
  112. Image and Photo CD Support
  113.   Motion (Indeo, Ultimotion, and MPEG)
  114.   Video Capture
  115.   Animation (FLI-FLC)
  116. Device Drivers
  117. Multiplayer Network Access
  118. Migrating Existing Applications
  119. Future Proofing
  120.   Symmetric Multiprocessing Systems
  121.   PowerPC
  122.   Human Centrics
  123.   Object Orientation
  124.   OS/2 Binaries
  125.   Native PowerPC Apps
  126. New Toolkit for Developing Games
  127.   Objects and Classes
  128.     Client and Server Classes
  129.     World Objects
  130.     Subclasses of Container Class
  131.     Display Proxies
  132.   Speech Recognition
  133.   3-D Graphics
  134.   Joystick Support
  135. Developer Support
  136.   IBM Developers Assistance Program
  137.   Developers Connection for OS/2
  138.   Conversion Tools (SMART)
  139.   Additional Support
  140.  
  141. Possible OS/2 Warp Game Scenario
  142.  
  143. Recommended DOS Settings
  144.  
  145. List of Games Recognized by OS/2 Warp
  146.  
  147.  
  148. ============================================================
  149. OS/2 WARP FOR PC GAMING
  150. ============================================================
  151.  
  152. OS/2 is a PC operating system that has been around for
  153. years, and is well known as the leading 32-bit PC operating
  154. system for enterprise client/server computing. Now, IBM is
  155. bringing this power to home and mobile users, and is turning
  156. heads, with OS/2 Warp.
  157.  
  158. OS/2 Warp is the 32-bit, multitasking, multimedia,
  159. crash-protected, Windows-friendly, Internet-accessed,
  160. totally cool new way to run your computer.
  161.  
  162. It combines the performance and reliability of its 32-bit
  163. heritage with new mobility and productivity features, such
  164. as simplified installation, reduced memory requirements, a
  165. BonusPak of productivity applications, Internet access,
  166. LaunchPad, and a more responsive user interface. OS/2 Warp
  167. lets you run lots of applications (written for OS/2, DOS,
  168. Windows 3.1 and its upgrades, and Windows for Workgroups 3.1
  169. and 3.11) on the same system at the same time.
  170.  
  171. This section for PC gamers describes OS/2 Warp as an ideal
  172. games platform, solving many of the problems that PC users
  173. face when playing games under DOS or Windows, and helping to
  174. usher in a new breed of high-performance, 32-bit games.
  175.  
  176.  
  177. PC GAMES VERSUS ARCADE & GAME BOXES
  178. ===================================
  179.  
  180. More money is spent on games (arcade games and PC games)
  181. than on box-office movies, and 1994 sales of PCs surpassed
  182. that of television sets. Traditionally, the dedicated arcade
  183. and game boxes (such as Nintendo, Sega, and 3DO) have run
  184. the high-speed, fast-twitch, adrenaline-pumping action games
  185. popular with young males, leaving adventure and thinking
  186. games to personal computers; but that is starting to change
  187. with multimedia PCs and advanced operating systems like OS/2
  188. Warp.
  189.  
  190. Game boxes are still less expensive and easier to install
  191. and use than PCs.  Just plug them into your TV and the wall
  192. plug, and insert a game cartridge. There are no commands to
  193. start a game, and navigation through the game is simple,
  194. usually driven through a joystick that has just a few
  195. buttons.
  196.  
  197. Although personal computers are likely to remain more
  198. expensive than game boxes, they are on the same technology
  199. curve and have the advantage of starting out as
  200. multifunction devices -- but with more computing power; both
  201. hard-disk and CD-ROM storage; the ability to support better
  202. graphics, sound, and video; more user interface alternatives
  203. such as keyboard, mouse, and speech and handwriting
  204. recognition; and significantly greater flexibility and
  205. expandability.
  206.  
  207. PC games have been able to offer greater richness, depth of
  208. experience, and educational value. So parents, concerned
  209. that their kids are spending too much time in front of
  210. violent video games, are attracted by the types of games
  211. offered on PCs. They use this as partial justification for
  212. spending more for a PC, which can also be used for personal
  213. productivity and business applications, than for a game box.
  214.  
  215. PCs are now starting to attract the action games, making
  216. them an even better investment, and possibly replacing some
  217. of the demand for game boxes. It's no wonder that the
  218. manufacturers of video games are looking at the PC market
  219. for ports of their games. Even shareware programs like Doom,
  220. from Id Software, have proven that the PC can rival the
  221. arcade and game controllers in offering engaging action and
  222. excitement.
  223.  
  224.  
  225. 32- VERSUS 16- VERSUS 8-BIT
  226. ===========================
  227.  
  228. Over the last few years, we've seen game controllers move
  229. from 8-bit models to 16-bit, with more function and the
  230. ability to handle better graphics. 16-bit personal computers
  231. have been available longer, and started a similar move to
  232. more powerful 32-bit systems with the Intel i386. Now PCs
  233. have moved through the 486 to Pentium and PowerPC
  234. processors, but most of the software is still designed for
  235. 16-bit systems. That's like running your V8 engine on just
  236. six cylinders.
  237.  
  238. OS/2 Warp, a 32-bit operating system, helps make 32-bit PCs
  239. perform better, even when running old 16-bit games. The
  240. newer 32-bit OS/2 games and applications can improve
  241. performance even more, especially when compared to running
  242. older 16-bit versions under the Windows operating
  243. environment.
  244.  
  245. You may ask "What benefits does 32-bit processing bring to
  246. games?"  Without getting into details, you can summarize the
  247. benefits as faster performance, richer content, better
  248. compatibility with existing applications, and the ability to
  249. do more than one thing at a time -- a real boon for games
  250. that need to calculate their next moves while displaying
  251. video or animation, synchronizing that with exciting sound,
  252. and interacting with one or more users.
  253.  
  254.  
  255. ACCESS TO MORE MEMORY
  256. =====================
  257.  
  258. Today's computers come with more memory than they did a few
  259. years ago, and accessing that additional memory gives game
  260. developers the ability to handle superior graphics with
  261. higher resolution and more colors.  With extra memory,
  262. programs can also do more, and offer richer, more life-like
  263. experiences.
  264.  
  265. But DOS application developers have found that exploiting
  266. that extra memory is not easy. DOS is a 16-bit operating
  267. system, and as such can only address 1 million bytes of
  268. information. Even with 32-bit computers that can address 2
  269. gigabytes of memory, DOS still requires developers to design
  270. programs in small 64 KB segments, and limits total memory
  271. access to 640K bytes. (1 MB minus DOS control blocks = 640
  272. KB.) The 64 KB memory segment is the result of DOS's
  273. segmented memory model, which is carried over from the
  274. circa-1980 CPM operating system that DOS was based on. CPM
  275. ran on 8-bit computers that could only address 64 KB of
  276. memory.
  277.  
  278. To gain access to the additional memory, developers have had
  279. to rely on memory managers (EMS, XMS, or DPMI) or on other
  280. tricks, including writing their own proprietary DOS
  281. extenders. (To support older programs, OS/2 Warp simulates
  282. these DOS extenders.)
  283.  
  284.  
  285. OS/2 WARP MANAGES MEMORY
  286.  
  287. OS/2 programs no longer need to worry about managing memory.
  288. Users accustomed to jumping through memory-management hoops
  289. will be pleasantly surprised by OS/2 Warp, where they can
  290. take advantage of built-in DOS memory management. OS/2 Warp
  291. gives each DOS or Windows program up to 48 MB of combined
  292. XMS/EMS memory, and up to 512 MB for each application
  293. written to the DPMI specification. And Terminate and Stay
  294. Resident (TSR) programs can be tucked neatly out of the way
  295. by using the LOADHIGH command.
  296.  
  297. OS/2 Warp manages system memory, so you no longer have to do
  298. this yourself. Because OS/2 Warp has built-in support for
  299. more memory than you'll ever need, and lets your programs
  300. access more virtual memory than you really have installed,
  301. you no longer have to mess around with DOS extenders and the
  302. CONFIG.SYS conflicts that often exist between DOS games.
  303.  
  304. You don't have to reboot with a different CONFIG.SYS each
  305. time you want to run a different game. Instead, each game
  306. runs in its own virtual DOS machine, with its own settings,
  307. thus avoiding CONFIG.SYS conflicts. Some configuration
  308. changes can even be made while the program is running.
  309. Later, we'll see some suggested settings that are typical
  310. for DOS games, but there's enough flexibility to handle
  311. almost any DOS game.
  312.  
  313. OS/2 Warp even has the ability to boot a unique DOS session
  314. from a diskette or disk image created on your hard disk,
  315. while still running other applications. This is helpful if
  316. you have an application that is written to a specific
  317. version of DOS (e.g., PC DOS 2.1 or DR DOS). It's even
  318. possible to run a copy of the pre-1980 version of CPM/86 in
  319. this manner.
  320.  
  321. OS/2 Warp shatters the 640 KB memory barrier permanently
  322. with its flat (or linear) memory model, giving OS/2 programs
  323. as much memory as they need. There is no practical limit to
  324. the amount of RAM that OS/2 applications can use -- the
  325. system is capable of addressing up to 2 gigabytes of virtual
  326. memory and more than 16 MB of physical memory.
  327.  
  328. OS/2 Warp can handle memory objects from just 1 byte in size
  329. to 2 gigabytes, giving you flexibility at both the small and
  330. very large ends of the software spectrum. OS/2 Warp
  331. recognizes and uses all available memory, and also supports
  332. virtual memory. As a result, OS/2 applications are not
  333. limited by the amount of memory that is physically installed
  334. in the system, and developers don't have to create (and
  335. users don't have to buy) DOS extenders. And, they don't have
  336. to deal with context switches between real-mode and
  337. protect-mode memory.
  338.  
  339. OS/2 Warp's virtual memory manager treats hard-disk space as
  340. if it were real RAM, limited only by the size of the hard
  341. drive. OS/2 Warp silently and quickly swaps out to disk the
  342. memory that hasn't been used recently, freeing up real
  343. memory for active tasks. Because OS/2 Warp manages memory in
  344. small 4 KB page frames instead of variable 64 KB program
  345. segments, memory fragmentation and swapping is reduced, and
  346. speed is increased. Rather than getting out-of-memory
  347. errors, you get fast, efficient, virtual memory management
  348. that makes the best of your computer resources.
  349.  
  350. In a few years, it won't be uncommon to find PCs with 64 MB
  351. of RAM -- essentially today's mainframes on the desktop.
  352. With so much memory, simulation games can be more realistic,
  353. and action games can be more vivid. OS/2 Warp is ready for
  354. this challenge.
  355.  
  356.  
  357. MULTITASKING AND MULTITHREADING
  358. ===============================
  359.  
  360. Preemptive multitasking is what lets more than one program
  361. task run at the same time. With this feature, your fax
  362. software can answer a phone call and receive an incoming fax
  363. transmission while your son continues playing with his
  364. action game. The multitasking in Microsoft Windows and Apple
  365. System 7, however, expects each application to cooperate and
  366. voluntarily yield control to other programs -- not a very
  367. likely scenario. With Windows and System 7, you'd either
  368. receive the fax or play the game, but not both at once.
  369.  
  370. Multithreading is the ability to execute more than one
  371. program thread at the same time -- within the same program.
  372. Because this capability is so helpful (even required) for
  373. games, many DOS developers wrote their own routines to
  374. handle multiple program segments. With OS/2 Warp, this extra
  375. code is not necessary, making OS/2 applications smaller and
  376. easier to write.
  377.  
  378.  
  379. CHILD PROOFING
  380. ==============
  381.  
  382. OS/2 Warp makes it possible for the same PC that's used to
  383. run a home office to also be used for games and kids'
  384. education.
  385.  
  386. Even before the advent of this newest OS/2 version, it was
  387. reported by early adopters that OS/2 is the best PC platform
  388. for kids, especially when set up by an adult. It rivals an
  389. Apple Macintosh in ease of use, offers a richer choice of
  390. applications than either DOS or Windows, and protects
  391. applications from each other (or from kids). Kids, it seems,
  392. learned quickly about which parts of the system they were
  393. allowed to explore, and how to shut down the system when
  394. they were done. Although it won't prevent very small kids
  395. from spilling drinks on the keyboard or inserting foreign
  396. objects into diskette drives, OS/2 Warp adds a level of
  397. protection that helps make parents feel better.
  398.  
  399. OS/2 Warp's Crash Protection ensures that an error in one
  400. program doesn't impact the system or other running programs.
  401. Program memory is protected from access by other programs.
  402.  
  403. You can also create a "kids" folder, or a folder for each
  404. family member, and fill them with shadows of the program
  405.                                   _______
  406. objects, files, or devices that family members are allowed
  407. to use. Shadows of your favorite games can appear in
  408. everyone's folder, for example. These shadows differ from
  409. copies in that they simply link to the original object,
  410. which might be a file or program on another disk, so you
  411. don't have to take up space with multiple copies.
  412.  
  413.  
  414. INSTALLING AND CONFIGURING DOS GAMES
  415. ====================================
  416.  
  417. Games and education applications with arcade-style action
  418. can be very aggressive in their exploitation of PC hardware,
  419. so they often won't run in the Windows environment because
  420. of the need for faster graphics.  Almost all of the popular
  421. games run well under OS/2 Warp, provided that customized
  422. settings are used. OS/2 Warp now automatically recognizes
  423. over 200 games, and creates individual icons with the
  424. associated settings to optimize performance. You can take
  425. advantage of this new OS/2 Warp feature in either of two
  426. ways:
  427.  
  428. 1.  Use the Add Programs application from the System Setup
  429.     folder to configure multiple games. For each game that
  430.     OS/2 Warp finds, it assigns a set of customized DOS
  431.     settings and adds a program object icon in the Games
  432.     folder, which is found inside the OS/2 System folder.
  433.  
  434. 2.  Drag a Program template from the Templates folder to set
  435.     up an individual program. When you install new games,
  436.     use the default subdirectory whenever possible. Then
  437.     make a note of the fully qualified filename (e.g.,
  438.     D:\3DBODY\3DBODY.EXE) of the file used to start the
  439.     game. Use the Program template to add the game to the
  440.     location of your choice. When you enter the file name,
  441.     OS/2 Warp automatically adjusts all settings necessary
  442.     to run the game. Simply close the Settings notebook, and
  443.     launch the program object just created.
  444.  
  445. Either way, you avoid the inconvenience of modifying your
  446. CONFIG.SYS or AUTOEXEC.BAT files, configuring memory, or
  447. using trial-and-error to find ways to keep all those
  448. demanding DOS and Windows applications working together.
  449.  
  450.  
  451. APPLICATION RECOGNITION DATABASE
  452.  
  453. A file named D:\OS2\INSTALL\DATABASE.TXT includes the tested
  454. settings for over 200 of the popular games and education
  455. titles, including all but a few of the top 100 and a number
  456. of shareware titles. If you want to add your own
  457. personalized titles to OS/2 Warp's "Application Recognition
  458. Database," merely edit the DATABASE.TXT file. When your
  459. changes are complete, compile the TXT file with the
  460. following commands:
  461.  
  462.     CD \OS2\INSTALL
  463.     PARSEDB DBTAGS.DAT DATABASE.TXT DATABASE.DAT
  464.  
  465. After the next reboot, OS/2 Warp includes your new settings,
  466. and is able to recognize your applications whenever you run
  467. Add Applications or use the Program template to create a new
  468. program object.
  469.  
  470.  
  471. SAVE SETTINGS
  472.  
  473. OS/2 Warp now allows you to save settings for an individual
  474. application in a file you can share with other OS/2 Warp
  475. users. From the DOS Settings page, select Print, and then
  476. Encoded File, entering the name of the file that will
  477. contain the saved settings. Then, from the DOS Settings page
  478. on another system, the encoded file can be used to recreate
  479. the saved settings for a new object by pressing the Load
  480. button.
  481.  
  482.  
  483. DEFAULT SUBDIRECTORY
  484.  
  485. In most cases, you can simply use the default subdirectory
  486. offered by your application's installation program. This
  487. enables OS/2 Warp to most easily recognize the game. Some
  488. updated games, however, might require installation in a
  489. different directory than the default. For example, install
  490. the following games as specified:
  491.  
  492. o   Install KidPix 2 (for Windows) to a \KIDPIX2
  493.     subdirectory instead of the default \KIDPIX, especially
  494.     if you have the original KidPix program, which also uses
  495.     \KIDPIX.
  496.  
  497. o   Install Might and Magic V: The Dark Side of XEEN to
  498.     \XEEN5 rather than to the default of \XEEN, especially
  499.     if you have any of the earlier Might and Magic games,
  500.     which also try to use \XEEN.
  501.  
  502. o   Install Pipe Dream to a directory named \PIPEDRM instead
  503.     of to the default \PIPE.
  504.  
  505.  
  506. GAMES FOLDER
  507.  
  508. OS/2 Warp comes with three simple OS/2 games in a Games
  509. folder:
  510.  
  511. 1.  Solitaire - Klondike
  512. 2.  Mahjongg Solitaire
  513. 3.  OS/2 Chess
  514.  
  515. The Games folder is a good place to put the program object
  516. icons for your other games. You can then create shadows of
  517. appropriate games in each of your kids' folders, as
  518. described above under "Child Proofing".
  519.  
  520.  
  521. TROUBLESHOOTING YOUR GAMES
  522. ==========================
  523.  
  524. OS/2 Warp permits you to do other things while a game is
  525. ongoing, but some graphics- or CPU-intensive games may slow
  526. down in this multitasking environment. For fastest
  527. performance with such games, close all windows and apps,
  528. especially other DOS apps, before you run a game. Leaving
  529. other apps open can steal CPU time from the game, thus
  530. slowing down any high-speed action.
  531.  
  532. If you still have trouble running (or installing) your game
  533. under OS/2 Warp, the following notes may be of value.
  534.  
  535. o   OS/2 WARP DOESN'T RECOGNIZE YOUR GAME. -- If you have
  536.     other games or applications that are not recognized by
  537.     the OS/2 Warp Add Programs application and that don't
  538.     run under the default DOS full-screen session, try the
  539.     following:
  540.  
  541.     -   Create a program object for your game by dragging
  542.         the Program template from the Template folder.
  543.  
  544.     -   Enter the path and file name and any necessary
  545.         parameters (such as -NOSOUND, -SB, -VGA, and so on)
  546.         according to the application's documentation.
  547.  
  548.     -   Select the Session tab, then "DOS full screen".
  549.  
  550.     -   Select "DOS settings" and "All DOS settings."
  551.  
  552.     -   Change the settings in accordance with any
  553.         documentation or technical support provided by the
  554.         application vendor.
  555.  
  556.     Refer to "Recommended DOS Settings" later in this
  557.     document to see which settings you'll likely want to
  558.     change.
  559.  
  560. o   TROUBLE WITH SOUND. -- Whether running DOS, Windows, or
  561.     OS/2, PC users occasionally experience problems running
  562.     certain advanced games that aggressively use your
  563.     system's sound capabilities. If you have problems with
  564.     any game under OS/2 Warp, first try disabling the sound
  565.     using the program's configuration, setup, install, or
  566.     sound options.
  567.  
  568. o   GAME WON'T EVEN WORK. -- A small number of DOS games
  569.     apparently use memory-management techniques, such as
  570.     Virtual Control Program Interface (VCPI), which are
  571.     virtually impossible to support in any multitasking,
  572.     controlled-memory environment, such as OS/2 or Windows.
  573.     To run these programs, your best option may be to boot a
  574.     native copy of DOS. Fortunately, OS/2 Warp has a
  575.     dual-boot feature that lets you easily switch back and
  576.     forth between DOS and OS/2 Warp. Once most users move to
  577.     OS/2, however, they rarely return to DOS.
  578.  
  579.  
  580. WINDOWS AS A GAME PLATFORM?
  581. ===========================
  582.  
  583. Microsoft Windows comes preloaded on most PC systems and is
  584. primarily used for Windows-based business applications that
  585. offer a consistent graphical user interface (GUI), but
  586. Windows has not proven to be a good games platform. This is
  587. partially because games provide their own user interface and
  588. don't need the Windows GUI, but mainly because the GUI
  589. interferes with the performance of action games.
  590.  
  591. Games also tend to need much more memory than the Windows
  592. environment allows, since Windows itself takes away from the
  593. DOS 640 KB limit. For these and other reasons, a very large
  594. number of DOS games (especially action games) don't even run
  595. under current versions of Windows. With few exceptions, they
  596. do run under OS/2 Warp, often running even better than under
  597. native DOS because of the 32-bit nature of OS/2 Warp and its
  598. superior memory management.
  599.  
  600. Microsoft Windows does offer some benefits to games that
  601. don't need fast performance, such as device independence for
  602. video displays and sound cards (developers don't have to
  603. provide their own support, but can write to standard
  604. interfaces), and Video for Windows (an add-on that is
  605. shipped with educational titles and some games). As a
  606. result, some new Windows-based games are starting to appear,
  607. but they are usually limited to reference titles and
  608. thinking games. OS/2 Warp offers similar benefits and can
  609. run these applications too.
  610.  
  611. For more information on DOS, Windows and OS/2 as platforms
  612. for running action games, see "Selecting APIs and Tools" in
  613. the Developer's section of this document.
  614.  
  615.  
  616. BONUSPAK REACHES INTO HOME MARKETS
  617. ==================================
  618.  
  619. A new BonusPak now ships with every copy of the OS/2 Warp
  620. operating system, giving users the immediate opportunity to
  621. experience the advantage of native OS/2 applications. In
  622. addition to a variety of popular applications, the BonusPak
  623. includes easy access to the Internet and other online
  624. services by clicking on the IBM Information Superhighway
  625. icon. It also includes high-performance multimedia support
  626. designed to offer a compelling development environment for
  627. next-generation games.
  628.  
  629. The combined information superhighway and multimedia
  630. capabilities of OS/2 Warp will make it the ideal system
  631. environment for CD-ROM-based educational programs and games,
  632. and it will make it easy for users to transform their
  633. computers into televisions, view and store their favorite
  634. photos, and host live video teleconferences with friends and
  635. colleagues.
  636.  
  637. We expect these added features to be a big hit in the
  638. booming home-office and edutainment markets. They will
  639. change the way people use their computers. For example, you
  640. will be able to have your daughter's birthday pictures
  641. developed on a Kodak Photo CD and send them electronically
  642. to family members across the country via Warp's Internet
  643. features.
  644.  
  645.  
  646. MULTIMEDIA FEATURES
  647.  
  648. OS/2 Warp comes with many leading-edge multimedia features,
  649. some of which are ideal for playing today's sophisticated
  650. computer games.
  651.  
  652. MULTIMEDIA VIEWER -- is an object-oriented tool that enables
  653. users to organize, manage, and browse images, audio files,
  654. animation, and video clips. Multimedia objects are shown
  655. with "thumbnails", or miniature pictures, as if they were
  656. slides on a photographer's light table. The multimedia
  657. viewer is an extension of OS/2 Warp's Workplace Shell that
  658. gives the user freedom to display or play an object by
  659. simply double-clicking on it with a mouse. Multimedia Viewer
  660. allows users to view popular image formats such as GIF,
  661. TIFF, Targa and PCX. Many of the formats are found in online
  662. services such as CompuServe and Internet.
  663.  
  664. EASTMAN KODAK PHOTO CD TECHNOLOGY -- allows users to store
  665. and view high-resolution color images and photographs
  666. developed on Kodak Photo CDs. The ability to view these
  667. images will make OS/2 Warp an attractive program for
  668. creating business and school presentations, newsletters, and
  669. other documents. OS/2 Warp is the first PC operating system
  670. to be Photo CD-enabled without additional software
  671. requirements.
  672.  
  673. USE THE PC LIKE A TV --  with OS/2 Warp's support of popular
  674. video overlay cards, including the WIN/TV card from
  675. Hauppauge Computer Works, Inc.  With the preemptive
  676. multitasking power of OS/2 Warp, a fully-scalable TV screen
  677. can run in the foreground or background while users work on
  678. other applications. Device-driver support for other video
  679. overlay adapters is also included.
  680.  
  681. ULTIMEDIA VIDEO IN FOR OS/2 (VIDEO IN/2) -- enables users to
  682. capture digital video, compress the data into files on their
  683. hard-disk drives, and then use the data in presentations
  684. using IBM's Ultimotion and Intel's Indeo formats. Video IN/2
  685. complements other multimedia capabilities in OS/2 Warp,
  686. including the ability to play and record Audio Video
  687. Interleaved (AVI) clips. Video input comes from a video
  688. recorder or other device.
  689.  
  690. MOTION PICTURE EXPERTS GROUP (MPEG) -- is an industry
  691. standard for digital video that is supported in Warp through
  692. Sigma Design's ReelMagic MPEG multimedia playback adapter.
  693. This support allows multimedia developers to create OS/2
  694. Warp applications that offer full-motion, full-screen,
  695. full-color video and CD-quality digital stereo sound from a
  696. single-speed CD-ROM. MPEG support in OS/2 Warp also allows
  697. users to view movies and television shows created in the
  698. emerging cross-platform VideoCD standard.
  699.  
  700. DIRECT INTERFACE VIDEO EXTENSIONS (DIVE) -- is an API in
  701. OS/2 Warp that gives OS/2 applications direct access to the
  702. PC video hardware, enabling them to generate the high-speed
  703. graphics needed for today's advanced multimedia software.
  704. The DIVE graphics interface allows powerful, high-speed
  705. games and digital-video applications to use a single
  706. high-speed API for stretching, clipping, and color
  707. conversion.
  708.  
  709. AUTODESK ANIMATION -- playback support in OS/2 Warp allows
  710. users to view video animation files developed using the
  711. Autodesk .FLI and .FLC animation file formats. These formats
  712. are recognized as the industry standard for PC animation.
  713. Sound effects can be added to these files to enhance
  714. playback.
  715.  
  716. COMPRESSED AUDIO -- support is included for the
  717. industry-standard Interactive Multimedia Association ADPCM
  718. and Microsoft ADPCM formats. These formats reduce the amount
  719. of disk space required to store audio content, and make it
  720. easier to send and receive voice files over networks. Now,
  721. audio files take up to 75 percent less disk space, without
  722. the need for additional hardware device support. IBM is also
  723. extending this capability in Warp to reduce the disk space
  724. needed for AVI files.
  725.  
  726.  
  727. IBM WORKS
  728.  
  729. IBM Works is a collection of productivity tools and
  730. application programs designed to meet the needs of a wide
  731. variety of users.  It will benefit personal use at home, as
  732. well as the home office, small business, and even users in
  733. corporate environments.
  734.  
  735. IBM Works includes:
  736.  
  737. WORD PROCESSOR -- A full-function word processor that
  738. includes advanced features such as tables, mail/merge
  739. processing, graphic objects, and functions found in other
  740. full-function word processors.
  741.  
  742. SPREADSHEET -- A full-function spreadsheet that includes a
  743. variety of features designed to meet the needs of a variety
  744. of applications. Combine the spreadsheet capability with the
  745. chart application to produce a compound document with text,
  746. numbers and charts on the same page.
  747.  
  748. CHART -- A versatile charting application that produces a
  749. variety of chart types and allows enhancement with text and
  750. drawing tools. Charts can be printed on their own or
  751. combined into other IBM Works documents.
  752.  
  753. DATABASE -- A powerful, easy-to-use database application
  754. program that can organize both text and graphical
  755. information, and import and export files in a variety of
  756. formats. The database application works with the IBM Works
  757. Report Writer to produce customized reports.
  758.  
  759. REPORT WRITER -- Produces custom reports from any IBM Works
  760. or dBase-compatible database.
  761.  
  762. IBM WORKS PERSONAL INFORMATION MANAGER (PIM) -- A collection
  763. of productivity applications to help you manage your daily
  764. activities. Features include an appointment book, monthly
  765. planner, calendar, to-do list, phone book, contact list,
  766. note pad, and much more.
  767.  
  768.  
  769. IBM INTERNET CONNECTION FOR OS/2
  770.  
  771. The IBM Internet Connection for OS/2 is a complete Internet
  772. software package that gives you access to the vast resources
  773. of the Internet.  This Internet application takes the
  774. complexity out of the command-line-based Internet
  775. applications of today, and provides the user with one-button
  776. installation, as well as one-button registration and hookup
  777. to the Internet. With the Advantis default service provider,
  778. the Internet becomes easily accessible and fun to explore.
  779.  
  780. The IBM Internet Connection for OS/2 consists of the
  781. following:
  782.  
  783. ULTIMAIL LITE -- An easy-to-use interface for creating,
  784. sending, receiving, and storing compound document electronic
  785. mail.
  786.  
  787. GOPHER CLIENT -- A graphical, user-friendly interface to the
  788. Internet, enabling the user to locate and display or
  789. transfer information. The Internet consists of more than 30
  790. million computers; Gopher helps you navigate comfortably and
  791. confidentially among these systems.
  792.  
  793. TELNETPM -- Allows the user to log in to other computers on
  794. the Internet. Programs and information located on other
  795. computers can be accessed as though they were on your own
  796. computer.  (VT100 and VT220 terminal emulation).
  797.  
  798. PMANT -- Allows access to information and programs located
  799. on Internet hosts that support 3270 sessions such as VM or
  800. MVS.  (3270 terminal emulation).
  801.  
  802. FTPPM -- Allows you to easily share, store, and distribute
  803. data between your computer and other computers on the
  804. Internet. If you are authorized access to a given computer,
  805. you can manipulate files on that computer as though it were
  806. your own.
  807.  
  808. WEBEXPLORER -- allows users to access the World Wide Web
  809. (WWW) through a graphical user interface. The WWW links
  810. resources together in an easy-to-use-fashion. For example, a
  811. user can get a map of a country, click on a city to retrieve
  812. information, see photographs, and read about current
  813. demographics. With WebExplorer, users traverse the Internet
  814. by moving from one document to another via links or
  815. hyperlinks, and can save and annotate documents.
  816.  
  817. WebExplorer was completed after general availability of OS/2
  818. Warp.  It is being included in newer versions of OS/2 Warp
  819. and is also available electronically. To download to your
  820. PC, simply click on an icon that is presented on the Gopher
  821. Server or IBM Home Page.  It will download and install
  822. itself.
  823.  
  824.  
  825. COMPUSERVE INFORMATION MANAGER FOR OS/2
  826.  
  827. Developed by CompuServe for OS/2 Warp, this Information
  828. Manager program helps you get the most from your CompuServe
  829. membership.  An object-oriented user interface allows you to
  830. access, sort, and utilize the online information and
  831. services quickly and easily. If you aren't currently
  832. registered with CompuServe but would like to try the
  833. service, there is a simple sign-up icon.
  834.  
  835.  
  836. IBM PERSON TO PERSON FOR OS/2
  837.  
  838. IBM's real-time conferencing software, Person to Person, has
  839. been integrated in the Warp BonusPak. P2P allows up to eight
  840. people to work together -- without actually being together
  841. -- on a single document, sharing suggestions and writing or
  842. drawing comments on the document on their PCs. Data to be
  843. worked on is placed into the shared clipboard and can be
  844. modified in real time. All parties see the same data at the
  845. same time or share files. Without leaving their desks, users
  846. can achieve the same level of efficiency, personal
  847. interaction, and productivity associated with traditional
  848. working sessions, saving time and reducing unnecessary
  849. business travel costs. By adding video cameras and an Action
  850. Media II adapter, users can host live teleconferences over
  851. existing networks. The link can be established over modems,
  852. LANs, ISDN, or the Internet, and will also accommodate
  853. future protocols (e.g., ATM and two-way TV cable).
  854.  
  855.  
  856. FAXWORKS FOR OS/2
  857.  
  858. FaxWorks for OS/2 is a 32-bit fax software program that
  859. sends and receives faxes of unlimited length, and prints
  860. faxes on any OS/2 Warp printer. Features include drag-drop
  861. fax viewing and printing, normal and fine resolution,
  862. portrait or landscape orientation, and variable page length.
  863.  
  864.  
  865. HYPERACCESS LITE FOR OS/2
  866.  
  867. HyperACCESS Lite for OS/2 is a 32-bit, easy-to-use,
  868. easy-to-set-up, object-oriented, modem communications
  869. program.
  870.  
  871.  
  872. ============================================================
  873. OS/2 WARP FOR PC GAME DEVELOPERS
  874. ============================================================
  875.  
  876. PC game developers have long pushed past the limits of DOS,
  877. spending countless hours creating their own
  878. memory-management DOS extenders, simulating multi-threading,
  879. and supporting only de-facto standard sound cards and
  880. VGA/SVGA displays unless they write their own drivers. They
  881. had to do all this before they could even begin writing the
  882. game itself!  Unfortunately, because each developer must
  883. create all of this on his/her own, conflicts occur between
  884. games from different developers, and it's very difficult for
  885. users to constantly reconfigure their systems to resolve
  886. such conflicts.
  887.  
  888. Not only can OS/2 Warp run the installed base of DOS and
  889. Windows games and applications, it also solves many of the
  890. problems faced in writing games. And developers are starting
  891. to view OS/2 as a way to the future of PowerPC, symmetric
  892. multiprocessing, multiplayer networking, and new interfaces
  893. like voice recognition and virtual-reality devices. A new
  894. entertainment toolkit for OS/2 will make it even easier to
  895. exploit these new technologies.
  896.  
  897.  
  898. MARKET POTENTIAL
  899. ================
  900.  
  901. PC application developers are noticing how expensive it is
  902. to launch new DOS- or Windows-based products. The launch of
  903. a simple Windows screen-saver, for example, can cost over $1
  904. million, because of all of the product "clutter" in that
  905. market. OS/2 Warp, on the other hand, offers an easier entry
  906. into a potentially larger market -- at least for 32-bit
  907. applications. It's already established in the enterprise,
  908. where most OS/2 applications are custom-written,
  909. line-of-business apps, and it's rapidly moving into the
  910. home. Almost all of the one million copies sold in its first
  911. two months went to new OS/2 users, which we know because the
  912. upgrade version (from OS/2) didn't become available until
  913. January, 1995.
  914.  
  915. The market potential for OS/2 looks just as bright as the
  916. technology behind it. OS/2 is well accepted as the
  917. industry's leading 32-bit operating system for
  918. IBM-compatible PCs, greatly outselling Windows NT, and
  919. receiving numerous industry awards. It has attracted
  920. thousands of mainstream software developers worldwide. Now,
  921. with OS/2 Warp Version 3, IBM is bringing the industrial
  922. strength of OS/2 to home and notebook PC users -- making it
  923. easier for consumers to buy, install, and use, and expanding
  924. the market for OS/2 apps. OS/2 Warp performs well on systems
  925. with as little as 4 MB of memory.
  926.  
  927. The beta of OS/2 Warp won BYTE Magazine's "Best of COMDEX"
  928. at COMDEX/Spring '94. And that was before IBM added the
  929. BonusPak of bundled applications and Information
  930. Superhighway access. As of this writing, OS/2 already
  931. represents an installed base of over 8 million licenses, and
  932. IBM plans to sell more OS/2 in 1995 than Apple Computer,
  933. Inc. will sell of the Macintosh, meaning more than 5 million
  934. units.
  935.  
  936. IBM's timing couldn't be better, given the growth of home
  937. PCs, Microsoft's problems with Windows 95 (as reported in
  938. the trade press), and a growing interest in Intel-based
  939. systems from among Apple PC users.  By 1996, more than half
  940. of all PCs will be sold into the home, and with OS/2 Warp,
  941. IBM is showing serious interest in that market, while users
  942. are showing serious interest in OS/2 Warp.
  943.  
  944.  
  945. SELECTING APIS AND TOOLS
  946. ========================
  947.  
  948. DOS:
  949.  
  950. DOS has long been the preferred platform for PC games, if
  951. for no other reason than because DOS makes it easy to
  952. directly access hardware devices like the video screen, game
  953. port, and CD-ROM drive. This direct access to hardware
  954. devices is necessary so that the PC can rival arcade games
  955. and their high-speed, fast-twitch, adrenaline-pumping action
  956. popular with young males.
  957.  
  958. To add more function under DOS, programs have grown in size,
  959. and developers have had to invent ways of expanding beyond
  960. the 640 KB memory barrier. And to improve performance,
  961. they've written routines to let their game do more than one
  962. thing at a time. This all makes development more difficult
  963. and costly.
  964.  
  965. Even with the inventive "tricks" that today's fastest DOS
  966. games (like DOOM) include, they still run well under OS/2
  967. Warp!
  968.  
  969. WINDOWS:
  970.  
  971. The "OS/2 Warp for PC Gamers" section of this document gives
  972. reasons why action games don't run well under today's
  973. Windows environments, and why most game developers have
  974. stayed with DOS. But you may also be thinking, "What about
  975. Microsoft's new Windows 95?"
  976.  
  977. ISVs developing products for the Windows market have been
  978. put in an awkward position, faced with one Microsoft delay
  979. after another. Many are now starting to turn to OS/2 Warp as
  980. their first market for advanced 32-bit applications,
  981. possibly porting back to Windows 95 when that market finally
  982. develops.
  983.  
  984. Microsoft has also made it difficult for developers to keep
  985. up with its many versions of Windows, with at least four
  986. different sets of APIs. And there are major differences
  987. between these versions:
  988. ----------------
  989.     The descriptions of Win16, Win32s, Win32, Win32c, and
  990.     WinG are from Gartner Group, Inc., January 1994.
  991. ----------------
  992.  
  993. 1.  Win16 -- The 16-bit, single-thread, segmented-memory API
  994.     set for Windows 3.0 and 3.1 only.
  995.  
  996. 2.  Win32s -- The 32-bit, single-thread API set that allows
  997.     an application to run unchanged on either Windows 3.1 or
  998.     Windows NT.
  999.  
  1000. 3.  Win32 -- The 32-bit, multiple-thread API set for Windows
  1001.     NT.  Applications written to Win32 will run only on NT.
  1002.  
  1003. 4.  Win32c -- The 32-bit, multiple-thread API set for
  1004.     Windows 95. It is equal to Win32, minus the support for
  1005.     NT specific features (e.g., security, SMP and advanced
  1006.     graphics), plus the Windows 95 user-interface
  1007.     extensions. Applications written to Win32c will run on
  1008.     Windows 95 only, at least until Microsoft releases an
  1009.     upgrade to NT that incorporates the Windows 95 user
  1010.     interface and APIs.
  1011.  
  1012. 5.  WinG -- Microsoft's attempt to make Windows more
  1013.     friendly to games, letting developers access video
  1014.     buffers and run full-screen instead of being forced to
  1015.     run in a window. It remains to be seen how many games
  1016.     will be rewritten for WinG. According to the trade
  1017.     press, Windows will continue to have difficulty running
  1018.     the installed base of 16-bit DOS games and, of course,
  1019.     may not be able to run the new 32-bit OS/2 games.
  1020.  
  1021. 6.  Win32i -- An open industry standard, proposed by a large
  1022.     group of developers who are tired of being forced to
  1023.     write to different APIs and who are at the mercy of
  1024.     Microsoft's control of those APIs. The fact that Win32i
  1025.     is being proposed seems to be a sign of growing
  1026.     developer frustration with Microsoft and its control of
  1027.     programming standards.
  1028.  
  1029. Do you think software developers appreciate being forced to
  1030. choose between Windows APIs (and limit their market), or to
  1031. write multiple versions of their applications? No, but they
  1032. do it anyway because it is the cost of participating in the
  1033. Windows market.
  1034.  
  1035. OS/2:
  1036.  
  1037. IBM's approach to developing for OS/2 is easier -- with a
  1038. single API set that can be used to build apps for hand-held
  1039. PCs all the way up to multiprocessing super-servers. That
  1040. same API set can be used for character-mode apps, or for
  1041. very graphical apps that take over the whole screen or work
  1042. in a windowed environment with OS/2's Workplace Shell user
  1043. interface.
  1044.  
  1045. To further improve the productivity of developers, OS/2
  1046. supports object-oriented programming techniques and
  1047. languages. The Workplace Shell itself is written in this
  1048. way, using OS/2's System Object Model (SOM), which allows
  1049. object-oriented programs to be written in any language (not
  1050. just C++). All of the Workplace Shell object types (folders,
  1051. data files, printers, etc.) are implemented as SOM objects.
  1052.  
  1053. OS/2 apps can be written with a mix of 16-bit and 32-bit
  1054. modules, making it easier to convert older apps. Developers
  1055. don't have to convert all of their modules at once, and can
  1056. choose to exploit the 32-bit, flat-memory model or features
  1057. like multithreading and SOM objects when they are ready.
  1058. (This is in extreme contrast with Microsoft's attempt to
  1059. force the rewrite of all modules in all Windows apps that
  1060. want to keep using the Windows-Compatible logo.)
  1061.  
  1062. IBM has been working with various standards organizations,
  1063. and has made many of its technologies open and available on
  1064. other platforms, including Windows. These technologies
  1065. include the Workplace Shell, SOM, OpenDoc, Taligent
  1066. Frameworks, Ultimedia Compression, and others.
  1067.  
  1068. The interesting thing is that DOS and Windows users, who are
  1069. not in a hurry to upgrade their hardware and apps, have a
  1070. new friend in OS/2 Warp, the most backward-compatible
  1071. operating system around. I mean that in a nice way. This
  1072. latest release of OS/2 goes farther than ever before to
  1073. support DOS and Windows users, and the applications and
  1074. systems they already own. These users aren't interested in
  1075. buying a processor upgrade or a new planar, and may even
  1076. balk at adding memory. Even with modest hardware, many users
  1077. who couldn't even run OS/2 before are now enjoying this new
  1078. 32-bit, multitasking, multimedia, Internet-accessed,
  1079. crash-protected, Windows-friendly, totally cool way to run
  1080. their computer. They gain new BonusPak apps, and don't have
  1081. to upgrade their DOS or Windows apps until they are ready.
  1082.  
  1083.  
  1084. MEMORY MANAGEMENT
  1085. =================
  1086.  
  1087. What would it mean to you, the game developer, if you didn't
  1088. have to worry about memory management?
  1089.  
  1090. There would be no more need for DOS extenders -- the ones
  1091. you write or the ones you expect your users to buy. You
  1092. wouldn't have to segment your programs into 64 KB modules,
  1093. and the overall size of your program would be smaller. You'd
  1094. see improved performance. Because you no longer have to do a
  1095. lot of trivial stuff, you can get your product to market
  1096. quicker, or with more function.
  1097.  
  1098. OS/2 provides rich EMS, XMS, and DPMI support for DOS and
  1099. Windows applications, but its own flat-memory (versus
  1100. segmented-memory) model means that, once you develop for
  1101. OS/2, porting to other 32-bit operating systems (such as
  1102. System 7, Windows 95, or UNIX) or other hardware platforms
  1103. (PowerPC, Macintosh, System/390 ...) is relatively easy.
  1104. This is especially true because of the openness and
  1105. availability of various IBM technologies (Workplace Shell,
  1106. SOM, OpenDoc, Taligent Frameworks, Ultimedia Compression...)
  1107. on other platforms.
  1108.  
  1109.  
  1110. MULTITASKING AND MULTITHREADING
  1111. ===============================
  1112.  
  1113. Microsoft Windows and Apple System 7 offer limited forms of
  1114. multitasking that requires the programmer to physically add
  1115. the wait and time-slicing commands into his program. We call
  1116. this COOPERATIVE multitasking. Because the success of a
  1117. program is often determined by magazine benchmark tests that
  1118. feature performance, however, most applications don't
  1119. "cooperate."
  1120.  
  1121. In OS/2, the operating system acts as the traffic cop and
  1122. can preempt a long-running application to satisfy the needs
  1123. of a higher-priority task.  We call this PREEMPTIVE
  1124. multitasking.
  1125.  
  1126. MULTITHREADING means that programs can start subtasks that
  1127. will then be executed by the operating system in the
  1128. background. For example, a word processor may create a
  1129. separate thread (subtask) to handle printing or saving to
  1130. disk. When the user asks the word processor to perform one
  1131. of these tasks, the word processor creates a new thread, and
  1132. control returns to the word processor (and the user)
  1133. immediately, so he/she can continue typing. Applications
  1134. that utilize multithreading can be much more responsive to
  1135. the user. Game play can be greatly enhanced and smoother.
  1136.  
  1137. OS/2 removes the burden from the programmer by supporting
  1138. multiple threads of execution. This multithreading results
  1139. in unparalleled responsiveness for game players. In
  1140. addition, programs can have a separate thread playing music
  1141. and drawing graphics, all without any special code by the
  1142. developer. For example, the OS/2 game "Galactic
  1143. Civilizations" has an artificial-intelligence thread running
  1144. in the background, generating different "personalities" for
  1145. the various aliens that the player is competing with, and
  1146. calculating the computer's next move while the user is
  1147. moving his/her own pieces or querying status.
  1148.  
  1149. Speaking of Galactic Civilizations, it was the first
  1150. commercially available game for OS/2 Warp, and (as of
  1151. December 12, 1994) has quickly risen to the Net PC Games Top
  1152. 100 worldwide preference list. This is an independent
  1153. Internet poll conducted each week on the most popular games.
  1154. Since the list is compiled from votes by the world's most
  1155. avid gamers, many in the PC game industry consider it the
  1156. most objective compilation available. According to John
  1157. Schaeffer, president of AIM, Sandy, Utah, publisher of
  1158. Galactic Civilizations, "THERE'S ONLY ONE PC OPERATING
  1159. SYSTEM THAT GAMERS CAN DEPEND ON TO HANDLE THE
  1160. RESOURCE-INTENSIVE DESIGN OF GALACTIC CIVILIZATIONS: OS/2
  1161. WARP."
  1162.  
  1163. "THIS WEEK IS A VICTORIOUS ONE FOR OS/2 GAMES WITH GALACTIC
  1164. CIVILIZATIONS BUMPING DOOM 2: HELL ON EARTH FROM OUR NUMBER
  1165. ONE POSITION, AND ROIDS (AN OS/2 SHAREWARE GAME) BOASTING
  1166. THE HIGHEST NEW ENTRY POSITION," says Jurgen Appelo, editor
  1167. of the Net PC Games Top 100.
  1168.  
  1169. "MIRRORING THE STRONG CUSTOMER DEMAND FOR OS/2 WARP,
  1170. GALACTIC CIVILIZATIONS IS REALLY FLYING OUT THE DOOR," says
  1171. Buck Bohac, president of Indelible Blue, an OS/2 solutions
  1172. catalog provider in Raleigh, N.C. "NEXT TO OS/2 WARP, WE'VE
  1173. RARELY SEEN SUCH DEMAND FOR A NEW PRODUCT AS WE HAVE FOR
  1174. GALACTIC CIVILIZATIONS."
  1175.  
  1176.  
  1177. SYNCHRONIZING EVENTS AND ACTIONS
  1178. ================================
  1179.  
  1180. Games typically have to synchronize actions with the playing
  1181. of a CD-ROM or motion on the screen. This requires that
  1182. programs poll (i.e., constantly get the status of) a sound
  1183. card to determine where it is playing. This constant polling
  1184. consumes lots of processor time and is nontrivial code.
  1185.  
  1186. Fortunately, OS/2 Warp provides a variety of choices for
  1187. inter-process communications. Multimedia Presentation
  1188. Manager/2 (MMPM/2), for example, provides a much simpler
  1189. method to synchronize sound. Simply make one call, and OS/2
  1190. Warp will automatically notify your application of the exact
  1191. position of the sound device. In addition to periodic
  1192. notifications, MMPM/2 also offers the ability to notify your
  1193. application at a very specific point in time for
  1194. synchronization purposes. MMPM/2, which used to be a
  1195. separately priced add-on product, is now included with OS/2
  1196. Warp, so you can be sure that every OS/2 Warp user has the
  1197. software to handle multimedia.
  1198.  
  1199. When MMPM/2 is used to play a video clip, it uses one thread
  1200. to decompress the video (which is very processor-intensive)
  1201. and another thread to play the audio. The two are
  1202. synchronized so well that you can (for example) hear the
  1203. tennis ball hit the racket at the same time you see it hit
  1204. -- even when several other applications are running at the
  1205. same time!
  1206.  
  1207.  
  1208. Video Support:
  1209.  
  1210. OS/2 Warp supports several ways of addressing the video
  1211. display, and three of them are especially interesting to
  1212. game developers.
  1213.  
  1214. 1.  Direct Access to Video Buffer
  1215. 2.  Direct Interface Video Extension (DIVE)
  1216. 3.  32-bit Virtual I/O
  1217.  
  1218.  
  1219. DIRECT ACCESS TO VIDEO BUFFERS
  1220.  
  1221. To start with, you can get close to the hardware with OS/2
  1222. Warp, and write directly to video memory, even when running
  1223. in a Presentation Manager window. While this capability
  1224. provides excellent performance, there are complexities that
  1225. must be dealt with when using it.  Applications that write
  1226. directly to the video buffer must provide their own clipping
  1227. support, color space conversion to the frame buffer, and
  1228. scaling (if applicable). Also, on displays that are
  1229. bank-switched, these apps must invoke functions whenever
  1230. access moves from one bank to another.
  1231.  
  1232.  
  1233. DIRECT INTERFACE VIDEO EXTENSION (DIVE)
  1234.  
  1235. DIVE is a display engine that frees the developer from the
  1236. complexities of direct video buffer access while still
  1237. providing a high level of performance. The DIVE display
  1238. engine provides easy-to-use API functions for display
  1239. updates, and hides the complexities of color space
  1240. conversion, window clipping, scaling, and bank switching. It
  1241. also utilizes graphics display hardware acceleration
  1242. capabilities when present, so your game may actually run
  1243. faster through the display engine than it would with direct
  1244. video buffer access.
  1245.  
  1246.  
  1247. 32-BIT VIRTUAL I/O
  1248.  
  1249. A third alternative for games development is Virtual I/O
  1250. (VIO) full-screen sessions. While Presentation Manager
  1251. services are not available, applications running in this
  1252. environment have full access to OS/2's 32-bit multitasking,
  1253. I/O, and memory management functions. API support for some
  1254. basic VGA modes is provided, and you can also manipulate VGA
  1255. and SVGA registers (just like in DOS) to control advanced
  1256. graphics modes. These functions are not portable to OS/2 for
  1257. the PowerPC, however, and should therefore be used with
  1258. caution.
  1259.  
  1260.  
  1261. AUDIO SUPPORT
  1262. =============
  1263.  
  1264. MMPM/2, which comes with OS/2 Warp, provides a very rich API
  1265. (called Media Control Interface, or MCI) to access sound and
  1266. video devices. Game vendors no longer have to write a myriad
  1267. of sound drivers to play a digital audio file. One simple
  1268. call lets you access popular sound cards (from Creative
  1269. Labs, Media Vision, Aztech, Gravis, IBM...), as well as
  1270. other internal or external multimedia devices, such as
  1271. CD-ROM or videodisc.
  1272.  
  1273.  
  1274. SHARING SOUND CARDS
  1275.  
  1276. With OS/2 Warp, it only takes about ten lines of code for an
  1277. OS/2 game developer to share the audio device with any other
  1278. OS/2 application.  This smooth support assures you that your
  1279. game always has access to the audio device. This capability
  1280. is unique to OS/2.
  1281.  
  1282. Other operating systems make it virtually impossible to
  1283. share a sound card with another application. Even when
  1284. running DOS apps under OS/2 Warp, the sound card can't be
  1285. shared (they must be OS/2 apps in order to share). Thus, if
  1286. another application is already using the sound card, the
  1287. game will have to play in silence. Because the computing
  1288. world is moving toward multitasking environments, where many
  1289. programs and games can run at the same time, this is a
  1290. severe limitation with DOS or Windows applications.
  1291.  
  1292.  
  1293. PLAYLISTS PROVIDE SPECIFIC GAME SUPPORT
  1294.  
  1295. Game developers have used DOS because it lets them do things
  1296. that are against the rules -- DOS permits self-modifying
  1297. code, doesn't have a cumbersome API, and provides tremendous
  1298. speed. To attract game writers to OS/2, the MMPM/2 designers
  1299. created playlists specifically to support the things people
  1300. are used to doing under DOS.
  1301.  
  1302. Playlists let you play (or stream) digital audio or wave
  1303. files directly from a program's memory buffers, which is
  1304. very fast. Playlists also offer a dynamic, BASIC-like
  1305. language that lets an app instruct MMPM/2 exactly how to
  1306. play a file. This language can have loops, dynamically grow
  1307. or shrink, automatically change memory buffers, perform
  1308. synchronization messages, and even create self-modifying
  1309. code. For example, a playlist can be created that plays a
  1310. machine-gun sound five times, then a scream, and finally
  1311. plays Taps twice -- all without intervention from the
  1312. programmer. This cannot be done in any other operating
  1313. environment.
  1314.  
  1315.  
  1316. IMAGE AND PHOTO CD SUPPORT
  1317. ==========================
  1318.  
  1319. OS/2 Warp has access to the large memories required to work
  1320. with high-resolution images and Kodak Photo CDs, and
  1321. includes the necessary software support. IBM has signed a
  1322. license for Photo CD technology from Eastman Kodak, and has
  1323. integrated that technology into OS/2 Warp. As a result, OS/2
  1324. Warp is the first PC operating system to be Photo CD-enabled
  1325. without requiring users to buy additional software.
  1326.  
  1327. Kodak's Photo CD system allows color images, including 35mm
  1328. photos, scanned images, and computer-generated color
  1329. graphics, to be stored in the Photo CD format. Up to 100
  1330. high-resolution Photo CD images can be stored on a single
  1331. Photo CD master disc. The master discs store images at five
  1332. levels of resolution, ranging from 2048 x 3072 pixels to 128
  1333. x 192 pixels.
  1334.  
  1335. With the addition of integrated Photo CD support in OS/2
  1336. Warp, any OS/2 application that supports display or
  1337. manipulation of images will be able to view Photo CD images.
  1338. This includes all applications that use the documented OS/2
  1339. multimedia interface. For example, current versions of
  1340. Ultimedia Perfect Image/2 image processing and enhancement
  1341. software; Ultimedia Builder/2, an easy-to-use multimedia
  1342. presentation development package; and Ultimedia Workplace/2,
  1343. a tool for linking multimedia information and databases, are
  1344. able to exploit this capability.
  1345.  
  1346.  
  1347. MOTION (INDEO, ULTIMOTION, AND MPEG)
  1348.  
  1349. Many game developers have megabytes of proprietary video and
  1350. audio content that are simply unplayable under environments
  1351. such as Windows.  In contrast, OS/2 Warp offers application
  1352. developers the ability to support any audio, video, or
  1353. bitmap format if the vendor writes the appropriate
  1354. file-parser routines. Another ramification of this rich
  1355. format support is that the same game can support numerous
  1356. audio and video formats with a single API call.
  1357.  
  1358. OS/2 Warp offers unparalleled motion video support, with or
  1359. without specialized hardware. OS/2's 32-bit environment
  1360. maximizes video performance in the pervasive software-only
  1361. environment, enabling the broadest audience for video
  1362. content for games and titles. OS/2 supports the popular .AVI
  1363. file format, including Intel's Indeo 2.1, 3.0, and 3.1
  1364. compression codecs, as well as IBM's Ultimotion compression.
  1365. OS/2's software motion video playback remains synchronized
  1366. even while other activities are going on, and OS/2 also
  1367. supports video hardware acceleration devices, such as Sigma
  1368. Design's Reel Magic MPEG adapter and graphics coprocessors
  1369. that scale the video image. Now, it is possible for games to
  1370. actually display motion video while plotting future courses
  1371. of action in a different thread!
  1372.  
  1373. Using IBM's Ultimotion video format, you can include video
  1374. content in your game that plays back at 320 x 240 resolution
  1375. at 15 frames per second (fps) on virtually all 486 systems
  1376. and above, without floating-point support. Faster systems
  1377. will play back 320 x 240, 30fps Ultimotion video content.
  1378. More important, since the Ultimotion video data stream is
  1379. fully documented and supports random access, you can use the
  1380. video content in creative ways in your game to achieve
  1381. interactivity and special effects.
  1382.  
  1383. Ultimotion video content can also be played back through
  1384. Video for Windows in the Microsoft Windows environment. The
  1385. Ultimotion decompressor for Windows enables the
  1386. Windows-based playback of Ultimotion video clips created
  1387. under OS/2. The Ultimotion decompressor is a plug-in module
  1388. that can be installed and used with existing video tools
  1389. such as Microsoft's Video for Windows. It can also be used
  1390. by software developers to create their own customized
  1391. Windows applications that incorporate digital video.
  1392.  
  1393. Now software developers can take advantage of
  1394. high-resolution, software-only Ultimotion video to create a
  1395. wide range of applications such as games, computer-based
  1396. training, desktop video conferencing, sales kiosks, or
  1397. edutainment. Ultimotion offers up to full-screen VGA
  1398. resolution or, at lower resolutions, frame rates of up to 30
  1399. fps (full-motion video). Ultimotion also offers an excellent
  1400. compression ratio that allows the creation of high-quality
  1401. video at low data rates.  This makes it ideal for networked
  1402. or CD-ROM-based applications.
  1403.  
  1404. The Ultimotion Development Kit -- including a license for
  1405. Ultimotion, Ultimotion data stream documentation, a beta of
  1406. the IBM Ultimotion decompressor for Windows, and sample
  1407. Ultimotion files -- is available at no charge to qualified
  1408. developers. For more information in the USA and Canada,
  1409. contact IBM Worldwide Industry Hardware Support at (800)
  1410. 426-4579, ext. 200. In the USA and worldwide, information
  1411. can be received by faxing requests to (708) 635-3620. The
  1412. Ultimotion Development Kit is also available on-line via
  1413. PRODIGY (IBM Device Driver in the OS/2 Club Download
  1414. Library), CompuServe (OS/2 Support, Library 17, IBM files),
  1415. or Internet via anonymous FTP from software.watson.ibm.com
  1416. in the /PUBS/OS2/MISC directory.
  1417.  
  1418.  
  1419. VIDEO CAPTURE
  1420.  
  1421. Ultimotion playback capability was introduced as part of
  1422. OS/2 2.1 in May 1993. In November 1993, IBM introduced
  1423. Ultimedia Video IN for OS/2 (Video IN/2), software that
  1424. enables users of OS/2 version 2.1 to capture images and
  1425. create digital video clips in IBM's Ultimotion and Intel's
  1426. Indeo formats. Using the Ultimotion format, Video IN/2 can
  1427. create digital video clips in a choice of resolutions, from
  1428. 640 x 480 (full-screen VGA) to 160 x 120. Video IN/2 also
  1429. offers a choice of frame rates for Ultimotion, with a
  1430. maximum of 30 fps full-motion video (at resolutions of up to
  1431. 320 x 240). Both real-time and asymmetrical (off-line)
  1432. capture support are provided.
  1433.  
  1434. Ultimotion provides excellent image quality at extremely low
  1435. data rates.  An average compression ratio of 18:1 allows
  1436. Ultimotion to deliver 320 x 240 video running at 15 fps at
  1437. the 150 kilobytes per second (kbs) data rates offered by a
  1438. single-spin CD-ROM, and running at 30 fps on double-speed
  1439. CD-ROM at data rates of 300 kbs.
  1440.  
  1441. Video IN/2, formerly a separately priced product, is now
  1442. included in OS/2 Warp.
  1443.  
  1444.  
  1445. ANIMATION (FLI-FLC)
  1446.  
  1447. An exciting new development in the world of OS/2 multimedia
  1448. is support for animation files. What this means to you is
  1449. that the same unsurpassed performance, resource management,
  1450. synchronization, device independence, file-format
  1451. independence, and data-compression independence is now
  1452. available for animation, as it has been for still images,
  1453. audio, and digital video.
  1454.  
  1455. The great majority of all PC-based animation uses the .FLI
  1456. and .FLC file formats designed by AutoDesk. FLI is the
  1457. format used by older animation applications like AutoDesk
  1458. Animator. FLC, a superset of FLI, was introduced with
  1459. AnimatorPro. Collectively, files in either of these formats
  1460. are referred to as FLICs.
  1461.  
  1462. FLICs contain data that is organized into frames. The data
  1463. is compressed, both within a frame and across frames. You
  1464. can create new FLICs with AnimatorPro or a compatible
  1465. animation design tool.
  1466.  
  1467. AnimatorPro has many tools for painting individual still
  1468. frames with a variety of color and texture effects,
  1469. including ray-tracing functions.  AnimatorPro also has a
  1470. tweening tool that lets you generate a sequence of frames
  1471. between any two still frames, creating an illusion of motion
  1472. or transformation. Finally, AnimatorPro will compress and
  1473. convert your frames into an .FLC file.
  1474.  
  1475.  
  1476. DEVICE DRIVERS
  1477. ==============
  1478.  
  1479. PC users are impressed by multimedia apps and games, but
  1480. they get frustrated with the DMA and IRQ settings required
  1481. to support sound, especially when there are conflicts with
  1482. other adapters and apps. They have lots of choices of sound
  1483. cards, but not all of the games support all of the cards,
  1484. and even the emulation (of SoundBlaster, for example) is
  1485. inconsistent between cards and drivers shipped with games.
  1486.  
  1487. From a game developer perspective, keeping up with the
  1488. proliferation of different types of sound cards and video
  1489. cards is a constant headache.  Each device requires a
  1490. different driver, and writing all of these drivers is
  1491. difficult.
  1492.  
  1493. A possible solution to both sets of problems is for the game
  1494. to support the device drivers that come with Windows or
  1495. OS/2. Users would find it much easier to install, and the
  1496. developer wouldn't have to supply all of those drivers and
  1497. risk conflicts with other drivers. But that means writing
  1498. Windows or OS/2 games (not DOS games), and we already
  1499. visited that issue above. Game vendors have so far chosen to
  1500. include their own device drivers, so they can access devices
  1501. directly instead of having to wait for Windows to do the
  1502. I/O.
  1503.  
  1504. The device drivers supplied with OS/2 let developers access
  1505. system hardware directly, so you get the best of both worlds
  1506. -- device independence and direct access. OS/2 also supports
  1507. the DOS device drivers that ship with games, fax, and
  1508. communications programs, and any other app that has unique
  1509. device needs. Windows cannot support those drivers or run
  1510. those applications.
  1511.  
  1512.  
  1513. MULTIPLAYER NETWORK ACCESS
  1514. ==========================
  1515.  
  1516. With OS/2 Warp, a developer can write multi-player and
  1517. multi-computer games by utilizing standard networking APIs.
  1518. OS/2 Warp supports the most popular networking protocols
  1519. (e.g., TCP/IP, IPX, and NetBIOS).  Furthermore, since these
  1520. protocols are operating system-independent, it is possible
  1521. to interact with games running under DOS, X-Windows, and
  1522. even System 7.
  1523.  
  1524.  
  1525. MIGRATING EXISTING APPLICATIONS
  1526. ===============================
  1527.  
  1528. IBM has obtained the exclusive marketing rights to a
  1529. migration tool from One Up Corp. in Dallas. SMART 2.0
  1530. (Source Migration Analysis Reporting Toolset) automatically
  1531. converts as much as 70% of the Windows API and message code
  1532. from 16- and 32-bit Windows applications to 32-bit OS/2
  1533. applications. SMART 2.0 is distributed as part of IBM's
  1534. Developer Connection for OS/2 quarterly CD-ROM and
  1535. newsletter, priced at $199 per year.
  1536.  
  1537.  
  1538. FUTURE PROOFING
  1539. ===============
  1540.  
  1541. Although OS/2 games (written for today's Intel x86 or
  1542. Pentium processors) can take advantage of all the features
  1543. mentioned in this document, developers are especially
  1544. excited about the future prospects for those games,
  1545. discussed now.
  1546.  
  1547.  
  1548. SYMMETRIC MULTIPROCESSING SYSTEMS
  1549.  
  1550. SMP computer systems are becoming more affordable, and will
  1551. reach consumer price points in a year or two. IBM already
  1552. has a version of OS/2 for SMP that supports up to 16
  1553. processors and can dispatch program tasks or threads on any
  1554. of them. The same shrink-wrapped OS/2 binaries that run
  1555. under OS/2 Warp also run under OS/2 for SMP.
  1556.  
  1557.  
  1558. POWERPC
  1559.  
  1560. IBM's PowerPC is a RISC processor that is posing a serious
  1561. challenge to Intel. Because of its lower price, smaller
  1562. size, and lower power requirements, the PowerPC is popping
  1563. up everywhere -- in automobiles, in PDAs, in TV set-top
  1564. boxes, and in multiprocessing supercomputers. It's
  1565. comforting to know that the same OS/2 source code that runs
  1566. on Intel systems will also run on PowerPC systems with a
  1567. simple recompilation.  That's a major advantage for OS/2,
  1568. since Microsoft's Windows 95 won't run natively on PowerPC.
  1569.  
  1570.  
  1571. HUMAN CENTRICS
  1572.  
  1573. Human-centered technologies will provide key features of
  1574. OS/2 and PowerPC, so people will be able to interact with
  1575. computers with the same skills they use to interact with
  1576. other people. These technologies include advanced
  1577. handwriting and speech recognition, personal agents (who
  1578. learn your habits, make suggestions, and act on your
  1579. behalf), animated actors (whose facial movements synchronize
  1580. with their spoken words), and natural language (so you don't
  1581. have to remember computer commands).
  1582.  
  1583. Some of the multimedia features planned for OS/2 for
  1584. PowerPC, such as software motion video capture and playback,
  1585. are already built into OS/2 Warp. And two human-centered
  1586. applications planned for PowerPC, ImageMail and Person to
  1587. Person (P2P), are also already built into OS/2 Warp.
  1588.  
  1589.  
  1590. OBJECT ORIENTATION
  1591.  
  1592. The object-oriented technologies planned for PowerPC are
  1593. built on the base of OS/2's System Object Model (SOM),
  1594. OpenDoc, and the Taligent frameworks. A "framework" is a
  1595. programming structure that reduces the amount of programming
  1596. to be done, because the code that supplies the mechanics of
  1597. a task is already written. For example, a communications
  1598. framework would handle all of the complicated work of
  1599. adhering to the transport protocols. Application developers
  1600. could just "plug into" a framework by writing to published
  1601. interfaces. What an easy way to add multiuser networking
  1602. capabilities to PC games!
  1603.  
  1604.  
  1605. OS/2 BINARIES
  1606.  
  1607. Existing OS/2 Intel-based binaries should run unmodified on
  1608. the PowerPC with a future release of OS/2 for PowerPC. These
  1609. applications, however, best exploit the PowerPC capabilities
  1610. when they are recompiled and run in native PowerPC mode.
  1611. When Intel object code is run on the PowerPC, there is a
  1612. performance loss caused by the translation from Intel to
  1613. PowerPC instruction sets.
  1614.  
  1615.  
  1616. NATIVE POWERPC APPS
  1617.  
  1618. You can start writing native applications for the PowerPC
  1619. today -- by writing pure 32-bit OS/2 Warp applications.
  1620. Start development on Intel systems using ANSI C compilers.
  1621. The OS/2 for PowerPC Software Developer Toolkit (SDK)
  1622. contains a cross-compiler from Metaware that runs on Intel
  1623. systems but produces PowerPC binaries. In addition, the
  1624. 32-bit source code you develop can be used on today's OS/2
  1625. Warp as well as tomorrow's OS/2 for PowerPC. Only a single
  1626. source needs to be maintained for both Intel and PowerPC
  1627. hardware systems!
  1628.  
  1629.  
  1630. NEW TOOLKIT FOR DEVELOPING GAMES
  1631. ================================
  1632.  
  1633. IBM intends to extend The Developer Connection for OS/2
  1634. family with an additional toolkit to enhance the development
  1635. of entertainment software (games, education, etc.). This new
  1636. toolkit will build on the existing function in The Developer
  1637. Connection by incorporating new technologies from IBM. These
  1638. new technologies, such as comprehensive networking and
  1639. speech recognition, are areas where IBM excels, and they can
  1640. provide a unique competitive advantage for the games and
  1641. entertainment developer.
  1642.  
  1643. IBM envisions a new generation of OS/2-based games that
  1644. combine multimedia with these new technologies in a way that
  1645. home computer users will find irresistible. To show the
  1646. power of this new generation, and to illustrate programming
  1647. techniques, the toolkit will contain source code for a
  1648. sample game that will use all the technologies provided.
  1649. This sample application will be a 32-bit, multithreaded,
  1650. multi-player, networked, speech-recognition-capable
  1651. adventure game using animation, digital video, waveform
  1652. audio, MIDI, still images, sprites, and 3-D graphics.
  1653.  
  1654. For a scenario example of what IBM hopes to enable with its
  1655. new entertainment software developer toolkit, see "OS/2 Warp
  1656. Game Scenario," later in this section.  IBM intends to make
  1657. this scenario possible with the delivery of its new OS/2
  1658. toolkit for games, education, and entertainment programmers.
  1659.  
  1660.  
  1661. OBJECTS AND CLASSES
  1662.  
  1663. The centerpiece of this toolkit will be a game object Base
  1664. class, which will ease the way for games and entertainment
  1665. programs to exploit the best of new technology from IBM. The
  1666. game object Base class contains (among others) the following
  1667. classes:
  1668.  
  1669.  
  1670. Client and Server Classes:
  1671.  
  1672. Client and Server classes will make possible multiplayer
  1673. networked games by routing messages via an open-ended set of
  1674. supported communications transport subsystems.
  1675.  
  1676. The Server class will use the IBM Lakes architecture to
  1677. provide this communications support. IBM Lakes is the
  1678. networking technology that underlies the Person-To-Person
  1679. program that IBM ships in the BonusPak for OS/2 Warp.
  1680.  
  1681. Lakes provides support for application-level connections via
  1682. TCP/IP, LAN NetBIOS, or asynchronous dial-up, and its
  1683. architecture can be extended to handle other transport
  1684. subsystems in the future. An OS/2 game with a game Server
  1685. object can communicate with game Clients and other game
  1686. Servers using any or all of the supported transport layers
  1687. simultaneously.
  1688.  
  1689. Most games built on the entertainment toolkit will not need
  1690. to subclass the Client or Server classes. They can remain
  1691. contentedly ignorant of the workings of the underlying
  1692. communication functions. Merely by instantiating a Server
  1693. object, a game can ensure that all players of a multiplayer
  1694. game session see a consistent view of the game.
  1695. Communications between the Server and Client objects ensures
  1696. that state information is reliably replicated and updated
  1697. for each client.
  1698.  
  1699. Because Lakes supports the dynamic addition or deletion of
  1700. individual nodes or applications at any time during a
  1701. communications session, players will be able to join or
  1702. leave a game in progress at any time.  When a player joins a
  1703. game, the game's Server object will ensure that the player's
  1704. Client is brought up to date with the latest state
  1705. information for the game. Furthermore, all preexisting
  1706. Clients will be informed of the presence of the new player.
  1707.  
  1708. The physical location of a game's Server object is of no
  1709. concern to the game programmer; it is merely recommended
  1710. that the game code that instantiates the Server object be
  1711. built into a separate executable from the code that
  1712. instantiates Client objects. Any end-user, given the
  1713. appropriate executable, will have the capability of
  1714. instantiating the Server object on his/her own machine at
  1715. the same time he/she brings up his/her Client. Another user
  1716. can connect to the first user and use the same Server
  1717. object; only another Client is started. Finally, a game
  1718. Server administrator could start a detached process with
  1719. just the Server, to which user's Clients will attach as
  1720. these users log on. In this way, the same executable
  1721. packaging can easily support a stand-alone player, multiple
  1722. peer-to-peer connections, or a pay-per-access, client-server
  1723. configuration.
  1724.  
  1725. Transport layers for communicating between Servers and
  1726. Clients are also of no concern to the game developer. Lakes
  1727. hides all the details of networking with an elegant concept
  1728. called "channels."  The Server and Client objects simply
  1729. include Lakes channels and ports through which all messages
  1730. pertinent to the state of the game will pass. A Lakes
  1731. channel always connects a sending port to a receiving port.
  1732. Whenever an application joins a Lakes call set (i.e.,
  1733. whenever a user joins a multi-player game in progress), all
  1734. of the messages sent to Server or Client objects' sending
  1735. ports will automatically be received by all of the
  1736. corresponding receiving ports at all of the connected Server
  1737. or Client objects. In this way, anything that one player
  1738. does to change the state of the game is automatically seen
  1739. by all other players.  And this synchronization of state
  1740. data occurs without any special code in the game
  1741. application.
  1742.  
  1743. Since Lakes channels can be serialized, the game object base
  1744. class can guarantee that messages affecting the game are
  1745. processed in the same order by all distributed Servers and
  1746. Clients. For example, if Peter and Susan both reach the
  1747. cellar door key at roughly the same time, but Susan is
  1748. actually a little faster, both players' clients will receive
  1749. the same two messages in the same order:
  1750.  
  1751. 1.  Susan's player object has attempted to pick up the key.
  1752. 2.  Peter's player object has attempted to pick up the key.
  1753.  
  1754. So, when Susan's and Peter's clients receive these messages,
  1755. they will both know that Susan's grab was successful and
  1756. Peter's attempt failed.
  1757.  
  1758. At the time a Client connects to a call set and joins a
  1759. game, the game may, if it wishes, determine whether the
  1760. Client has the necessary display data (audio, animation,
  1761. video, etc.) and input data (e.g.  speech recognition
  1762. grammars) to play the game. If the Client does not have the
  1763. necessary data, or it has a back-level version of the data,
  1764. the game Server object may:
  1765.  
  1766. o   disallow the client from playing,
  1767. o   download (presumably with the user's permission) the
  1768.     necessary data, or
  1769. o   allow the client to play with back-level data.
  1770.  
  1771. Furthermore, the game application may allow clients with
  1772. different levels of display/input data to play together. For
  1773. example, a Client on a slow machine without multimedia
  1774. functions could still participate by playing a text-based
  1775. version of the game. It would be up to the Display Proxy
  1776. objects in the game to test whether multimedia function is
  1777. available. If it is, each object would use the available
  1778. multimedia types to display itself. If it is not, each
  1779. object would be displayed using only text data.
  1780.  
  1781.  
  1782. World Objects:
  1783.  
  1784. World class objects will represent a single game. Each
  1785. instance of a World object represents an instance of that
  1786. game in progress. The state of the World object's data
  1787. represents the current state of the game.
  1788.  
  1789. The World object will be instantiated in the same physical
  1790. location as the Server object; World and Server objects
  1791. generally exist in a one-to-one relationship. Each time a
  1792. player joins the game, the World object instantiates a
  1793. player object to represent the player in the game.  Via
  1794. communication with the Server object, all connected Client
  1795. objects will then be notified of the new player, causing the
  1796. creation of a Display Proxy Player (DPPlayer) object at each
  1797. Client.
  1798.  
  1799. If the new player's Client does not have the display data
  1800. necessary for the game (i.e., all the video, images,
  1801. animation, MIDI, etc. that the game uses), or if the Client
  1802. has an old version, the World object will download all the
  1803. necessary files to the Client at the time that the new
  1804. player joins the game.
  1805.  
  1806. As the game progresses, all actions taken by all players
  1807. will be serialized in the World object to keep the game
  1808. self-consistent. If two players try to change the state of
  1809. the game at the same time, this serialization will ensure
  1810. that the changes make sense. For example, if two players in
  1811. an adventure game try to pick up a cellar door key at the
  1812. same time, the player whose Client gets a message to the
  1813. World object first will actually get the object.
  1814.  
  1815.  
  1816. Subclasses of Container Class:
  1817.  
  1818. The game object Base class will define a Container class for
  1819. creating objects that contain other objects: Room, Room
  1820. Exit, Player, Non-Player, Thing, and other Containers.
  1821. Stated another way, a subclass of Container will be (for
  1822. example) Room.
  1823.  
  1824. ROOM objects can be used to represent physical places in a
  1825. game, or they can represent more abstract concepts like
  1826. levels.
  1827.  
  1828. ROOM EXIT objects define the interfaces between Room
  1829. objects. They govern when and how a player may pass from one
  1830. Room to another. Room Exit objects will enable use of the
  1831. server-switching functions that allow separate World objects
  1832. to connect.
  1833.  
  1834. PLAYER objects are instantiated for each player that joins
  1835. the game; they, too, are containers. Players can contain
  1836. objects that they own, such as a key picked up in an
  1837. adventure game, or a weapon earned in an action game.
  1838.  
  1839. NON-PLAYER objects are similar to Player objects in that
  1840. they can own Things and move from Room to Room. However,
  1841. their behavior is determined by the game application. An
  1842. example of a Non-Player object would be an alien monster in
  1843. a space adventure game.
  1844.  
  1845. The Non-Player object class will provide randomizing methods
  1846. for influencing behavior. For example, a game may assign a
  1847. sequence of actions that a Non-Player object will perform at
  1848. a specified time. The game may also specify that exact order
  1849. or timing of the sequence be modified in a random fashion.
  1850.  
  1851. Non-Player objects will be designed to exploit the game
  1852. object Base class's journaling functions. A journal of
  1853. actions recorded by a Player object could be used as the
  1854. basis for the randomized behavior of a Non-Player object.
  1855. So, a space adventure game programmer could determine the
  1856. behavior of an alien monster by first recording a journal
  1857. while an experienced user played as though he was the
  1858. monster. The recorded actions of the user's Player object
  1859. would be randomized to program the new Non-Player object.
  1860.  
  1861. The THING class would be used to populate the Room objects
  1862. with all the necessary parts of the game. All Thing objects
  1863. could, at the discretion of the game application, use any of
  1864. the underlying technologies built into the game object Base
  1865. class. For example, any Thing object could accept input from
  1866. mouse, joystick, keyboard or speech recognition. A Thing
  1867. object could display itself on the player's system using any
  1868. of the available OS/2 Multimedia formats:  still picture,
  1869. animation, motion video, wave audio, or MIDI.
  1870.  
  1871. Two-dimensional Thing objects will be able to use the new
  1872. OS/2 sprite engine for motion through a room and for
  1873. detecting collisions with other Thing objects.
  1874. Three-dimensional objects will make use of a new OS/2 3-D
  1875. graphics API for translation and rotation through space.
  1876.  
  1877.  
  1878. Display Proxies:
  1879.  
  1880. All of the objects described above, except the Client
  1881. object, reside in the same physical location as the Server
  1882. object. Taken together, they define the logical processing
  1883. of the game, but they do not define how the game appears to
  1884. the user.
  1885.  
  1886. The Room, Player, Non-Player and Thing objects each have a
  1887. counterpart that gets instantiated in the client of every
  1888. player in the game. This counterpart is called the object's
  1889. display proxy, or DP.  Display proxies contain the actual
  1890. data necessary for an object to manifest itself to the user:
  1891. image, animation, video, audio, or MIDI data. Since this
  1892. data is kept locally at each Client, there will be no
  1893. performance impact caused by the transmission of display
  1894. data.
  1895.  
  1896. The Display Proxies will use the new Direct Access Video
  1897. Extension (DIVE) interface for displaying images. This new
  1898. OS/2 Warp interface will permit high-speed (50 fps or more,
  1899. depending on image size, availability of acceleration
  1900. hardware, and display type) animation from still image data.
  1901. An application could, therefore, specify a bitmap array as
  1902. the display data for a Display Proxy object; the game object
  1903. base class will display the images in that array through
  1904. DIVE whenever that object is visible.
  1905.  
  1906.  
  1907. SPEECH RECOGNITION
  1908.  
  1909. The Input class will use the IBM Continuous Speech Series to
  1910. provide speech-recognition input capability to all objects
  1911. defined by the application. ICSS is a continuous
  1912. speech-recognition system that digitizes and compresses
  1913. speech input, then applies a recognition search based on an
  1914. algorithm that compares phoneme models against context
  1915. files. Context files define the grammars that delineate the
  1916. words that are acceptable as input.
  1917.  
  1918. Because ICSS accepts continuous speech, the user does not
  1919. need to pause after every word he/she speaks. Furthermore,
  1920. ICSS is speaker-independent, so users do not have to be
  1921. trained to talk to ICSS, and ICSS does not have to be
  1922. trained to listen to users. Unlike speech-recognition
  1923. systems for dictation, ICSS uses small grammars that define
  1924. the possible spoken inputs at a given point in time. The
  1925. capabilities of ICSS to accept continuous speech from an
  1926. untrained user, to operate independent of a particular
  1927. speaker, and to utilize discrete, customizable grammars
  1928. makes it an ideal input method for games and entertainment
  1929. software.
  1930.  
  1931. To speech-enable any of the objects it creates, an
  1932. application based on the entertainment toolkit's game object
  1933. Base class will provide a context file that contains a
  1934. grammar for each state of the object. As the object changes
  1935. state, the new grammar will automatically be loaded so as to
  1936. correctly interpret any subsequent utterances.
  1937.  
  1938. For example, an object that represents a book might be
  1939. defined to have states such as "open" and "closed". The
  1940. grammar for the open state would contain commands such as
  1941. "Read the book" and "Close the book", whereas the grammar
  1942. for the closed state would contain "Open the book".  Once
  1943. these states and grammars are defined, the base class will
  1944. ensure that the book object receives an "open" message when
  1945. it is closed and the user says, "Open the book."
  1946.  
  1947. If ICSS is installed on the user's system, the Input object
  1948. will:
  1949.  
  1950. o   Establish a session with ICSS
  1951. o   Load the correct context to guide speech recognition
  1952.     every time the input focus changes or an object's state
  1953.     changes
  1954. o   Start the ICSS listening process
  1955. o   Spin off a separate thread which will wait for spoken
  1956.     input
  1957. o   Convert the spoken command into a call to the
  1958.     appropriate object method
  1959. o   Terminate the session with ICSS upon application
  1960.     termination.
  1961.  
  1962.  
  1963. 3-D GRAPHICS
  1964.  
  1965. IBM intends to provide support for 3-D graphics modeling and
  1966. rendering in the entertainment toolkit. Like the MMPM/2
  1967. implementation of software motion video, this new 3-D
  1968. graphics support will use the DIVE interface for maximum
  1969. performance.
  1970.  
  1971.  
  1972. JOYSTICK SUPPORT
  1973.  
  1974. IBM intends to provide a joystick driver for OS/2 in the
  1975. entertainment toolkit.
  1976.  
  1977.  
  1978. DEVELOPER SUPPORT
  1979. =================
  1980.  
  1981. IBM wants to make it easy to port existing games, easy to
  1982. develop new ones, and easy to bring them to market.  Several
  1983. support programs have been set up to meet these objectives.
  1984.  
  1985.  
  1986. IBM DEVELOPERS ASSISTANCE PROGRAM
  1987.  
  1988. The IBM Worldwide Developers Assistance Program (DAP) is
  1989. open to all developers of IBM Personal Software-based
  1990. products. These developers include corporate programmers
  1991. producing in-house applications, consultants, educators,
  1992. industry analysts, government agencies, and others with an
  1993. interest in PC DOS, OS/2, Pen, Multimedia, LAN Systems, and
  1994. now OS/2 for PowerPC.
  1995.  
  1996. The DAP is designed to provide a broad range of technical,
  1997. business, and marketing support services for this growing
  1998. and increadingly diverse development community, such as:
  1999.  
  2000.  
  2001. o   Technical support through IBM OS/2 forums on CompuServe
  2002. o   The opportunity to participate in early-code programs
  2003. o   Access to DAPTOOLS via CompuServe and the Internet
  2004. o   Access to OS/2 Custom Application Porting Workshops and
  2005.     LAN Systems Workshops
  2006. o   Technical Conferences
  2007. o   IBM product announcements.
  2008.  
  2009. Worldwide DAP membership is open to individuals, with no
  2010. company or product prerequisite, and with no fee.
  2011. Enrollment is done electronically through either CompuServe
  2012. or Internet. On CompuServe, enter Go OS2DAP to complete the
  2013. on-line application form. On Internet, FTP to dap.svo.com
  2014. (192.203.134.5).  Log on using a guest account (GUEST1, ...
  2015. , GUEST10) and password of DAP4ME.  Download the file
  2016. WWDAP.TXT. Complete and send to wwdap@vnet.ibm.com.
  2017.  
  2018. If you have any questions, please call 407-982-6408 or
  2019. 407-982-1030.
  2020.  
  2021. The Worldwide DAP also has a number of extensions that offer
  2022. customized services for specific developer needs.  Your
  2023. eligibility for a specific service depends on the type of
  2024. products you are currently marketing, or developing with
  2025. plans to market.  Some services vary by country but can
  2026. include:
  2027.  
  2028. o   Online technical support at no charge
  2029. o   Defect support for all warranted products that are
  2030.     supported by IBM support centers
  2031. o   Complimentary access to the online database of Personal
  2032.     Software-based development tools Complimentary
  2033.     subscriptions to OS/2 Developer magazine
  2034. o   Discounts on IBM Personal Software products
  2035. o   Listings in IBM OS/2 & LAN Systems Application
  2036.     Directory, IBM OS/2 & LAN Systems Development Tools
  2037.     Guide, and Sources and Solutions catalog.
  2038. o   "READY! for OS/2" and "READY! for LAN Systems"
  2039.     certification marks
  2040. o   IBM Direct Marketing Center
  2041.  
  2042.  
  2043. DEVELOPERS CONNECTION FOR OS/2
  2044.  
  2045. The Development Connection for OS/2 is a unique annual
  2046. subscription program, offered in conjunction with the
  2047. world-wide Developers Assistance Program, and designed to
  2048. deliver CDs and Newsletters to your door four times a year.
  2049. Electronic support is also provided to subscribers though
  2050. Compuserve and the Internet.  The Developer Connection for
  2051. OS/2 is designed to support application developers that
  2052. develop on the OS/2 platform with the most current technical
  2053. information, tools, and sneak-previews, along with creative
  2054. tips and techniques.  IBM intends to extend the Developer
  2055. Connection family with a toolkit for developing
  2056. entertainment software.
  2057.  
  2058. The OS/2 Developer's Connection CD-ROM subscription,
  2059. containing a wide selection of development tools and code,
  2060. is available for $199 (U.S.) from IBM:
  2061.  
  2062.     800-6-DEVCON to order in the UNITED STATES
  2063.     800-561-5293 to order in CANADA
  2064.     45-3-252-6588 or FAX 45-3-252-8203 to order in EUROPE
  2065.     61-2-354-7684 or FAX 61-2-354-7766 to order in OTHER
  2066.     LOCATIONS
  2067.  
  2068.  
  2069. CONVERSION TOOLS (SMART)
  2070.  
  2071. IBM recently signed an agreement with One Up Corporation to
  2072. widely distribute its conversion tool, Source Migration
  2073. Analysis Reporting Toolset (SMART), including current and
  2074. future versions.  SMART will be offered as part of the
  2075. Developers Connection for OS/2 CD-ROM and results in
  2076. tremendous time and cost savings for developers converting
  2077. to 32-bit OS/2 applications from 16-bit Windows, 32-bit
  2078. Windows NT, and 32-bit applications for future versions of
  2079. Windows, as well as from 16-bit OS/2 applications.
  2080.  
  2081. SMART consists of two primary tools.  (1) The Analysis and
  2082. Reporting Tool measures the size of a conversion effort and
  2083. provides a roadmap for migration, typically in a day, rather
  2084. than the 6 person-month effort usually required.  (2) The
  2085. Source Migration Tool automatically converts as much as 70
  2086. percent, or more in some cases, of the API and message code
  2087. to 32-bit OS/2 code.
  2088.  
  2089.  
  2090. ADDITIONAL SUPPORT
  2091.  
  2092. A surprising amount of information and support is available
  2093. for OS/2 game developers. Much of it comes from electronic
  2094. bulletin boards and networks.
  2095.  
  2096. OS/2 Warp includes electronic access to CompuServe and
  2097. various tools to navigate the Internet. IBM also provides
  2098. easy access to an Internet home page (server) on the World
  2099. Wide Web (WWW) that contains a growing library of support
  2100. information, information about available OS/2 applications,
  2101. and sample code. As a game developer, be sure to ask about
  2102. having your application listed there, and about supplying
  2103. demo code for users to download and try.
  2104.  
  2105. The list below is a small subset of Internet and CompuServe
  2106. sites that contain answers and information about OS/2
  2107. multimedia and game development.
  2108.  
  2109.  
  2110. INTERNET:
  2111.  
  2112.     COMP.OS.OS2.ANNOUNCE -- carries important OS/2
  2113.      announcements
  2114.     COMP.OS.OS2.BETA -- explores beta releases of OS/2
  2115.     COMP.OS.OS2.BUGS -- discusses possible bugs found in
  2116.      released versions of OS/2
  2117.     COMP.OS.OS2.GAMES -- deals with game playing under OS/2
  2118.     COMP.OS.OS2.MISC -- addresses anything else related to
  2119.     OS/2 programming
  2120.     COMP.OS.OS2.MULTIMEDIA -- discusses OS/2 multimedia
  2121.      (including MMPM/2)
  2122.     COMP.OS.OS2.PROGRAMMER.OOP -- focuses on programming
  2123.      with object technologies (such as SOM, DSOM, OpenDoc,
  2124.      Taligent frameworks, and the OS/2 Workplace Shell)
  2125.     COMP.OS.OS2.PROGRAMMER.PORT -- helps programmers port
  2126.      applications to OS/2
  2127.     COMP.OS.OS2.PROGRAMMER.TOOLS -- compares and contrasts
  2128.      the various programming tools and compilers available
  2129.      for OS/2
  2130.     COMP.OS.OS2.SETUP -- offers a place to talk about setup
  2131.      and installation issues
  2132.     COMP.REC.GAMES -- for general games questions
  2133.     FTP-OS2.CDROM.COM -- for OS/2-based multimedia programs
  2134.      and source code
  2135.  
  2136. COMPUSERVE:
  2137.  
  2138.     OS2DF1 (MMPM/2 section) -- multimedia and game support
  2139.     GO IBM -- OS/2 Forum
  2140.     FIND OS/2
  2141.  
  2142. This next list includes a small subset of the hundreds of
  2143. non-IBM bulletin-board systems with significant OS/2
  2144. content.  They are sequenced by area code and country code.
  2145.  
  2146.      Fernwood                 (203) 483-0348
  2147.      The Bin BBS              (206) 451-1905
  2148.      OS/2 Source BBS          (303) 744-0373
  2149.      Denver OS/2 BBS          (303) 755-6859
  2150.      Inside Technologies BBS  (313) 283-1151
  2151.      OS/2 Woodmeister         (314) 446-0016
  2152.      Gateway/2                (314) 554-9313
  2153.      Pyramid/2                (415) 494-7497
  2154.      Bay Area OS/2            (510) 657-7948
  2155.      OS/2 San Diego           (619) 558-9475
  2156.      OS/2 Las Vegas           (702) 433-5535
  2157.      OS/2 Shareware           (703) 385-4325
  2158.      Greater Chicago Online   (708) 895-4042
  2159.      OS/2 Exchange BBS        (904) 739-2445
  2160.      Abaforum (Barcelona)     34-3-589.38.88
  2161.      IBM UK                   44-256-336655
  2162.      OS/2 UK                  44-454-633197
  2163.      IBM Denmark              45-42-88-72-22
  2164.      Copenhagen UG BBS        45-48-24-45-80
  2165.      OS/2 Norway              47-22-38-09-49
  2166.      IBM Norway               47-66-99-94-50
  2167.      IBM Germany              49-7034-15-2160
  2168.      OS/2 Australia           61-2-241-2466
  2169.      Soft/2 Shareware         61-8-370-7339
  2170.        (Adelaide)
  2171.  
  2172. Your local FidoNet BBS may carry OS/2 echo conferences
  2173. and/or OS2NET.  If not, ask your system operator to join
  2174. them. Smartnet (an international network of PCBoard BBSs),
  2175. and PRODIGY (JUMP OS/2 CLUB) are also excellent resources.
  2176.  
  2177. For information about the IBM United States OS/2 BBS, phone
  2178. 800-547-1283.  IBM Canada also maintains several support
  2179. BBSs: (416) 946-4244, (416) 946-4255, (514) 938-3022, (604)
  2180. 380-5441, (604) 664-6464.
  2181.  
  2182.  
  2183. ============================================================
  2184. POSSIBLE OS/2 WARP GAME SCENARIO
  2185. ============================================================
  2186.  
  2187. The following scenario provides an exciting glimpse of what
  2188. the near future can bring with OS/2 Warp.
  2189.  
  2190. Eric uses OS/2 Warp's Internet Connection to log on to a
  2191. game server via the Internet. In one fantasy world provided
  2192. by this game server, Eric has obtained the key to the cellar
  2193. door. He's already explored the cellar, gleaning all the
  2194. clues within, but he's hoping to get something more in
  2195. exchange for the key itself.
  2196.  
  2197. An animated figure with a likeness of Eric's face approaches
  2198. the cellar door on the screen as Eric guides his
  2199. player-likeness with a joystick.  Eric speaks aloud, "Create
  2200. a VCR", and an image of a video cassette recorder and TV
  2201. monitor appears at his alter-ego's feet. "Record!"  commands
  2202. Eric, and a red light on the recorder starts blinking. Eric
  2203. looks into the video camera he has attached to his $200
  2204. video capture card. "I have the key to the cellar door," he
  2205. says as the animated reels turn on the tape recorder. "If
  2206. you can tell me how to break the Wizard's spell, I'll give
  2207. you the key." Eric selects the Stop button on the animated
  2208. VCR and then shuts down his game session.
  2209.  
  2210. Later that day, Peter connects to the same game server via
  2211. LAN NetBIOS, and starts exploring the same game world. When
  2212. he gets to the cellar door, he sees the VCR and TV monitor
  2213. and selects the play button. Peter watches Eric's recorded
  2214. message in the animated TV monitor inside his game world.
  2215. His curiosity is piqued, and Peter says, "Who left this
  2216. message?" A dialog appears on-screen showing an image of
  2217. Eric with his nickname and TCP/IP address. In spite of the
  2218. fact that Peter doesn't have TCP/IP installed, Peter says,
  2219. "Call him."
  2220.  
  2221. Meanwhile, Eric has pulled up the IBM Works word processor
  2222. (included with OS/2 Warp in the BonusPak) and is into more
  2223. serious homework, but he has left his Person-to-Person Call
  2224. Manager running in auto-answer mode. Suddenly the game
  2225. reappears on Eric's OS/2 desktop. Eric sees his own
  2226. player-image and the image of another player (with a face
  2227. that looks like Peter's) standing near that same cellar
  2228. door.
  2229.  
  2230. Peter has the same view on his screen. Peter speaks into his
  2231. microphone, and as he talks, his player-likeness moves its
  2232. mouth in a pantomime of speech. Eric can hear Peter's words
  2233. emanating from his multimedia speakers: "I know someone who
  2234. has beaten the Wizard. I will give you her number if you
  2235. give me the key to the cellar door."
  2236.  
  2237. Eric's mike is active, too. He replies, "No deal. Get me the
  2238. information I need first; then I will give you the key."
  2239.  
  2240. "Okay, can you hold a second?" Peter asks. "Let me see if I
  2241. can get her on-line." Peter then says, "Call Susan," and his
  2242. modem begins to click and hum. A moment later, a third
  2243. player-figure is visible in the game scene, and a third
  2244. voice can be heard on the audio channel. "Susan," says
  2245. Peter, "Eric has offered to give us the cellar door key if
  2246. we can show him how to defeat the Wizard. Do you want to
  2247. deal?"
  2248.  
  2249. The same game has popped up on Susan's screen. "It's
  2250. complicated," replies Susan, "so I made it into a macro.
  2251. Here, I'll replay it for you." She starts a second session
  2252. of the same game, but the scene is different: the Wizard's
  2253. laboratory. The same scene appears on Peter's and Eric's
  2254. machines. As Peter and Eric watch, Susan's player-image
  2255. engages in a duel with the Wizard, using various weapons and
  2256. exchanges of cryptic utterances.
  2257.  
  2258. "Got it," says Eric. "Thanks!" With his joystick, he drags
  2259. the cellar door key from his sack onto the image of Peter's
  2260. player. Then he picks up the VCR, drags it to the shredder,
  2261. and shuts down his game session.
  2262.  
  2263. Eric's player-image has disappeared from the other players'
  2264. screens, but Peter can now see the key in his own sack. He
  2265. unlocks the cellar door and says to Susan, "Follow me." They
  2266. step inside...
  2267.  
  2268.  
  2269. ============================================================
  2270. RECOMMENDED DOS SETTINGS
  2271. ============================================================
  2272.  
  2273. Although OS/2 Warp automatically recognizes the top 100+ DOS
  2274. games and automatically optimizes the DOS settings, there
  2275. surely will be games that were missed. In this case, you can
  2276. either make a copy of a program icon for a similar game and
  2277. then manually change the drive path and program name, or you
  2278. can use the generalized system settings listed below as a
  2279. base to start from, and fine-tune if needed.  The DOS
  2280. Settings are displayed in a graphical format, and can be
  2281. changed according to your game's documentation, or to match
  2282. the guidelines provided here.
  2283.  
  2284. 1. Point to the game/program   5. Select "DOS settings."
  2285. 2. Press mouse button 2.       6. Select "All DOS settings".
  2286. 3. Select the Session tab.     7. Select OK.
  2287. 4. Select "DOS full screen".
  2288.  
  2289. DOS FULL SCREEN -- This is a push button that is selected
  2290. before editing the DOS Settings. Selecting this option
  2291. causes your application to cover the entire screen instead
  2292. of running in a window. You won't be able to see other
  2293. windows and icons, but most games run much faster in
  2294. full-screen mode.
  2295.  
  2296. DOS_BACKGROUND_EXECUTION=OFF (default=ON) -- You'll want to
  2297. set this to OFF for most games, so that your game doesn't
  2298. continue to run when you switch to another application. In
  2299. other words, your game will "freeze" when it is in the
  2300. background, and resume when you once again bring it to the
  2301. foreground. Set this to OFF if you don't want your
  2302. fictitious character to get shot by aliens while you're
  2303. working on something else!
  2304.  
  2305. DOS_FILES=NN (default=20) -- For those few games that use
  2306. more than 20 files during game play, increase the number of
  2307. files to 30 or 40. Doing this slightly reduces the amount of
  2308. memory available.
  2309.  
  2310. DOS_HIGH=ON (default=OFF) -- In most cases, you'll want to
  2311. set this to ON (along with DOS-UMB) to provide more
  2312. conventional memory for your game. Some games, however,
  2313. prefer to access the DOS high-memory space directly, thus
  2314. requiring DOS-HIGH (and DOS_UMB) to be set to OFF. If
  2315. DOS_HIGH is ON, you'll generally also want DOS-UMB to be ON,
  2316. XMS_HANDLES to be greater than zero, and XMS_MEMORY_LIMIT to
  2317. be at least 64.
  2318.  
  2319. DOS_STARTUP_DRIVE=D: (a drive letter) -- Some game
  2320. applications allow you to create a boot diskette to play the
  2321. game. In those cases where nothing else seems to work,
  2322. create a boot diskette, then enter "A:" for this setting.
  2323. After that, when you double-click on the game icon, just
  2324. make sure that the boot diskette is in drive A:, and OS/2
  2325. Warp will start your game as though it were actually
  2326. starting your system from drive A:
  2327.  
  2328. DOS_UMB=ON (default=OFF) -- This setting should be ON unless
  2329. DOS_HIGH is OFF. It lets your DOS game load drivers and
  2330. other TSR (terminate and stay resident) programs into upper
  2331. and XMS memory, thus freeing conventional memory space for
  2332. your game.
  2333.  
  2334. DPMI_DOS_API=AUTO -- DOS Protected Mode Interface (DPMI) is
  2335. a memory-access specification for use in multitasking
  2336. environments such as OS/2 Warp. Many new applications are
  2337. starting to take advantage of this feature. If you see DPMI
  2338. mentioned in the game documentation, or in error messages,
  2339. this default should be changed to ENABLED.
  2340.  
  2341. DPMI_MEMORY_LIMIT=4 -- This default is usually adequate;
  2342. however, if you have a truly memory-hungry game, boosting
  2343. this setting to match the amount of physical memory (RAM)
  2344. you have might provide performance improvements. However,
  2345. boosting it beyond your physical memory might cause memory
  2346. swapping to disk, thus impairing performance.
  2347.  
  2348. DPMI_NETWORK_BUFF_SIZE=8 -- This default should be OK, but
  2349. some games require this setting to be 64.
  2350.  
  2351. EMS_MEMORY_LIMIT=2048 -- If your game requires more than the
  2352. default of 2 MB of EMS (expanded) memory, then increase this
  2353. setting to match the amount of physical memory (RAM) you
  2354. have in your system.
  2355.  
  2356. HW_NOSOUND=ON (default=OFF) -- Setting this to ON usually
  2357. prevents your game from using your PC's internal speaker to
  2358. make annoying noises. This setting does not, however, turn
  2359. off sound card support in games that attempt, but fail, to
  2360. play under OS/2 Warp. You should use the application's
  2361. installation or setup features to control sound-card
  2362. support.
  2363.  
  2364. HW_ROM_TO_RAM=ON (default=OFF) -- This setting, which
  2365. enables copying ROM BIOS to faster RAM, usually improves
  2366. performance slightly, unless your system is
  2367. memory-constrained. In some games, this slight improvement
  2368. can eliminate screen flicker.
  2369.  
  2370. HW_TIMER=ON (default=OFF) -- This should be set to ON for
  2371. games and other timing-sensitive applications that need
  2372. direct access to hardware timer ports.  With this setting
  2373. ON, however, the performance of background applications
  2374. could suffer. It's a price you pay for fast action games --
  2375. where else could you receive a fax while playing DOOM?
  2376.  
  2377. IDLE_SECONDS=NN (default=0) -- Some programs, such as games
  2378. and word processors, spend most of their time idling,
  2379. waiting for user input. Because they were written under the
  2380. assumption that they are the only application running, they
  2381. may make heavy use of the processor during this time,
  2382. polling the keyboard or another device in order to appear as
  2383. responsive as possible to the user. This setting lets you
  2384. tell OS/2 Warp how many seconds you would like OS/2 Warp to
  2385. wait before interrupting the program's idle time. By setting
  2386. it to 10, you essentially tell OS/2 Warp to allow the DOS
  2387. program to do whatever it pleases in 10-second intervals
  2388. during idle time. If IDLE_SENSITIVITY is set to 100,
  2389. disabling idle-detection, then it doesn't make any
  2390. difference what IDLE_SECONDS is set to.
  2391.  
  2392. IDLE_SENSITIVITY=100 (default=75) -- Set this to 100 for
  2393. most DOS games to disable idle-detection, essentially
  2394. telling OS/2 Warp not to interrupt your game just because
  2395. you haven't responded for a certain period of time (defined
  2396. by IDLE_SECONDS).
  2397.  
  2398. INT_DURING_IO=ON (default=ON) -- Setting this to OFF causes
  2399. DOS programs to not receive interrupts until after
  2400. read/write is done. It should be left ON for multimedia
  2401. applications to avoid choppy audio.
  2402.  
  2403. KBD_ALTHOME_BYPASS=OFF (default=OFF) -- Some DOS games
  2404. display great graphics even in a windowed DOS session. By
  2405. pressing Alt+Home, you can toggle between running the game
  2406. in full-screen or in a window. Other programs are not so
  2407. well-behaved, however, and can even fail if using Alt+Home.
  2408. In those cases, and whenever the application itself uses the
  2409. Alt+Home key sequence, KBD_ALTHOME_BYPASS should be set to
  2410. ON, which tells OS/2 Warp to pass the Alt+Home key sequence
  2411. along to the application.
  2412.  
  2413. KBD_CTRL_BYPASS -- In the case where a DOS game uses either
  2414. the Ctrl+Esc or Alt+Esc key sequences, or when the game does
  2415. bad things to the screen when you try to switch back to the
  2416. OS/2 Warp desktop from your game, you should set this to
  2417. either CTRL_ESC or ALT_ESC.
  2418.  
  2419. MOUSE_EXCLUSIVE_ACCESS=ON (default=OFF) -- For most games,
  2420. this can be set to ON to eliminate a second cursor, and to
  2421. give your game more complete control over the mouse pointer.
  2422.  
  2423. VIDEO_8514A_XGA_IOTRAP=OFF (default=ON) -- For most games,
  2424. this should be set to OFF to provide faster, unrestricted
  2425. access to the video device.
  2426.  
  2427. VIDEO_FASTPASTE (default=OFF) -- In a few cases where a game
  2428. seems unresponsive, setting this to ON can provide a minor
  2429. benefit.
  2430.  
  2431. VIDEO_RETRACE_EMULATION=OFF (default=OFF) -- This should be
  2432. left OFF for games and graphical applications to improve
  2433. performance.
  2434.  
  2435. XMS_MEMORY_LIMIT=2048 (default=2048) -- Use this setting to
  2436. increase the amount of XMS (Extended) memory available to an
  2437. application, or to provide additional memory for the use of
  2438. DOS_HIGH and DOS_UMB. In general, it's a good idea to leave
  2439. this number a few megabytes less than the amount of physical
  2440. memory you have.
  2441.  
  2442.  
  2443. ============================================================
  2444. LIST OF GAMES RECOGNIZED BY OS/2 WARP
  2445. ============================================================
  2446.  
  2447. The following are the game titles that (as of this writing)
  2448. are recognized by OS/2 Warp. For each title, an icon has
  2449. been placed in OS/2 Warp's Games folder, including
  2450. fine-tuned settings to enable enjoyable play. When different
  2451. versions of these titles exist for different system
  2452. platforms (e.g., DOS and Windows), in most cases OS/2 Warp
  2453. recognizes the multiple versions.
  2454.  
  2455.  
  2456. 1942: The Pacific Air War, MicroProse
  2457. 4D Boxing, Distinctive Software
  2458. 7th Guest, Virgin Games
  2459. A-Train, Maxis
  2460. Aces of the Pacific, Dynamix
  2461. Aces over Europe, Dynamix
  2462. Alone in the Dark, I-Motion
  2463. Alone in the Dark CD, I-Motion
  2464. Alone in the Dark 2, I-Motion
  2465. Arena: The Elder Scrolls, Bethesda Softworks **
  2466. Asteroids, Microsoft
  2467. Battle Chess, Interplay
  2468. Battle Chess 4000, Interplay
  2469. Battles of Destiny, QQP
  2470. Battlezone, Microsoft
  2471. Betrayal at Krondor, Dynamix
  2472. Betrayal at Krondor CD, Dynamix
  2473. Black Jack for OS/2, Reed
  2474. Blake Stone, Apogee
  2475. Carriers at War Construction Kit, Strategic Simulations
  2476. Carriers at War II, Strategic Simulations
  2477. Castle Wolfenstein 3D, Apogee
  2478. Centipede, Microsoft
  2479. Chess Master 3000, Mega CD Pack
  2480. Chip's Challenge, Microsoft
  2481. Chuck Yeager's Air Combat, Electronic Arts **
  2482. Civilization, MicroProse
  2483. Commander Keen, Apogee/id Software
  2484. Commander Keen 4, GT Software/id Software
  2485. Commander Keen 5, GT Software/id Software
  2486. Conquered Kingdoms, QQP
  2487. Corridor 7, Capstone
  2488. Cosmo's Cosmic Adventure, Apogee
  2489. Cruel, Microsoft
  2490. Day of the Tentacle, LucasArts
  2491. Day of the Tentacle CD, LucasArts
  2492. DOOM, id Software **
  2493. DOOM II, id Software **
  2494. Dr. Black Jack, Microsoft
  2495. Duck Tales, Incredible Technologies
  2496. Duke Nukem, Apogee
  2497. Duke Nukem 2, Apogee
  2498. Dungeon Hack, Strategic Simulations
  2499. El-Fish, Maxis
  2500. Electranoid, Pixel Painters
  2501. Empire Deluxe, New World Computing
  2502. Epic Pinball, Epic **
  2503. Eric the Unready, Legend
  2504. F-117A Stealth Fighter 2.0, MicroProse
  2505. F15 Strike Eagle 3, MicroProse
  2506. Falcon 3.0, Spectrum HoloByte
  2507. Fleet Defender, MicroProse
  2508. Freddy Pharkas Frontier Pharmacist, Sierra
  2509. Freecell, Microsoft
  2510. Freecell (Win32s), Microsoft
  2511. Front Page Sports Football, Sierra
  2512. Frontier Elite II, Gametek/Konami
  2513. Fuji Golf, Microsoft
  2514. Galactic Civilizations, AIMs/Stardock
  2515. Golf, Microsoft
  2516. Gunship 2000, MicroProse
  2517. Halloween Harry, Apogee **
  2518. Hardball III, Accolade
  2519. Harpoon CD, Three-Sixty Pacific
  2520. Harpoon II, Three-Sixty Pacific
  2521. Hocus Pocus, Apogee
  2522. Hoyle's Book of Games, Sierra
  2523. Hoyle's Book of Games, Vol. 3, Sierra
  2524. Humans, GameTek
  2525. Indiana Jones: Fate of Atlantis, LucasArts
  2526. Indianapolis 500, Electronic Arts
  2527. Indy Car Racing, Papyrus
  2528. Jack Nicklaus Signature Golf, Accolade **
  2529. Jack Nicklaus Unlimited Golf and Course, Accolade **
  2530. JezzBall, Microsoft
  2531. JigSawed, Microsoft
  2532. Joe Montana Football, SEGA
  2533. Just Grandma and Me, Living Books
  2534. Kid Pix, Broderbund
  2535. Kid Pix 2, Broderbund
  2536. Killing Cloud, Konami
  2537. Kings Quest I, Sierra
  2538. Kings Quest II, Sierra
  2539. Kings Quest III, Sierra
  2540. Kings Quest IV, Sierra
  2541. Kings Quest V, Sierra
  2542. Kings Quest V CD, Sierra
  2543. Kings Quest VI, Sierra
  2544. Kings Quest VI CD, Sierra
  2545. Klotski, Microsoft
  2546. Knowledge Adventure, Knowledge Adventure, Inc. **
  2547. LHX: Attack Chopper, Electronic Arts
  2548. Lakers vs. Celtics and the NBA Playoffs, Electronic Arts
  2549. Lands of Lore, Westwood Studios **
  2550. Lands of Lore CD, Westwood Studios **
  2551. Leisure Suit Larry 3, Sierra
  2552. Leisure Suit Larry 5, Sierra
  2553. Lemmings 2: The Tribe, Psygnosis
  2554. Lemmings, Psygnosis
  2555. Life Genesis, Microsoft
  2556. Links-The Challenge of Golf, Access
  2557. Links386 Pro, Access **
  2558. MYST, Broderbund
  2559. Mahjongg for OS/2, IBM
  2560. Mario Is Missing, The Software Toolworks
  2561. Master of Orion, MicroProse
  2562. Math Blaster, Davidson
  2563. Math Rabbit, The Learning Company
  2564. Mavis Beacon Teaches Typing, Mega CD Pack
  2565. Mickey's 123's, Disney
  2566. Mickey's ABC's, Disney
  2567. Microsoft Flight Simulator 4.0, Microsoft
  2568. Microsoft Flight Simulator 5.0, Microsoft
  2569. Might and Magic II, New World Computing
  2570. Might and Magic III, New World Computing
  2571. Might and Magic IV: Clouds of Xeen, New World Computing
  2572. Might and Magic V: Darkside of Xeen, New World Computing
  2573. Minesweeper for OS/2, David Charlap
  2574. Minesweeper, Microsoft
  2575. Missile Command, Microsoft
  2576. Monster Bash, Apogee
  2577. Mother Goose, Sierra
  2578. NHL Hockey, Electronic Arts
  2579. Oh No! More Lemmings, Psygnosis
  2580. Operation Neptune, The Learning Company
  2581. Oregon Trail, MECC
  2582. Out of This World, Interplay
  2583. Outpost, Sierra
  2584. Oxyd magnum!, Dongleware Publishing **
  2585. Pegged, Microsoft
  2586. Pipe Dream, LucasFilm Games
  2587. Pipe Dream (Windows), Microsoft
  2588. Playworld, Broderbund
  2589. Police Quest 3, Sierra
  2590. Police Quest 4: Open Season, Sierra
  2591. Police Quest 4: Open Season CD, Sierra
  2592. Populous, Electronic Arts/Bullfrog
  2593. Populous 2, Electronic Arts/Bullfrog
  2594. Prince of Persia, Broderbund
  2595. Prince of Persia 2, Broderbund
  2596. Quest for Glory I, Sierra
  2597. Quest for Glory II: Trial by Fire, Sierra
  2598. Quest for Glory III, Sierra
  2599. Quest for Glory IV: Shadows of Darkness, Sierra
  2600. Railroad Tycoon, MicroProse
  2601. Railroad Tycoon Deluxe, MicroProse
  2602. Rally Racer, Accolade
  2603. Raptor, Apogee/Cygnus
  2604. RattlerRace, Microsoft
  2605. Reader Rabbit, The Learning Company
  2606. Reader Rabbit 1, The Learning Company
  2607. Reader Rabbit 1 for Windows, The Learning Company
  2608. Reader Rabbit 2, The Learning Company
  2609. Reader Rabbit 3, The Learning Company
  2610. Reader Rabbit's Ready for Letters, The Learning Company
  2611. Rebel Assault, LucasArts
  2612. Red Baron, Dynamix
  2613. Red Baron CD, Dynamix
  2614. Return to Zork, InfoCom
  2615. Reversi, Microsoft
  2616. Rex Nebular, MicroProse
  2617. Rodent's Revenge, Microsoft Best
  2618. Roids, Leonard Guy
  2619. Sam and Max Hit the Road, LucasArts
  2620. Scorched Earth, Wendell Hicken
  2621. Seawolf, Electronic Arts
  2622. Secret Weapons of the Luftwaffe, LucasArts AirCombat
  2623. Secret of Monkey's Island 2, LucasFilm Games
  2624. Secret of Monkey's Island, LucasFilm Games
  2625. Serf City, Strategic Simulations, Inc.
  2626. Sherlock Holmes (CD), Icom Simulations
  2627. Sherlock Holmes III, Icom Simulations
  2628. SimCity 2000, Maxis
  2629. SimCity Classic, Maxis
  2630. SimCity (Windows), Maxis
  2631. SimEarth, Maxis
  2632. SimFarm, Maxis
  2633. SimFarm (Windows), Maxis
  2634. Ski Free, Microsoft
  2635. Solitaire, Microsoft
  2636. Solitaire's Journey, QQP
  2637. Solitaire's Journey (Windows), QQP
  2638. Space Quest I, Sierra
  2639. Space Quest IV, Sierra
  2640. Space Quest V, Sierra
  2641. Spear of Destiny, Apogee
  2642. Speed Racer, Accolade
  2643. Splash, Spinnaker
  2644. Star Trek 25th Anniversary, Interplay
  2645. Star Trek: Judgment Rites, Interplay
  2646. Stellar 7, Dynamix
  2647. Super Solvers Gizmos & Gadgets, The Learning Company
  2648. Super Solvers Midnight Rescue, The Learning Company
  2649. Super Solvers Outnumbered!, The Learning Company
  2650. Super Solvers Spellbound!, The Learning Company
  2651. Super Solvers Spellbound! CD, The Learning Company
  2652. Super Solvers Treasure Mountain, The Learning Company
  2653. Taipei, Microsoft
  2654. Take a Break Pinball, Dynamix
  2655. Task Force 1942, MicroProse
  2656. Tempest, Microsoft
  2657. Tensor, AIMs/Palet
  2658. TetraVex, Microsoft
  2659. Tetris, Spectrum HoloByte
  2660. Tetris for Windows, Microsoft
  2661. The Bard's Tale II, Interplay
  2662. The Bard's Tale, Interplay
  2663. The Castle of Dr. Brain, Sierra
  2664. The Grandest Fleet, QQP
  2665. The Incredible Machine, Sierra
  2666. The Island of Dr. Brain, Sierra
  2667. The Legend of Kyrandia (Book I), Westwood Studios
  2668. The Legend of Kyrandia (Book II), Westwood Studios
  2669. The Lost Admiral, QQP
  2670. The Perfect General, QQP
  2671. The Playroom, Broderbund
  2672. The Treehouse, Broderbund
  2673. Their Finest Hour: The Battle of Britain, LucasArts Air Combat
  2674. Theme Park, Electronic Arts/Bullfrog
  2675. Theme Park CD, Electronic Arts/Bullfrog
  2676. TicTactics, Microsoft
  2677. Tie Fighter, LucasArts
  2678. Tom Landry Strategy Football Deluxe, Merit Software
  2679. Tony LaRussa Baseball II, Strategic Simulations
  2680. Treasure MathStorm, The Learning Company
  2681. Treasure Mountain V1.02, The Learning Company
  2682. Tri Peaks, Microsoft Best
  2683. Tut's Tomb, Microsoft Best
  2684. U.S. Atlas Multimedia, Software Toolworks Mega CD
  2685. Ultima Under World, Origin
  2686. Ultima Under World II, Origin
  2687. V for Victory: Market Garden, Three-Sixty Pacific
  2688. V for Victory: Velikiye Luki, Three-Sixty Pacific
  2689. VGA Planets, Tim Wisseman
  2690. Video Poker, Brett King
  2691. Warlords, Strategic Studies Group
  2692. Warlords II, Strategic Studies Group
  2693. Warlords II Scenario Builder, Strategic Studies Group
  2694. Wasteland, Interplay
  2695. Wheel of Fortune, GameTek
  2696. Where in Europe is Carmen San Diego?, Broderbund
  2697. Where in Space is Carmen San Diego?, Broderbund
  2698. Where in Time is Carmen San Diego?, Broderbund
  2699. Where in the USA is Carmen San Diego?, Broderbund
  2700. Where in the World is Carmen San Diego?, Broderbund
  2701. Wing Commander, Origin
  2702. Wing Commander Academy, Origin
  2703. Wing Commander II, Origin
  2704. Wing Commander II Special Operations I, Origin
  2705. Wing Commander II Special Operations II, Origin
  2706. Wizardry VII: Crusaders of the Dark Savant, Sir-Tech
  2707. WolfPack CD, Nova Logic
  2708. WordZap, Microsoft
  2709. World Atlas Multimedia, Software Toolworks
  2710. World Circuit, MicroProse
  2711. X-Wing, LucasFilm Games
  2712. XCOM - UFO Defense, MicroProse
  2713. XCOM - UFO Defense CD, MicroProse
  2714.  
  2715. NOTE: In some games, depending on the hardware
  2716. configuration, sound should be disabled for optimum
  2717. performance. Titles marked with an ** are games that require
  2718. the sound to be disabled in most of the tested
  2719. configurations. Try them with sound on your system first.
  2720.  
  2721.  
  2722. ============================================================
  2723. TRADEMARKS:
  2724. ============================================================
  2725.  
  2726. Crash Protection, DSOM, IBM, MMPM/2, Multimedia Presentation
  2727. Manager/2, OS/2, Operating System/2, Person to Person,
  2728. PowerPC, SOM, System Object Model, Ultimedia Builder/2,
  2729. Ultimedia Perfect Image/2, Ultimedia Video IN, Ultimedia
  2730. Workplace/2, Ultimotion, and Workplace Shell are trademarks
  2731. or registered trademarks of IBM Corporation.
  2732.  
  2733. Microsoft and Windows95 are trademarks or registered
  2734. trademarks of Microsoft Corporation.
  2735.