Rubber settings

Post here if you need help setting up your server, etc.
Post Reply
User avatar
Self_Destructo
Round Winner
Posts: 317
Joined: Tue Jun 07, 2005 1:24 am
Location: HillBilly Country
Contact:

Rubber settings

Post by Self_Destructo »

I kinda need to know the rubber settings available and what eacj of them do. 2.8 is behaves differently so the 2.7.1 rubber settings kinda don't work the same way.
User avatar
TiTnAsS
Match Winner
Posts: 655
Joined: Sun Jan 23, 2005 2:44 am
Location: Reppin the Bay Area!

Post by TiTnAsS »

O_O Half of us don't even know! Z-Man prolly knows emall though haha.

EDIT: I'd actually like to know to now that i think about it a little :)
Damn, it sure has been a while!
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

Aren't they clearly described in settings.cfg? :?
User avatar
TiTnAsS
Match Winner
Posts: 655
Joined: Sun Jan 23, 2005 2:44 am
Location: Reppin the Bay Area!

Post by TiTnAsS »

Nope, not for people who are slower like me..
Damn, it sure has been a while!
User avatar
Z-Man
God & Project Admin
Posts: 11717
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Whoops. Describing the new settings in the docs is on my invisible todo list. I'll do so a bit more quickly, then copy-paste the texts here.
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6712
Joined: Thu Dec 18, 2003 7:03 pm

Post by Tank Program »

There's a thread or two describing most of the new ones in this section too, I think.
Image
User avatar
Z-Man
God & Project Admin
Posts: 11717
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

The new docs say about rubber (now would be a good time to point out typos and nonunderstandable mumbo-jumbo):

The CYCLE_RUBBER setting is a niceness thing, especially useful in an internet game where player prediction is poor: if you hit a wall, you are not directly deleted; you are stopped for a short time and your supply of "rubber" is decreased. If you manage to turn fast enough, you won't die. Rubber has three aspects: how close you can get to walls, how fast you do so, and how long long you survive.



How close you can get to a wall is determined by the CYCLE_RUBBER_MINDISTANCE family of settings. All contributions are summed up. The basic one is CYCLE_RUBBER_MINDISTANCE itself: you won't be able to get closer to a wall than that. CYCLE_RUBBER_MINDISTANCE_RATIO is there to avoid trouble with inexact internal calculations: The lenght of the wall in front of you is multiplied by this value, then added to the effect of CYCLE_RUBBER_MINDISTANCE. The next two contributions influence gameplay: CYCLE_RUBBER_MINDISTANCE_RESERVOIR gets multiplied with the rubber you have left to burn. If your rubber meter shows no rubber used, the effect is in full force; if your rubber meter is almost full, there is virtually no effect. CYCLE_RUBBER_MINDISTANCE_RESERVOIR makes grinds where you use up all your rubber deeper. CYCLE_RUBBER_MINDISTANCE_UNPREPARED gets added if your last turn was only a short time ago; if you turn right into a wall, it is at full effect; if your last turn was more than CYCLE_RUBBER_MINDISTANCE_PREPARATION seconds ago, the effect gets weakened approximately inversely proportional to the time since the last turn.


All these MINDISTANCE settings get overridden if your last turn was already very close to a wall (like the maneuvers known as 180s and adjusts), your cycle is allowed to get closer to the wall by the factor CYCLE_RUBBER_MINADJUST before they kick in.


How fast you are allowed to approach a wall is determined by CYCLE_RUBBER_SPEED. It's a logarithmic speed; you will be able to make half the distance to a wall in no less than T=ln(.5)/CYCLE_RUBBER_SPEED seconds, make the next quarter in another T seconds, and so on; you never reach the wall completely. Rubber usage gets activated only if your current speed is larger than the speed determined by this (<distance_to_wall>*CYCLE_RUBBER_SPEED) at every moment).


The main variable that determines how long you survive is CYCLE_RUBBER. In network games, your ping (in seconds) is multiplied by CYCLE_PING_RUBBER and added on top of that. How much rubber is used is based on the distance you would have covered had the rubber not stopped you or slowed you down. If you use up all your rubber, it loses its effect and usually you die. Your reservoir gets refilled slowly over a timescale determined by CYCLE_RUBBER_TIME (defaults to 10 seconds).


Since rubber is based on distance, it is used up faster if you go faster. You can change that with CYCLE_RUBBER_TIMEBASED; set it to 1 to base the rubber usage on time instead. You can also set it to 2 to make rubber even more effective as you go faster, or -1 to make it more ineffective than usual when you go fast. Intermediate values are also allowed.


How would you call it if you drive parallel close to a wall, then turn towards it? I'd call it stupid. To punish this stupidity, the rubber efficency can be modified for a short time after each turn (so more rubber is used than usual). To activate this, set CYCLE_RUBBER_DELAY to a positive value. For CYCLE_RUBBER_DELAY*CYCLE_DELAY seconds after every turn, the rubber efficiency gets multiplied with CYCLE_RUBBER_DELAY_BONUS. Values smaller than 1 will increase rubber usage, a value of zero deactivates the rubber protection completely for that time.


Summary: You're certainly confused about all these settings for such a simple feature; the most important ones to play with first are CYCLE_RUBBER, CYCLE_RUBBER_SPEED (set it to something low to feel its effect) and CYCLE_RUBBER_TIME. They determine how long you survive, how fast you grind, and how fast your rubber replenishes (in that order).
User avatar
TiTnAsS
Match Winner
Posts: 655
Joined: Sun Jan 23, 2005 2:44 am
Location: Reppin the Bay Area!

Post by TiTnAsS »

old post, you already awnsered in tanks post :) + i figured out on my own b4 that
Damn, it sure has been a while!
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

z-man wrote:CYCLE_RUBBER_MINDISTANCE_RATIO is there to avoid trouble with inexact internal calculations: The lenght of the wall in front of you is multiplied by this value, then added to the effect of CYCLE_RUBBER_MINDISTANCE.
z-man wrote:It's a logarithmic speed; you will be able to make half the distance to a wall in no less than T=ln(.5)/CYCLE_RUBBER_SPEED seconds
In no less than ln(.5)/(positive CYCLE_RUBBER_SPEED)<0 seconds? Very likely.
User avatar
Z-Man
God & Project Admin
Posts: 11717
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Check the dates, the answer in tank's thread is pretty old :) Still, I'll probably copy/paste the other settings from there to the docs.
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6712
Joined: Thu Dec 18, 2003 7:03 pm

Post by Tank Program »

Still, definetely helpful information.
Image
Post Reply