Update 5/19/2007

Started by Vitoc, May 19, 2007, 09:32:38 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

Quote from: Vitoc on June 19, 2007, 03:59:43 PM
Either I'm not understanding what you mean or that makes no sense at all.

you just didn't' get it how I said it. Just multiply the total time pen by the current enc percentage as a decimal value of 0 to 1 and use that as the final penalty value.

0% @ 1s = 0
100% @ 3s = 3s

The percentages in between like 10% 25% 50% 80% however will curve more gracefully then.

Like if your at 10% just use 1.2 *.1 or 50% would be 2.0 * .5....

Although you might have to raise the max delay though if you go this route. If you graph it though you'll see what I mean.

I think you're over-complicating this TCA... why have a variable delay multiplied by a variable percentage?  Wouldn't it just be easier to do:
0%  0ms
50%  1.5ms
100%  3ms

eg, 3ms * enc percentage
Or 2ms, or whatever.  Easily adjustable.  Basically what Vitoc has done without having a starting delay for enc.
But looking at it, I think you need that starting delay, it just needs to be less than 1 second.  I agree with Vitoc's proposal, ramping delays from 0.5 to 2.5.  At least to see how it goes.
If we can hit that bulls-eye, the rest of the dominoes will fall like a house of cards.? Check-mate!

Where it does seem like a better Idea to graph TCA's crazy thoughts vs time of day posted than to graph out whatever that jazz was, I'm still sitting here thinking....1 second delay, or 2 second delay at 66%.

The original suggestion is linear.

TCA's suggestion is quadradic.  He just worded it strangely.  It's sort of like Y=X(X+C) + (X+C).  Anyway.  He's just suggesting you scale the encumbrance penalty quadratically.  I think it's not a bad idea.

quadratic:
delay = (max-min) * enc^2 + min

linear:
delay = (max-min) * enc + min

Or even better:
delay = (max-min)/2 * enc^2 + (max-min)/2 * enc + min

Quote from: The Crazy Animal on June 19, 2007, 08:19:24 PM
you just didn't' get it how I said it. Just multiply the total time pen by the current enc percentage as a decimal value of 0 to 1 and use that as the final penalty value.

0% @ 1s = 0
100% @ 3s = 3s

The percentages in between like 10% 25% 50% 80% however will curve more gracefully then.

Like if your at 10% just use 1.2 *.1 or 50% would be 2.0 * .5....

Although you might have to raise the max delay though if you go this route. If you graph it though you'll see what I mean.
I think I understand what you're suggesting.

Here are some basic principals we need to follow though:

For starters, there needs to be a minimum movement delay; the only question is what to set it to.  It's currently at 1.0 seconds, but we can change it to .75 or .5 or whatever.  Otherwise with no delay it would be damn near impossible to ever catch someone, because they'd be 20 rooms away by the time you read which direction they just moved and typed in that direction yourself.

Next, I don't think the max delay should ever be more than 2 seconds over the minimum movement delay.  That's a huge penalty already when you think about it; traveling 100 rooms will take 300 seconds (5 minutes) vs. someone lighter who would take under 2 minutes.  Couple that with the energy per swing that increases as they get heavier and you've already got compelling reasons to stay as light as possible.  IMO, our goal here shouldn't be to penalize heavy people even further.

So given all that, let's assume a min delay of x.  At 0% your movement delay would be x seconds.  At 100% enc you should not see any more than x+2 seconds for your movement delay, so at 100% the outcome of our formula should be x+2.

Let's use this as a starting point if we're going to do this quadratic thing:
MovementDelay = (0.0002 * (EncPercent^2)) + MinDelay

Let's assume MinDelay = 1.0 seconds
0% = 1.0 seconds
15% = 1.045 seconds
25% = 1.125 seconds
50% = 1.5 seconds
75% = 2.125 seconds
100% = 3.0 seconds

I'm not sure I like the fact that there's only a .5 second difference between 0% and 50%.

