Ex­po­nen­tial Idle Guides

In­tro­duc­tion to Gradu­ation

Guide writ­ten by LE★Baldy & Snaeky. Con­tri­bu­tions from The Amaz­ing Com­munity.

Feel free to use the gloss­ary as needed.

These guides are de­signed to help you play through the phi (\(\varphi\)) and the­or­ies sec­tions of Ex­po­nen­tial Idle. This in­tro­duc­tion will give you some fun­da­ment­als to help you pro­gress while play­ing this sec­tion of the game.

If you don’t want to have spoil­ers for the later game, don’t read fur­ther ahead than you are already.

New auto­prestige ex­pres­sion #

((timer(pt * d(ln(ln(db / b + 1))) < 1)
> 3 * tr && db > b &&
((d(smooth(10^10^10^(phi * tau), 1)) > 1)
&& timer(abs(d(lo­g10(phi + 1))) < 50) > 15))
&& phi > 1) ||
((timer(pt * d(ln(ln(db / b + 1))) < 1)
> 3 * tr) && db > b &&
((phi >= 1 && phi <= 1) ||
((0.8 * lo­g10(lo­g10(lf)) > lo­g10(lo­g10(gf))) ||
(0.8 * lo­g10(lo­g10(gf)) > lo­g10(lo­g10(sf))))))

Auto­prestige ex­plan­a­tion #

This is the new ex­pres­sion for prestige. It looks in­tim­id­at­ing, but it will work nor­mally and you never have to turn it off (you would have to if you did­n’t use this one later on). Here is an ex­plan­a­tion for all parts ex­cept the nor­mal ex­pres­sion which has an ex­plan­a­tion already.

((d(smooth(10^10^10^(phi * tau), 1)) > 1)

This re­turns true if phi and/​or tau grows a very very small amount more than the max reached that prestige. The many “10^” is to make any tiny changes ex­plode into very large num­bers so that they will never be less than 1, es­pe­cially if you are far into a gradu­ation or en­dgame. This also pre­vents you from early pres­ti­ging from drop­ping ac­cel or mov­ing stu­dents around as they make phi drop in value.

timer(abs(d(lo­g10(phi + 1))) < 50) > 15))

This part pre­vents pres­ti­ging if phi were to change by more than e5 within 1 tick. It will then wait 15 seconds be­fore check­ing if it can prestige again. This will al­low you to swap R9 or stu­dents freely without need­ing to worry about ac­ci­dent­ally pres­ti­ging for a very small amount of \(b\).

((timer(pt * d(ln(ln(db / b + 1))) < 1)
> 3 * tr) && db > b && (phi >= 1 && phi <= 1)

If phi is equal to 1, then it uses the nor­mal auto­prestige ex­pres­sion. We don’t have “=” in the ex­pres­sions, so we had to work around it by us­ing both “>=” (greater than or equal to) and “<=” (less than or equal to). This means that, even if you don’t have any phi up­grades, it will al­low you to prestige like nor­mal and not re­quire you to swap out of the­or­ies (or R9 un­til the end of a gradu­ation).

((0.8*lo­g10(lo­g10(lf))>lo­g10(lo­g10(gf)))||
(0.8*lo­g10(lo­g10(gf))>lo­g10(lo­g10(sf))))

This lets the nor­mal ex­pres­sion work when you su­prem­acy or gradu­ate up to 80% of \(lo­g10(lo­g10(life­time\) \(ft\) \(or\) \(gradu­ation\) \(ft\))) al­low­ing you to re­cover faster than nor­mal. The \(timer(abs(d(lo­g10(phi + 1))) < 50) > 15))\) part of the ex­pres­sion above does not al­low the nor­mal ex­pres­sion to prestige for 15 seconds after a gradu­ation or prestige, be­cause phi can, and will, grow more than e5 in 1 tick. So, we al­low the nor­mal ex­pres­sion to work like nor­mal while re­cov­er­ing.

Ref­er­ence Cu­mu­lat­ive Max­imum Smooth()
Note: If you don’t know what R9 is, you will find out later in the game

Auto­su­prem­acy #

timer(pt * d(ln(ln(db / b + 1))) < 1)
> 3 * tr && db > b
&& dpsi + psi > min(min(cos­tUpS(1),
cos­tUpS(2)), cos­tUpS(3))
&& ln(1 + max(1, lo­g10(sf)) /
smooth(max(1, lo­g10(gf)),
(st > tr) * ee99)) / max(1, st) <
smooth(ln(1 + max(1, lo­g10(sf)) /
smooth(max(1, lo­g10(gf)), (st > tr)
* ee99)) / max(1, st), (pt > tr) * ee99)

