PETRI DISH GAMES

Contracts

A job a client posts for biomarks: at most four on the board at a time, each row's payment fixed the moment it appears, and a Grant paid up front as a loan repayable with interest.

A contract is a job a client posts for biomarks: a short chain of objectives, and a payment for finishing them. At most four sit on the board at a time, and a row’s payment is fixed the moment the row appears. REFRESH BOARD re-rolls every row nobody has accepted, costs nothing, and has no limit.

Contract types

TypeObjectivesPayout multiplierPaid
Grant3 to 5×5in full on acceptance
Commission2 to 4×1.530% dripped evenly as each objective completes, 70% plus any uncollected drip on claim
Order2 to 3×130% dripped evenly as each objective completes, 70% plus any uncollected drip on claim
Quotaone deliveryper dose, belowin full on claim

A completed row sits unclaimed until CLAIM REWARDS is pressed, and claiming is what takes the goods: specimens out of the cryobank, highest-stock line first, and delivered compound mass highest-mass compound first. Neither is taken before the claim. A chain that would repeat a step it already contains comes out shorter. Accepting a row takes it off the board, and refreshing never disturbs an accepted row.

Grants

A Grant disburses its whole figure the moment it is accepted, and claiming it afterwards pays nothing further. In exchange it carries a timer of two to three times what its objectives are estimated to take, clamped between 20 minutes and 2 hours and rounded to five minutes. The timer counts real seconds and is not tied to the simulation clock, so pausing does not stop it.

A lapsed timer repays the funding plus full interest. Abandoning early repays it plus interest scaled by how much of the timer has run. The rate comes from the chain’s hardest objective.

Hardest objectiveInterest
Trivial5 to 15%
Medium15 to 30%
Hard30 to 50%

Repayment may drive the balance negative, so a grant the lab cannot cover puts it into debt. Abandoning an ordinary Order or Commission is free, and any payment already collected stays paid.

Payout terms

The terms multiply in this order, and the running product is rounded to a whole thousand twice: once before the client terms and once after, which is why every payout is a round number.

TermWhat it does
Base50,000 + depth × 100,000
TypeGrant ×5, Commission ×1.5, Order ×1
Endurance×2 when the chain’s primary cluster is Endurance
DifficultyEach objective’s target count over a divisor set by its type, or a flat 1 for a type with no divisor; summed, divided by 3, clamped to 0.6 to 1.8
Variation×0.8 to ×1.2, rolled per row
Delivery floorOrder and Commission only
Demand and standingCommitted clients only

Depth is the career counter every chain is priced off. Three things move it:

  • 0.35 for each contract completed.
  • 0.02 for each sale on the Bioexchange.
  • A step of 0.1 to 0.3 as lifetime earnings cross 50k, 150k, 500k, 1.5M and 5M biomarks.

Lifetime earnings count contract payouts and exchange sales together, so trading raises the board’s prices as surely as finishing work does. Finishing a culture does not deepen the board: the advance for it exists in the code and nothing calls it.

The delivery floor catches an Order or Commission asking for specimens: it cannot pay less than the delivered count times the gene’s rarity floor times 4.5, and that floor is 1, 10, 100 or 1000 by how common the gene is. In practice it lifts only a row anchored on a rare gene, and only while the base term is small. A Grant takes no floor whatever it asks delivered.

Two kinds of row skip part of the sequence. A grow-and-deliver order stops after the floor, with no client term, and takes ×1.4 rather than ×1.5 when it comes up a Commission. A phase follow-up is priced on base, type and a 15% step per phase, with no difficulty, variation, floor or client term.

Clients and standing

Five clients: one committed to each of the four drift poles, acid and alkaline on the pH axis and hot and cold on the temperature axis, plus a generalist with no pole.

A chain reaches a committed client only when its clusters include Extremophile, and a quota names its owner outright. Everything else falls to the generalist, whose rows take neither the demand multiplier nor the standing one, which is why most of the board never responds to player action.

Demand makes one pole hot at a time, rotating acid, hot, alkaline, cold, and a row owned by the hot client pays 1.5x. Standing then scales the figure in both directions: +5% per point up to +100%, and down to -25% at the floor. Claiming a contract for a committed client gains a point with it, an unfilled quota of its costs two, and standing bottoms out at -5.

Bionet quotas

A quota is a standing order from one committed client for 3 to 8 whole doses of one exact compound, at 500 biomarks per dose before demand and standing. Depth does not price it. Only one is ever in play, offered or accepted, and the generalist never owns one. One is minted only when the lab already holds a zone row or mass of a roster compound, so a quota on the board is always fillable. An acid or alkaline client asks for a compound of its own band when the lab holds one.

Progress is a poll of the whole doses currently held, not a tally of deliveries, so mass banked before the quota was accepted already counts, and progress can go backwards when the compound is placed back into the dish.

The deadline is counted in runs: three of them, ticked when a Bionet run in that lab ends. Forfeiting a run does not raise that event, so giving up never burns a deadline. A quota that ends unfilled is charged its figure plus interest and costs its client two points of standing, whether the runs ran out or ABANDON was pressed. Once the slot is free, the next run to end mints a replacement into it without re-rolling the rest of the board.

Board slots

The board fills in a fixed order, and a slot it cannot fill is left empty rather than padded.

  1. One Bionet quota, if the lab is eligible.
  2. Next phases of a strain line the player has already finished a contract on, up to ten phases. The quota and the follow-ups together never take more than three of the four slots.
  3. Grow-and-deliver orders on a strain the player already owns: three below depth 0.5, two below 1.5, one after that.
  4. Fresh procedural chains for the rest, the first drawn from whichever of the nine dimension clusters the player’s record is thinnest in, so the board keeps offering work outside the player’s line.

Notes

The Measurer attested cycle 0.4.4

The 1.5x demand swing and the 180-second rotation are serialized fields, which normally means the scene authors them and the file’s default is worthless. Not here: no scene or prefab in the repo carries the demand component, and the board creates it at runtime the first time it prices a row, so the defaults in the file are what a player sees. The same is true of the reputation manager.

Two limits apply to that clock. It does not advance while the simulation is paused or while the player is in a creative lab, so 180 seconds is 180 seconds of live career play. It also refuses any period under ten seconds however the field is set.

If either component is ever dropped into a scene, both figures stop being true and the check will not catch it, because the bound file will not have moved.

bound to 2 files

Bound to

The source this page's claims were read against, named by symbol and pinned by the digest of the file it lives in.

SymbolDigest
AdvanceProgression 9ebac604f7ad
BionetRun 24e8bc386696
ContractBoardManager 1fe5f5e61cd5
ContractManager e15f321cf7c4
ContractRowBuilder 57fd0f648458
ContractsPanel b6af56a6f4c1
DemandNewsManager 8f82907db1c3
FactionCatalog 3261a2ce7dc4
FactionReputationManager bc9f7cb5abc2
GetBaseValue 1abea58791de
ProgressionTracker 46c999594a3d
QuotaTargetPicker 67f3eba92306
RewardData 395b3992329e

Near this subject

These are the subjects this one is joined to in the field. Step out of this card and they are the wells around the one you are standing in.