I've forgotten nearly everything I learned in Algebra.  How do we "flatten" it out a little more and make the curve less dramatic?


TGS v1.0 (coming soon)

YAY for interchange.... I think I needs to fine me a permanent translator

(0.0002 * (Enc_Percent^2)) + Min_Delay

To flatten the slope of the curve you'd subtract from the value given for ^X if I remember correctly. Unfortunatly my caculater is out of battery power so I can't test it at the moment.

However,

0% = 1.0 seconds
15% = 1.045 seconds
25% = 1.125 seconds
50% = 1.5 seconds
75% = 2.125 seconds
100% = 3.0 seconds

Is fairly close to the slope that I was thinking. You could try making the min delay .75  as you suggested though..

As for being 100% too harsh if raised think of it like this @ 101% you shouldn't be able to move.

Quote from: The Crazy Animal on June 20, 2007, 07:22:35 PM
As for being 100% too harsh if raised think of it like this @ 101% you shouldn't be able to move.
I mean more along the lines of at 50% enc a .5 second penalty is not enough of a penalty, IMO.


TGS v1.0 (coming soon)


June 21, 2007, 10:16:58 AM #23 Last Edit: June 21, 2007, 10:20:51 AM by interchange
Quote from: Vitoc on June 20, 2007, 04:35:51 PM
I've forgotten nearly everything I learned in Algebra.  How do we "flatten" it out a little more and make the curve less dramatic?

You add a linear term :)

The general formula should be:
A*Enc^2 + B*Enc + Min

From this formula, Max = A + B + Min.

The greater A is, the sharper the curve.  The greater B is, the more linear the curve.

Also, when I say Enc, I'm writing it as .68 instead of 68%.  That way the range is from 0 to 1.

Quote from: interchange on June 21, 2007, 10:16:58 AM
You add a linear term :)

The general formula should be:
A*Enc^2 + B*Enc + Min

From this formula, Max = A + B + Min.

The greater A is, the sharper the curve.  The greater B is, the more linear the curve.

Also, when I say Enc, I'm writing it as .68 instead of 68%.  That way the range is from 0 to 1.
Thanks for the info.  This almost makes me want to brush up on my Algebra... *almost*.   ;D

I implemented the basic formula from a few posts ago and it's running on the server now.  I also dropped the minimum delay to .7 seconds, so max delay is 2.7 seconds.  Let's run this for a bit and decide if we want to further tweak it.

I also added a line to our status graphic (http://vitoc.com/GreaterMUD/Status.gif) that shows what content is currently running.  It displays the date the file was converted using nmr, so that will reflect the date dc exported it.



TGS v1.0 (coming soon)

I am not a programer, and do not claim to be, so I am not sure how this would be added into your system of Encumbrance penalities, but in math and on my computer the formula works.

Z=((A/(B/100))*((D-C)/100))*((a/(b/100))/100)

or Z = W*X*Y Where z is the penalty added to the base speed of a character for encumbrance

and W= A/(B/100) or ((A/(B/100)) = actual percentage of you characters encumbrance
if A= Actual Enc
if B= Max Enc

and X= (D-C)/100 or ((D-C)/100)) = Penalty base
if C= speed at 0% enc
if D= Speed at 100% enc

and Y= W/100 or ((a/(b/100))/100) = sliding penalty

((A/(B/100))*((D-C)/100))*((a/(b/100))/100)

this gives you less penalty when your enc is low and gradually addes more until you are at 100 percent enc and 100% penalty

However if you are going to go that far, think about real life. a 200# (fit) man can walk almost all day with no enc and as you slowly add things to your belt, back, arms and your enc goes up, just a little is ok, but the more you add more you not only slow down, but you have to stop and rest more. At 200# I could walk all day with only a stop for meals, but loaded down I would walk slower and I also would need to rest more often.  Just a thought.
Mistic ToeThumper
Colt ToeThumper
galaxybbs.dynalias.com

1.21 gigawatts?!?!?!   :o