home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
gamdev2.zip
/
GAMDEV2.INF
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1996-02-25
|
466KB
|
635 lines
ΓòÉΓòÉΓòÉ 1. Primer ΓòÉΓòÉΓòÉ
OS/2 Presentation Manager Game Development Guide
Version 2.0 - by Antonino Iannella, February 25th, 1996
Choose a section below:
Introduction
Copyright information and distribution rights
Archive contents
Revision history
ΓòÉΓòÉΓòÉ 1.1. Introduction ΓòÉΓòÉΓòÉ
This document is intended to be a guide for OS/2 users (or wannabes) to see
more high-quality native OS/2 games. It is not designed to teach people how to
write games, only as a reference guide for more information. Alot of this
guide also relates to writing general OS/2 applications.
If anyone finds mistakes in this guide, or has some information to contribute,
please contact the author. Please do so even if you found this guide useful or
not!
ΓòÉΓòÉΓòÉ 1.2. Copyright information and distribution rights ΓòÉΓòÉΓòÉ
This guide's author is Antonino Iannella. It is released into the public
domain, and may be used by anyone. It is freely distributable using any medium
or site. It may not be sold. The author has no authority over the way that it
is distributed. It may not be distributed on the Microsoft Network (MSN) or
used by Microsoft in any way. A breach of this policy will result in legal
action.
The author shall not be made responsible for any errors, or damage caused by
this guide's contents, so don't hit your grandmother with it!
This is what people who break this law will look like! :-) (Courtesy of
Salvador Dali).
ΓòÉΓòÉΓòÉ 1.3. GamDev2.ZIP archive contents ΓòÉΓòÉΓòÉ
This archive must be distibuted with
GamDev2.inf This file
FILE_ID.DIZ BBS information file
GamDev2.txt Site information file
ΓòÉΓòÉΓòÉ 1.3.1. FILE_ID.DIZ ΓòÉΓòÉΓòÉ
GamDev2.zip - PM Game development guide
A guide for finding more information relating
to OS/2 PM game development.
In OS/2 INF format.
by Mr Antonino Iannella
9308390r@lux.levels.unisa.edu.au
ΓòÉΓòÉΓòÉ 1.3.2. GamDev2.txt ΓòÉΓòÉΓòÉ
OS/2 Upload Information Template for ftp-os2.nmsu.edu
Archive Name: GamDev2.zip
Program Description: (keep it under 60 characters)
A guide for finding more information relating to PM game development.
Operating System Versions: OS/2 2.0 and above
Program Source: none
Replaces: none
Your name: Antonino Iannella
Your email address: 9308390r@lux.levels.unisa.edu.au
Proposed directory for placement: /pub/os2/info
ΓòÉΓòÉΓòÉ 1.4. Revision history ΓòÉΓòÉΓòÉ
Version 1.0 - An Email message to a colleague gave me the idea to make a reference guide.
Version 1.1 - An introduction was added.
Version 2.0 - A large amount of information was added, so it was decided to format the
guide in OS/2 INF format, then distribute it.
Version 2.+ - Well? Please send any contribution you may have to the author!
ΓòÉΓòÉΓòÉ 2. Things to learn ΓòÉΓòÉΓòÉ
This section has some suggestions regarding the OS/2 Warp Presentation Manager
programming.
Get Warped!
Choose a standard programming language
OS/2 Warp Presentation Manager programming
GPI programming
Other PM technologies
ΓòÉΓòÉΓòÉ 2.1. Get Warped! ΓòÉΓòÉΓòÉ
What are you waiting for? Go on, try it! OS/2 Warp is one of the most advanced
and powerful operating systems in the world. Some of the many features are
Robust, and reliable,
Object orientation,
Complete 32-bit architecture,
Real pre-emptive multitasking,
Easier to program than other platforms, and
Excellent multimedia support.
Now take advantage of the wide range of native applications. You can even run
most DOS and Windows applications. Whatever you do, get Galactic
Civilisations. This game by Stardock Systems is a must!
ΓòÉΓòÉΓòÉ 2.2. Choose a standard programming language ΓòÉΓòÉΓòÉ
Find a commonly-used language to program in. It is important to know one! My
personal preference is C. Alot of OS/2 applications, and games, are written in
C (or C++). Lots of source code examples are, too.
If object-oriented programming is your scene, go for C++. The Warp
Entertainment Toolkit is aimed at C++ developers. REXX is also a popular
language. It is interpreted, rather than compiled. A REXX program will run
slower than an equivalent C or C++ program. However, REXX programs are easy to
write, and quite powerful. Multimedia with OS/2 REXX is easy, too. Refer to
the MCIREXX.INF in your MMOS2 directory, if available.
ΓòÉΓòÉΓòÉ 2.3. OS/2 Warp Presentation Manager programming ΓòÉΓòÉΓòÉ
Learn to program the OS/2 Presentation Manager in C (or your language of
choice). Knowing basic PM programming will let you design a user interface for
your game. The PM API functions may look overwhelming to the uninitiated. It
is hard work to learn (and understand!) how to do the simplest tasks, however
PM programming allows you to write powerful applications with minimal code.
ΓòÉΓòÉΓòÉ 2.4. GPI programming ΓòÉΓòÉΓòÉ
The Graphics Programming Interface (GPI) is the method to draw primitive
graphics in a PM window. It also handles bitmaps, metafiles, animation and
other things. It is very functional, and sometimes complicated. I don't know
much about it.
ΓòÉΓòÉΓòÉ 2.5. Other PM technologies ΓòÉΓòÉΓòÉ
OS/2 Warp has many extra technologies which greatly enhance games. They are
DIVE - Direct Interface to Video Extensions. It allows for really fast
graphics or real-time video, and can play AVI or FLI-format files
effectively.
MMPM - Multimedia Presentation Manager. Allows easy-to-use multimedia
features, such as playing WAV or MID-format files.
SOM - System Object Model. This lets the system and its applications
have the concept of 'objects'. A directory is an object. An icon is an
object. Your chess game opponent on a future, high-technology WAN which
might extend into an unfathomable dimension, full of highly-developed
alien life - but who are on the Internet - is also treated as an object.
Other technologies include DART, enDIVE, 3D animation, Real-Time MIDI,
DirectDMA and networking features.
ΓòÉΓòÉΓòÉ 3. Miscellaneous suggestions ΓòÉΓòÉΓòÉ
For more information on creating OS/2 Warp games, including an overview of the
Warp Entertainment Toolkit, see http://www.austin.ibm.com/os2games.
Join the IBM Solution Developer's Programme in your country. It may also be
referred to as the Developer Assistance Programme (DAP). Also, join the
Worldwide DAP (Email wwdap@vnet.ibm.com). This gives you access to development
software, including the Developer's Connection CD-ROM.
Join
Join Club OpenDoc, see http://www.software.ibm.com/clubopendoc/index.html (or
Email Club_OpenDoc@aussmtp.austin.ibm.com).
Do not be afraid to buy a book on the topic you are after!
Get all the issues of EDM/2 magazine that you can! There are many excellent
articles about PM programming. The 'Gearing up for Games' series gives an
introduction to Warp gaming technologies, like DIVE.
You will probably be spending alot of time in front of a computer. Be patient,
and have regular breaks.
Don't be afraid to try things. Have fun while you are trying it.
Read the newsgroup rec.sys.programmer FAQ. It provides many useful references
to books, companies, sites and techniques useful for game development. Most of
the information relates to DOS programming, so it may not be useful for PM
programming, except for techniques like artificial intelligence or virtual
reality.
Games and animation may be resource-intensive; you may experience device driver
problems.
Learn threads and semaphores. It is possible to write a simple text-based
program where one can create, destroy, and pass messages between threads. Get
a sound understanding of multithreading. Semaphores are useful to synchronise
events.
Don't program in Ada.
People who 8514 video adapters cannot use (or view) DIVE instances. DIVE is
not really necessary if you do not need to update large graphics regularly; GPI
functions are sufficient in these cases.
ΓòÉΓòÉΓòÉ 4. Book Recommendations ΓòÉΓòÉΓòÉ
Books may be ordered through the IBM SDP (DAP), or at your local bookshop. All
the books listed are in English, unless stated otherwise.
Learning to Program the OS/2 2.0 Presentation Manager by Example - Stephen
Knight
This book is a reasonable beginner's book, for PM C. It explains basic concept
very well. It deals with basic PM window creation, simple GPI programming,
help files, some GPI animation (which I couldn't understand), amongst other
things. It uses one big example, which is a slide puzzle game. At times it
may be hard to follow the large chunks of sample code.
The Art of OS/2 Warp Programming - Catherine Panov, Larry Salomon, Arthur Panov
This may be a better PM C beginner's book than the former. It deals with more
concepts relating to PM programming, even multitasking. See
http://www.iqpac.com/tao/index.shtml
Programming the OS/2 Warp GPI - Stephen Knight, Jeffrey Ryan
This book explains GPI programming in C. It is for beginning to intermediate
programmer, and appears to explain difficult GPI concepts. It also uses one
big example to illustrate all concepts. See
http://www.wiley.com/compbooks/i5.html
Programming Multimedia in OS/2
This book is written for OS/2 2.1, so it does not explain all the features
which were introduced with OS/2 Warp. it might be worth a miss, until it gets
revised!
System-Programmierung OS/2 - Frank Eckgold (in German)
Quite a good reference but many typographical errors and mistakes in the early
edition. It has some useful examples.
The Ultimate OS/2 Programmer's Manual - John Mueller
It is a good reference, but that's it. It has no sample programs. It is not a
stand-alone buy, but an additional book where you will quickly find what you
are looking for.
OS/2 Programmierung - T. Legenkamp, J. Bredno (in German)
It is a good introductory book with some samples, but no use at all as a
reference. It has some information not available in the other books.
OS/2 Multimedia Programmierung - T. Legenkamp (in German)
The only reference to MMOS/2. It has the most important information on MMOS/2
but that's it. It is easier to use than the online help from Visualage C/C++!
ΓòÉΓòÉΓòÉ 5. Other resources ΓòÉΓòÉΓòÉ
This section lists useful resources which any OS/2 developer should consider.
Compilers
Software
ΓòÉΓòÉΓòÉ 5.1. Compilers ΓòÉΓòÉΓòÉ
Get one. I prefer EMX/GNU C. It has a C, C++, and an Objective C compiler.
It's free. It does the job. Some commercial compilers are
IBM VisualAge C/C++ - Nice compiler. Loads of features, good user
interface. American students get it very cheaply.
Watcom C/C++ - Arguably better than VisualAge. Can cross-compile for
multiple operating systems.
Borland C/C++ - Uses their infamous IDE interface. If you are
considering this compiler, consider GNU C.
VisPro C/C++ - It is from Canada. Any opinion would be appreciated.
For REXX development there is
DrDialog - Cute, useable, and free
The commercial compilers Watcom VX-REXX, and VisPro REXX are good for
graphical development of PM applications using REXX.
This is what people who are frustrated with their compiler look like! :-)
ΓòÉΓòÉΓòÉ 5.2. Software ΓòÉΓòÉΓòÉ
Subscribe to the Developer's Connection CDROMs through the IBM SDP. It is your
life blood. It is about US$200 for 4 sets of CD-ROMs, which are distributed
quarterly. If you can't afford it, ask for the Promotional DevCon. They give
you one (but ONLY one) set out of good will, for free! With the money you have
now saved, buy a CD-ROM drive so you can use them :-).
Get the Hobbes OS/2 CD-ROM (Email info@cdrom.com). It is about US$30. You get
the entire OS/2 hobbes.nmsu.edu site on two cdroms, which comes in handy. If
you develop software that they put on the CD-ROM, they will even send you one
as a gift, because they are nice.
OS/2 Warp Developer's Toolkit - THE tool for OS/2 developers. It has got
necessary software, documentation, and examples for Assembler, C, C++, SOM, and
REXX. It's on the DevCon. Install it.
OS/2 Warp Entertainment Toolkit - This may be another package to get if you
intend to write games, particularly in C++. It includes new technologies like
3D rendering, animation, and a joystick driver.
Hyperwise - Allows easy creation of OS/2 and Windows help files. It's really
nice. It can even import and export in HTML format. Unfortunately, there is
only a demonstration version of it on the DevCon. If anyone can suggest a
nice, freely-available INF creation tool, please do so!
Object REXX - This gives REXX object-oriented abilities. It may be worth a
look. It's on the DevCon.
DrDialog - My favourite REXX tool! It allows the graphical creation of simple
PM applications using REXX. It's on the DevCon.
Prominare Designer - This allows excellent graphical creation of OS/2
applications. The demonstration version (PDD.ZIP) has a dialog creation tool
(which is perfectly usable) and rivals that in the Warp Developer's Toolkit.
See http://www.prominare.com/prominare. You may need the LOADDSKF.EXE utility
to decompress the demonstration version archive.
Guidelines - Graphical PM application development tool which builds using your
C++ compiler. Very nice. The base package may be free. See
ftp://hobbes.nmsu.edu/os2/dev32/gui*.
Paint Shop Pro - (psp311.zip, available in Windows sites like SimTel, in the
'graphics' directory) is a good shareware graphics viewer/editor. It rivals
Adobe Photoshop. You will undoubtedly use it for editing images for your next
hot OS/2 game! Unfortunately, it's not native, so why not contact the creators
and tell them that it would be better if it was?
POVRAY - This is useful for creating rendered graphics, like those in the film
Toy Story. It is also free. The graphics in a native OS/2 game, Toyland ,
were created using this. If you don't want to learn its modelling language,
get a shareware modeller like PovCad 3D. Unfortunately, it's a Windows
application, so why not tell the author that 'native is better'?
ΓòÉΓòÉΓòÉ 6. Information references available via the Internet ΓòÉΓòÉΓòÉ
This section lists some Internet (with World Wide Web sites) of interest to
OS/2 users and developers.
OS/2 game development related
Game development related
General OS/2 related
Miscellaneous sites
ΓòÉΓòÉΓòÉ 6.1. OS/2 game development related ΓòÉΓòÉΓòÉ
There are two main OS/2 repositories on the internet. They are
ftp-os2.cdrom.com , and hobbes.nmsu.edu. There are mirrors around the world,
like ftp.latrobe.edu.au. OS/2 information and software may be found at these
sites. Various source code samples are provided in the /dev16 and /dev32
directories.
IBM OS/2 Warp games home page
This is the starting point for looking for OS/2 game-specific information.
http://www.austin.ibm.com/os2games
OS/2 Game Development Council
http://naftalab.bus.utexas.edu/os2games
The Ultimate OS/2 games page
http://www.cc.gatech.edu/people/home/buie/os2games.html
Team OS/2 Online
There are lots of excellent links to all kinds of information. Become a member here.
http://www.teamos2.org
EDM/2 Magazine
This electronic magazine is so good, it should be put on the World Heritage List.
Get all the issues!
http://www.iqpac.com
See newsgroups comp.sys.os2.programmer.*, comp.os2.os2.misc.games
For a general OS/2 programming FAQ, see
http://www.connix.com/~kiernasj/os2_prog.faq.html.
This may come in somewhat useful.
For a list of OS/2-related books, see ftp://hobbes.nmsu.edu/os2/info/os2books.txt.
ΓòÉΓòÉΓòÉ 6.2. Game development related ΓòÉΓòÉΓòÉ
Here are some sites relating to game development techniques and resources.
Games domain
A useful nice site relating to all aspects of gaming.
http://www.gamesdomain.co.uk
POVRAY archive and a mirror
ftp://ftp.povray.org (or ftp://uniwa.uwa.edu.au/pub/povray)
The rec.sys.programmer.games newsgroup. Get its FAQ as well.
The author is gavin@senator.demon.co.uk.
Game developer magazine
http://www.mfi.com/gdmag
The X2ftp site (x2ftp.oulu.fi), contains alot of information on designing DOS games.
Most of it is irrelevant to PM games. Try the Games Programming Encyclopaedia.
ΓòÉΓòÉΓòÉ 6.3. General OS/2 related ΓòÉΓòÉΓòÉ
Here is a list of sites for all OS/2 users.
There is a general OS/2 FAQ. Look for it on the Team OS/2 site.
DOS and Windows games settings list
http://eyelab.msu.edu/os2games
Rainald in Toyland
http://www.uni-koeln.de/~a0085/Toyland.html or
http://www.wilmington.net/bmtmicro/catalog/toyland/Toyland.html
Stardock!
http://oeonline.com/~stardock/index.html
OS/2 software solutions
http://www.mfi.com/os2dev/cgi-bin/
OS/2 e-Zine!
http://www.isisnet.com./haligonian/os2
#OS/2 Internet Relay Channel (IRC) group.
ΓòÉΓòÉΓòÉ 6.4. Miscellaneous sites ΓòÉΓòÉΓòÉ
This section contains some of my favourite World-Wide Web sites. Visit them!
Antonino's very own home page! Rejoice in its spendour!
http://www.tripod.com/~antonino/index.html
University of South Australia
http://www.unisa.edu.au
Joan Grove's home page
Want to know how Microsoft treats its employees?
http://www.seasun.com/redrose
Windows 95 hate page
http://alfred.uid.no/People/wolf/grana
Also try to find the Official Anti-Microsoft home page.
Zero Micro Software home page
http://www.micros0ft.com
The Unofficial Brady Bunch home page
http://www.teleport.com/~btucker/bradys.shtml
The Calvin and Hobbes archive
http://www.eng.hawaii.edu/Contribs/justin/Archive/Index.html
Bite me! This is Illtel
http://wonderland.illtel.denver.co.us
The official DefFX home page
http://www.geko.com.au/vrx/dfx/html/def-fx.html
ΓòÉΓòÉΓòÉ 7. Author contact details ΓòÉΓòÉΓòÉ
I have been looking for information on how to program OS/2 applications (and
games) for some time. I wrote this guide because I found that there is no
similar source of information for beginners. The road to success with PM
programming is long and hard, but the end result is rewarding. My best advice
is to buy books which suit you.
Please send comments, suggestions, or improvements to
**** **** * **** Operate at a higher level.
* * * * * * *
* * * * * Mr Antonino Iannella
* * **** * * Computer Systems Engineering
* * * * * * 9308390r@lux.levels.unisa.edu.au
**** **** * ****** http://www.tripod.com/~antonino/index.html
General Application Error in Module MS:WIN-95.
This version will now self-destruct!
Would you fix your house if the windows need replacing?
So why not fix your computer by replacing its Windows?
Pretty cool, eh?
ΓòÉΓòÉΓòÉ 7.1. Acknowledgements ΓòÉΓòÉΓòÉ
The following wonderful people helped with the compilation of this guide.
Joan Grove
Dan Libby
Dan Rhoads
Timur Tabi
Rainald Menge
Jeff Chang
Bedrich Smetana
Nicholas Pioch
Larry Salomon
Tom Stevic
Toby Flugel
Thomas
Gerardo Diaz
Mark Rosenberg
University of South Australia ITU
Joan Grove, redrose@halcyon.com
Dan Libby, dandaman@aloha.com
Dan Rhoads, drhoads@ibm.net
Timur Tabi, timur@vnet.ibm.com
Rainald Menge, menge@rrz.uni-koeln.de
Jeff Chang, gozigen@aol.com
Bedrich Smetana, Bedrich_Smetana@idg.com
Nicholas Pioch, WebMuseum, pioch@netscape.com
Larry Salomon, os2man@panix.com
Tom Stevic, stevic@ibm.net
Toby Flugel, toby@annex.com
Thomas, ThomasC2@aol.com
Mark Rosenberg, marks@rosenberg.sdi.agate.net
Gerardo Diaz, gerdiaz@ibm.net
University of South Australia ITU
ΓòÉΓòÉΓòÉ 7.2. Registered trademarks ΓòÉΓòÉΓòÉ
This section lists some of the trademarks which belong to their owners.
OS/2, Hyperwise, and VisualAge C++ are trademarks of the IBM Corporation.
OpenDoc is an industry standard, probably belonging to companies like Motorola,
Apple, DEC, IBM, but definitely not Microsoft.
Windows and the Microsoft Network are trademarks of the Microsoft Corporation.
'Windoze' isn't, however.
Paint Shop Pro is a trademark of JASC Products.
Photoshop is a trademark of Adobe Systems, Inc.
Prominare Designer is a trademark of Prominare.
Netscape is a trademark of the Mozilla Corporation.
Galactic Civilisations is a trademark of Stardock Systems.
The pictures are copyright of Joan Grove, IBM, Mozilla, the WebMuseum, IQPac Inc,
Rainald Mange, Stardock Systems, Salvador Dali, Graham Griffiths,
the University of South Australia, and anyone else on the Internet
whom I have not acknowledged.
Toy Story is a Walt Disney production.