Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

idle/v0 package

Overview

Package idle is a mine that keeps working while you are not looking at it.

Ore accrues at a rate set by your level. Claim banks it, Upgrade spends the bank to dig faster, and at level 10 you may Prestige: start over at level 1 carrying a permanent multiplier. There are no turns, no block hook and no keeper. The realm stores what you had and when, and everything else is arithmetic done at the moment somebody asks.

The three decisions that make it a game rather than a counter:

  1. THE MINE IS SMALL. It holds two hours of production and then spills. Without a ceiling the optimal play is to never log in and claim once at the end, which is not a game, it is a savings account. The ceiling is what makes showing up the skill, and it scales with the rate, so two hours stays two hours at every level.
  2. UPGRADES ARE QUADRATIC AGAINST LINEAR PRODUCTION. Level L costs UpgradeBase*L*L and pays L per period, so the next level always takes about UpgradeBase*L periods to afford: the curve bends without ever stalling. Linear against linear never ends, and exponential against linear dies at level four.
  3. PRESTIGE EXISTS. Without a reset the leaderboard is settled by whoever started first and nobody else has a reason to join. Trading a level-10 mine for a permanent multiplier means a player who starts today has a reachable ceiling.

Time is unix seconds from the block, not block height. A height-denominated economy silently repriced itself every time the chain's block time moved, and gno.land's has moved from about 4.1s to 3.405s inside a month.

Nothing here rolls dice. Everything a player can do is a pure function of when they did it, so there is no block hash to grind and no ordering to front-run, and the page can tell you exactly what an action will produce before you sign it.

The arithmetic is p/moul/x/games/accrual(/p/moul/x/games/accrual/v0), which owns the one rule that makes lazy time honest: how often you claim must not change what you end up with.

Function

Level

func Level(owner address) (int64, int64)

Level reports an address's level and prestige.

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/moul/x/games/idle/v0.Level()"

Result