mote

Name

mote -- Start the mote game engine and initialise game state

Synopsis

      mote ./initialisation script
         [--no3d]
	 [--nothreads]
	 [--nolight]
         [--hires | --lores ]
   

Description

mote starts the Mote game engine according to the command line arguments. Sensible defaults that will work on most systems are provided should arguments be omitted. Once the system has started the perl initialisation file you specify is executed within Mote's internal perl interpreter to initialise the game state and load the appropriate game code.

Without any command line arguments Mote will attempt to start with the following configuration:

  1. 3D acceleration is enabled.

  2. Multithreading is enabled.

  3. Lighting is enabled.

  4. The resolution is set to 640x480. Other values include 320x200 (--lores) and 1024x768 (--hires)

Users are recommended to try running the game with no arguments first. If this is unsuccessful, custom arguments should then be tried.

Options

mote has several command line arguments controlling important run time behaviours. These are as follows:

--no3d

By using this parameter users who either do not have a 3D accelerator (such as the 3DFX Voodoo series) or are experiencing problems with accelerated Mote may turn off hardware acceleration. When doing this the following points should be noted:

  • Texturing will no longer work. All game objects will display using their primary polygon colours alone.

  • The three dimensional control panel model will be replaced by an alpha blended graphic. If used in conjunction with --lores or --hires this may cause unusual scaling problems.

  • The excellent plib fonts will be replaced by blocky and slow bitmap fonts from the glut library.

  • Users with an operational 3D card and using this argument will see a severe drop in framerate. Users without are likely to see a slight increase.

--nothreads

For debugging purposes only. As gdb has occasional problems dealing with threaded programs running underneath it this option is used to turn of Mote's threaded behavior. In normal use this will cause a severe performance hit so use of this option by the general user is not recommended.

--nolight

Using this option turns off the Mote's lighting behaviour, causing the universe to appear both very bright and highly unrealistic. This switch is generally used for debugging purposes and examining the performance toll exacted by the lighting code.

--hires

Using this option causes Mote to start in high resolution (currently 1024x768). This may cause screen draw problems when using the --no3d option and will by necessity be of lower performance than the default or low resolution modes. Use of this option is precludes the use of --lores

--lores

Using this option causes Mote to start in low resolution (currently 320x200). This may cause screen draw problems when using the --no3d but will result in increased performance compared to the default and high resolution modes, especially for users with low end hardware. Use of this option is precludes the use of --hires

Further customisation of the Mote game engine at run time is possible through the MotePerl extension language.

Exit Status

Mote will return a zero exit code on sucessful completion of a game session. Error exit codes include:

-1

At least one Perl initialisation file is required to start the Mote game. The file testspace.pl in the working directory is an example of one such.

In addition the game will print the average frame rate to 4 decimal places to STDOUT on exit.

Files

Mote requires the following files to run (paths taken from the top level Mote working directory):

libmote.so

This libary contains all the core Mote functionality- the mote merely calls functions within it.

MotePerl/*.pm

The perl "glue" that connects the various Mote components together. See MOTEPERL for more details. The MotePerl stuff will one day be incorporated into these docs. Somehow.

images/*

Currently the images within this directory are for the most part only used to speed up game performance with the --no3d option (for example the control panel model is replaced with a blended bitmap with that option set).

m-lib/*

Deprecated. Guile scheme files to initialise the game state are stored here. These will shortly be removed and the functionality replaced with MotePerl.

A perl initialisation file

This must be present to initialise the game state.

Environment

The path to libmote.so must be in the LD_LIBRARY_PATH variable. Additionally the path to the Perl for your architecture must be present in the PERL5LIB variable. For convenience the command testmote.sh has been provided in the Mote working directory. It sets these variables and then starts a Mote session with the test initialisation file (testspace.pl).

Example

Invoking Mote with the default configuration: testmote.sh

Invoking Mote with some custom configuration: testmote.sh --no3d --lores

Notes

Please report any bugs in this manpage (or Mote itself) to

Copyright

This manual page was written by David Nutter. You may freely distribute this manual page in conformance with the license...which we haven't got!