Brainstorming: Stronger vs. Faster?

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 21 Jul 2011, 05:07

It could be really useful to make sure the different kart configs have equal chances to win.

Just added ticket #337 : https://sourceforge.net/apps/trac/super ... ticket/337
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby Funto » 21 Jul 2011, 22:02

Just a quick note, for the "end user", I think we should have only 3 progress bars with "max speed", "acceleration" and "weight" (which are somehow standard) to choose the kart they would go with :)
Funto
 
Posts: 459
Joined: 09 Dec 2009, 13:47
Location: Bordeaux, France

Re: Brainstorming: Stronger vs. Faster?

Postby Arthur » 21 Jul 2011, 22:28

I think keeping it simple is the key. Adjusting more values might not be too noticeable to the end user, and adds much extra complexity to the tuning. Speed (especially acceleration), turning radius and weight is the most important ones; any additional tuning should only be done if it adds some noticeable value to the game. IMHO anyway. ;)
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 » 22 Jul 2011, 03:19

Totally agree with you, Arthur. At first, I tried to tweak every value... But I then concluded that "gear", "engine", "mass", "turn" are the key attributes. Then, for the nitro, zippers, explosion, it's not as important (only little changes).
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby hiker » 22 Jul 2011, 03:25

Funto {l Wrote}:Just a quick note, for the "end user", I think we should have only 3 progress bars with "max speed", "acceleration" and "weight" (which are somehow standard) to choose the kart they would go with :)

I agree with that, we certainly want to give a simplified version to the user. The only parameter that might be needed (if we decide to modify it) would be 'off road' handling, e.g. potentially changing the impact on driving off the road.

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

Re: Brainstorming: Stronger vs. Faster?

Postby hiker » 22 Jul 2011, 03:28

Kinsu {l Wrote}:It could be really useful to make sure the different kart configs have equal chances to win.

Just added ticket #337 : https://sourceforge.net/apps/trac/super ... ticket/337

Thanks. I have for now assigned it to 0.8.1, but don't panic: I intend to implement it much earlier (it just wouldn't be a release blocker for 0.7.3). Stay tuned :)

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

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 24 Jul 2011, 14:51

After quite some time of tweaking & testing, here is what I got for the difficult mode). Please try it, and tell us your feedback !

EDIT : modified values : turn was not correct for heavy karts.
Kart_test_light_heavy.zip
4 tweaked characters package (2heavy & 2light). Backup the karts in your Data/karts folder, then remove them and add the ones from this package.
(1.33 MiB) Downloaded 408 times


For the curious, here are the values (based on hikari's ones) :

Heavy :
{l Code}: {l Select All Code}
    <mass value="350"/>

    <!-- 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 800"  max-speed="15 18 23.8" brake-factor="10"
          max-speed-reverse-ratio="0.65"/>

    <!-- 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.45 0.70 1" power-increase="1.5 1.7 2.5"/>
             
    <!-- 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="10 18.5"
          time-full-steer ="0.32" time-full-steer-ai="0.1"    />
         
    <!-- 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.5" collect-time="2" use-time="5"
              add-power="2.7" min-speed="10"
              max-speed-increase="10" duration="0.7" fade-out-time="1"/>

    <!-- 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="2.5" consumption="2" small-container="1" big-container="3"
           max-speed-increase="6" duration="0.7" fade-out-time="1.3"/>
           
    <!-- If a kart starts within the specified time after 'go',
         it receives the corresponding bonus from 'boost'. Those
         fields must have the same size, and must be sorted by
         increasing times. -->
    <startup time   = "0.3 0.5"
             boost  = "3.8 2"  />
   
    <!-- 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" />

Light :
{l Code}: {l Select All Code}
    <mass value="200"/>
 
    <!-- 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 350"  max-speed="19 23 23" brake-factor="12.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.20 0.55 1" power-increase="3.5 3.5 2.5"/>
         
    <!-- 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="10 14.5"
          time-full-steer ="0.2" time-full-steer-ai="0.1"    />
   
    <!-- 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="11" collect-time="1.5" use-time="3"
              add-power="3.2" min-speed="10"
              max-speed-increase="4" duration="1.2" fade-out-time="2.3"/>

    <!-- 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.5" consumption="1" small-container="1" big-container="3"
           max-speed-increase="4.5" duration="1.5" fade-out-time="2.5"/>
   
    <!-- If a kart starts within the specified time after 'go',
         it receives the corresponding bonus from 'boost'. Those
         fields must have the same size, and must be sorted by
         increasing times. -->
    <startup time   = "0.3 0.5"
             boost  = "6.5 3.5"  />

    <!-- 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.1" radius="5.5"
         invulnerability-time="7" />
Last edited by Kinsu on 25 Jul 2011, 15:53, edited 1 time in total.
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby Auria » 25 Jul 2011, 02:43

I tried your settings a bit; th difference is subtle but can be felt, I find this interesting. Can more people test? :)
Image
User avatar
Auria
STK Moderator
 
