Ultimate Stunts version 0.3.0

The version number 0.3.0, compared to the previous 0.2.4, suggests that this version contains some major changes. However, if you are looking for improved functionality, you might be disappointed by version 0.3.0. This document describes what has changed.

New source code tree

This change is not interesting for the average user, only a little interesting for people who want to compile it, but the new source three is of major interest for the Ultimate Stunts developers. All the sources are put into a single kdevelop-project, and code that is shared between different programs, is put into separate directories, which means that they only have to be developed once. In the past, all common used code existed multiple times for every separate program.

New simulation-sourcecode

Currently, this code contains little advantages over the old one, but in the future, the new code enables new functionality and better performance. The new code also gives a new network model. The old model was quite inflexible: every client could provide only one player to the game, and only the server was able to do physics calculations. In the new model, clients are allowed to add more than one player, and even the server can add players. Also, the clients are able to do physics code. This means better performance on slow connections, as only a few synchronisations per second are needed. It also means that, when you are playing a local (non-networked) game, no more than one program needs to be executed. All tasks (AI players, physics, sound and graphics) can be handled by this program.

The new network-model also enables the possibility of split-screen racing. With the old one-client-one-player model, this would have been impossible.

In the future, besides cars also other kinds of objects and vehicles can be added. This is another aspect where the flexibility of the program has increased.

Port from GLUT to SDL

The graphical client program is ported from GLUT to SDL. Also, the other programs can use SDL if available, for e.g. the timer and multithreading. The decision to use SDL was made because SDL gives more 2D functionality besides openGL, which is especially useful for making the GUI. Platform independence is decreased compared to GLUT, but the number of platforms supported by SDL is still enough.