STEVE'S PORTABLE GAME LIBRARY PAGE.

    And Lo, the Lion and the Sheep shall lie down together - but the Sheep won't get much Sleep.
    -- Woody Allen

Portable Software using Portable Libraries.

I have been using my spare time to build a set of OpenSource (LGPL) libraries that will permit programmers to write games and other realtime interactive applications that are 100% portable across a wide range of hardware and operating systems. Here is what you need - it's all free and available with LGPL'ed source code on the web. All of it works well together.

I have also been using these libraries in my freeware game - Tux the Penguin: A Quest for Herring. Many of the libraries are also used on the FlightGear portable freeware Flight Simulator. The PUI library is in use in a hundred or more other applications, the SL library in several more.

All of these libraries are now bundled together into a single tarball called 'PLIB' (pronounced 'plib' to rhyme with glib and nib - not 'pee-lib' or 'pee-lybe').

If you are reading this document from the source distribution on your local disk, you can find the most up to date version of PLIB here:

Licensing.

PLIB is OpenSource software, issued under the terms of the Library varient GNU Public License (LGPL).

Mailing Lists

There are three PLIB mailing lists: To subscribe to any of these lists, send email to majordomo@woodsoup.org with the BODY of the message (NOT the subject line) containing:
  subscribe plib-{whatever}@woodsoup.org {your-email-address}
  end
Where {whatever} is announce, devel or users and {your-email-address} is something like joe@joes_diner.com (don't type the {}'s )!

If you wish to sign up to multiple lists, you can put multiple 'subscribe' lines in the same email and finish it with just one 'end' command. Shortly after you email is delivered, you should get an automatic reply email asking you to confirm your request. Just do what it says and you'll be in touch.

Please do not send me personal mail in situations when one of the public mailing lists would be an appropriate forum - I hate it when people do that and there is therefore at least a 50-50 chance that I'll ignore you if you do.

Requirements for PLIB

To do good 3D graphics, you'll need an OpenGL-compatible 3D graphics accellerator - and if you want to hear sounds, you'll obviously need a sound card.

In addition, you'll need the following other libraries:

What's In PLIB?

The contents of PLIB are: Most of these work well under all flavors of Win32 (WinNT, Win95 and Win98), as well as under Linux and a number of other UNIX-like systems. Support for MacOS and BeOS is difficult - for some reason, people who are prepared to help out with porting some of these libraries are hard to find in the case of MacOS and BeOS.

Documentation.

All documentation is both available online (click on the package name in the section above) and distributed with PLIB in HTML.

Download

You can get PLIB from here:

Installation.

On most Linux and other UNIX-like OS's, it's simply a matter of unpacking the tar-ball, changing directory into the plib_x.y.z directory and typing:

   ./configure
   make
   make install

Depending on the file permissions in /usr/local, you may need to be 'root' to perform the last step. At the end of that process, you should have a set of header files in /usr/local/plib/include and a set of corresponding libraries in /usr/local/plib/lib. There are some example programs in the 'plib-x.y.z/examples' subdirectory.

WARNING: If you are using 'Mesa' instead of an 'Official' OpenGL, please make sure you followed the instructions in the Mesa installation notes that tell you to symbolically link /usr/lib/libGL.a (or .so) and /usr/lib/libGLU.a (or .so) to their Mesa equivelents.

If you are running some non-UNIX OS, (eg MS-Windows) there are instructions on how to build PLIB in README.{OS name}. If you have problems - or can offer to streamline the install for those processes, then please pass on your knowledge via the mailing list. In general, it isn't complicated - you usually just have to compile all of the source files in each directory and link each subdirectory into a separate library.

If you have all the Cygnus (CygWin) compiler/tools, then use the UNIX build instructions.


Steve J. Baker. <sjbaker1@airmail.net>