| # Slope Soaring Simulator Copyright (C) 2003 Danny Chapman - danny@rowlhouse.freeserve.co.uk

### 1. DESCRIPTION

This is a free, open source gliding simulator (mainly for radio-controlled slope-soaring gliders). 'Features' include:

- Very realistic aerodynamics. I learnt to fly radio-controlled gliders using this simulator!
- Fly against "robot" pilots that attempt to stay aloft, chase you, and fire missiles at you.
- Race/combat/free-fly modes
- Basic networking - currently between two simulations (peer-peer).
- Collisions between gliders and other objects (mainly each other, missiles and the ground).
- Wind field is precalculated using a (3rd party) numerical simulation of airflow over the terrain, or can be generated on the fly (as can the terrain), including effects such as thermals and boundary layers.
- OpenGL is used for the 3D graphics. FMOD for 3D sound.
- Terrain is simplified using the Lindstrom/Pascucci (2001) view-dependant level-of-detail algorithm with geo-morphing and view-frustrum culling. This allows large and/or detailed terrains.
- Quite a few things are modifiable at run-time via a GUI, and almost everything is modifiable via text configuration files.
- Compiles and runs under Windows, Linux and Solaris and Mac OS X.

### 2. INSTALLATION:

1. Windows (pre-compiled version)
   1. If this is on a CD, then things should run OK from there. However, reading terrain data from the CD may be slow (at least at first, before it gets paged into memory). It is probably better to use Winzip to to put the contents of this CD onto a hard-drive using sss_demo.zip.
   2. Run sss.exe to have a slightly interactive startup, or one of the .bat files (such as run_builtin_demo.bat) to use a specific configuration.
   3. By default sss.exe uses sss.cfg as a configuration file. Edit sss.cfg (e.g. with notepad or wordpad) to change the behaviour (obviously not possible if you're running direct from a CD!).
2. Linux
   1. Ensure that you have OpenGL (or Mesa) and GLUT headers/libraries. Also GLUI, plib and FMOD (though you can tweak the Makefile to build without these last 3).
   2. Check that the Makefile looks OK, then build using make/gmake. It should place the executable, "sss", in the parent directory.
   3. Edit sss.cfg (etc) if you want.
   4. Run sss (which will have been put in the directory above the Makefile).

### 3. RUNNING INSTRUCTIONS

Basically, if you have problems getting things to work, turn off the expensive-looking options in sss.cfg - in particular set the texture_level to 1. If things do work, on the other hand, and if you've got a decent computer, you can try "turning up" the parameters in sss.cfg. Many parameters can be modified by pressing 'c' when the program is running.

When you run it, you'll start in a paused mode - 'p' toggles pause.

To fly, the mouse acts like the top of a joystick - center it by moving the pointer to the center of the screen (when the plane is, if you're in the body view). The right mouse-button gives you an extra boost, for when things go wrong... If you have a joystick, it should work if you press 'j'. As a last resort, the arrow keys will work too (if you're in mouse mode - press 'm' if in doubt).

Keeping the glider up in the air involves staying in the region where air is being lifted up over the hill - press and hold 'w' for a few seconds to see some wind arrows (press 'W' to get rid of them). Try and keep to the region immediately in front of the starting location. It takes a while to get the hang of it!

For a full list of keys and their actions, press 'h' (for help).

### 4. PROBLEMS

I have done a lot of testing to make sure that this program is free from bugs - there may be a few behavioural bugs lurking, but having run it under Solaris and Windows using Purify I am confident that it does not produce any bad memory accesses etc. However, if you do experience problems running it, please let me know.

### 5. MULTIPLAYER

Multiplayer is still very much work-in-progress. To run it, you need to specify some extra options, and under Windows run it by hand from a command prompt:

sss [port to listen on] [ip-addr1] [port1]

It will use the default configuration file, sss.cfg.

Lets say you want to run the simulator on two computers, 135.96.54.24 and 134.96.55.12:

on 135.96.54.24 use sss 10001 134.96.55.12 10002

on 134.96.55.12 use sss 10002 135.96.54.24 10001

When each instance of sss starts it will wait in an initialisation phase for connections from the other simulations. Only when it receives the expected connection will it start. Once it is running it won't accept any new connections.

You can tweak a couple of parameters in the sss.cfg file.

NOTE: You need to have the same configuration files for each of the simulations. You can tweak some things (e.g. window size, graphics options etc), but nothing that really affects the simulation - e.g. terrain generation parameters etc. otherwise confusion will follow... This is work-in-progress, remember!

Thanks for taking the time to try it - Danny.

danny@rowlhouse.freeserve.co.uk