Add air slowdown
This commit is contained in:
parent
d905718bab
commit
76cc3227bb
3 changed files with 41 additions and 24 deletions
11
TODO.txt
11
TODO.txt
|
@ -19,7 +19,6 @@
|
|||
data file, try to somehow hack around it (maybe just convert it to an array in
|
||||
the end?) Maybe this: make a standalone C file with the string in it that
|
||||
when compiled and run outputs the array.
|
||||
- some kinda easteregg in menu or smt
|
||||
- culling is very slow now, it showed that distance bailout can accelerate it
|
||||
a lot, try to make a more accurate bailaout and see if it's faster (watch
|
||||
out for bugs due to false positives)
|
||||
|
@ -56,11 +55,6 @@
|
|||
- replay stretching works
|
||||
- replay with input not occuring for more that LCR_SETTING_GHOST_STEP
|
||||
- replay validation
|
||||
- make the racing module usable by itself, e.g. to allow making tools for
|
||||
verifying replays etc., i.e. make the module measure time, count checkpoints
|
||||
etc. DONE?
|
||||
- allow slowing down in air like in TM?
|
||||
lower memory)
|
||||
- at the end check error handling, make sure the game handles garbage data in
|
||||
resource file etc.
|
||||
|
||||
|
@ -76,6 +70,11 @@
|
|||
=========== HANDLED ==============
|
||||
|
||||
- MAP4: one triangle in top section is missing!
|
||||
- allow slowing down in air like in TM?
|
||||
- some kinda easteregg in menu or smt
|
||||
- make the racing module usable by itself, e.g. to allow making tools for
|
||||
verifying replays etc., i.e. make the module measure time, count checkpoints
|
||||
etc. DONE?
|
||||
- add simple particle effects for grass/dirt/drift? Can be just a few squares
|
||||
animated from the projected backwheels.
|
||||
- FPS logging for optim
|
||||
|
|
|
@ -8,15 +8,17 @@ WORK IN PROGRESS
|
|||
~~~~~ GENERAL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Licar is a relatively simple 3D stunt racing game inspired by other popular
|
||||
games of the genre such as Trackmania and Stunts. Unlike mainstream video games,
|
||||
Licar is completely libre, i.e. free as in freedom (meaning its source code is
|
||||
available for any use whatsoever), gratis (free of cost) and its focus lies on
|
||||
being well programmed by utilizing minimalism and rejecting harmful "modern"
|
||||
programming practice. The game aims to seflessly bring joy and entertainment to
|
||||
all people who might enjoy it, even those who have no money, own only very old
|
||||
and weak computers and so on. It is not a commercial product and has been made
|
||||
purely out of love by a single man. Licar is also more than a game, for example
|
||||
it can be used for educational purposes or as a basis for new projects.
|
||||
games of the genre, such as Trackmania and Stunts. Unlike mainstream video
|
||||
games, Licar is completely libre, i.e. free as in freedom (meaning its source
|
||||
code and art assets are available for any use whatsoever), gratis (free of cost)
|
||||
and its focus lies in being well programmed by adhering to minimalism and
|
||||
rejecting harmful "modern" programming practices. The game aims to seflessly
|
||||
bring joy and entertainment to all the people that might enjoy it, even those
|
||||
who aren't able or willing to pay and/or watch ads, those owning very old and
|
||||
weak computers and so on. It was made in whole by a single man as a completely
|
||||
non-commercial product, the development was driven purely by love of the craft
|
||||
and other living beings. Licar is also more than a game, for example it may
|
||||
serve educational purposes or become a basis for new projects.
|
||||
|
||||
The game runs on many platforms and comes in different versions depending on
|
||||
what the platforms allow. Some versions may have more features or visual
|
||||
|
@ -71,13 +73,20 @@ speed, times at checkpoints etc.
|
|||
|
||||
~~~~~ CONTROLS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Controls are extremely simple. The car is only controlled by 4 directional
|
||||
keys: up (accelerate), down (deccelerate, reverse), left (steer left) and
|
||||
right (steer right). There are two additional keys, A and B (depending on your
|
||||
platform these may be e.g. the K and L letter or RETURN and ESCAPE keys), for
|
||||
restarting runs and handling menu.
|
||||
Controls are more than simple: the car is driven with only 4 directional keys:
|
||||
up (accelerate), down (brake, reverse), left (steer left) and right (steer
|
||||
right). There are two additional keys, A and B (depending on your platform these
|
||||
may be e.g. K and L keys, RETURN and ESCAPE etc.), for restarting runs and
|
||||
handling menu.
|
||||
|
||||
PRO TIP: pressing brake while in air stops the car's horizontal rotation!
|
||||
Here are some driving tips:
|
||||
|
||||
- Tapping brake while steering triggers drifting (if this doesn't work, you may
|
||||
be experiencing keyboard ghosting: the inability of some keyboards to detect
|
||||
certain simultaneous key presses).
|
||||
- It's possible to stop the car from rotating mid-air by pressing brake.
|
||||
- Similarly, holding down brake in air will slow down the car's horizontal
|
||||
velocity.
|
||||
|
||||
~~~~~ DATA FILE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -275,9 +284,10 @@ that's meant to help the people.
|
|||
|
||||
Q: Can I still voluntarily donate money?
|
||||
|
||||
A: Currently it is possible, donation info is on my website (www.tastyfish.cz),
|
||||
but I am not dependant on donations and don't even encourage them too much, but
|
||||
if you still insist, I'll be very grateful, thank you very much.
|
||||
A: Currently it is possible, donation info is somewhere on my website, but I am
|
||||
not dependant on donations and am sometimes doubting if it's a good thing to
|
||||
accept them, but if you still insist, I'll be very grateful, thank you very
|
||||
much.
|
||||
|
||||
Q: Why is the physics so buggy?
|
||||
|
||||
|
|
8
racing.h
8
racing.h
|
@ -1279,6 +1279,14 @@ uint32_t LCR_racingStep(unsigned int input)
|
|||
for (int j = 0; j < 3; ++j)
|
||||
LCR_racing.carBody.joints[i].velocity[j] =
|
||||
LCR_racing.carBody.joints[LCR_CAR_JOINTS - 1].velocity[j];
|
||||
|
||||
// gradual slowing down mid-air:
|
||||
|
||||
LCR_racing.carBody.joints[4].velocity[0] =
|
||||
15 * (LCR_racing.carBody.joints[4].velocity[0] / 16);
|
||||
|
||||
LCR_racing.carBody.joints[4].velocity[2] =
|
||||
15 * (LCR_racing.carBody.joints[4].velocity[2] / 16);
|
||||
}
|
||||
|
||||
if (input & (LCR_RACING_INPUT_FORW | LCR_RACING_INPUT_BACK))
|
||||
|
|
Loading…
Reference in a new issue