This started as a simple and short reply to some of the points you mentioned in your guide, but I ended up writing a little too much, so I decided to actually do a proper post.
I still need to write the eggs, incubators and Flappy Fur sections, which unless I’m mistaken is the only error on your guide, when you say “you can get up to 1 point per second” which unless something changed, or I reverse engineered this wrong, the game spawns a pipe every 90 frames, and since the game runs at 60fps, it should be 1 pipe/point every 1.5 seconds
if (state.frame % 90 === 0) {
const limit = h - 150 - 50;
const topHeight = Math.random() * (limit - 50) + 50;
state.pipes.push({ x: w, topHeight, passed: false });
}
Also, the code is not exactly what the game uses, it’s just my best effort recreation, one bit I know I have wrong is the habitat unlock cost function
# This one is in python just because
def habitat_unlock_cost(current_habitats):
n = current_habitats // 3
if n <= 3:
early_ratio = (22 / 7) ** (1 / 2)
value = 700 * (early_ratio ** n - 1)
return int(value)
main_base = 411.7647659041315327962506906434826366514952442190301447828274512217744102820759460068282262526411590
main_ratio = 1.69999998
value = main_base * (main_ratio ** n)
return int(value)
Which seems to be accurate for now, but those main_base and main_ratio values I’m sure are not actually the ones the game uses.
Also, I happen to like stats, math, programming, reverse engineering, art and seeing numbers go up, so this game is a good excuse for me to do all of them at once.