Skip to content

Commit

Permalink
Fuck you git history
Browse files Browse the repository at this point in the history
  • Loading branch information
propfeds committed Apr 11, 2023
1 parent 1500221 commit 69714a9
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 51 deletions.
48 changes: 18 additions & 30 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,27 @@

## Balance

- Theory is slow affff
- 0.2.6 (dev)
- c1 c2 alone can easily reach publication without w2
- 0.2.7 (bependence)
- Early game too slow

## Design

### Mechanics
- Derivative: currency called delta
- Synergy: zeta gains radius as t goes up
- w1: boosts both rho & delta
- [ ] w1 exponent?
- w2: boosts delta only

- Ok so, random crazy idea, make tdot be a function of zeta(s) so that when zeta(s) is big dot is higher and when zeta(s) is small tdot is lower
- Something like tdot = (9 * zeta(s) + 2 ) / 200
- I just though it might be interesting and makes the theory faster/easier. I don't really know but I thought I'd put it out there and do some work on it (the function I gave was like a linear function that went through (0, 0.01) and (2,0.1) making tdot be 10x faster at zeta(s)=2 then zeta(s)=0 )
- The black hole idea could be a milestone. We could make it stronger
Exponents obviously is an option but that boring
- Black hole ms: when zeta(s) is small t_dot is lower
- Current formula: z^2 + 0.02 (small attraction radius)
- Reduces t gain (and subsequently delta gain) but preserves c1 c2 growth
- Max speed is the same as no black hole (0.25) to avoid solar swapping
- [ ] Need tiers?

- I don't think we should do something that contrasts with rhodot. It gets ruined by black hole, but idk
- If we do, we could add another term, something like +c3|zeta(s)|. I'm fearing some kind of death solarswap where if zeta(s) gets big, swap.
- [ ] Warp? increases starting t
- Perma upgrade
- Power: 2^n

- The derivative of the zeta function does sound interesting. its with respect to t right?
- We could add w exponent.
- If we use the black hole idea it could be good because at high values of zeta(s) t will be very high and therefore make it move faster increasing delta
- I think the black hole idea is my favourite. We could make it a tiered milestone by changing the numbers

- Random idea that I'm putting out here: make some w milestones. This can allow you to use milestones to boost delta. Also, might make for interesting ms. Though I'm not sure if we want anymore ms. I like ms, but if we have solarswap in it any more ms will kill everyone. Also, I dont know weather we even need/want more milestones but sharing and idea can't hurt

- An upgrade that increases t by some amount that increases each time to buy it. something like: :uparrow:t by 2^n and n just keeps going up the more you buy it, so t can reach really high levels as n keeps increases. Maybe programmatically the actual equation could be t = t1 + t2, t1dot = (whatever tdot was), t2 = this upgrade, so it would actually be: t2 = 2^(n+1) - 1.
1. It's probably a good idea to skip some value of n here because increasing t by 4 isn't going to help anyone.
2. I also envisioned it as an expensive upgrade, as it feels like it could get out of hand.
3. It doesn't have to be 2^n it could be 3^n or 10^n or whatever

### Currencies

- Decoupling zeta into Re and Im, but it will diverge from our current |z| model.
- Since we have the modulus of z for a currency, how about another for the **argument** (angle)? or **angular velocity** (small omega)
- Scrapped. It's not an interesting property, as it's fairly stable.

### Milestones

- Increase t_dot by 4x, but sqrts the |z| portion
- [ ] Speed ms? used to skip slow early sections
42 changes: 21 additions & 21 deletions theory.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { BigNumber } from '../api/BigNumber';
import { ExponentialCost, FirstFreeCost, LinearCost, StepwiseCost } from '../api/Costs';
import { ConstantCost, ExponentialCost, FirstFreeCost, LinearCost, StepwiseCost } from '../api/Costs';
import { Localization } from '../api/Localization';
import { QuaternaryEntry, theory } from '../api/Theory';
import { Utils } from '../api/Utils';
Expand Down Expand Up @@ -28,7 +28,7 @@ var getDescription = (language) =>
var authors = 'Martin_mc, Eylanding, propfeds\n\nThanks to:\nGlen Pugh, for ' +
'his implementation of the Riemann-Siegel formula\nSneaky, Gen & Gaunter, ' +
'for maths consultation';
var version = 0.25;
var version = 0.27;

