The Best Method Of Sprinting (Mathematical Analysis of The CurveValue Function)
10 months ago
United States

I tried to post this here earlier but the content was continuously rejected and nothing was really working. I should have guessed that I wasn't going to be able to submit a colossal paper here in raw text (exaggeration, it's actually not that big), so I decided to upload it to a discord message, copy the link, and send it that way. I'm hoping this works otherwise I'm gonna look real stupid.

Anyways, here's the link to the PDF file!

Sorry for the awkward work-around.

Also, If I'm violating any rules by submitting a link like this here, then please let me know or, alternatively, take the post down if you have the power to do so.

編集者 投稿者 9 months ago
Goglol これを好き

Hi, I read through your paper. Optimal sprinting was something I looked into experimentally before so it's cool to see someone dive into the math.

I found your paper a little difficult to follow for a few reasons:

  • The paper's organization was a bit confusing. You start by talking about CurveValue, then you prove a general result about a type of recurrence relation, then you talk about FPSFactor, then you prove some more general results from calculus in an arbitrary order, then you start an Analysis section where you go back to talking about CurveValue. Your equations are lettered out of order too.
  • I understand that you proved those general results for the sake of readers who might not be familiar with them, but I feel like anyone who can understand the rest of your paper is likely already familiar with things like L'Hôpital's rule or geometric series, so I don't think all that explanation is necessary. In particular you spend a lot of time deriving a limit expression for the exponential function. (One common definition of e is the limit of (1+1/n)^n as n approaches infinity. Using this definition could've saved you a page or two.)
  • Although you went into detail proving those general results, some of that detail is missing in the actual analysis work of the game. I had to check most of the equations in the Analysis section myself to be able to follow along.
  • There's a number of writing errors, inconsistent italicization of variables, use of some variables without introducing them first, use of the same variable for two different purposes, etc.

Nevertheless, after a few hours, I believe I've understood the paper. I agree with the calculations, although I have a couple concerns:

  • p(n) doesn't represent the player's average speed across the nth sprinting & walking cycle, but rather the player's speed at the very end of the nth cycle, which is gonna be a local minimum of the player's speed during the process. It may be true that this minimum speed increases as the length of the stamina interval decreases, but what about the average speed? What if you can achieve a greater average speed with a lower minimum speed (i.e. a larger stamina interval)?
  • You make a useful approximation by letting the framerate f approach infinity. You say this approximation has negligible error, but this approximation is used twice with every sprinting & walking cycle, and hence infinitely many times as you let the number of cycles approach infinity. How can you be sure this error isn't accumulating with every cycle, throwing off your results?

I also found a handful of inconsequential mistakes:

  • In your equations for stamina on pages 12 and 13, you use the variable x without introducing it, but it seems like you meant for it to represent elapsed time. It's really supposed to represent the number of elapsed frames, which you usually express as n, and n = xf, so your equations are missing a factor of f. Consequently, your equation for the depletion/regeneration time of a stamina interval incorrectly includes a factor of f, implying that the depletion/regeneration time is proportional to the framerate, which is clearly false!
  • The term p(n) − 2.5 in your first expression for p(n+1) on page 13 should instead be p(n) − 0.045.
  • You use differentials like dx quite freely in your proofs of the general calculus results. The use of differentials like this is mostly notational trickery and is not rigorous unless you're working with differential forms. I would instead use the limit definition of a derivative when proving these results.
  • One of your hypotheses for your statement of L'Hôpital's rule is that f(a) = g(a) = 0, but this only works if f and g are continuous. What you really need is for the limits of these functions at a to be 0, not the values.
  • Things like e^x and f(x)/g(x) are expressions, not equations.

Let me know your thoughts!

編集者 投稿者 9 months ago
United States

I greatly appreciate your feedback! I'll start by addressing your issues with reading it:

  • (On Point One) I can understand your difficulty with reading through the context segment; it's very jumpy. To fix this, I will probably move the discussion of the CurveValue function down to the bottom. Also, I forgot to alphabetically reorder my equations, so I will be fixing that issue.
  • (On Point Two) To me personally, proving everything is vital specifically due to the target audience; my reasoning for this is mentioned on the pdf. Also, I VERY MUCH appreciate your idea on a faster derivation of exponential identity. However, the idea is insufficient for proving the equation mentioned in the pdf, as the equation excludes the behavior of numbers in the numerator within the parentheses.
  • (On Point Three) A lot of the math in between had to be excluded to reduce the size of the paper. I decided that the pdf was already kind of long, so I didn't want to add to much obnoxious math.
  • (On Point Four) The pdf had initially intended to be posted on the forum in raw text, so when that failed, I had to copy the data into a place where I could print a pdf resulting in the loss of italicization. I attempted to go back in and fix this error, but I guess I missed a few. I greatly appreciate you pointing this out. I will be fixing this.

As for your points with calculation concerns:

  • (On Point One) While writing the pdf, I was already aware that the equation I was deriving did not represent the average speed for all distances. However, it DOES represent the average speed for large distances and high fps (which is the focus of the pdf). This is because when the FPS and the distance increase the squeeze theorem can be taken into account. But you do graze against a really interesting point; what about all distances? This is one of the many things I decided to exclude from the analysis because this problem became extremely complicated. On my second part of the analysis, the pdf is already extremely long and features Lagrangian Inversion, the Lambert W function, advanced hyperbolic trigonometry, etc. But for the purpose and requirements of this pdf, you will not be able to achieve a greater average speed with a larger stamina interval; it basically just wastes too much time which can be seen with the derived equation for overall average speed.
  • (On Point Two) The error you hypothesized will not occur at all. With our assumptions considered, the value of all referenced exponentials will approach one; all of their exponents are negative. It may also be observed that all values of these exponentials will still approach one even while accounting for their framerates using Equation E, because their values will be less than 1. But I do very much appreciate you pointing this out; it is something I should have probably explained further.

