Fix a few bugs
This commit is contained in:
parent
ab70d727b8
commit
bc55e84d5b
6 changed files with 48 additions and 32 deletions
|
@ -103,12 +103,11 @@ Here are some tips for playing:
|
|||
speed.
|
||||
- For a more serious grinding it may be good to reduce the initial countdown
|
||||
(in settings.h), it will save a lot of time over many runs.
|
||||
- Don't try to drive a perfect run from the start -- to drive a good time you
|
||||
- Don't try to drive a perfect time right away -- to drive a good time you
|
||||
first have to drive a bad one. It's best to quickly drive a somewhat decent
|
||||
run and then race against it as a ghost, beating it and repeating then
|
||||
repeating this process over and over. This allows for gradual but steady
|
||||
improvement by spotting exact places where one can gain more speed against
|
||||
the ghost.
|
||||
run and then race against its ghost, beating it and then repeating the process
|
||||
over and over. This allows for a gradual but steady, steap-by-step improvement
|
||||
by discovering exact places where one can improve against the ghost.
|
||||
|
||||
~~~~~ DATA FILE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -123,19 +122,20 @@ with any plain text editor. If you just want to casually play the game, you may
|
|||
safely ignore the file. You will need to edit the file if you want to add new
|
||||
maps and replays, or if you want to share your replays and maps with others.
|
||||
|
||||
The file consists of data items -- an item represents a map, replay, and
|
||||
possibly other types of data. The items are separated by the '#' (hash)
|
||||
character. Each item is stored in plaintext format, there are no binary data.
|
||||
Each item starts with a magic number, which is a single character ('M' for a
|
||||
map, 'R' for a replay), then its name follows immediately, terminated by the
|
||||
';' (semicolon) character, and then the item's data follow. Format of this data
|
||||
depends on what data it is, so map data of course have a different format than
|
||||
replay data. For example a map named "mymap" will start with "Mmymap;".
|
||||
The file consists of data items -- an item represents a map, replay and possibly
|
||||
other types of data. The items are separated by the '#' (hash) character. Each
|
||||
item is stored in plaintext ASCII format, there are no binary data. Each item
|
||||
starts with a magic number, which is a single character ('M' for a map, 'R' for
|
||||
a replay), then its name follows immediately, terminated by the ';' (semicolon)
|
||||
character, and then the item's data follow. Format of this data depends on what
|
||||
kind of data it is, so map data of course have a different format than replay
|
||||
data. For example a map named "mymap" will start with "Mmymap;". Unknown data
|
||||
items are ignored, so comments can be added in the file.
|
||||
|
||||
~~~~~ CONFIGURATION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The game offers a very high level of configuration and customization, and those
|
||||
with at least basic programming skill will be able to implement any changes
|
||||
with at least basic programming skills will be able to implement any changes
|
||||
imaginable. Very basic settings (such as turning the music off or switching
|
||||
between windowed and fullscreen mode) are accessible either in the game menu,
|
||||
or as a commandline flag (run the game with -h flag to see the options). All
|
||||
|
@ -154,7 +154,7 @@ space). Replays can also be used to spawn a ghost car to race against. There
|
|||
are special tabs in the menu to view a replay or race against a replay ghost.
|
||||
|
||||
Replays are saved in the data file (see the section about data file for
|
||||
details).
|
||||
details). The exact format of replay data is described in the source code.
|
||||
|
||||
Whenever a map's target time is beaten, replay is automatically saved. It's also
|
||||
possible to save a replay manually by opening the menu and selecting
|
||||
|
@ -165,7 +165,7 @@ replay you just delete it in the data file.
|
|||
~~~~~ GHOSTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The game supports ghost cars to race against (note that this may be unsupported
|
||||
on some weaker platforms). A ghost car is created from a replay and will race in
|
||||
on some weaker platforms). A ghost car is spawned from a replay and will race in
|
||||
real time against the player, without being able to collide with him. This is
|
||||
very useful when attacking someone else's (or one's own) achieved time, to see
|
||||
where exactly time losses against the opponent occur.
|
||||
|
@ -173,17 +173,18 @@ where exactly time losses against the opponent occur.
|
|||
~~~~~ MAKING CUSTOM MAPS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Maps are stored in the data file. For its simplicity the original game doesn't
|
||||
come with a user-friendly map editor (perhaps some will be made over time), the
|
||||
maps are hand-written directly in the text format that's stored in the data
|
||||
file, however there is a helper file for Blender that facilitates this process.
|
||||
come with a "user-friendly" GUI map editor (perhaps some will be made over
|
||||
time), the maps are hand-written directly in the text format that's stored in
|
||||
the data file, however there is a helper file for Blender that facilitates the
|
||||
process of designing a map.
|
||||
|
||||
In the game a map is represented as a 64x64x64 grid, with each cell one unit in
|
||||
width, one unit in depth and HALF a unit in height. In the cell blocks can be
|
||||
placed. There are several types of blocks such as ramps, walls, corners etc. The
|
||||
map will be made of these blocks.
|
||||
In the game a map is represented as a 64x64x64 grid of cells, each of which is
|
||||
one unit in width, one unit in depth and HALF a unit in height. Each cell can
|
||||
hold a map block. There are several types of blocks such as ramps, walls,
|
||||
corners etc. The whole map is composed of these blocks.
|
||||
|
||||
Each placed block can additionally be transformed: rotated by multiples of 90
|
||||
degrees along vertical axis and/or flipped horizontally/vertically. Additionally
|
||||
degrees about vertical axis and/or flipped horizontally/vertically. Additionally
|
||||
each block also has a material (concrete, grass, ...). Special kinds of blocks
|
||||
are accelerators and fans. The finish, checkpoints and car start position can
|
||||
also be seen as a special kind of block. And still, there are yet "more special"
|
||||
|
@ -193,7 +194,9 @@ times in a row) -- these only appear in the map's text format; they are not
|
|||
necessary, but greatly help making maps faster and also keep their code smaller.
|
||||
|
||||
The text format of the map is described in the map.h file, refer to it for
|
||||
details you won't find here. In summary:
|
||||
details you won't find here. To start with map making it may be useful to check
|
||||
out some of the existing small maps, for example the LCtiny ones. In summary the
|
||||
map format is following:
|
||||
|
||||
First, if the map is preceded by another data string in the data file, remember
|
||||
to start it with the `#` character (to separate it from the previous string).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue