Brainstorming: Stronger vs. Faster?

Brainstorming: Stronger vs. Faster?

Postby Turtle » 17 Jul 2011, 20:47

Faster:
Pro:
smaller karts take half of current slipstream requirement. For example, if it is set to 4 seconds behind a kart, smaller karts only need 2 seconds.
Con: Can be easily pushed by bigger karts (starting a race), especially when they are using nitro while bumping you.

Stronger:
Pro:
bigger karts cannot be pushed to the side so easily (starting a race), and can push smaller karts especially when bumping them with nitro.
Con: follow default slipstream requirement.

Another idea from Mario Kart 64 that I think would be awesome to implement in STK. The only difference I think is that in Mario Kart, smaller karts go quicker. This however, made the game unfair (Donkey & Bowser were less likely to get picked because of this). In this idea I think at least it is balanced.:)

Any input on the subject is welcomed.
Turtle
 
Posts: 68
Joined: 27 May 2011, 17:27

Re: Brainstorming: Stronger vs. Faster?

Postby STKRudy85 » 17 Jul 2011, 21:23

Image
STK fan
User avatar
STKRudy85
 
Posts: 532
Joined: 23 Dec 2010, 03:00
Location: France

Re: Brainstorming: Stronger vs. Faster?

Postby Auria » 17 Jul 2011, 21:43

Interesting ideas; we definitely want to make karts have different characteristics, but I'm not sure we're ready to tackle that right now :) nonetheless I think different time for slipstream is a good idea
Image
User avatar
Auria
STK Moderator
 
Posts: 2976
Joined: 07 Dec 2009, 03:52

Re: Brainstorming: Stronger vs. Faster?

Postby Turtle » 18 Jul 2011, 00:46

STKRudy85 {l Wrote}:Image

Nooo mario kart problem man. :P
If kept with slipstream, it is balanced since technically you can avoid it (don't stay driving in the same spot when you see effects). The mario thing was annoying when playing with the bigger guys (poor bowser use to always end up in last place :().

@Auria
Yeah it's just brainstorming; I was curious to see what others had to say.
Turtle
 
Posts: 68
Joined: 27 May 2011, 17:27

Re: Brainstorming: Stronger vs. Faster?

Postby hiker » 18 Jul 2011, 03:04

Turtle {l Wrote}:Any input on the subject is welcomed.

This is planned to be implemented after 0.8 (see our milestones page on the wiki). All kart parameters that might be tuned to implement different kart behaviour are already set per kart (but for now all karts copy the default settings). If you want to try, just have a look at data/stk_config. It should be reasonably commented, e.g.:
{l Code}: {l Select All Code}
    <!-- Slipstream: length: How far behind a kart slipstream works
         collect-time: How many seconds of sstream give  maximum benefit
         use-time: How long the benefit will last.
         add-power: Additional power due to sstreaming. 1 = +100%
         min-speed: Minimum speed necessary for slipstream to take effect.
         max-speed-increase: How much the speed of the kart might exceed
         its normal maximum speed.
         duration: How long the higher speed lasts after slipstream stopped
         working.
         fade-out-time: How long the slip stream speed increase will
         gradually be reduced.  -->
    <slipstream length="10" collect-time="2" use-time="5"
                add-power="3" min-speed="10"
                max-speed-increase="5" duration="1" fade-out-time="2"/>

And if you copy those settings into a kart.xml file, the kart-specific settings will override the default. So you can just try yourself and find some good settings (please post them here in the forum ;) ). There are a lot more parameters you can tweak.But be aware that the physics will change in 0.8, so whatever you do will probably need re-balancing after 0.8.

Cheers,
Joerg
hiker
 
Posts: 1435
Joined: 07 Dec 2009, 12:15
Location: Melbourne, Australia

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 18 Jul 2011, 04:10

We could begin to think about karts characteristics :

Heavy karts (sstream less efficient, but can crush easily other karts, especially light ones):
- Mozilla,
- Beagle,
- Beastie ?

Light karts (sstream very efficient, but can be crush easily by other karts):
- Hexley,
- Wilbert,
- Gooey

For Elephpant I don't really know : his kart is really small, but the character is supposed to be heavy... so, in the medium category ? :think:


Maybe some engine params could also contribute to differenciate karts, i.e. acceleration graph ?

acceleration_graph.png


The nitro (& zippers ?) effect could also be affected by the engine size. I think it could be interesting for the gameplay to make big engines (so big & heavy karts, most of the time) have a very powerful nitro acceleration, but that does not last long ; and small engines a less powerful acceleration but that lasts longer.

Or even another parameter "nitro acceleration", independant from the engine, so we could have small and/or big engines with powerful & short nitro boost and/or long and weaker nitro boost...
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby hikari.to.yami » 18 Jul 2011, 04:37

That's a great idea. Since I'm always using Tux and almost never use the other, coz I like the way it looks and its simplicity :). By giving different property to each kart will give different experience, it will also give more dynamic play, which mean less boring.

Hopefully the AI also get adjusted for each kart too.

Also guys, I have another idea : I think the different type of kart should behave differently against weapons e.g. Light type is smaller so it is harder to get hit by bowling ball, and it should get more boost when latch string to another kart. But on the other hand it recover slower from explosion (either from explosive cake or from the bowling ball) since it is thrown further/higher than the heavier one.
User avatar
hikari.to.yami
 
Posts: 43
Joined: 17 Jul 2011, 03:23
Location: Ngayogyakarta Hadiningrat

Re: Brainstorming: Stronger vs. Faster?

Postby hiker » 18 Jul 2011, 05:11

hikari.to.yami {l Wrote}:Also guys, I have another idea : I think the different type of kart should behave differently against weapons e.g. Light type is smaller so it is harder to get hit by bowling ball, and it should get more boost when latch string to another kart. But on the other hand it recover slower from explosion (either from explosive cake or from the bowling ball) since it is thrown further/higher than the heavier one.

Just to motivate you further: all of this is already supported in the xml files, e.g.:
{l Code}: {l Select All Code}
    <!-- Rescue: time: How long it takes the kart to be raised.
         height: how height the kart will be raised before it is
         dropped back onto the track.
         vert rescue offset: used to raise karts a bit higher before
         releasing them on the ground after a rescue. Used to avoid
         resetting karts into the track. Not sure if this is still
         necessary. -->
    <rescue vert-offset="0.0" time="1.2" height="2"/>

    <!-- Nitro: power-boost: increase in engine power, i.e. 1=plus 100%
         consumption: nitro consumption - heavier characters can be set
         to need more nitro than lighter character.
         small-container: how much energy a small container gives.
         big-container: how much energy a big container gives.
         max-speed-increase: How much the speed of a kart might exceed
         its maximum speed (in m/s).
         duration: How long the increased speed will be valid after
         the kart stops using nitro (and the fade-out-time starts).
         fade-out-time: Duration during which the increased maximum
         speed due to nitro fades out.  -->
    <nitro power-boost="3" consumption="1" small-container="1" big-container="3"
           max-speed-increase="5" duration="1" fade-out-time="2"/>

    <!-- Simulated gears: switch-ratio defines at what ratio of the maximum
         speed what gear is selected, e.g. 0.25 means that if the speed is
         bigger or equal to 0.25 x maxSpeed then use gear 1, 0.5 means if
         the speed is bigger or equal to 0.5 x maxSpeed then gear 2.
         gear-power-increase contains the increase in max power (to simulate
         different gears), e.g. 2.5 as first entry means: 2.5*maxPower in gear 1
         | first  | second |  third | . -->
    <gear switch-ratio="0.25 0.7 1.0" power-increase="2.2 1.7 1.3"/>



And more. So please play with those values. I think more or less anything mentioned here in this thread can easily be implemented by tweaking the physics settings.

So please: tweak and tweak and tweak ... and post results here ;)

Cheers,
Joerg
hiker
 
Posts: 1435
Joined: 07 Dec 2009, 12:15
Location: Melbourne, Australia

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 18 Jul 2011, 05:42

Yes, this is only parameters experimentation :)
Let's test !
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby hikari.to.yami » 18 Jul 2011, 06:04

@Joerg : Ok, I'll try to tweak the stk_config.xml

but there's still one missing piece here, that's the ability to apply different configuration to different kart, hopefully it would be implemented on the next RC.

Radif
User avatar
hikari.to.yami
 
Posts: 43
Joined: 17 Jul 2011, 03:23
Location: Ngayogyakarta Hadiningrat

Re: Brainstorming: Stronger vs. Faster?

Postby hiker » 18 Jul 2011, 06:18

hikari.to.yami {l Wrote}:@Joerg : Ok, I'll try to tweak the stk_config.xml

No!
but there's still one missing piece here, that's the ability to apply different configuration to different kart, hopefully it would be implemented on the next RC.