let gameOffline = false;
let t = 0;
Expand All @@ -46,13 +46,10 @@ let quaternaryEntries =
];

const scale = 4;
const HALF = BigNumber.from(0.5);

// All balance parameters are aggregated for ease of access

const resolution = 4;
const speedMaxLevel = 1;
const getSpeed = (level) => 1 << (level * 2);
const getBlackholeSpeed = (z) => Math.min(z**2 + 0.02, 1/resolution);

const c1ExpMaxLevel = 3;
Expand All @@ -65,38 +62,39 @@ const c1ExpTable =
BigNumber.from(1.25)
];
const getc1Exp = (level) => c1ExpTable[level];
const c1Cost = new FirstFreeCost(new ExponentialCost(220, 0.6));
const c1Cost = new FirstFreeCost(new ExponentialCost(220, 0.7));
const getc1 = (level) => Utils.getStepwisePowerSum(level, 2, 8, 0);

const c2Cost = new ExponentialCost(1400, 2.4);
const c2Cost = new ExponentialCost(1400, 2.8);
const getc2 = (level) => BigNumber.TWO.pow(level);

const bMaxLevel = 8;
const bCost = new ExponentialCost(1e6, Math.log2(1e8));
const getb = (level) => BigNumber.ONE + HALF * (level/2);
const bCost = new ExponentialCost(1e6, Math.log2(1e12));
const getb = (level) => BigNumber.ONE + level/4;
const getbMarginTerm = (level) => BigNumber.TEN.pow(-getb(level));

const w1Cost = new StepwiseCost(new ExponentialCost(150000, 4.4), 10);
const w1Cost = new StepwiseCost(new ExponentialCost(150000, 2.25), 6);
const getw1 = (level) => Utils.getStepwisePowerSum(level, 2, 8, 1);

const w2Cost = new ExponentialCost(1, Math.log2(100));
const w2Cost = new ExponentialCost(1, Math.log2(10));
const getw2 = (level) => BigNumber.TWO.pow(level);

const permaCosts =
[
BigNumber.TEN.pow(9),
BigNumber.TEN.pow(8),
BigNumber.TEN.pow(14),
BigNumber.TEN.pow(21)
BigNumber.TEN.pow(16)
];

const milestoneCost = new CompositeCost(2, new LinearCost(2.5, 2.5),
new LinearCost(10, 5));
const milestoneCost = new CompositeCost(1, new ConstantCost(2.1),
new LinearCost(5, 7.5));

const tauRate = 0.1;
const pubExp = 2;
var getPublicationMultiplier = (tau) => tau.pow(pubExp);
const pubExp = 2.1;
const pubMult = 4;
var getPublicationMultiplier = (tau) => tau.pow(pubExp) * pubMult;
var getPublicationMultiplierFormula = (symbol) =>
`{${symbol}}^{${pubExp}}`;
`${pubMult}\\times{${symbol}}^{${pubExp}}`;

const locStrings =
{
Expand Down Expand Up @@ -678,7 +676,7 @@ var init = () =>

theory.primaryEquationScale = 0.96;
theory.secondaryEquationScale = 0.96;
theory.secondaryEquationHeight = 48;
theory.secondaryEquationHeight = 54;

updateAvailability();
}
Expand All @@ -696,6 +694,9 @@ var isCurrencyVisible = (index) => (index && derivMs.level > 0) || !index;

var tick = (elapsedTime, multiplier) =>
{
if(!c1.level)
return;

t_dot = (blackholeMs.level ? getBlackholeSpeed(zTerm.toNumber()) :
1 / resolution);
let dt = t_dot * elapsedTime;
Expand All @@ -710,8 +711,6 @@ var tick = (elapsedTime, multiplier) =>
let c2Term = getc2(c2.level);
let bTerm = getb(b.level);
let z = zeta(t);
if(t<0.25)
log(`t=${t} ${z[0]} + ${z[1]}i`)
if(derivMs.level)
{
let dr = z[0] - rCoord;
Expand Down Expand Up @@ -807,6 +806,7 @@ var postPublish = () =>
theory.invalidatePrimaryEquation();
theory.invalidateSecondaryEquation();
theory.invalidateTertiaryEquation();
theory.invalidateQuaternaryValues();
updateAvailability();
}

Expand Down

0 comments on commit 69714a9

Please sign in to comment.