Custom Theories
This guide is currently undergoing change. Keep in mind, strategies may change.
Feel free to use the glossary as needed.
Custom Theory Basics #
Custom theories are theories made by players in the community. As of March 2025, there are 9 official custom theories that contribute up to e600 \(\tau\) per theory; Weierstrass Sine Product made by Xelaroc (WSP), Sequential Limits by Ellipsis (SL), Euler’s Formula by Peanut, Snaeky, and XLII (EF), Convergents to Square Root 2 (CSR2/CS2) by Solarion, Fractional Integration (FI) by Gen and Snaeky, Fractal Patterns (FP) by XLII, Riemann Zeta Function by Prop (RZ), Magnetic Fields by Mathis (MF) and Basel Problem by Python’s Koala (BaP). The theories will be abbreviated as WSP, SL, EF, CSR2, FI, FP, RZ, MF and BaP from now on. The choice for a three letter abbreviation for BaP was made to avoid confusion with a previous unofficial custom theory sharing the same initials (Bin Packing).
In order to balance custom theories with the main theories in the endgame, custom theories have a low conversion rate (with two exceptions) from \(\rho\) to
Which Custom Theories (CTs) should I do? #
In general, you want to be as efficient as possible since R9 does not affect custom theories. If you cannot be active, try not to do an active theory or do an active strategy. Some custom theories are more active than normal theories and it is highly suggested that if you are doing active strategy for a Custom theory (SL or FI before all milestones, MF, CSR2, WSP, or early FP) that you do an idle main theory (such as t2, t4, or t6) so that you don’t miss out on \(\tau/hour\).
If you have time for active strategies, try to do the CT with the highest active \(\tau/hour\), or you can chase a spike in
For idle time, do the one with the highest idle \(\tau/hour\), (or the longest publication time if you’re doing overnights), with preference toward EF, SL, BaP, FP past e1050, or FI when you only have 1 milestone to swap. For example, if SL has 2 \(\tau/hour\) and CSR2 also has 2 \(\tau/hour\), ideally we would pick SL. The reason we prefer SL, EF, FP, FI and BaP is because these theories contain multiple growing variables. This means the theories generally require less babysitting as the variables grow by themselves. The assumption of daytime idle is that we can check and publish a theory every 2 hours or so. If you can only check every 8 hours idle, please see the overnight strategy just above.
Graph made by Hackzzzzzz (Source)
Weierstrass Sine Product (WSP) #
WSP Overview #
The very first official custom theory; WSP was developed by Xelaroc, who also came up with some of the strategies used in the theory. The idea behind the theory is to use the factorization of sine to increase \(\rho\). There are multiple equations with this theory, and some may look daunting, so we’ll have a look at each one.
WSP Equation Description #
\(\dot{\rho} = q_1^{1.04}q_2q\)
\(\dot{q} = c_2s_n({\chi}) / sin({\chi})\)
\(s_n({x}) := x\prod_{k=1}^{n}(1-\frac{x}{k\pi}^2)\)
\(\chi = \pi\frac{c_1n}{c_1+n/3^{3}}+1\)
The first line states that the rate of change in
For the second line, the higher the \(\chi\) (spelled ‘chi’, pronounced as ‘kai’), the higher the \(s_n({\chi})\). We want to increase \(\chi\) by increasing \(n\) and \(c_1\). The signs of \(s_n({\chi})\) and \(sin({\chi})\) will always match, so the fraction can’t be negative. Additionally, the \(c_2\) variable is a milestone which is not initially available.
The third line is the most complicated. Generally we can factorize an equation when its graph touches the x-axis. For a sine curve, it touches the x-axis starting from x = 0, and repeats every x= \(\pi\). These multiplied factors form the basis of the Weierstrass Sine Product. A simpler interpretation is that we can see ‘x’ appearing both outside and inside the products in the numerator. Since \(\chi\) is ‘x’ here, the higher the \(\chi\), the higher the \(s_n({\chi})\) as stated earlier.
Finally, the actual \(\chi\) equation: increasing \(c_1\) and \(n\) increases \(\chi\). Note that from the fraction, we don’t want to increase only \(c_1\) or only \(n\). Rather we should increase both. Using standard strategies this should be no problem. The \(n/3^{3}\) part in the denominator is a milestone term. This means that \(n\) is better than \(c_1\) as more \(n/3\) milestones are accumulated.
WSP Variable Description #
Approximate variable strengths on
Brief Description | ||
---|---|---|
q1 | About 7% increase on ρ dot on average. | |
q2 | Doubles ρ dot - instantaneous. | |
n | Initially about 50% increase similar to c1. Slowly ramps up to 4 times increase in ρ dot. At e400 ρ and higher, it is very close to a 4x increase. | |
c1 | Initially about 50% increase. Tends to 0% increase as ρ increases. At e400 ρ the increase is not noticeable anymore. Early in WSP we still buy them throughout. Late in WSP we only buy for the first 20 seconds or so of each publication. | |
c2 | Doubles ρ dot - over time |
WSP Strategy #
Early game the variable strengths are ordered as follows:
\(q_2\) ≈ \(c_2\) > \(n\) > \(c_1\) > \(q_1\)
Late game these become:
\(n\) > \(q_2\) ≈ \(c_2\) > \(q_1\) >>> \(c_1\)
Idle #
Before you get e400 \(\rho\) for idle, simply autobuy all.
Once you have e400 \(\rho\), \(c_1\) starts to become extremely bad. Because of this, the new idle strategy would be to autobuy all for 20 seconds or so. Then turn \(c_1\) OFF. Continue to autobuy the rest of the variables.
Active #
For a simple active strategy before e400 \(\rho\), simply autobuy \(q_2\) and \(c_2\) since they double the rates long term. \(n\) and \(c_1\) give approximately 60% boost (with \(n\) becoming more powerful with milestones and vice versa for \(c_1\)). We will buy \(n\) and \(c_1\) when their costs are less than 50% of the minimum of \(q_2\) and \(c_2\).
For \(q_1\), we will buy it when its cost is less than 10% of the minimum of \(q_2\) and \(c_2\). For example, if \(q_1\) costs 1.2e100 and \(q_2\) costs 1e101, we would not buy \(q_1\) as it’s ‘too expensive’ compared to \(q_2\).
For active strategy, \(n\) starts to become more powerful than \(q_2\). If their costs are similar, we will prioritize \(n\) first. For example, if \(n\) costs 1.4e101 and \(q_2\) costs 1.2e101, we will buy \(n\) first. Similarly to the idle strategy, we will buy \(c_1\) only for the first 20 seconds or so. If you want more information on the different strategies pertaining to WSP, please see List of theory strategies
WSP Milestone Route #
All milestones into the 3rd/last milestone. Then into 2nd milestone, then into 1st milestone.
For milestone swapping, swap all milestones from 2nd and 3rd into 1st milestone. Usually you only do this when you’re about to publish.
0/0/1 | → | 0/0/2 | → | 0/0/3 | ||||
0/1/3 | → | 1/1/3 | → | 2/1/3 | → | 3/1/3 | → | 4/1/3 |
Sequential Limits (SL) #
SL Overview #
SL, the second official custom theory, uses a variation of Stirling’s formula to approximate Euler’s number (e≈2.71828). As upgrades are bought, the approximation becomes more precise, increasing
SL Equation Description #
\(\dot{\rho}_1 = \frac{\sqrt{\rho_2^{1.06}}}{e - \gamma}\)
\(\gamma = \frac{\rho_3}{\sqrt[\rho_3]{\rho_3!}}\)
\(\dot{\rho_2} = a_1a_2a_3^{-ln{\rho_3}}\)
\(\dot{\rho_3} = b_1^{1.04}b_2^{1.04}\)
\(a_3 = 1.96\)
The first line is the main part of the equation. We want to maximize \(\dot{\rho_1}\) to increase
The second equation refers to Stirling’s approximation of Euler’s number ‘\(e\)’. As \(\rho_3\) increases, \(\gamma\) converges to Euler’s number. Long term we can approximate this convergence as linear. The implication is if we double \(\rho_3\), \(\gamma\) will be twice as close to Euler’s number, so \(e-\gamma\) in the first equation will be halved.
The third equation relates \(\rho_2\) with \(\rho_3\) and some upgrades. The most interesting part is the exponent part containing \(ln({\rho_3})\). The negative exponent actually implies that as \(\rho_3\) increases, \(\dot{\rho_2}\) DECREASES. If \(\rho_3\) is high, \(\rho_2\) doesn’t grow as fast (it still grows). This has implication on the first equation as well, since \(\dot{\rho_1}\) depends on \(\rho_2\), which depends on \(\rho_3\).
The fourth equation relates \(\dot{\rho_3}\) with some upgrades. This one is relatively simple; increase \(b_1\) and \(b_2\) to increase \(\rho_3\). The ‘1.04’ exponents are from milestones.
The final equation simply states the value of \(a_3\). The lower the better. Default without milestone is \(a_3 = 2\).
SL Variable Description #
Approximate variable strengths on
Brief Description | ||
---|---|---|
a1 |
Value times 3.5 every 3 levels on average. This comes to about 52% increase in ρ2 dot per level. Since ρ1 is approximately square root of ρ2, overall this comes down to about 23% increase in ρ1 per level. | |
a2 | Doubles in value every level. Doubles ρ2 long term. Increases ρ1 by 40% ish long term. | |
b1 | Value times 6.5 every 4 levels on average. This comes down to about 60% increase in ρ3 dot. Toward the end of a publication, this translates to approximately 60% increase in ρ1. | |
b2 | Doubles in value every level. Toward the end of a publication this doubles ρ1. |
SL Strategy #
All variables in SL are about the same in power, except for \(a_1\) and \(b_1\) (which are slightly worse than \(a_2\) and \(b_2\). Selectively buying variables at certain times (active) yields very little results. Therefore, we can get away with autobuy all for idle. Before autobuy, simply buy the cheapest variable. If you want more details on SL strategies, in particular the execution of various strategies, please see List of theory strategies.
Milestone swapping - why it works #
For active, there is a milestone swapping strategy that is significantly faster than idling (approximately twice the speed). If we carefully examine the effects of each milestone, we can conclude the following:
1st milestone: Increases \(\rho_2\) exponent and increases \(\dot{\rho_1}\) straight away. The actual value of \(\rho_2\) does not increase.
3rd/4th milestone: Increase \(b_1\)/\(b_2\) exponents, and \(\dot{\rho_3}\), and \(\rho_3\). This also increases \(\dot{\rho_1}\). However, the effect is long-term and not instantaneous unlike the effect of the 1st milestone.
We have different milestones which affect the same thing (\(\dot{\rho_1}\)), but one is instantaneous, while the other builds over time. This forms the basis of ‘milestone swapping’, swapping milestones at certain times to maximize \(\rho_1\) per hour. If you’ve done T2 milestone swapping, this should be familiar.
We initially put our milestones in the 4th and 3rd milestones. Once our \(\rho_3\) doesn’t increase quickly anymore, we switch milestones to the 1st one to gain a burst of \(\dot{\rho_1}\). Once our \(\rho_1\)is not increasing quickly anymore, we switch back to the 4th and 3rd milestone!
Milestone Swapping Strategies #
(Courtesy of Gen).
x>x>x>x represent the max buy order of milestones not the amount allocated. For example, 4>3>1>2 means “Allocate everything into 4th milestone, then use leftovers into 3rd milestone, then into 1st milestone, then into 2nd milestone”.
From e75-e100 is 4>3>1>2 (60s) ↔ 1>2>4>3 (60s)
SLMS2 is 1>2>4>3 (30s) → 2>1>4>3 (60s) → 1>2>4>3 (30s) → 4>3>1>2 (60s), with \(b_1\)\(b_2\) off during the first two, and \(a_1\)\(a_2\) off during the last two
SLMS3 is 2>1>4>3 (20s) ↔ 4>3>1>2 (60s)
When to Use Strategies
until e100: SLMS
e100 - e175: SLMS (100-175)
e175 - e200: SLMS3
e200 - e300: SLMS
(note that it depends also on the swapping durations, on the last range SLMS should be run with 60s [4/3/1/2] and 20s on [1/2/4/3] to be best). So from e200-e300, SLMS 4>3>1>2 (60s) ↔ 1>2>4>3 (20s)
For a more precise description of SLMS, check out the theory strategy section.
Post e300+ \(\rho\) #
At this point, the theory becomes very idle. We simply autobuy all variables. Publish at approximately 8-10 multiplier. If you wish to improve efficiency, you can disable \(a_1\)\(a_2\) at about 4.5 publication multiplier and \(b_1\)\(b_2\) at 6.0 multiplier until publish.
SL Milestone Route #
Idle #
0/0/0/2 | → | 0/0/2/2 | → | 3/0/2/2 | → | 3/5/2/2 |
Active #
Milestone Swapping (active)
How to read notation: 4/3/1/2 means put all points into 4th milestones, use leftovers into 3rd milestones, etc.
SLMS is 4/3/1/2 (60s) ↔ 1/2/4/3 (60s)
SLMS2 is 1/2/4/3 (30s) → 2/1/4/3 (60s) → 1/2/4/3 (30s) → 4/3/1/2 (60s), with \(b_1\)\(b_2\) off during the first two, and \(a_1\)\(a_2\) off during the last two
SLMS3 is 2/1/4/3 (20s) ↔ 4/3/1/2 (60s)
When to Use Strategies until e100: SLMS
e100 - e175: SLMS2
e175 - e200: SLMS3
e200 - e300: SLMS
For a more precise description of SLMS, check out the theory strategy section.
Euler’s Formula (EF) #
EF Overview #
This custom theory, along with Convergents to Square Root 2, were released at the same time and is based on Euler’s Formula of
\(e^{i*\theta} = cos{\theta} + isin{\theta}\), where ‘i’ is the complex number.
EF is unique, along with FP, in that all the milestone paths are locked, so there’s no choice in which milestones to take. This was deliberately done to prevent milestone swapping strategies and to balance the theory. Furthermore, the \(\rho\) to \(\tau\) conversion for this theory is uniquely at \(\rho^{1.6}\) rather than the usual \(\rho^{0.4}\) meaning that less \(\rho\) is needed to get an equivalent amount of
EF Equation Description #
\(\dot{\rho} = (a_1a_2a_3)^{1.5}\sqrt{tq^2+R^2+I^2}\)
\(G(t) = g_r+g_i\)
\(g_r = b_1b_2cos{(t)}, g_i = ic_1c_2sin{(t)}\)
\(\dot{q} = q_1q_2\)
\(\dot{R} = (g_r)^2, \dot{I} = -(g_i)^2\)
The first line is the main equation. We want to maximize \(\dot{\rho}\). All the \(a_n\) terms and their exponents are obtained from milestones. Parts of the square root term are also obtained from milestones. Note that the \(R^2\) and the \(I^2\) terms are effectively redundant at all stages of this theory; but due to them purchasing \(a_2\) and \(a_3\) respectively, they are very important.
The second line defines the graph shown. Since \(G(t)\) is graphed on the complex over time, it is possible to have it show as a particle spiraling through space.
The third line describes \(g_r\) and \(g_i\), which are used to generate ‘\(R\)’ and ‘\(I\)’ currencies. This line by itself doesn’t do much.
The fourth line simply describes \(\dot{q}\). This is used in the first equation directly.
The fifth and final line use the results from the 3rd line, so effectively \(\dot{R} = b_1^{2}b_2^{2}cos^2{(t)}\) and \(\dot{I} = c_1^{2}c_2^{2}sin^2{(t)}\)
EF Variable Description #
Approximate variable strengths on
Brief Description | ||
---|---|---|
$$\dot{ t }$$ | Makes t increase faster. Since there are only 4 levels, after a certain point, this variable is effectively fixed. | |
q1 | Standard variable. Doubles every 10 levels. Approximately 7% increase in ρ dot per level over time. | |
q2 | Doubles in value every level. Also doubles ρ dot for each level bought, over time. | |
b1 | Costs R to buy rather than ρ. Increases R by approximately 14% per level. | |
b2 | Costs R to buy rather than ρ. Increases R by approximately 20% per level. | |
c1 | Costs I to buy rather than ρ. Increases I by approximately 14% per level. | |
c2 | Costs I to buy rather than ρ. Increases I by approximately 20% per level. | |
a1 | Doubles approximately every 10 levels. Costs ρ to buy. With full milestones this variable increases ρ dot on average by about 11-12% for each level bought. | |
a2 | Costs R to buy. Increases 40 folds for every 10 levels bought. However, note that some levels are much more impactful than others, specifically 1 mod 10 levels. Overall, this variable ranges from 10% to 700%+ effectiveness in ρ dot! | |
a3 | Costs I to buy. With full milestones, this variable approximately triples ρ dot. |
EF Strategy #
Initially, you only have \(\dot{t}\), \(q_1\), and \(q_2\) unlocked. Buy \(q_1\) at about 1/8th cost of \(q_2\), and buy \(\dot{t}\) when it’s available. At e20 \(\rho\) when autobuyers are unlocked, for idle, simply autobuy all. For active, continue to do what you were doing (buying \(q_1\) at 1/8th cost of \(q_2\)). There are also more advanced strategies, in particular EFAI. For its description and execution, please see List of theory strategies.
The first 2 milestones are redundant by themselves. The \(R^2\) term and the \(I^2\) term are insignificant compared to the \(tq^2\) term. Once you unlock the 3rd milestone (\(a_1\) term) however, we can buy \(a_1\) at 1/4th of \(q_2\) cost.
EF Milestone Route #
2/0 | → | 2/3/0 | → | 2/3/5/0 | → | 2/3/5/2/0 | → | 2/3/5/2/2 |
Or | ||||||||
1 x2 | → | 2 x3 | → | 3 x5 | → | 4 x2 | → | 5 x2 |
Convergents to Square Root 2 (CSR2) #
CSR2 Overview #
This custom theory was released at the same time as Euler’s Formula. CSR2 is based on approximations of \(\sqrt{2}\) using recurrent formulae. As the approximations improve, the
CSR2 Equation Description #
\(\dot{\rho} = q_1^{1.15}q_2q\)
\(\dot{q} = c_1c_2^2 |\sqrt{2} - \frac{N_m}{D_m}|^{-1}\),
\(N_m = 2N_{m-1} + N_{m-2}, N_0 = 1, N_1 = 3\)
\(D_m = 2D_{m-1} + D_{m-2}, D_0 = 1, D_1 = 2\)
\(m = n + log_2{(c_2)}\)
The first line is self explanatory. The exponents on \(q_1\) are from milestones. ‘\(q\)’ will increase during the publication.
For the second line, both the variable \(c_2\) and its exponents are from milestones. The absolute value section on the right describes the approximation of \(N_m\)/ \(D_m\) to \(\sqrt{2}\). As \(N_m\)/ \(D_m\) get closer to \(\sqrt{2}\), the entire right section gets larger and larger (because of the -1 power).
The third and fourth lines are recurrence relations on \(N_m\) and \(D_m\). This means that the current value of \(N_m\) and \(D_m\) depend on their previous values. We start with \(N_0\) = 1, \(N_1\) = 3. The equation will then read as:
\(N_2\) = 2\(N_1\) + \(N_0\) -> \(N_2\) = 2 x 3 + 1 = 7. Then \(N_3\) = 2\(N_2\) + \(N_1\) -> 2 x 7 + 3 = 17. Similar logic is applied to \(D_m\) equations.
This occurs until we reach \(N_m\) and \(D_m\) reach whatever ‘m’ values we have. This is shown in the next equation:
The fourth equation relates ‘m’ as described above. We can see that as we buy \(n\) and \(c_2\), our \(m\) will increase, so the 2 recurrence equations above will ‘repeat’ more often and \(N_m\), \(D_m\) will increase. From how \(n\) and \(c_2\) values are calculated, buying 1 level of \(n\) or \(c_2\) will increase \(m\) by 1.
CSR2 Variable Description #
Approximate variable strengths on
Brief Description | ||
---|---|---|
q1 | About 7% increase in ρ dot per level (instantaneous). | |
q2 | Doubles ρ dot per level (instantaneous). | |
c1 | About 7% increase in ρ dot per level; not instantaneous. This is the weakest variable. | |
n | Long term will multiply ρ dot by 6 times! However, it is not instantaneous. | |
c2 | Approximately 22 times increase in ρ dot per level! Not instantaneous. This is the strongest variable by quite a lot. |
CSR2 Strategy #
Idle #
For idle, we simply autobuy all. The idle strategy doesn’t change much. If you’d like to be more efficient while still being idle, you can remove milestones and stack them into the \(q\) exponent milestones when you’re about to publish (from around e80 to e500). Don’t forget to change milestones back after publishing!
Once you have all milestones, autobuy all!
Active #
The active strategies are significantly more involved. Depending on how active you’d like to be, there are several potential strategies. There’s the standard doubling chasing CSRd, which is just autobuy all except \(c_1\) and \(q_1\), where you buy them when they are less than 10% cost of minimum(\(c_2\), \(q_2\), and \(n\)).
For the milestone swapping strategy, the general idea is to switch milestones from \(c_2\) and its exponents, to \(q_1\) exponent milestones whenever we are ‘close’ to a powerful upgrade. Please see the Theory Strategies section of the guide for how to perform milestone swapping.
CSR2 Milestone Swapping Explanation #
This theory has a milestone swapping strategy before full milestones. We have \(q_1\) exponent milestones, which increase
The reason milestone swapping works is because the benefits of using \(c_2\) related milestones (having high \(q\)) remain when you switch to \(q_1\) exponent milestones. If we only use \(q_1\) exponent, then we have really low \(q\). If we only use \(c_2\) related milestones, then we have high \(q\), but low
For a more detailed explanation on how to actually do the strategy, please see the Theory Strategies section of the guide.
CSR2 Milestone Route #
0/1/0 | → | 0/1/2 | → | 3/1/2 |
Or | ||||||
2 | → | 3 x2 | → | 1 x3 |
Fractional Integration (FI) #
FI Overview #
This custom theory was released at the same time as Fractal Patterns. FI is based on Riemann–Liouville Integrals and allows you to approach the full integral as the fraction approaches 1. An explanation of each section of the equations is shown below:
FI Equation Description #
Base Equation #
With
g(x) Equations #
Equation | ||
---|---|---|
Milestone 0 | $$1 - \frac { x^2 }{ 2! } + \frac { x^4 }{ 4! }$$ | |
Milestone 1 | $$x - \frac { x^3 }{ 3! } + \frac { x^5 }{ 5! }$$ | |
Milestone 2 | $$\frac{ x-\frac{ x^2 }{ 2 }+\frac{ x^3 }{ 3 }-\frac{ x^4 }{ 4 }+\frac{ x^5 }{ 5 }}{\ln( 10 )}$$ | |
Milestone 3 | $$1+x+\frac{ x^2 }{ 2! }+\frac{ x^3 }{ 3! }+\frac{ x^4 }{ 4! }+\frac{ x^5 }{ 5! }$$ |
Equations #
Equation | ||
---|---|---|
Milestone 0 | $$\lambda = \frac{ 1 }{ 2 }$$ | |
Milestone 1 | $$\sum_{ i=1 }^{ K }\frac{ 2 }{ 3^{ i } }$$ | |
Milestone 2 | $$\sum_{ i=1 }^{ K }\frac{ 3 }{ 4^{ i } }$$ |
The first equation is for \(\rho\), which starts off simple, but gets more complicated as more milestones are reached and perma-upgrades are purchased. Initially, \(\rho\) is fairly simple to calculate as
The second equation is for
FI Variable Description #
Approximate variable strengths on their respective vardots with all milestones are as follows:
Brief Description | ||
---|---|---|
q1 | Grows by 50x every 23 levels. Mod23 levels are a 2.6x to |
|
q2 | Doubles |
|
K | Will double, triple, or quadruple |
|
m | Will instantly increase |
|
n | Will instantly increase |
FI Strategy #
Idle #
For idle, we simply autobuy all. The idle strategy doesn’t change much other than we will not Milestone Swap. If you are able to check in every 30 minutes or so, you can manually buy \(q_1\) and \(n\). Just make sure that you autobuy \(q_1\) when you are close to getting a mod23 boost.
Active #
The active strategies are a bit more involved. Depending on how active you’d like to be, there are several potential strategies. There’s the standard doubling chasing FId, which is just autobuy all except \(q_1\) and \(n\), where you buy them when they are less than 10% cost of minimum(\(q_2\), \(K\), and \(m\)).
For the milestone swapping strategy, the general idea is to switch milestones from \(q_1\), to \(m\)/\(n\) milestones whenever we gain 3x to \(q\) after purchasing \(q_2\), or some gain adjusted for
FI Milestone Swapping Explanation #
This theory has a milestone swapping strategy before full milestones. We have \(q_1\) exponent milestones, which increases
The reason milestone swapping works is because the benefits of using \(q_1\) related milestones (having high \(q\)) remain when you switch to \(m\) and \(n\) milestones. If we only use \(q_1\) exponent, then we have really high \(q\), however, we don’t have the benefits to
For a more detailed explanation on how to actually do the strategy, please see the Theory Strategies section of the guide.
FI Milestone Routing Explanation #
In FI, you can unlock milestones in 2 ways:
- by gaining \(\rho\) like normal, or
- by purchasing the milestone upgrades for \(\lambda\) and \(g(x)\) in the permanent upgrades tab where you would normally buy publishing, buy all, and autobuy.
Buying the milestone upgrades will not give you a milestone, but will instead increase the max level of the milestone that you purchased the upgrade for. For example, if you buy the \(g(x)\) perma-upgrade for lvl 1, you will permanently unlock the first lvl of the \(g(x)\) milestone. Moving milestones into these are almost always the best thing you can do mid publish, even if you need to sacrifice a variable to do so, with one exception.
It is important to note, however, is that buying or refunding \(g(x)\) milestones will reset your \(q\), \(q_2\) level and will change the \(q_2\) cost function. Similarly, buying or refunding \(\lambda\) milestones will reset your \(K\) and change the \(K\) cost function.
FI perma-upgrades are at 1e100, 1e450, and 1e1050 \(\rho\) for the \(g(x)\) milestone and 1e350 and 1e750 \(\rho\) for the \(\lambda\) milestone. Upon buying these milestone, immediately put a milestone from \(q_1\) or \(n\) into them depending on how many milestone you have, except for the 3rd level of the \(g(x)\) milestone.
The 3rd level of the \(g(x)\) milestone is bad early on, and is only worth buying at e1076ρ. Swapping to the 3rd level of the \(g(x)\) milestone mid-pub is known as PermaSwap, check the theory simulator to know if you should do this strategy.
FI Milestone Route #
Colored milestones are perma-upgrade milestones that move into that upgrade.
1 | → | 1/1 | → | 1/1/0/1 | → | 1/1/0/2 |
1/1/0/1/1 | → | 1/1/0/2/1 | → | 1/1/1/2/1 |
1/1/0/2/1/1 | → | 1/1/1/2/1/1 | → | 1/1/0/2/2/1 |
1/1/1/2/2/1 | → | 1/1/2/2/2/1 | → | 1/1/1/2/2/2 |
1/1/2/2/2/2 | → | 1/1/3/2/2/2 | → | 1/1/2/2/3/2 |
1/1/3/2/3/2 |
Or | ||||
1 | → | 2 | → | 4x2 |
4-x1 5x1 | → | 4 | → | 3 |
3-x1 6x1 | → | 3 | → | 3-x1 5x1 |
3x2 | → | 3-x1 6x1 | → | 3x2 |
3-x1 5x1 | → | 3 |
Fractal Patterns (FP) #
FP Overview #
This custom theory was released at the same time as Fractional Integration. FP is a theory that takes advantage of the growth of the 3 fractal patterns: Toothpick Sequence \(T_n\), Ulam-Warburton cellular automaton \(U_n\), Sierpiński triangle \(S_n\). As each of the fractals grows, so does
FP Equation Description #
Main Equations #
The first equation is for \(\rho\), which is the product of \(c_1 c_2 qr\) and the fractal term
The
\(q\) growth also depends on the \(A\) term, which itself depends on \(q_2\). For the exact formula, if \(k\) is the level of \(q_2\), then
The \(r\) equation depends on all fractals available in FP.
Toothpick Sequence #
This is the Toothpick Sequence. We can’t really explain it without getting technical, but this sequence grows as \(n\) grows. It is important to note that it grows faster right before a new power of two, and slower right after a power of two. This trait is shared with the next fractal. These \(n=2^k\) spikes have a lot of influence on the theory speed, especially on the second half of it.
If you want to learn more about the Toothpick Sequence, you can search about it on the internet. You can find an animation of the fractal here.
Ulam-Warburton Cellular Automaton #
These equations are used to describe the Ulam-Warburton Cellular Automaton (\(U_n\)). This is the second main fractal used in FP. Like \(T_n\), it grows faster right before a new power of two, and slower right after a power of two.
The \(w_n\) equation can look intimidating, but it is simpler to explain than some of the other formulas. \(w_n\) is the Hamming weight of the binary representation of \(n\), which is the number of 1s that appear in its representation. Right before a power of two, a number has a lot of 1s on the left of its binary representation, which means \(w_n\) is higher, and as such \(U_n\) grows faster with \(n\). The opposite is true for right after a power of two.
You can find an animation of the fractal here after selecting it in “Main sequence”.
Sierpiński Triangle #
This is probably the most famous fractal used in FP. It can be obtained from an equilateral triangle, by recursively subdividing each triangle into 4 smaller identical triangles and removing the middle one. Its formula is much simpler than the other two fractals.
FP Variable Description #
Approximate variable strengths on
Brief Description | ||
---|---|---|
$$\dot{ t }$$ | Makes t increase faster. Since there are only 4 levels, after a certain point, this variable is effectively fixed. | |
c1 | c1 is 150x over 100 levels for mod 100 | |
c2 | Doubles ρ dot per level (instantaneous). | |
q1 | Roughly is a 10x over 10 lvls mod10 for |
|
q2 | Quadruples |
|
r1 | is roughly 10-20% every level to |
|
n | n makes the fractal grow and helps ρ, q and r growth. n is very strong when getting a power of two, but weaker right after it. | |
s | s is an additive to Tn and Un exponents. Usually +0.15 per level, but increases to +0.2 from level 33 to level 40. s is the strongest purchase after a n=2^k |
FP Strategy #
Idle #
For idle, we simply autobuy all, however, it is very slow to start idle, and it is suggested to be active until e950
Once you have all milestones, autobuy all!
Active #
The active strategies change constantly depending on your milestones and there is no definitive active strategy like most other actives that we know of currently due to the complexity of the theory. For example, exact ratios of when to buy variables are very difficult to find and the only known buying strategy is between c1 and c2. However, generally you can follow this order of buying s>n=q2>c2>=c1>q1>r1 but the longer your publish goes, the weaker q2 gets overall and will eventually become less valuable than c2. There are also edge cases where q1 is mod%10=0 and may be stronger than c1, which may be mid mod%100 cycle. The variable relationships are as follows:
C1 and C2 Buying
BUYING c1 EFFICIENTLY IS THE LARGEST BOOST TO RATES YOU CAN DO (outside of MS).
The only known ratio currently is c1 to c2 and, specifically, it is c1 price < 3/(lvl%100 + 2) * c2 price. But, for a more digestible strategy, you would want to: When c1 mod 100 is < 92, buy c1 if c1 is (c1 mod 100) times cheaper than c2. When c1 mod 100 is >= 92, wait until the sum to buy up to c1 mod 100 = 1 is cheaper than c2. Buy c1 upgrades as they become available.
More human way to do the second part is this: when c1 mod 100 == 91, switch to buying x10, see the cumulative price to get c1 mod 100 = 1, and if that is below c2 - it is time to buy c1 up to mod 100 = 1 using autobuy.
Note: the actual ratio for part 1 is actually (c1 mod 100) + 0.67, but that’s harder to play as a human.
q1 and q2 Buying
q1 follows a mod 10 cycle, and adds ~100%, then ~50%, then ~33% and so on to
This plays roughly like doubling chase, but in this case you have to adjust ratios slightly - for example, if q1 mod 10 is 0, you want to wait until q1 upgrade price is twice as cheap as q2, and so on.
Other variables and what to do about them.
s - always buy on sight.
n - buy after s.
r1 - check how much percentage increase it will give to
Overall, We have s, n, c2 and q2, and we have c1, q1, and r1. The latter work roughly like doubling chase to the former most of the time, with additions of what was said about them beforehand.
FP Milestone Swapping Explanation #
FP has a milestone swap that involves 1 milestone. This is the milestone that adds s as an exponent (e700
The swap is really hard to describe in terms of how long to keep it in and out but what can be said qualitatively:
- At first, you follow very fast swaps to recover
, and swaps gradually become slower and slower. - As s grows, it makes sense to keep the milestone swapped in longer.
Milestone swap ends when s becomes > 2, and dies out when you can recover to that point very fast. Past ~e950
Milestone swap saves a LOT of time.
FP Milestone Route #
2 | → | 2/2 | → | 2/2/3 | → | 2/2/3/1 | → | 2/2/3/1/1 | → | 2/2/3/1/1/1 |
Or | ||||||||||
1 x2 | → | 2 x2 | → | 3 x3 | → | 4 | → | 5 | → | 6 |
FP Guide written by Snaeky, Hotab and Mathis S.
Riemann Zeta Function (RZ) #
RZ Overview #
This Custom Theory was the first solo launch CT since SL (has it really been over 2 years!). RZ is a very fast CT with a completion time estimated below 70 days! The theory follows the Zeta function over the critical line. Rumors say that reaching 1e1500 will be a proof of the Riemann Hypothesis, or if you prove it yourself, we will just give you the \(\rho\).
Its strategies range a lot in comparison to other theories, however, RZ is not an idle theory at first and you must be active before about e700 \(\rho\) due to its short publications. It also has a milestone swapping phase from e50 to e400 \(\rho\). After e600, the entire dynamic of the theory changes with the inclusion of the black hole.
RZ Equation Description #
These two equations follow the analytic continuation of the Riemann Zeta function along the critical
The background animation of the CT helps to understand the behavior of the \(\zeta\) along the critical line. You can see the background as the complex plane, with the middle point being zero, and the particle following the value of \(\zeta\) at the given \(t\). The further the particle is from the origin, the higher
This particle describes spirals, and passes by the origin at each of its turns.
We can see in the
RZ Variable Description #
Approximate variable strengths on
Brief Description | ||
---|---|---|
c1 | Instant boost to ρ dot, doubles every 8 lvls | |
c2 | Doubles ρ dot per level (instantaneous). | |
w1 | Instant boost to both ρ dot and δ dot. Doubles every 8 lvls. Bought with δ. | |
w2 | Doubles δ dot every level. Bought with δ. | |
w3 | Doubles δ dot every e30δ from e600δ on. Bought with δ. | |
b | Boosts ρ dot (when ζ is away from zero) and δ dot. Is capped at 6 lvls maxing out at 3 (+0.5/lvl). |
RZ Strategy #
Pre-e600 \(\rho\) #
The optimal publication multiplier is around 2-4 before e50 \(\rho\) and 4-8 after, but can vary if you are close to the next milestone. As always, you can check with the sim.
Idle #
For idle, we simply autobuy all. The idle strategy doesn’t change much. If you’d like to be more efficient while still being idle, you can remove milestones and stack them into the \(c_1\) exponent milestones when you’re about to publish (from e50 to e400). Don’t forget to change milestones back after publishing!
Once you have all milestones, autobuy all!
Also check out A Possible Idle RZ Theory By Time for more in-depth look at idle RZ strategies.
Active #
For an active buying strategy, buy \(c_1\) and \(w_1\) and a 4x difference to \(c_2\) and \(w_2\) respectively. Read the next section for the milestone swapping strategies.
RZ Milestone Swapping Explanation #
From e50 to e400 \(\rho\), you will swap from 2>3>1 for recovery to 2>1>3 (explanation for this notation can be found here) for pushing \(\rho\) once you get e3 away from recovery. The sim can tell you when you should perform this swap.
For a more active recovery, you can swap from 2>3>1 to 2>1>3 when you are near or are at a 0. This strategy is known as SpiralSwap. This is extremely hard and may slow down progress if you are not accurate/fast enough.
Post-e600 \(\rho\) #
Black Hole (BH) is not a normal milestone. Once you get BH, you will get 2 new buttons added to your theory, one on the bottom right of your equation screen that looks like a black hole; and one on the top right next to your publish button that looks like a back arrow. The back arrow button will reduce \(t\) by 5 and will move \(\zeta\) back to where it was at that \(t\). The BH button will bring up the BH menu. In the BH menu you can set a value where you want BH to activate relative to \(t\) and the game will automatically activate BH, or you can activate it manually at any time by pressing the “Unleash a black hole” button.
When BH is unleashed, \(t\) gets set back and frozen at the last 0 it encountered. For example, when \(\zeta\) crosses 0 at \(14.15t\), that 0 is saved, if you Unleash BH after \(14.15t\) and before the next 0 (\(21.025t\)), \(t\) will be locked to \(14.15\) and \(\zeta’\) will be locked at the value it was at at \(14.15t\).
Once you get Black Hole (BH), you will use it to push both \(\rho\) to get to a good zero. Good zeros are zeros where \(\zeta’\) is higher than all other local zeros. For example, all zeroes from \(14.15t\) to \(25.025t\) either have less \(\zeta’\) or have a lower \(t\):\(\zeta’\) ratio. We want as much \(\zeta’\) as possible because we can now permanently maximize the \(\zeta\) function for
To know which zero to use, please use the the sim. It will output the exact \(t\) of the zero to use.
Always set your BH activation threshold to 0.01 above the value recommended by the sim to ensure that the Black Hole will correctly lock to your zero. For example, if it recommends t=3797.85, put your activation threshold to 3797.86.
The optimal publication multiplier is often 5, but it is sometimes higher depending on the zero used or if you get a new \(w_3\) during the publication. Check the sim to know the optimal multiplier for your publication.
Variable buying strategies stay the same as before.
Don’t forget to buy the
RZ Milestone Route #
0/1/0 | → | 0/1/1 | → | 3/1/1 | → | 3/1/1/1 |
Or | ||||||
2 | → | 3 | → | 1 x3 | → | 4 |
Magnetic Fields (MF) #
MF Guide written by Mathis and Eylanding.
MF Overview #
MF was released on March 10th, 2025, alongside BaP. MF is the first physics-inspired official CT, specifically Electromagnetism.
MF has a unique mechanic called “particle reset”, a form of partial publication where you reset \(x\) to zero but increase \(v_x\), \(v_y\) and \(v_z\) with the \(v_i\) variables you bought in-between. This mechanic acts like a second prestige layer.
The existence of this mechanic makes MF a very active custom theory at first, however it quickly slows down to longer publications where resets later in a publication take several hours to recover, offering idle breaks.
While MF slows down quickly, regular milestones sustain its rates, making it completable in a bit over 6 months.
MF Equation Description #
The MF equations describe the movement of a particle of constant mass \(m\) and constant charge \(q\) inside a charged solenoid of infinite length with a current \(I\) and a density of turns \(\delta\), creating a magnetic field \(B\).
We consider a simulation where the particle starts at \(x=0\) at \(t_s=0\) with an initial velocity given by the \(v_i\) variables. In these conditions, the particle has a helix trajectory with a constant \(x\) velocity, and an angular velocity \(\omega\).
As you can see, the equations for velocity include
The current is given by the last formula. The equation is very similar to that of T5, but different. Here, \(I\) is capped at
Unlike in Theory 5, buying \(a_2\) has no drawback as it does not appear in the denominator below \(a_1\).
The current increases \(B\) which itself increases \(\omega\).
Finally, \(\rho\) growth is affected by variables \(c_1\) and \(c_2\), the position \(x\) of the particle, its angular velocity \(\omega\) and its total velocity \(v\), calculated as \(\sqrt{v_x^2+v_y^2+v_z^2}\). Because \(\sin^2(\theta)+\cos^2(\theta)\) is always 1, \(v\) is independent of time. \(C\) is an adjustment constant that compensates the parameters being less than one, it only changes with milestones by an amount indicated in-game.
MF Variable Description #
Approximate variable strengths on
Brief Description | ||
---|---|---|
c1 | Instant boost to ρ dot, doubles every 7 levels. | |
c2 | Doubles ρ dot per level (instantaneous). | |
a1 | Instant boost to I dot, doubles every 5 levels. | |
a2 | x1.25 to I's cap, results in a ~x2.5 total boost once the new cap is reached. | |
δ | Ιnstant ~x1.5 boost to ρ dot per level. | |
v1 | Increases vx, making v larger and x grow faster, doubles every 10 levels. Only effective after a particle reset. | |
v2 | x1.3 to vx, making v larger and x grow faster. Only effective after a particle reset. | |
v3 | Increases vy and vz, making v larger, doubles every 10 levels. Only effective after a particle reset. | |
v4 | Increases vy and vz, making v larger. Only effective after a particle reset. |
MF Strategy #
Keep in mind that strategies are still under development and could change in the future.
When to publish #
The optimal publication multiplier slowly increases the later you are in the theory, and also depends on your last reset.
It ranges from 10-50 early to 100-500 at the end of the theory.
Check the sim for more accurate results.
When to reset the particle #
There isn’t an exact rule yet on how often you must perform a particle reset. A good baseline is to reset every 1e9 \(\rho\), which is every two \(v_2\) levels, but it varies slightly from that. For example, early in the CT you want to reset a bit more often.
It is also important to stop resetting at an appropriate point, you want to only reset once after recovering to your previous publication mark.
We recommend using the sim to check the \(v_i\) levels bought with each reset to give you a clearer idea.
Variable buying strats #
For variable buy strats, you can save a bit of time with active \(c_1\) buying.
You can also save time by not buying \(a_1\) when \(I\) is very close to its cap (
For more details, check out the theory strategy section.
MF Milestone Route #
MF has a locked milestone path, like EF and FP
1/0 | → | 1/1/0 | → | 1/1/2/0 | → | 1/1/2/2/0 | → | 1/1/2/2/2/0 | → | 1/1/2/2/2/1 |
Or | ||||||||||
1 | → | 2 | → | 3 x2 | → | 4 x2 | → | 5 x2 | → | 6 |
Basel Problem (BaP) #
BaP Overview #
BaP was released on March 10th, 2025, alongside MF. It is based on the Basel Problem, a famous mathematical problem solved by Euler about the convergence of the series
BaP is an idle-friendly custom theory (except for a bit of milestone swapping), and has several similarities with T2.
BaP is much slower than the other CTs early, so it is better to not push it until your other CTs are slow enough. However, BaP holds a secret, a milestone unlocked at e1000\(\rho\) that allows to complete the remaining e200\(\tau\) in under a week! for a total completion time of about 5 months.
BaP Equation Description #
The
\(t\) is a variable with constant growth once all
The \(q_i\) variables work the same way as with T2, the bottom layer has a constant growth, then the growth of each other layer is affected by the value of the layer below, with factors being the \(c_i\) variables (except \(c_1\)).
Finally, we have the \(r\) equation. At the start of the theory, it is the partial sum of the inverse of the squares, which converges. As such, there is no point to buy \(c_1\) past a certain point.
After getting the first milestone, the \(r\) equation changes to be the inverse of the remainder of the sum. As we omit more and more of the first terms of the sum, the remainder converges to zero, making \(c_1\) useful again.
Past earlygame, we approximate
BaP Variable Description #
Approximate variable strengths on
Brief Description | ||
---|---|---|
$$\dot{ t }$$ | Makes t increase faster. Since there are only 4 levels, after a certain point, this variable is effectively fixed. | |
c1 | Increases r growth. After the first milestone, rdot becomes c1. Has a very powerful x1024 boost every 64 levels. | |
c2 | x2 to q1 growth per level | |
c3 | x3 to q2 growth per level | |
c4 | x4 to q3 growth per level | |
c5 | x5 to q4 growth per level | |
c6 | x6 to q5 growth per level | |
c7 | x7 to q6 growth per level | |
c8 | x8 to q7 growth per level | |
c9 | x9 to q8 growth per level | |
c10 | x10 to q9 growth per level | |
n | Small increase to a per level |
BaP Strategy #
Keep in mind that strategies are still under development and could change in the future.
Basel Problem is an idle-friendly CT except during its MS phases.
When to publish #
BaP progress is hard carried by its milestones, which means the best time to publish can vary a lot. For \(a\) milestones, it is better to push past them to collect the massive boost it gives with all the \(q_1\) and \(r\) you stacked waiting for the milestone. On the contrary, for \(q\) milestones, it is better to push for them, buy the matching permanent upgrade and publish right away, as you can enjoy the boost right away without waiting for the boost to climb all the way to \(q_1\).
To know when to publish, please check the sim. Check out the BaP Quick Purchase Tester for variable checks mid-publication.
Idle #
For idle, you autobuy all. For more efficiency, turn off autobuy when your \(\rho\) is around x25 away from your publication mark or the next milestone.
Active #
BaP active strategies take advantage of active \(c_1\) buying. \(c_1\) is a unique variable with a low cost scaling and that gains a massive x1024 boost every 64 levels, when (\(c_1\) level) % 64 = 1.
For the strategy, you want to chase those boosts and autobuy \(c_1\) when you are close to the next boost (when the cumulative cost of \(c_1\) purchases until the boost is below x2 of other variables). When you are not chasing a boost, you can buy \(c_1\) at (\(c_1\) level % 64)/2 ratio to other variables.
Milestone Swapping Strategy #
Milestone Swapping is possible when you don’t have enough milestone points to buy all the milestones. In that case, you can swap between \(a\) and \(q\) milestones.
MS is only relevant when you need to stack \(q_i\) layers, which typically happens when you unlock a new \(q_i\) layer. The cycle goes:
Put the milestone point in the \(q_i\) layer
You generally want to start a cycle once you buy a new \(c_i\) and \(c_{i+1}\) which boost \(q_{i-1}\) and \(q_i\) respectively.
BaP Milestone Routing Explanation #
Like FI, in BaP, you can unlock milestones in 2 ways:
- by gaining \(\rho\) like normal, or
- by purchasing the milestone upgrades for \(a\) and \(q\) in the permanent upgrades tab
Buying the milestone upgrades will not give you a milestone, but will instead increase the max level of the milestone that you purchased the upgrade for. For example, if you buy the \(a\) perma-upgrade for lvl 1, you will permanently unlock the first lvl of the \(a\) milestone.
While, for most milestones, you unlock the permanent upgrade at the same time you get the milestone point for it, there are 6 exceptions: \(q\) milestone levels 3,4,5 and \(a\) milestone levels 4,5,6 in which you unlock the milestone level before you unlock the milestone point, meaning you have a vacant milestone space. This creates an opportunity for milestone swapping between the \(a\) and \(q\) milestone, however, in reality, MS is only applicable where you unlock a new \(q\) milestone level, as, when you unlock a \(a\) milestone level, it’s generally best to put your milestones into it since you have already built enough \(q_i\), and these MS phases are short anyways.
BaP Milestone Route #
BaP has 20 milestones, the most out of any official theory to this day.