Just copy the section you want to modify from the stk_config.xml file into the kart.xml file (more precisely: anything inside of the <general-kart-defaults> tag in stk_config.xml, those are the values that you can overwrite). Then modify it in the kart.xml file. This way the settings take only affect in that particular kart. Example:
{l Code}: {l Select All Code}
<?xml version="1.0"?>
<!-- Generated with script from SVN rev 0.1 -->
<kart name              = "Mozilla"
      version           = "2"
      model-file        = "mozilla.b3d"
      icon-file         = "mozillaicon.png"
      minimap-icon-file = "mozillaicon.png"
      shadow-file       = "mozillashadow.png"
      groups            = "standard"
      rgb               = "0.7 0 0" >
...
    <!-- mass  -->
    <mass value="300"/>
    <nitro consumption="2" max-speed-increase="3"/>
...

So mozilla will then have a mass of 300 (instead of the default of 225), consume nitro twice as fast as any other kart, and will have a lower maximum speed as a result of using nitro compared with all other karts. I admit I didn't try those values ;) If you should find any problems, please let us know.

Cheers,
Joerg

Edit: I've added this description to our wiki.
hiker
 
Posts: 1435
Joined: 07 Dec 2009, 12:15
Location: Melbourne, Australia

Re: Brainstorming: Stronger vs. Faster?

Postby hikari.to.yami » 18 Jul 2011, 09:22

hiker {l Wrote}:
hikari.to.yami {l Wrote}:@Joerg : Ok, I'll try to tweak the stk_config.xml

No!
but there's still one missing piece here, that's the ability to apply different configuration to different kart, hopefully it would be implemented on the next RC.

Just copy the section you want to modify from the stk_config.xml file into the kart.xml file (more precisely: anything inside of the <general-kart-defaults> tag in stk_config.xml, those are the values that you can overwrite). Then modify it in the kart.xml file. This way the settings take only affect in that particular kart. Example:
{l Code}: {l Select All Code}
<?xml version="1.0"?>
<!-- Generated with script from SVN rev 0.1 -->
<kart name              = "Mozilla"
      version           = "2"
      model-file        = "mozilla.b3d"
      icon-file         = "mozillaicon.png"
      minimap-icon-file = "mozillaicon.png"
      shadow-file       = "mozillashadow.png"
      groups            = "standard"
      rgb               = "0.7 0 0" >
...
    <!-- mass  -->
    <mass value="300"/>
    <nitro consumption="2" max-speed-increase="3"/>
...

So mozilla will then have a mass of 300 (instead of the default of 225), consume nitro twice as fast as any other kart, and will have a lower maximum speed as a result of using nitro compared with all other karts. I admit I didn't try those values ;) If you should find any problems, please let us know.

Cheers,
Joerg

Edit: I've added this description to our wiki.


Aye-aye captain! I'm so clueless before :lol:

Thanks a lot!
Radif
User avatar
hikari.to.yami
 
Posts: 43
Joined: 17 Jul 2011, 03:23
Location: Ngayogyakarta Hadiningrat

Re: Brainstorming: Stronger vs. Faster?

Postby hiker » 18 Jul 2011, 13:13

hikari.to.yami {l Wrote}:Aye-aye captain! I'm so clueless before :lol:

Don't worry about it - that information was clearly missing from the Wiki, so thanks for helping me in finally writing this down ;)

Cheers,
Joerg
hiker
 
Posts: 1435
Joined: 07 Dec 2009, 12:15
Location: Melbourne, Australia

Re: Brainstorming: Stronger vs. Faster?

Postby hikari.to.yami » 19 Jul 2011, 15:53

Hi guys!