Finally, those pesky little mistakes:

  • (On Point One) My unintroduced use of x comes from my initial modeling of the function, where I used x to represent frames elapsed rather than time. I accidentally left this in, so I will be fixing it.
  • (On Point Two) I accidentally left this in by mistake because when I was previously modeling the function I was using speed independent values. As I was remodeling these functions for easier comprehension, I forgot to replace that value. Thank you for pointing this one out; I was wondering if I got them all.
  • (On Point Three) My use of df is due to desmos absolutely not cooperating with me while I was trying to insert the delta symbol, so I decided to use d instead. I'm probably not going to be fixing this one as it really doesn't matter too much.
  • (On Point Four) This one is already handled by use of the word "near", as it implies that these values cannot be determined at the point a. Also, the functions do not need to be handled more vaguely, as the assumption that f and g are continuous works as well.
  • (On Point Five) I chose not to label every expression as "Expression [Symbol]"; I deemed that if I were to then it may add a layer of confusion and more convolution to the actual point of the pdf.

Thanks for the response!

  • Regarding Equation G in your paper, it's easy to prove from the limit definition of e I mentioned. Technically your Equation G has another exponent c but this can easily be tacked on due to continuity. In fact, some see the limit of (1+x/n)^n as n approaches infinity to be the very definition of the exponential function, which would make proving Equation G even easier.
  • I'm not sure what you mean by p(n) representing average speed for large distances and high fps. I think you mean you can use the squeeze theorem to show that, as the length of the stamina interval approaches 0, both the minimum speed p(n) and the maximum speed approach 0.0261, so the average speed must also approach 0.0261. I agree, but this doesn't mean letting the length of the stamina interval approach 0 gives you the greatest average speed; it just means that it gives you an average speed of 0.0261.
  • Regarding the approximation, did you mean to say that the exponentials in the approximation as well as the term (1 − F/s)^n in Equation E will approach 0, not 1?
  • Your calculus proofs would still be missing some logic if the differentials were replaced with finite differences using Δ like you suggested. You've gotta use limits somewhere, at least implicitly, to prove things like the chain rule or L'Hôpital's rule. I've never seen these rules proven like this so I'm curious if this is how you learned them.
  • I saw the word "near" but you didn't use it for the hypothesis that f(a) = g(a) = 0. Unless you specify that f and g are continuous, their values at a aren't relevant for the proof. When you eventually use the rule, it's true that the functions you use it on are continuous, but your proof of the rule is missing that part of the hypothesis.
  • Regarding expressions vs. equations: the only labeled equation that isn't technically an equation is Equation H. I was moreso talking about the unlabeled expressions that you called equations in your writing (e.g. "consider the following equation").

Let me know if I'm coming across as too critical. I have no ill will; I'm just contributing to the discussion.

United States
  • The main issue that I have with the use of the exponential identity is that involving it like that introduces it without context, proof, or the BEHAVIOURAL SIGNIFICANCE of X relative to how the identity was derived. When I was initially making the pdf, I actually did consider writing the exponential identity very similar to how you mentioned, but after some thought, I decided it would be too much of a jump when comparing to part two and the rest of the pdf.
  • In the final part of the analysis, it can be seen in the function of average speed that it has a consistently negative derivative (applied to the boundaries permitted by game stamina and time). Therefore, the maximum value may be located near 0. This was actually mentioned near the end, but very briefly. But I should absolutely make this more clear.
  • I should have specified, but the exponentials in the FINAL equation will approach 1, not 0. Sorry about that.
  • The use of the differentials where you are suggesting was actually intentional. Variables like dx and dy were actually initially used as variables describing a number that approaches zero. I often times take heavy advantage of this ancient notation (mostly out of laziness, because I don't wanna have to use latex to write a limit). When I was talking about using the greek delta, I was referring to my use of it on page 5.
  • Defining both f and g as continuous, although considered, was scrapped because I deemed that it really didn't matter that much. The mathematical ideas in the document were derived considering their applications to the math at hand. Some information had to be excluded for simplicity's sake if such information could already be intuitively inferred. Although it is a good idea if I'm being really tedious, it's not needed in this scenario; the general functions included within the pdf may all be considered continuous (except for a few obvious ones, like the recursion functions).
  • Yeah that one is a bit of a silly mistake, and I'll probably fix those kinds of errors as it wouldn't decrease the overall comprehensibility.

Btw, I don't consider any criticism as too critical unless it's rude. As far as I can tell, you have been polite and EXTREMELY helpful for me! Not only am I glad that somebody read through the math I wrote out, but I'm also very glad that somebody actually gave me feedback to improve the document. I cannot thank you enough.

United States

Alright, I just went back through and fixed a few of the mentioned errors, found and fixed a couple that were unmentioned, enhanced the readability a bit, and added a few explanations for things that were only briefly described. Hopefully this helps the paper out a bit.

United States

Hey Rtlp!

I'm incredibly interested in reading your paper but it seems the download link no longer works.

Is there any way you could re-upload it or potentially shoot it to me over DM?

Thanks!

ゲームスタッツ
フォロワー
433
走行
744
プレイヤー
187
最新ニュース
Small rule changes / Verifier applications are open!

(I guessed the link for this so I hope it works)

Hi! First things first, I'm Amy, the newest Admin / Super Moderator!

Next, a few rules have been changed:

  • All runs must show the version number

  • Set Seed Inbounds and Random Seed Inbounds runs no longer require 008 to be contained.

Lastly

6 months ago
モデレーター