Posts: 2976
Joined: 07 Dec 2009, 03:52

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 25 Jul 2011, 03:48

Auria {l Wrote}:the difference is subtle but can be felt

Yes, it is especially noticeable at the start of the race (heavy karts are really long to accelerate), when you hit another karts (light karts are bumped away), when you are in max-speed (heavy karts are a little faster), when you use nitro (heavy karts have a powerful boost, yet consume a lot), when you turn (light karts have a good handling, heavy karts are harder to manipulate)...

There are also some other little things, as the explosion time reduced for heavier karts (as they already take a lot of time to accelerate), the slipstream easier to get for light karts, etc. etc.
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 25 Jul 2011, 16:09

Auria {l Wrote}:the difference is subtle

I admit I was a little surprised when I read that : I did everything to make it obvious. Indeed, according to Murphy's law, I changed a little parameter and forgot to test it before posting the package. I've just updated it and the values, now the 2 driving styles should be completely different.

On Crescent crossing, with a light kart I try to take perfectly the turns, and with heavy kart I just try to keep my speed up and to bump away other karts :D
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby Auria » 26 Jul 2011, 01:26

No, when I said "subtle" I didn't mean "barely noticeable", I rather meant "not too exagerated", so I really I said it in a good way ;)
Image
User avatar
Auria
STK Moderator
 
Posts: 2976
Joined: 07 Dec 2009, 03:52

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 26 Jul 2011, 03:23

Alright ^^

Please more people test these configs when you have the time ! :)
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby Tuxfan » 26 Jul 2011, 20:48

I tested your new config and somehow the changes do not feel subtle - the driving experience has changed significantly.
Light karts: At the moment I prefer those because of their nitro efficiency and better steering. I could even push my highscore a bit further with goey.
New driving experience: When driving on the sandtrack I used a zipper and some nitro while driving up the ramp in order to overtake the first player ... and crashed in the pyramid's ceiling. -> Light karts may need more space when jumping.
Heavy karts: They are a lot more difficult to use. I guess that more dedicated player will like them. New driving experience: Surprisingly it is easier to use slipstream with heavy karts, since they approach other karts more easily through their greater maximum speed. When driving on the new snow peak track I became first after one lap and stayed first until the end of the last lap. But at the end one anchor changed everything :x
Tuxfan
 
Posts: 92
Joined: 09 Mar 2010, 21:16

Re: Brainstorming: Stronger vs. Faster?

Postby Maxxametar » 26 Jul 2011, 21:10

Have today the karts the same Charateristics? (they have the same acceleration, max speed,..)
But I think "long" karts (Big Bug Bunny Bug rider) can turn better (and more precise) compared to small carts (Hexley)
Have you watched this phenomen too? (or is it nonsense?)
Maxxametar
 
Posts: 8
Joined: 03 Jul 2011, 15:22

Re: Brainstorming: Stronger vs. Faster?

Postby Arthur » 26 Jul 2011, 21:54

Yes today the karts have the same theoretical characteristics. In reality, kart physics do come into play, so there is some difference anyway. What those exactly are, I'm not too sure of, but after playing with Tux all these years it doesn't feel right when I try another one for a change. That could mostly be a matter of habit though. ;)
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 » 27 Jul 2011, 03:43

Thank you for your feedback, Tuxfan !
Tuxfan {l Wrote}:But at the end one anchor changed everything :x