I just try to modify some kart.xml and test them, and I here is the kart.xml for the strong (heavy) kart :
{l Code}: {l Select All Code}
<?xml version="1.0"?>
<!-- Generated with script from SVN rev 0.1 -->
<kart name              = "Mozilla"
      version           = "2"
      model-file        = "mozilla.b3d"
      icon-file         = "mozillaicon.png"
      minimap-icon-file = "mozillaicon.png"
      shadow-file       = "mozillashadow.png"
      groups            = "standard"
      rgb               = "0.7 0 0" >
  <sounds engine = "large"/>
  <animations left = "0"
              straight = "20"
              right = "40"
              start-winning = "71"
              end-winning = "299"
              start-losing = "338"
              start-losing-loop = "417"
              end-losing = "494"/>
  <wheels>
    <front-left position = "-0.254099 0.112440 0.404252"
                 model    = "wheel-front-left.b3d"       />
    <front-right position = "0.245901 0.112440 0.404252"
                 model    = "wheel-front-right.b3d"       />
    <rear-left position = "-0.394427 0.193826 -0.517090"
                 model    = "wheel-rear-left.b3d"       />
    <rear-right position = "0.399366 0.193826 -0.517090"
                 model    = "wheel-rear-right.b3d"       />
  </wheels>
  <mass value="350"/>
  <!-- Slipstream: length: How far behind a kart slipstream works
         collect-time: How many seconds of sstream give  maximum benefit
         use-time: How long the benefit will last.
         add-power: Additional power due to sstreaming. 1 = +100%
         min-speed: Minimum speed necessary for slipstream to take effect.
         max-speed-increase: How much the speed of the kart might exceed
         its normal maximum speed.
         duration: How long the higher speed lasts after slipstream stopped
         working.
         fade-out-time: How long the slip stream speed increase will
         gradually be reduced.  -->
  <slipstream length="8" collect-time="2.2" use-time="5"
              add-power="3" min-speed="10"
              max-speed-increase="6" duration="1.2" fade-out-time="2.5"/>
          
  <!-- Speed and acceleration related values: power and max-speed (in m/s)
       have 3 values, one for low, medium, and hard.
       brake-factor: Value used when braking. max-speed-reverse-ratio is
       the percentage of max speed for reverse gear. -->
  <engine power="650 750 850"  max-speed="15 18.5 21" brake-factor="11.0"
          max-speed-reverse-ratio="0.4"/>

  <!-- Simulated gears: switch-ratio defines at what ratio of the maximum
       speed what gear is selected, e.g. 0.25 means that if the speed is
       bigger or equal to 0.25 x maxSpeed then use gear 1, 0.5 means if
       the speed is bigger or equal to 0.5 x maxSpeed then gear 2.
       gear-power-increase contains the increase in max power (to simulate
       different gears), e.g. 2.5 as first entry means: 2.5*maxPower in gear 1
       | first  | second |  third | . -->
  <gear switch-ratio="0.1 0.4 1" power-increase="3 2.2 1.3"/>

  <!-- Kart-specific explosion parameters. Height: how high this
       this kart is being pushed in the sky by an explosion.
       Time: how long it takes before the kart can drive again.
       Invulnerability-time: how long a kart will be invulnerable
       after being hit by an explosion.  -->
  <explosion time="1.5" radius="4"
       invulnerability-time="6" />

  <!-- Nitro: power-boost: increase in engine power, i.e. 1=plus 100%
       consumption: nitro consumption - heavier characters can be set
       to need more nitro than lighter character.
       small-container: how much energy a small container gives.
       big-container: how much energy a big container gives.
       max-speed-increase: How much the speed of a kart might exceed
       its maximum speed (in m/s).
       duration: How long the increased speed will be valid after
       the kart stops using nitro (and the fade-out-time starts).
       fade-out-time: Duration during which the increased maximum
       speed due to nitro fades out.  -->
  <nitro power-boost="3" consumption="1.2" small-container="1" big-container="3"
         max-speed-increase="7" duration="1" fade-out-time="2"/>

  <!-- time is the time a zipper is active. force is the additional
       zipper force. speed-gain is the one time additional speed.
       max-speed-increase is the additional speed allowed on top
       of the kart-specific maximum kart speed. Fade-out time determines
       how long it takes for a zipper to fade out (after 'time').  -->
  <zipper time="2" force="400.0" speed-gain="4.5" max-speed-increase="15"
          fade-out-time="3.0"  />
</kart>