Do a manual su­prem­acy when you in­put this ex­pres­sion and never enter the edit ex­pres­sion field again af­ter­wards. Make sure auto­buy­ers are on x1 or xMax.

Auto­su­prem­acy ex­plan­a­tion #

Auto­su­prem­acy works the same as auto­prestige, but more com­plic­ated due to the stair­case nature of su­prem­acy pro­gress. This is due to it not pro­gress­ing un­less max \(f(t)\) dur­ing that su­prem­acy is in­creased, but due to prestiges, this \(f(t)\) is­n’t be­ing pushed dur­ing prestige re­cov­ery which is why we use smooth() lock­ing and gen­eral smooth() to mit­ig­ate this phe­nomenon. The auto­su­prem­acy also is lined up with the end of a prestige so that we get the max­imum amount of \(f(t)\) out of that prestige to make sure it is time to su­prem­acy.

Star spend­ing #

Upon un­lock­ing all vari­ables, you can use the star cal­cu­lator (by Eaux Ta­cous) for op­timal dis­tri­bu­tion. This will not be use­ful if you don’t have all star up­grades.

When to re­cal­cu­late star dis­tri­bu­tion #

Your star dis­tri­bu­tion does not need to be up­dated the most of­ten but should be done if it has been a while since you last did. A good rule of meas­ure­ment is every ee1000 to ee2000 gain to your highest reached \(f(t)\) as any closer between breaks nor­mally won’t be sig­ni­fic­ant enough. The ex­cep­tion to this is dur­ing the ee6000 push which, sim­ilar to the ee5000 push, re­dis­tri­bu­tion can be handy as it is a long push.

Gradu­ation rout­ing #

When you are within ee5 of the gradu­ation, turn off auto­prestige. It is faster to cruise than re­cover and push. Best bet is to use the Gradu­ation cal­cu­lator (in­struc­tions be­low). Please con­trib­ute to the Phi*Tau sheet be­fore gradu­at­ing.

How to use the gradu­ation cal­cu­lator #

Be­cause of replit changes, you can no longer simply click play and it runs the cal­cu­lator (linked above). You can still use it, but it will be through the fol­low­ing steps:

  1. Make a replit ac­count (or lo­gin to an ex­ist­ing ac­count).
  2. Fork the gradu­ation cal­cu­lator.
  3. On the fork you made, go to the shell ter­minal.
  4. Type in the com­mand be­low to start the cal­cu­lator:
py­thon main.py

  1. Use the cal­cu­lator as you would pre­vi­ously.

Stu­dent use rout­ing #

Buy all avail­able the­or­ies un­less ex­pli­citly stated oth­er­wise be­cause the­or­ies are im­port­ant to start as soon as pos­sible as they func­tion out­side of the main game.

Use the stu­dent cal­cu­lator (by Niedzielan, AfuroZamurai, and Milla) for op­timal dis­tri­bu­tion for \(\varphi\).

Re­spe­cing stu­dents #

The but­ton at the bot­tom labeled “Re­spec” re­moves all used \(σ\) in Re­search and gives you back without con­sequence. This al­lows for test­ing or real­loc­at­ing eas­ily, but it will re­move ALL of your stu­dents from everything in­clud­ing the­or­ies. On the bot­tom left is loc­ated a list-shaped but­ton. Press­ing this will re­veal the - but­tons. These - but­tons re­move x levels from the se­lec­ted re­search op­tion. The amount of levels re­moved is based on the x1, x10, x25, x100, xMax cost op­tion se­lec­ted in the top right. On the right side of each re­search op­tion, you can also see the total levels.

The­ory ba­sics #

Pub­lic­a­tions are equi­val­ent to prestiges for \(f(t)\) so don’t be afraid to use them. However, the best pub­lic­a­tion mul­ti­pli­ers vary from the­ory to the­ory and will de­crease over time. If you are close to a mul­ti­plier you want, turn off auto­buyer and let \(\rho\) in­crease without buy­ing up­grades for a faster short-term in­crease be­fore the pub­lic­a­tion (turn on after you pub­lish). This is known and ref­er­enced as “cruis­ing”. Total \(τ\), found in the equa­tion or at the top of the screen, is a mul­ti­plic­at­ive com­bin­a­tion of all \(τ\) from each the­ory.

Don’t be afraid to skip get­ting all mile­stones to work on the next or a bet­ter the­ory.

Re­spe­cing mile­stones #

Un­like stu­dents, all Mile­stone sec­tions already have the - but­ton. This works in the same way as above. Here you can also find how many un­used Mile­stones are avail­able at the top. On the right side of each Mile­stone, you can also find the cur­rent and max levels of each.