The rec.games.programmer FAQ
Revision 1.70 (8/5/97) HTML Version
by Gavin Estey
This is a FAQ for the usenet group rec.games.programmer.
This is mainly intended for people new to this group but anyone
should read it.
Table of Contents
Part I - General
Part II - Questions and Answers
Part III - MiniFAQs
Part IV - Resources
Part I - General
This group is mainly about programming games but many posts are
about general graphics and programming techniques that sometimes
do not readily apply to game programming. This group mainly discusses
how to program games and techniques for making games better. If
you post any question about game programming, programming or graphics
to this group somebody is bound to answer you if you follow the
advice and guidelines given in this document.
Before posting any message on rec.games.programmer you should
follow these simple guidelines. Firstly look relevant documents
on sites mentioned in
part IV
(resources). Many questions that
are posted to rec.games.programmer could be answered simply by
looking before posting. It would be a very good idea to read
rec.games.programmer for at least a month before posting.
Check that you can actually post by sending messages to groups
such as alt.test.
The most important thing to remember is to be polite when asking
questions - nobody who reads this group has to answer your questions.
People who want an answer but don't want to put any effort into
attempting to finding it themselves can really be frustrating
at times. Also try to avoid posting subjective comments as if
they were facts. If you remember this then you will not be making
enemies when you post.
To keep people happy make sure that you keep your message width
no wider than about 75 characters. This gives enough width for
people to quote your post without fouling it up and making it
less readable. Posts with lines that are longer than 80 columns
are split up by most usenet readers to several lines making it
very hard to read. Don't quote somebody's entire message - you
only need enough for them to remember what they wrote. Make sure
that you don't quote the message header or your signature file
doesn't appear twice as this is really annoying to most people.
Please keep your postings short. Some people have to pay for their
Internet connection and most don't have T1 connections. They don't
want to download a 2000 line post which does not interest them
in the slightest. Don't post large binary files to this group
there are binary groups for this. Upload them to a relevant FTP
site if you think that they would be interesting for other people.
Posts such as {machine X} is better than {machine Y} or discussions
of operating systems are strongly discouraged. This is because
they soon turn into a heated argument and usually end up annoying
everyone.
The main problem is that somebody posts a message, then everyone
posts a reply to that message before reading the follow-up messages.
This causes a waste of bandwidth. Remember bandwidth is not free
- somebody pays for it.
When you want to post source code (unless specifically asked to
post your source code) don't post all of it. Only post enough
to show your problem or your solution. Highlight the part that
you think is the problem so that anyone reading your post can
work out what's wrong.
Most of the source code posted to this group is in C or C++. Some
is in Assembly and Pascal. Don't post languages specific questions
here such as "How can I do X in language Y?". There
are language specific groups for this, please look in
part IV (Resources).
About half of all rec.games.programmer posts are PC related but
this doesn't mean that it's a PC only group. A lot of posts are
general to any type of platform.
Part II - Questions and Answers
This section covers common questions that turn up in rec.games.programmer.
Much of the questions on rec.games.programmer are looking for
resources. If that is what you are after, skip to
part IV (resources).
Ray casting is a technique for doing graphics for games like Wolfenstein
3D. The idea is to cast a ray out from the observer point through
your data representing the world until you hit an object. The
object you hit is the object you draw and the distance the ray
traveled describes the size to draw the object. You only draw
the object one pixel wide (position of where you hit it) and the
height is the scaled size. If you do this for every column across
the screen with slightly different ray angles (representing the
view angle) you get a graphical view much like Castle Wolfenstein.
BSP stands for binary space partitioning. It is a method for storing
the layout of objects in 3d graphics. Doom uses a 2 dimensional
BSP tree to speed up its rendering.
The idea of a BSP tree is that the polygon (or line for 2D BSPs)
at the head of the tree will have all of the polygons in front
(looking at the polygon directly face on) on the left branch of
the tree and all of the polygons behind on the right branch of
the tree. If a polygon intersects a plane (i.e. nether in front
or behind) then the polygon must be broken in two with a piece
placed in each tree. Both the left and right subtrees are generated
with the same principle with the remaining polygons. The usefulness
of this data format I'm not going to explain here because it begins
to look like maths.
The BSP Trees FAQ can be found at http://reality.sgi.com/bspfaq
Eddie Edwards wrote a article about BSP Trees with code which
can be found at ftp://x2ftp.oulu.fi/pub/msdos/programming/theory/bsp_tree.zip
Mode X is a tweaked mode. The Mode X FAQ says:
"Mode X is a derivative of the VGA's standard mode 13h (320x200
256color). It is a family of undocumented video modes that are
created by tweaking the VGA's registers."
Mode X has both advantages and disadvantages which are discussed
in the many articles written about it.
The FAQ is at ftp://x2ftp.oulu.fi/pub/msdos/programming/faq/modex.faq and
an excellent tutorial is at ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/xintro18.zip
The Index port has a bit that needs to be high. Add 20h to the
index when accessing 3C0h. This turns index 13h into an OUT of 33h
In 16 colour modes you get to pick which of the 256 palette registers
you use by setting the 16 EGA palette registers to be set to the
number of the VGA Palette register. So to make the mode use the
first 16 VGA palette registers you should write the numbers 0..15
to the EGA palette registers
After quite a lot of discussion on rec.games.programmer it was
determined that although it may be technically possible it is
complicated to use and the performance was not worth it. It is
faster to use the CPU with the REP MOVS instructions.
The source of the word BLIT has been described in many ways
The most common are BLock Image Transfer or simply BLock Transfer
with the I turning up for ease of Pronounciation. A blit is simply
a block transfer of data in some form.
Generally image data is transfered but not always. The act of putting
graphics on the screen is quite often the largest bottleneck for
execution speed of a game. For this reason, many of us here at
rec.games.programmer are very concerned about the speed of our
'blitting', and spend much time discussing methods for quickly
accomplishing it.
Page flipping is the most basic and most commonly used method to avoid
flicker of animated graphics. The principle is very simple. You use
two pages (a page is defined as the memory that contains a full screen
image). You draw all the imagery onto the first page and then you place
it in the view. While the user is looking at the first page you draw
onto the second and when done you 'flip' the view to the second screen
which leaves the first page unobserved. In this manner you will always
have the user looking at the last completed scene and will never see
any of the drawing process.
In a nutshell you always have a viewing page and A drawing page.
You only ever draw into the Drawing Page and you only show the user
the viewing page you flip the pages when you have a new image.
Page flipping is achieved one of two ways. The first is when there is
more than two full screens worth of video memory available. Both pages
can then reside in video memory. What happens is you simply tell the
video hardware to start displaying one page or the other. This is
generally regarded as true page flipping.
The other way to achieve page flipping is to draw the entire scene in
main memory and copy it to video memory when done. This method can be
done with only one page of video memory because only the viewing page
needs to be in video memory. The problem with this method is that it
requires a large memory copy to copy the drawing page onto the video
page.
The purpose of a dos extender is to increase the amount of system
memory a program can access easily. Most dos extenders also provide
more flexibility over how that memory can be used. They achieve this
by running in protected mode where the memory restrictions of real
mode do not apply. In 386 Flat mode all of the memory can be made
available in one segment with 32 bit offests into that segment.
Protected mode is not that hard to get into. Yet dos extenders still
exist as commecial proucts. The reason for this is that although it is
easy to get into protected mode it is very hard to interface with the
existing system while there. The goal of a good extender is to provide
as much new functionality as possible without loosing any of the old
functionality. This is especially tricky if you call a dos function with
a real mode segment:offset pointer argument. If the memory is above
the 1 meg mark there is no real mode pointer possible for that memory.
It is up to the dos extender to sort things like that out.
Most dos extenders also provide DPMI functions. Check the Ralph Brown
interrupt list to find out more on DPMI functions.
Part III - MiniFAQs
Yes. Borland and Watcom's debugger support debugging on a second
monitor. I've used both Borland and Watcom debuggers with a second
monitor. I don't know if the Microsoft, Symantec, etc., debuggers
support a second monitor.
No. It must be a monochrome monitor.
DO NOT DO THIS!
You'll blow one (or both VGA cards!)
A VGA Card, a VGA monitor, a monochrome video card, and a monochrome
monitor. The VGA card has a 15-pin connector. The monochrome card
has a 9-pin connector.
Note: You can use a EGA or CGA card instead of the VGA, but you'll
be just be hurting your eyes with the poor resolution of the EGA/CGA.
A colour card and a monochrome card can coexist. The same types
of cards can't.
- Install a VGA card and the monochrome video card in your computer.
- Hook the monitors up.
- Start your computer up.
- You might have to change your BIOS to VGA/EGA/Color.
Your computer should be using the VGA monitor for output at start-up.
i.e. I run a VGA game, and everything is in black and white (and
grey).Your VGA card is not getting control, and hence defaulting
to monochrome VGA. You'll have to upgrade your BIOS or your VGA
card.
Note: The monochrome VGA mode is not the same as a monochrome
card.
Watcom automatically detects the monochrome card and will use
it. Run Turbo Debugger with /do to use Dual-Display.
Type "MODE MONO" to switch to the monochrome monitor.
Type "MODE CO80" to switch back to the colour monitor.
If you have an ISA 16-bit VGA card and a monochrome card installed,
the VGA card will slow down to 8-bit mode. If your VGA card is
a PCI/VESA card, then you won't have any slowdown.
Yes, there is a mono device driver.
monodev.zip (ZIP 594 bytes)
Just stick it in your config.sys (DEVICEHIGH=<whatever>),
and type DIR > MONO1 after rebooting to see it work.
A great deal of the questions on rec.games.programmer are things
like "where can I find X?" or "Does anyone know
of any good books to teach X?" This section will endeavor
to answer as many of these questions as possible.
There are several groups that are also useful for programming
and more general programming related posts should be directed
there. Here is a short list with comments about the groups discuss.
- rec.games.design
- This group is about designing games.
- comp.ai.games
- Artificial intelligence in games
- comp.lang.asm.x86
- 80x86 Assembly language programming
- alt.lang.asm
- General Assembly language
- comp.graphics.*
- Several newsgroups about computer graphics
- comp.lang.c
- About the C language
- comp.lang.c++
- About the C++ language
- comp.os.msdos.programmer
- General programming in MS-DOS
- comp.sys.ibm.pc.demos
- Discussion of the demoscene and programming demos
- alt.sb.programmer
- Programming the Sound Blaster family of sound cards
- comp.os.os2.programmer
- Programming in the OS/2 environment
- comp.sys.mac.programmer
- Programming for Apple Macs
- comp.unix.programmer
- Programming on UNIX systems
- rec.arts.interactive-fiction
- For programmers and authors of text adventures
- alt.comp.shareware.programmer
- Shareware discussion from a developers point of view
Most of these groups have very good FAQs that I strongly advise
that you read before you post there. Some groups (especially the
C ones) have very rigid ideas of what and what not should be discussed.
FTP:
ftp://rtfm.mit.edu
WWW:
http://www.cis.ohio-state.edu/hypertext/faq/usenet/
No. There was a mailing list but it doesn't seem to be around anymore.
If you know of one please e-mail
me to get it added here.
This is a list of very useful documents that are available freely
on the Internet. All these files are highly recommended and I
recommend that you get all of them especially PCGPE.
The PC Game Programming Encyclopedia known also as PCGPE is a
collection of files related to game programming organised by Mark
Feldman. This is an excellent reference and covers topics such
as:
Assembly Language |
List of op-codes |
Scrolling |
Palettes |
Mode X |
3D |
VGA tutorials |
VESA standard |
SVGA programming |
Algorithms |
Texture Mapping |
BSP Trees |
Sound Programming |
Sound Formats |
Graphics Formats |
Mouse |
Joysticks |
EMS/XMS |
These files can be found in ftp://x2ftp.oulu.fi/pub/msdos/programming/gpe
pcgpe10.zip PCGPE main file
patch10a.txt Update PCGPE 1.0 to 1.0a
wpcgpe10.zip PCGPE in Windows Help format
It would be a good idea to get this file and read the contents before posting to rec.games.programmer.
ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/helppc21.zip
This is a very good hardware, software, C and assembly reference.
ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/interXX[a-d].zip
This comes in four parts a-d where XX is the version. This is
a massive list of interrupts and it's very useful.
ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/xintro18.zip
This is a very good introduction to the undocumented mode of the
VGA and cards known as Mode X. There is lots of information, a
simple C library and pictures of the memory organization.
My assembly guide is now availible in both plain text and
HTML formats.
TEXT http://www.strangecreations.com/library/assembly/tutor/
HTML http://www.strangecreations.com/library/assembly/tutor/
This is a great beginners guide to 80x86 assembly written by me.
C++ ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/tutXXnew.zip
Pascal ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/tutXX.zip
(Where XX is the trainer number)
These are a very good guide both to demos and games. It covers:
mode 13h, palettes, animation, mode X, 3D and much more.
I have been converting them to HTML and they are now availible
here.
ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/zed3d080.zip
Good introduction on 3D computer graphics with pictures.
ftp://x2ftp.oulu.fi/pub/msdos/programming/vla/3d_math.zip
Lots of useful information about 3D equations and how to use them.
Ascii: ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/graphpro.lzh
PS: ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/graphcol.zip
These are extracts from his programming columns in Doctor Dobb's
Journal in C/Assembly. It covers 3d, polygons, antialiasing and
optimisation among others. This is the basis of his new book,
"Zen of Graphics Programming" and it is excellent reference.
ftp://x2ftp.oulu.fi/pub/msdos/programming/gdm/
or http://www.cybersurf.com.au
This is an excellent electronic magazine which is published by
Phil Inch bimonthly. It has some very interesting information
in it and I recommend it for beginners and experts alike.
Here is a list of useful FAQ's which you may find useful.
- Getting Started in Game Development FAQ
- ftp://ftp.accessnv.com/fg/misc/gamefaq.txt
- DJGPP DOS Game Programmers FAQ
- ftp://x2ftp.oulu.fi/pub/msdos/Programming/djgpp2/gccfaq10.zip
- Tile-Based Games FAQ by Greg Taylor
- ftp://x2ftp.oulu.fi/pub/msdos/Programming/docs/tilefaq.12
- 3D programming information
- ftp://x2ftp.oulu.fi/pub/msdos/programming/faq/3d_prog.18
- comp.graphics FAQ
- ftp://x2ftp.oulu.fi/pub/msdos/programming/faq/graphics.faq
- comp.graphics.algorithms FAQ
- ftp://x2ftp.oulu.fi/pub/msdos/programming/faq/algorith.114
- comp.graphics.animation FAQ
- ftp://x2ftp.oulu.fi/pub/msdos/programming/faq/animatio.31
- rec.games.design FAQ
- ftp://x2ftp.oulu.fi/pub/msdos/programming/faq/design.154
- Gravis Ultrasound FAQ
- ftp://x2ftp.oulu.fi/pub/msdos/programming/faq/gusfaq.155
- Mode X FAQ
- ftp://x2ftp.oulu.fi/pub/msdos/programming/faq/modex.faq
- Watcom Games Programming FAQ
- ftp://x2ftp.oulu.fi/pub/msdos/programming/watcom/watcom.07
- Sega Programming FAQ
- ftp://x2ftp.oulu.fi/pub/msdos/Programming/faq/sega1409.faq
- Binary Space Partitioning (BSP) FAQ
- http://reality.sgi.com/bspfaq
- rec.arts.interactive-fiction FAQ
- ftp://ftp.gmd.de/if-archive/rec.arts.int-fiction/faq
- PC timing FAQ
- ftp://oak.oakland.edu/simtel/msdos/info/pctim003.zip
This is a list of all sites which contain useful information for
programmers.
x2ftp.oulu.fi (130.231.48.141)
/pub/msdos/programming
This is the best site for programming. It is almost all MS-DOS.
It is split into sub directories for different sections and it
is very easy to find the files you want.
ftp://x2ftp.oulu.fi/pub/msdos/programming/00INDEX.ALL
This is a list of every file on this site. Look through this before posting
to rec.games.programmer as it may solve your problem.
Note: x2ftp is also mirrored in the USA at ftp.infomagic.com who
also produce a CD-ROM with the contents of this archive
ftp.cdrom.com /pub/demos
This is mainly a demo oriented site with lots of code for doing
various demo effects. There are some very useful files on this
site.
Simtel
Though Simtel doesn't have any game programming files it does
have quite a few generally programming files that are interesting.
Simtel is at ftp.coast.net and is
mirrored at:
ftp.demon.co.uk (UK)
ftp.cdrom.com(US)
- /msdos/asmutil
- Lots of useful files for assembly programmers.
- /msdos/c
- Large collection of C programming material.
- /msdos/cpluspls
- Some C++ code here.
- /msdos/turbopas
- Borland Pascal programming material.
If you use Borland Pascal you should Swagbag from here. It provides
help on most topics.
garbo.uwasa.fi
General MS-DOS
/assembler Files for assembly programming and some assemblers.
/graphics Some graphic programming information.
/artificial Some useful files about artificial intelligence.
FTP Sites of commercial companies
- Intel
- ftp.intel.com
- Microsoft
- ftp.microsoft.com
- Creative Labs
- ftp.creaf.com
- Borland
- ftp.borland.com
- Watcom
- ftp.watcom.on.ca
- Dr. Dobbs Journal
- ftp.mv.com
- Scitech Software (UNIVBE)
- ftp.scitechsoft.com
- Game Developer Magazine (the Miller Freeman magazine)
- ftp.gdmag.com
- Metagraphics Software
- ftp://metagraphics.com
ftp.accessnv.com /fg
This is the Fastgraph FTP site and it contains the latest version
of Fastgraph plus lots of source code for various games and programs
which use it. A lot of other useful programs can be found here
too.
There are only two general game programming books at the moment
that I would advise anybody to buy, they are "PC Games Programming
Explorer" and "Action Arcade Adventures". These
are a good starting point for people who are new to games programming.
PC Games Explorer
Dave Roberts
Coriolis
ISBN: 1-883577-07-1
|
Action Arcade
Diana Gruber
Coriolis
ISBN: 1-883577-06-3
|
Note: Coriolis' has a web site at: http://www.coriolis.com.
I have just recieved a copy of "The Ultimate Game Developer's Sourcebook" by Ben Sawyer (ISBN 1-883577-59-4). This is a massive
book at over 800 pages. It covers many topics including game design and development techniques, lots of resources and the technical
aspects of creating games. This is an excellent book - expect a review from me soon. For more information look at
http://165.247.175.230/books/update/ugds.htm.
The game discussed in PC Games Explorer can be found at: ftp://x2ftp.oulu.fi/pub/msdos/programming/misc/alnalley.zip
Two books which are more specific and also recommended are "Building
a 3D Game Engine in C++" and "Amazing 3D Games Adventure
Set".
Building a 3D Game Engine in C++
Brian Hook
John Wiley & Sons
ISBN 0-471-12326-9
|
Amazing 3D Games Adventure Set
Lary Myers
Coriolis
ISBN 1-883577-15-2
|
Zen of Code Optimisation
Michael Abrash
Coriolis Books
ISBN 1-883577-03-9
An excellent book covering practical approaches to optimisation
on all PCs from 8086s to the Pentium. Michael covers both programming
in assembly and C/C++ and shows you how to write fast and efficient
code. This is an excellent book.
The Zen of Graphics Programming
Michael Abrash
Coriolis Books
ISBN 1-883577-08-X
This is another good book. It covers a lot of 3D topics such as
texture mapping, shading and antialiasing. Michael also covers
a lot of low level VGA programming and Mode X which is invaluable.
This is an excellent book for the intermediate/advanced programmer.
There are several good web pages that are useful for programming
and games information. Yahoo (
http://www.yahoo.com) has the largest list of web pages around
and it is easy to find one that will interest you. Lycos
(http://www.lycos.com)
is probably the best search engine for finding information.
I have created a web site which is dedicated to programming. Here you can find a large
collection of FAQs, tutorials and other documents.
http://www.strangecreations.com/library/
Previously there was a long list of web pages related to games programming here.
I have removed this to save space and to allow easier updates. There is a better list
of sites on my web site at:
http://www.strangecreations.com/library/links.htm
Before you start programming there are several tools that you
will probably need to get.
You need a compiler to actually compile your code into a executable
program which you can then run. A debugger is useful (but not
needed) for making sure that your code does what it is supposed
to and that there are no bugs in it. A profiler is useful for
knowing which parts of your program are slow and need to be optimised.
Without this you can waste a lot of time making changes that won't
make your program run faster. A profiler and debugger usually
come with the compiler.
"Measure before making 'efficiency' changes."
-- The Elements of Programming Style (Kernighan and Plauger)
When you first start you don't want to worry about having to write
the code for all the graphics. For this reason there are several
very good libraries that you can buy and link into your code.
If you are thinking of including sound into your game then you
don't want to worry about all the different sound formats and
sound cards you just learn to use a certain library. Using libraries
can speed up game development dramatically.
Here is a list of useful libraries availible on the Internet.
Many of these are shareware and require payment to the author.
The filenames given might not be the most up to date version of
the file. Please send me the name of a more up to date version.
Sound libraries
- VAT
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/vat061.zip
- VAT Watcom
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/vatpm061.zip
- SMIX Pascal
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/smix127.zip
- SMIX C
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/smixc125.zip
- SMIX Watcom
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/smixw125.zip
- DIGIPACK
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/dmkit150.zip
- DiamondWare
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/dwstk.zip
- GUS SDK
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/gusdk222.lzh
- Midas
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/mdss040a.zip
- Ruckus
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/rukc110.zip
- TinyPlay 286
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxcode/tinyplay.zip
- TinyPlay 386
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxcode/tnypl211.zip
- DSIK C
- ftp://x2ftp.oulu.fi/pub/msdos/programming/wgt/dsik_c.zip
- DSIK Pascal
- ftp://x2ftp.oulu.fi/pub/msdos/programming/wgt/dsik_pas.zip
- DSIK Watcom
- ftp://x2ftp.oulu.fi/pub/msdos/programming/mxlibs/dsik205.zip
Graphic libraries
- Fastgraph Light
- ftp://x2ftp.oulu.fi/pub/msdos/programming/fg/fgl402.zip
- WGT
- ftp://x2ftp.oulu.fi/pub/msdos/programming/wgt4.zip
- WGT Watcom
- ftp://x2ftp.oulu.fi/pub/msdos/programming/wgt51.zip
- SVGACC
- ftp://x2ftp.oulu.fi/pub/msdos/programming/libs/svgacc24.zip
- Xlib Watcom
- ftp://x2ftp.oulu.fi/pub/msdos/programming/xlib/xlib06p2.zip
- Xlib Pascal
- ftp://x2ftp.oulu.fi/pub/msdos/programming/xlib/xlibp202.zip
- Xlib C
- ftp://x2ftp.oulu.fi/pub/msdos/programming/xlib/xlib06.zip
- YakIcons
- ftp://x2ftp.oulu.fi/pub/msdos/programming/xlib/yicons24.zip
- VLA's modex.inc
- ftp://x2ftp.oulu.fi/pub/msdos/programming/vla/mx2_vla.zip
- Watcom Mode X
- ftp://x2ftp.oulu.fi/pub/msdos/programming/watcom/w_modex.zip
- Mode X Library
- ftp://x2ftp.oulu.fi/pub/msdos/programming/libs/modex105.zip
- Mode 13h 3d Lib
- ftp://x2ftp.oulu.fi/pub/msdos/programming/libs/otm3d95.zip
- Mode 13h Lib
- ftp://x2ftp.oulu.fi/pub/msdos/programming/libs/vgl20.lzh
Metagraphics have two libraries that may be of interest:
- MetaWINDOW - graphics programming toolkit for DOS and DOS protected-mode
- Media!Lab - multimedia animation programming toolkit for Windows 3.1 and
Windows 95/NT.
More information can be found on their web site http://www.metagraphics.com.
There are three interesting channels that are on IRC:
- #gamecode
- This is for discussing games and game programming.
- #coders
- This is more demo orientated but still useful.
- #c
- This is about the C language
Note: When you join these channels there may or may not be people actually there.
What if I need more help?
If you still need some more help write to me at:
gavin@senator.demon.co.uk.
I try to reply to every message I get and I will do my best to
help you.
Contributors
Gavin Estey (gavin@senator.demon.co.uk) The FAQ
Neil Graham (lerc@aurora.co.nz) updates, Q+A section
Michael Pohoreski (mpohores@sfu.ca) dual monitor information
*FAQ END*