And here's the code for the faster (light) one :
{l Code}: {l Select All Code}
<?xml version="1.0"?>
<!-- Generated with script from SVN rev 0.1 -->
<kart name              = "Gooey"
      version           = "2"
      model-file        = "gooey.b3d"
      icon-file         = "gooeyicon.png"
      minimap-icon-file = "gooeyicon.png"
      shadow-file       = "gooeyshadow.png"
      groups            = "standard"
      rgb               = "0.812 0.016 0.537" >
  <sounds engine = "large"/>
  <animations left = "0"
              straight = "20"
              right = "40"
              start-winning = "80"
              end-winning = "219"
              start-losing = "250"
              start-losing-loop = "339"
              end-losing = "349"/>
  <wheels>
    <front-left position = "-0.198135 0.115726 0.305779"
                 model    = "wheel-front-left.b3d"       />
    <front-right position = "0.207049 0.115726 0.300348"
                 model    = "wheel-front-right.b3d"       />
    <rear-left position = "-0.246830 0.139012 -0.327334"
                 model    = "wheel-rear-left.b3d"       />
    <rear-right position = "0.254700 0.139012 -0.327685"
                 model    = "wheel-rear-right.b3d"       />
  </wheels>
  <mass value="180"/>
  <!-- An artificial force that pulls a wheel to the ground if its off
       ground. Reduces the affect if a kart loses contact with the ground
       (i.e. it then can't steer or accelerate anymore). -->
  <track-connection-accel value="1.5"/>
 
  <!-- Slipstream: length: How far behind a kart slipstream works
         collect-time: How many seconds of sstream give  maximum benefit
         use-time: How long the benefit will last.
         add-power: Additional power due to sstreaming. 1 = +100%
         min-speed: Minimum speed necessary for slipstream to take effect.
         max-speed-increase: How much the speed of the kart might exceed
         its normal maximum speed.
         duration: How long the higher speed lasts after slipstream stopped
         working.
         fade-out-time: How long the slip stream speed increase will
         gradually be reduced.  -->
  <slipstream length="12" collect-time="1.8" use-time="5"
              add-power="3" min-speed="10"
              max-speed-increase="5" duration="0.8" fade-out-time="1.8"/>

  <!-- Speed and acceleration related values: power and max-speed (in m/s)
       have 3 values, one for low, medium, and hard.
       brake-factor: Value used when braking. max-speed-reverse-ratio is
       the percentage of max speed for reverse gear. -->
  <engine power="200 250 300"  max-speed="19 23 26" brake-factor="11.0"
          max-speed-reverse-ratio="0.3"/>

  <!-- Simulated gears: switch-ratio defines at what ratio of the maximum
       speed what gear is selected, e.g. 0.25 means that if the speed is
       bigger or equal to 0.25 x maxSpeed then use gear 1, 0.5 means if
       the speed is bigger or equal to 0.5 x maxSpeed then gear 2.
       gear-power-increase contains the increase in max power (to simulate
       different gears), e.g. 2.5 as first entry means: 2.5*maxPower in gear 1
       | first  | second |  third | . -->
  <gear switch-ratio="0.2 0.55 1.0" power-increase="2 1.85 1.8"/>

  <!-- Kart-specific explosion parameters. Height: how high this
       this kart is being pushed in the sky by an explosion.
       Time: how long it takes before the kart can drive again.
       Invulnerability-time: how long a kart will be invulnerable
       after being hit by an explosion.  -->
  <explosion time="2.3" radius="6"
             invulnerability-time="6" />

  <!-- Nitro: power-boost: increase in engine power, i.e. 1=plus 100%
       consumption: nitro consumption - heavier characters can be set
       to need more nitro than lighter character.
       small-container: how much energy a small container gives.
       big-container: how much energy a big container gives.
       max-speed-increase: How much the speed of a kart might exceed
       its maximum speed (in m/s).
       duration: How long the increased speed will be valid after
       the kart stops using nitro (and the fade-out-time starts).
       fade-out-time: Duration during which the increased maximum
       speed due to nitro fades out.  -->
  <nitro power-boost="3" consumption="0.8" small-container="1" big-container="3"
         max-speed-increase="5" duration="1" fade-out-time="2"/>

  <!-- time is the time a zipper is active. force is the additional
       zipper force. speed-gain is the one time additional speed.
       max-speed-increase is the additional speed allowed on top
       of the kart-specific maximum kart speed. Fade-out time determines
       how long it takes for a zipper to fade out (after 'time').  -->
  <zipper time="4" force="250.0" speed-gain="4.5" max-speed-increase="15"
          fade-out-time="1.0"  />
</kart>


Result from my test :
a. Strong kart :
- stronger machine, the higher acceleration is hard to notice, but when you're going uphill or make a turn you'll see that the speed is pretty stable. I'm trying to make the acceleration as high as possible but it's pretty tricky since it is a heavy kart.
- heavier mass, it is almost unstopable, lighter kart will definitely get tossed away when this kart bumps it :lol:
on the other hand, it is slower and spends nitro faster than the lighter one.
- It can recover faster from explosion.
- It is harder to move yet stable

b. Faster kart:
- lightweight, so it can move faster. But it is very vulnerable to any attack
- lame machine, so it has less acceleration.
- it spends nitro slower, and it is less attracted to the ground than the heavier one.
- more agile and responsive

I'm pretty satisfied with the result :), but of course there is still room for improvement and it's still far away from perfect.

Please, test this tweak and tell me what you think. And then re-tweak and share the result here :)

Oh ya, I have one question, about this part :
"Speed and acceleration related values: power and max-speed (in m/s) have 3 values, one for low, medium, and hard."
What does it mean by low, medium, and hard. It's kinda ridiculous to tweak the code that you can't understand right? :lol:
I've been trying to find the answer in wiki but couldn't find one.