Yes, for heavy karts this is fatal to get an anchor or a cake. I reduced the explosion time for them to balance this, but I think the anchor's parameters are the same for every kart.
However, I think this is part of the heavy gameplay : always remembering to keep some nitro in case :). It's less intuitive than light karts driving, but I think it's interesting and that it has a good potential. I really enjoy crushing light karts with heavy ones too :lol:

Arthur {l Wrote}:In reality, kart physics do come into play, so there is some difference anyway.

Yes, this is obvious when you try to push Mozilla with Hexley, and vice versa :D

Don't hesitate to test the tweaked params (in difficult mode) up there to tell us how you feel about the new gameplay !
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby Arthur » 27 Jul 2011, 03:59

Will test it soonish, I hope.
There's just been a lot of stuff to test in SVN recently... :D
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 hiker » 27 Jul 2011, 13:54

I've started implementing the no-graphics option. Missing atm is an option to specify which karts to use.

Output atm (this was a run with two nolok karts):
{l Code}: {l Select All Code}
Profiling 2 laps
Number of frames: 1956 time 23.375002, Average FPS: 83.679138
Nolok  start 1  end 2 time 32.599674
Nolok  start 2  end 1 time 32.449677
min 32.449677  max 32.599674  av 32.524673

So you see which karts start at which position, end at which position, and the finishing time.

Is there anything else that would be useful to print or set?

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

Re: Brainstorming: Stronger vs. Faster?

Postby Arthur » 27 Jul 2011, 14:11

Maybe average speed could be handy?
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 Crendgrim » 28 Jul 2011, 09:58

If it is somehow possible, an indicator which way was taken when your track splits (like in Amazonian Journey); this probably would be very useful for track designers to make sure both track parts are of the same length.
Crendgrim
 
Posts: 227
Joined: 03 May 2011, 21:59

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 28 Jul 2011, 11:50

If this is not too long to add, some stats about resets & explosions : how many times did the kart exploded and were reset...

Maybe also the number of collisions with other karts (this will rather be useful when the IA will take in account the character's ability to crush others or to be crushed than right now).

--
Sorry to keep reminding it, I tell it for people who do not know it yet :D : please test the new kart params and tell us what you think : get them up-there !
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby Arthur » 28 Jul 2011, 22:16

I did finally test the karts briefly, and it feels quite nice. Using the new no-gfx option, it should be possible to balance it pretty evenly, and that will certainly make the game much richer. :)
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 » 29 Jul 2011, 03:39

Thank you for testing & telling, Arthur :)

Seems like it's not too bad, so I'll try to adapt it for the medium and easy difficulty levels, and add a medium kart config.
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Re: Brainstorming: Stronger vs. Faster?

Postby hiker » 29 Jul 2011, 06:17

Note that current SVN has now support for --no-graphics and --ai= (followed by a comma-separated list of kart identifiers). I'll add more statistics, but this should already be useful for you (I hope).

Here a quick script I used to do some profiling with STK. There might be a typo or two in the newly added parameters here. Adjust the parameters (like track list and kart list):
{l Code}: {l Select All Code}
for track in data/tracks/*/track.xml; do
    a=${track%%/track.xml};
    trackname=${a##data/tracks/};
    if [ $trackname == "cave"       ]; then continue; fi    # Exclude some track, esp. arenas
    if [ $trackname == "stadium"    ]; then continue; fi
    for kartname in mozilla tux; do
        for numkarts in 4 ; do
            ./src/supertuxkart --track $trackname -k $numkarts --kart $kartname --ai=tux,wilber,mozilla --mode 3 --profile-laps=9 --no-graphics >>stdout.$trackname.$kartname$numkarts
            # for profiling:
            #gprof  src/supertuxkart gmon.out >profile.$trackname.$kartname$numkarts
            #mv gmon.out gmon.out.$trackname.$kartname$numkarts
        done
    done
done


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

Re: Brainstorming: Stronger vs. Faster?

Postby Kinsu » 29 Jul 2011, 17:44

Thank you Hiker ! It'll be useful :)
User avatar
Kinsu
 
Posts: 476
Joined: 15 Mar 2011, 14:28

Who is online

Users browsing this forum: No registered users and 1 guest