How to write this math formula in Lua? — Gideros Forum

#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

# How to write this math formula in Lua?

Member
edited August 2020
Hi guys!
Do you know how to express these 2 math formulas in Lua?
(They're from this old gamasutra article on clicker games: https://www.gamasutra.com/blogs/AnthonyPecorella/20161013/282422/The_Math_of_Idle_Games_Part_I.php )
While putting all this together, I derived two very useful formulas that will save you from brute-forcing with some lengthy for-loops. The first will calculate the cost of bulk-buying generators, the second will calculate the max generators you can buy with your current funds. These will only work for simple exponential growth that doesn't have shifting costs or exponents, so make sure your particular application works for it. For both of these, the variables are:

$n$ = the number of generators to buy
$b$ = the base price
$r$ = the price growth rate exponent
$k$ = the number of generators currently owned
$c$ = the amount of currency owned

Formula 1:
$cost = b * \frac{r^k(r^n-1)}{r-1}$

Formula 2:
$max = floor(log_r(\frac{c(r-1)}{b(r^k)}+1))$
Many thx!
> Newcomers roadmap: from where to start learning Gideros
"What one programmer can do in one month, two programmers can do in two months." - Fred Brooks
“The more you do coding stuff, the better you get at it.” - Aristotle (322 BC)﻿

• Member
My guess
 local log = math.log   local function myLog(v, base) return log(v) / log(base) end   cost = b * (r ^ k * (r ^ n - 1)) / (r - 1) max = ( myLog( (c * (r - 1)) / (b * (r ^ k)) + 1, r ) ) // 1
\frac:

And log_r is a regular log with "r" base.

Likes: Apollo14

+1 -1 (+1 / -0 )Share on Facebook
• Member
edited August 2020
Thx a lot @rrraptor ! I guess it's what I need!

p. s. I've also found out that original ugly expression can be made more readable with https://www.mathjax.org/#demo
(they've mentioned it in the article, but I didn't notice at first)
> Newcomers roadmap: from where to start learning Gideros
"What one programmer can do in one month, two programmers can do in two months." - Fred Brooks
“The more you do coding stuff, the better you get at it.” - Aristotle (322 BC)﻿