Radif
User avatar
hikari.to.yami
 
Posts: 43
Joined: 17 Jul 2011, 03:23
Location: Ngayogyakarta Hadiningrat

Re: Brainstorming: Stronger vs. Faster?

Postby Arthur » 19 Jul 2011, 16:27

I think that is for the various difficulties (novice, intermediate and expert). With novice, the karts go a little slower so people can get used to the game without failing completely in the beginning. ;)
Hey pal, I took an oath for justice! "In happy days or tightest tights..." or something like that.
User avatar
Arthur
 
Posts: 1073
Joined: 06 Dec 2009, 00:49

Re: Brainstorming: Stronger vs. Faster?

Postby hikari.to.yami » 19 Jul 2011, 18:25

Hmm... that's make sense, but what if we're the one who use the kart, which configuration do we use? The hard one?
User avatar
hikari.to.yami
 
Posts: 43
Joined: 17 Jul 2011, 03:23
Location: Ngayogyakarta Hadiningrat

Re: Brainstorming: Stronger vs. Faster?

Postby Arthur » 19 Jul 2011, 19:53

I'd say use the hard one for testing, and keep the same values except for speed for the other difficulties. But I think we should get some words from the project leaders on this one, as I might be wrong. :)
Hey pal, I took an oath for justice! "In happy days or tightest tights..." or something like that.
User avatar
Arthur
 
Posts: 1073
Joined: 06 Dec 2009, 00:49

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 20 Jul 2011, 03:29

I've tested your configs hikari, this is a good beginning towards the differentiation. I've tried to make the difference more obvious, but it's hard to keep an equality of chances while tweaking all values :p

I wouldlike to change the gameplay of heavy & light karts, for a result that looks like muscle cars vs. tuning cars in nfs.
I'll continue my tests tonight...
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby hiker » 20 Jul 2011, 04:26

hikari.to.yami {l Wrote}:Hmm... that's make sense, but what if we're the one who use the kart, which configuration do we use? The hard one?

Yes, we should focus on the highest difficulty setting, but at the same time make sure that the game is still playable (and enjoyable) in the lower settings. I know that this is quite a bit of work (and that's part of the reason why we postponed it till after 0.8 ;) ). So I'd suggest to tune everything on highest, and then test on the lower settings.

If necessary we could make some other values depend on difficulty as well, but I would prefer to keep things as simple as possible. One caveat with changing the engine power: originally we modified the engine power to create the terrain-specific slowdown. But then we started to have problems that sometimes kart would just get stuck, completely unable to move ;) So we had some code in STK that would make sure karts could always drive (but iirc that was removed when we switched to just capping the maximum speed).

Cheers,
Joerg
hiker
 
Posts: 1435
Joined: 07 Dec 2009, 12:15
Location: Melbourne, Australia

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 20 Jul 2011, 08:55

I've worked on some params, to simulate a kind of muscle-car-like / sport-car-like behaviour (based on info from this page) :

Heavy karts (muscle-car-like) :
- Low acceleration at first, powerful when it reaches a certain speed,
- Difficult handling, can't turn well
- Very high max speed

Light karts (sport-car-like) :
- High acceleration at first,
- Easy handling
- max speed is lower than heavy karts
- sstream very easy to get, but reduced effect

If you feel like testing those params, and telling me your feedback, don't hesitate (use the difficult mode to test it). Please keep in mind that the values I choose are a little "extreme", to see easily the difference. They will be "smoothed" later.

