Commit Graph

222 Commits

Author SHA1 Message Date
Alayan-stk-2
8fae521a94 AI item handling improvements (#3143)
* Prepares for advanced item and nitro usage strategy

Replace the bool determining if usage is random or not by an int allowing several levels of AI item usage.

Add NITRO_ADVANCED mode for nitro usage.

* Adapt for more item and nitro levels

The XML files have to be changed. The logic for the item_skill still has to be done.

* Preparation for the preferred kart in GP

* Preparation for the preferred kart in GP

* Preparation for the preferred kart in GP

* Prepares for advanced item and nitro usage strategy

*  Prepares for advanced item usage strategy

* Preparation for the preferred kart in GP

* Parametrized AI_skill level

* Fix typo

* Fix typo

* Fix typo

* Fire items with a shield on in unrestricted mode

* New function allowing AI to know what flyable is incoming

* New function allowing AI to know what flyable is incoming

* Fix typo

* Update bubble gum AI to new system

In addition of making some functionality depends on AI levels, there are a few overall improvements for the better AIs :
1)Remove the "drop the gum in the last lap" logic. Bad strategy since ever the shield has been added to the gum
2)The protection against flyable is not used if the user holds a swatter and the flyable is a plunger 
3)Holding a swatter no longer blocks the AI from using the shield against a flyable nor from using the gum behind
4)The shield is used to remove bad attachments (bomb, parachute, anvil)
5)Reduce the distance with the kart behind when dropping the gum to reduce misses

* Update swatter AI to new system

The swatter could benefit from several kind of usage improvement. This patch introduce only one, but probably the more important : the better AIs now use it to remove bad attachments

* Fixing #3139

* Fix compile error

* Fix

* Fix compilation

* Fix compilation

* Fix compilation

* Update variable

* Update variable

* Fix non-breaking space issue

* Fix typos

* Revert for compilation

* Revert for compilation

* Update cake AI to new system

* Redefine HandleItems to be position aware

* Redefine HandleItems to be position aware

Also changes bowling ball for the new system.

* Activate shield before hitting box or bad item

Meant for higher AIs.

* Increase lookup distance

Some distance will be needed for the switch

* Temporary fix to avoid a nitro regression

* Fix typo

* Fix typo

* Bubble gum improvements ; explicitely calculate distances to items

* Update Switch to the new system ; use item-distance awareness

Also fix a missing parenthesis

* Change nitro-usage to a numerical parameter

* Change nitro-usage to a numerical parameter

Also update comments to explain the new item-skill

* Change nitro-usage to a numerical parameter

* Change nitro-usage to a numerical parameter

* Change nitro-usage to a numerical parameter

* Update handleNitroAndZipper to the new system

Also fix a naming error, remove the 95% speed limitation on nitro usage

* Adds a small engine boost to nitro

Currently, nitro is very counter-intuitive as it only affects max_speed. This change corrects it. The effect remains small to not upset balance. It is mostly felt when below max_speed, so the can of nitro potential power doesn't change much.

* Improve AI nitro handling

Summary :
1)Makes the AI use nitro by bursts, greatly improving its efficiency
2)Makes the AI use nitro when close to max speed (to unlock the max speed increase)
3)Remove the overtaking logic as the AI will now use its nitro anyway
4)The AI tries to keep a reserve of nitro for use towards the end of the race.

* Allows estimated finish time to be checked at any lap, fix a crash

* Makes the AI use its nitro reserves

* Better tuning for nitro reserve usage to reduce the probability of unused nitro

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Fix compilation

* AI don't wait between usage of items of different types

* Use floats for Parachute duration

* Revert

* Nitro use when trying to pass a bomb improved

* Fix broken time check

* Take into account the kart-specific fadeout to calculate time between bursts

* Improvements to bursts and to use of the reserve at the end

* Improve comments explaining item_usage_skill and nitro_usage

* Make LastUsedPowerup a PowerupType

* Make LastUsedPowerup a PowerupType

* Make LastUsedPowerup a PowerupType

* Make LastUsedPowerup a PowerupType