Light kart - paste it in kart.xml after the '</wheels>' :
{l Code}: {l Select All Code}
  <mass value="150"/>
 
  <!-- Slipstream: length: How far behind a kart slipstream works
         collect-time: How many seconds of sstream give  maximum benefit
         use-time: How long the benefit will last.
         add-power: Additional power due to sstreaming. 1 = +100%
         min-speed: Minimum speed necessary for slipstream to take effect.
         max-speed-increase: How much the speed of the kart might exceed
         its normal maximum speed.
         duration: How long the higher speed lasts after slipstream stopped
         working.
         fade-out-time: How long the slip stream speed increase will
         gradually be reduced.  -->
  <slipstream length="12" collect-time="0.5" use-time="2"
              add-power="5" min-speed="10"
              max-speed-increase="4" duration="0.5" fade-out-time="2"/>

  <!-- Speed and acceleration related values: power and max-speed (in m/s)
       have 3 values, one for low, medium, and hard.
       brake-factor: Value used when braking. max-speed-reverse-ratio is
       the percentage of max speed for reverse gear. -->
  <engine power="200 250 300"  max-speed="19 23 23" brake-factor="11.0"
          max-speed-reverse-ratio="0.3"/>

  <!-- Simulated gears: switch-ratio defines at what ratio of the maximum
       speed what gear is selected, e.g. 0.25 means that if the speed is
       bigger or equal to 0.25 x maxSpeed then use gear 1, 0.5 means if
       the speed is bigger or equal to 0.5 x maxSpeed then gear 2.
       gear-power-increase contains the increase in max power (to simulate
       different gears), e.g. 2.5 as first entry means: 2.5*maxPower in gear 1
       | first  | second |  third | . -->
  <gear switch-ratio="0.1 0.4 1.0" power-increase="2.5 2 1"/>
         
             
    <!-- min-speed-radius and max-speed-radius define the smallest turn
         radius at lowest speed (4.64 m at speed 0) and at high speed
         (13.5 m at speed 12 m/s). Maximum steering angles for speeds
         in between will be interpolated. This allows for tighter turns
         at lower speeds. The actual steering  angle is dependent on the
         wheel base of the kart: radius = wheel_base/sin(steering_angle)
         By specifying the radius the steering behaviour can be defined
         independent of the kart size.
         time-full-steer is the time when a player's input goes from neutral
                         steering to extreme left or right.
         time-full-steer-ai is the time for the AI to go from neutral steering to
                         extreme left (or right). This can be used to reduce
                         'shaking' of AI karts caused by changing steering direction
                         too often. It also helps with making it easier to push the
                         AI karts (otherwise micro-corrections make this nearly
                         impossible). A value of 1/maxFPS / 2 will guarantee that
                         the wheel can go from -1 to +1 steering in one frame,
                         basically  disabling this mechanism.       -->
    <turn min-speed-radius="0 3" max-speed-radius="6 10"
          time-full-steer ="0.2" time-full-steer-ai="0.1"    />


Heavy kart - paste it in kart.xml after the '</wheels>' :
{l Code}: {l Select All Code}
  <mass value="400"/>
  <!-- Slipstream: length: How far behind a kart slipstream works
         collect-time: How many seconds of sstream give  maximum benefit
         use-time: How long the benefit will last.
         add-power: Additional power due to sstreaming. 1 = +100%
         min-speed: Minimum speed necessary for slipstream to take effect.
         max-speed-increase: How much the speed of the kart might exceed
         its normal maximum speed.
         duration: How long the higher speed lasts after slipstream stopped
         working.
         fade-out-time: How long the slip stream speed increase will
         gradually be reduced.  -->
  <slipstream length="8" collect-time="1.2" use-time="5"
              add-power="3" min-speed="10"
              max-speed-increase="10" duration="1" fade-out-time="3"/>
         
  <!-- Speed and acceleration related values: power and max-speed (in m/s)
       have 3 values, one for low, medium, and hard.
       brake-factor: Value used when braking. max-speed-reverse-ratio is
       the percentage of max speed for reverse gear. -->
  <engine power="650 750 850"  max-speed="15 18.5 26" brake-factor="7.0"
          max-speed-reverse-ratio="0.6"/>

  <!-- Simulated gears: switch-ratio defines at what ratio of the maximum
       speed what gear is selected, e.g. 0.25 means that if the speed is
       bigger or equal to 0.25 x maxSpeed then use gear 1, 0.5 means if
       the speed is bigger or equal to 0.5 x maxSpeed then gear 2.
       gear-power-increase contains the increase in max power (to simulate
       different gears), e.g. 2.5 as first entry means: 2.5*maxPower in gear 1
       | first  | second |  third | . -->
  <gear switch-ratio="0.5 0.75 1" power-increase="1 1.7 2.2"/>
             
             
    <!-- min-speed-radius and max-speed-radius define the smallest turn
         radius at lowest speed (4.64 m at speed 0) and at high speed
         (13.5 m at speed 12 m/s). Maximum steering angles for speeds
         in between will be interpolated. This allows for tighter turns
         at lower speeds. The actual steering  angle is dependent on the
         wheel base of the kart: radius = wheel_base/sin(steering_angle)
         By specifying the radius the steering behaviour can be defined
         independent of the kart size.
         time-full-steer is the time when a player's input goes from neutral
                         steering to extreme left or right.
         time-full-steer-ai is the time for the AI to go from neutral steering to
                         extreme left (or right). This can be used to reduce
                         'shaking' of AI karts caused by changing steering direction
                         too often. It also helps with making it easier to push the
                         AI karts (otherwise micro-corrections make this nearly
                         impossible). A value of 1/maxFPS / 2 will guarantee that
                         the wheel can go from -1 to +1 steering in one frame,
                         basically  disabling this mechanism.       -->
    <turn min-speed-radius="0 4" max-speed-radius="15 20.0"
          time-full-steer ="0.2" time-full-steer-ai="0.1"    />


Next params to change :
- Nitro : I think I'll had a powerful boost to heavy cars, but with a high consumption, and which does not last long, whereas light karts the contrary.
- Zippers : I'm not sure it's necessary to change them. Need to think.
- Startup boost bonus : it will be very important to change it because for heavy cars it's too easy otherwise (the low acceleration part is avoided ^^).
- Explosion : I think light karts can be immobilized slightly shorter than heavy ones, but also have a shorter invulnerability time, and a higher radius.
... and a lot of other params to tweak !

I think it will add a lot to the gameplay :)
Last edited by Kinsu on 20 Jul 2011, 16:46, edited 1 time in total.
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby asciimonster » 20 Jul 2011, 13:37

Perhaps we need a wiki page which lists all "tweakable" parameters along with location and explanantions... For future reference.
asciimonster
 
Posts: 375
Joined: 03 Dec 2009, 18:24

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 20 Jul 2011, 16:47

Well, everything is well explained in stk-config.xml. Maybe just a copy & paste from this file would do it ? :p
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby Iridium » 20 Jul 2011, 19:00

Interesting.
Just to clarify, here is the classic scenario seen in the real world today:
Muscle/Power Vs Lightness/Agility
Muscle -
Has engine noise of utter awesomeness. (Need)
Numb steering - Understeer
Generally good on the straights
Low acceleration, but a very high High top speed - With this speed it gains momentum (easier to bash around other karts)
Mario Kart Reference - Jetsetter/Aero Glider

Lightness -
High acceleration, Low top speed
Generally good on the corners(PLEASE don't make the steering really twitchy - like Wilber)
Awesome drift & handling
Light and easy to push around
Mario Kart Reference - Classic Dragster

Tuner -
Pretty High top speed but not as high as a heavier kart -
Acceleration not as good as a lighter kart
Good at holding spectacular drifts (You can't really HOLD a drift in STK...)
Mario Kart Reference - Wild wing

Plus - What about an Offroad parameter?
User avatar
Iridium
 
Posts: 209
Joined: 24 May 2011, 02:13

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 21 Jul 2011, 03:50

Alright, thank you for your clarification, Iridium. It confirm what I was not sure about.
For the moment, I just work on Muscle & Light configs. If I understand well, the Tuner is kind of average, so we should be able to easily choose some average values when the 2 extreme configs will be done.

Iridium {l Wrote}:You can't really HOLD a drift in STK...

Maybe it will come soon with the skidding ^^

Iridium {l Wrote}:Plus - What about an Offroad parameter?

I'm not sure of that... should we encourage players to go offroad ?
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby hiker » 21 Jul 2011, 04:26

Kinsu {l Wrote}:
Iridium {l Wrote}:Plus - What about an Offroad parameter?

I'm not sure of that... should we encourage players to go offroad ?

At this stage this is not supported, but we could add that in. Atm the slowdown is set in the materials.xml file, e.g.:

{l Code}: {l Select All Code}
  <material name="earth.png" slowdown-time="4" max-speed="0.5"/>

(see wiki for explanations). Those values could be multiplied with a kart-specific factor. E.g. we could define a slowdown-time-factor and a max-speed-factor. If the factor is <1, the kart would be more affected, if the value is >1, the karts would be affected less.

Also if useful we could add a 'no graphics' option to STK: this would run STK without any display (so you have to specify track, number of karts etc. on the command line). Without graphics STK is a lot faster, and it already can print some statistics at the end, e.g.:
{l Code}: {l Select All Code}
Mozilla  start 1  end 1 time 186.983337
Mozilla  start 2  end 3 time 203.369263
Mozilla  start 3  end 4 time 207.805817
Mozilla  start 4  end 2 time 193.509750

In this case I was using 4 mozilla karts, but you can see that it tells you at the end that the last mozilla ended up being second.This would allow you to gather some statistics about karts, e.g. by getting the same karts racing against each other on all track, with various start positions - literally doing 100 of runs. If you find that useful, please put a ticket in trac.

Cheers,
Joerg
hiker
 
Posts: 1435
Joined: 07 Dec 2009, 12:15
Location: Melbourne, Australia

Who is online

Users browsing this forum: Bing [Bot] and 1 guest