* Make last_used_powerup a PowerupType

* Make last_used_powerup a PowerupType

* Fix compilation

* Fix compilation

* Revert

* Revert

* Finally fix compilation

* Finally fix compilation

* Change shield radius per difficulty

A reduced non-null shield radius reduces false positives as long as it is big enough to get a few frames during which the object is inside the radius.

* Improve Projectile closeness management

* Improve projectileCloseType

* Improve projectileCloseType

* Fixes indentation

* Fix lastUsedPowerup initialization

* Fix the last used powerup type

* Rename projectileCloseType

* Rename projectilCloseType

* Clarify comment and update projectileCloseType to new name

* Reuse a member RandomGenerator

* Fixes getLastUsedPowerup type

* Fixes comparison

* Fixes type
2018-03-31 21:09:57 -04:00
hiker
4d03fbd1fb Made the physics time step size configurable in the config file. 2018-02-12 08:23:06 +11:00
Benau
c4f589fee7 Use the low quality for libsquish again 2018-01-13 11:55:57 +08:00
Benau
b1f1afb9c5 Use SSE2 in windows build for faster libsquish 2018-01-12 17:47:18 +08:00
Benau
5293a0dbef Add b3d loader for SP 2018-01-06 12:07:22 +08:00
Benau
7797115867 Add SP for correct normal and easier shader system 2017-12-25 14:00:10 +08:00
Benau
e61eb3415a Remove hardcoded max 1024 bones for skinning 2017-10-20 17:10:08 +08:00
hiker
92aec928a1 Tweaked physics so that wheel raycasts happen from inside the collision shape
(fixes karts getting stuck at borders), use a longer less bevelled collision
shape better kart stability), and reduce angular factor to make it less
likely that karts can drive on walls.
2017-09-06 09:06:04 +10:00
Benau
3031fabcf9 Add spm loader 2017-08-16 13:48:27 +08:00
hiker
f55c39b3b1 Support setting of friction for karts, moveable and track in stk_config.xml
and kart_characteristics.xml (for now no changed settings, all are at
tbe default of 0.5).
2017-03-22 19:52:03 +11:00
Arthur-D
70511c5348 Lower terrain-impulse. It should keep its intended function of avoiding getting stuck when driving perpendicular to walls, but should be less forceful and look less artificial as a result. 2017-02-17 23:13:39 +01:00
Alayan-stk-2
0293dabfd3 New GP point system (#2765)
* Change grand-prix node for the new GP point system

* New GP point system

* Typo fix
2017-02-07 19:31:53 -05:00
Benau
a339975df6 Clean skidmark earlier if there are many karts 2016-12-23 10:08:12 +08:00
Benau
744a4705b6 Auto embolden glyph of bold face, without fallback font 2016-07-21 12:26:19 +08:00
Benau
a72f67015c Remove 36MB CJK fonts, use the previous font instead 2016-07-20 09:49:10 +08:00
Benau
89f06ed8d3 Fix crash with fixed pipeline 2016-07-18 23:56:14 +08:00
Benau
05419cd555 Initial work on new font rendering engine 2016-07-18 16:03:11 +08:00
Benau
19acdad9b4 Replace Ubuntu font with a really free font 2016-07-11 15:52:16 +08:00
auria.mg
f90703beb6 Move hardcoded cutscene FOV to a config file 2016-06-23 19:10:56 -04:00
hiker
d90dc8ea37 Removed unused entry. 2016-04-27 17:58:28 +10:00
Flakebi
ffa85d2206 Merge remote-tracking branch 'upstream/master' into kart-properties 2015-11-21 23:03:58 +01:00
Benau
7cf4d662ee Allow configurable fonts file names in stk-config 2015-11-13 02:25:52 +08:00
hiker
43c12c1a1e Fixed slightly outdated documentation. 2015-08-05 20:57:27 +10:00
hiker
b44f0605dc Try to bring karts quicker back on the ground when the kart is
on its side, without overcompensating (and therefore shaking)
when the kart is only slightly non-parallel to the ground
when flying.
2015-08-05 17:00:40 +10:00
Flakebi
5d36b95c95 Merge remote-tracking branch 'upstream/master' into kart-properties
Conflicts:
	data/stk_config.xml
	sources.cmake
	src/karts/kart.cpp
	src/karts/kart.hpp
	src/karts/kart_properties.cpp
	src/karts/kart_properties.hpp
	src/tracks/track.cpp
2015-07-29 02:48:43 +02:00
samuncle
1ec0c18d5a Change the fov (hiker you can still tweak or make an option 2015-07-26 01:49:29 +02:00
hiker
2f51406e3d Made field-of-view configurable in the config file. 2015-07-22 08:12:44 +10:00
hiker
802d4897fe Removed unused kart properties settings. 2015-07-18 12:24:56 +10:00
Flakebi
2620a77dc1 Adjust and remove properties 2015-07-13 00:23:05 +02:00
Flakebi
db13a1fae6 Remove data from stk_config.xml 2015-07-11 19:33:13 +02:00
hiker
93282f8abf Completely removed the usage of a physical wheel radius in the physics, it was
never really necessary, the phsyics are basically the same). Wheel rotation is
was refactored to be completely done in KartModel now.
2015-07-09 23:59:53 +10:00
hiker
5d573832e1 Oops - forgot to change the actual value of 'travel' from cm to m. 2015-07-09 09:15:34 +10:00
hiker
3b9e85af0b Converted bullet's TravelCM (i.e. in cm) into Travel (i.e. in m). 2015-07-09 00:06:19 +10:00
Marianne Gagnon
7e63566087 Upgrade minimum track version requirement 2015-03-12 19:50:09 -04:00
hiker
198d6470d7 Let medium kart accelerate a bit less. 2015-02-17 08:33:32 +11:00
hiker
f9bb17384c Try to balande the different kart physics better. 2015-02-17 08:14:31 +11:00
hiker
020c129691 Specify the replay buffer size as time value (i.e. how many seconds),
not how many frames.
2014-11-27 16:15:53 +11:00
hiker
8dff64644a Fixed #1687 (time too long when using many karts in ftl)> 2014-11-10 16:49:13 +11:00
hiker
5401e7f3b7 First try to prevent #1566: kart chassis appears inside of terrain. 2014-11-08 11:43:06 +11:00
Flakebi
690e632e1b Move handicap to ui options and to the player name spinner 2014-10-26 16:56:50 +01:00
Flakebi
dc78c35b50 Merge remote-tracking branch 'upstream/master' into perPlayerDifficulties
Conflicts:
	data/gui/user_screen.stkgui
	data/gui/user_screen_tab.stkgui
	src/karts/kart.cpp
2014-10-05 12:10:39 +02:00
samuncle
97772ba1ae set the downard impulse to 5 + a more easy to use backward camera 2014-10-02 13:53:59 +02:00
Flakebi
e2089fcea6 Switch per player difficulty to player config 2014-09-02 01:18:58 +02:00
Flakebi
8c40f279cd Add break_time_increase to perPlayerDifficulty 2014-09-01 11:31:39 +02:00
Flakebi
dc4a30202f Merge remote-tracking branch 'upstream/master' into perPlayerDifficulties 2014-09-01 11:31:26 +02:00
hiker
c6f7448911 Use sqrt(speed) to scale the collision impulse, which results in
weaker impulses when hitting the terrain.
2014-08-21 22:34:51 +10:00
hiker
15cccf9301 Make the graphical y offset configurable (and basically disable
it for now by setting it to 0).
2014-08-21 17:28:06 +10:00
hiker
8c525ab2d4 Make the physics settings configurable, but default to use the old
settings for now.
2014-08-16 10:20:24 +10:00
hiker
42453325c4 Increased impule to keep kart parallel a bit more, changed the bevel shape
to be slighlty longer.
2014-08-11 09:02:45 +10:00
hiker
a8189eccfc Increase impulse to keep the kart parallel (to avoid the kart being
90 degrees on its side and not being able to get straight again).
2014-08-11 08:10:04 +10:00