Rulebook POC

Everything you need to know to play the Game Collector Battler — the Pokémon-style prototype where the games are the creatures. All numbers below are pulled straight from the live prototype.

▶ Play the POC

The core loop

Five steps, repeated. Beat and catch wild games to grow your library and level up your team.

  1. 1
    🎮

    Choose a starter

    Pick one of three games to begin your library.

  2. 2
    🔎

    Hunt

    Head out to encounter a rarity-weighted wild game.

  3. 3
    ⚔️

    Battle

    Trade turn-based blows using genre type advantages.

  4. 4
    🎯

    Catch

    Defeat a wild game, then add it to your library.

  5. 5

    Level up

    Earn XP, grow stronger, and hunt rarer games.

🔥 The Forge — create your own game

Describe a game that doesn't exist and the Forge turns it into a battle-ready original card — yours from birth. Your words shape the card: genre keywords set its type ("haunted" → Horror, "quest" → RPG…), and the description seeds its stats, rarity, and face. The same description always forges the same card.

  • Originals only. Famous characters are filtered — the Forge refuses "Pikachu", "Mario" and friends. Describe your own idea.
  • Fair by design. Forged stat budgets match hunted cards of the same rarity, and Legendary forges are rare — creating can't outclass collecting.
  • Share a challenge link. Any fighter can be shared as a URL. A friend who opens it battles your creation instantly — no account, no cost.
  • Remix. Beat a challenger's forged original and you may catch a remix of it — the same creation, now also in your library. Remix lineage is the seed of the creator economy.

🗓️ Daily Gauntlet & streaks

Every day seeds the same three opponents for every player — a shared run you can compare notes on — while their levels scale to your fighter. All three fights are free. Clear the run and you're paid gold that grows with your streak (consecutive completed days, bonus capped at 10 days). Miss a day and the streak resets. Your creator identity is a local did:key minted in your browser: creations are signed as yours from birth, and your game actions land in a locally signed event log — no account, no server, fully offline.

Starters

You begin by choosing one of three starter games — an FPS / RPG / Puzzle triad. Your starter joins your library at Level 3 and becomes your first active fighter.

🔫

DOOM

FPS Epic

“Rip and tear.”

HP
80
ATK
92
DEF
55
SPD
78
🗡️

The Legend of Zelda

RPG Legendary

“It's dangerous to go alone.”

HP
90
ATK
78
DEF
72
SPD
60
🧩

Tetris

Puzzle Legendary

“The block that conquered the world.”

HP
78
ATK
62
DEF
70
SPD
80

You can switch your active fighter to any game in your library at any time between hunts — tap it in the Library panel.

Hunting & rarity

Each hunt spawns one wild game drawn at random, weighted by rarity — the rarer the game, the less often it appears. The wild's level tracks your active fighter's level (roughly ±1), so encounters scale as you grow.

Rarity Draw weight Chance per hunt In the dex
Common 50
50%
3 games
Rare 28
28%
4 games
Epic 15
15%
7 games
Legendary 7
7%
4 games

Chance = a game's rarity weight ÷ the sum of all weights (100). A Legendary is roughly rarer than a Common.

Age rating

Every card carries a PEGI/ESRB-style age rating. It is a real gameplay axis, not a label: it changes how often a card appears, whether it can enter tournaments, and how far it can evolve.

Rating Content Draw × Tournaments Max evo In the dex
3+ Suitable for all — no fright, no violence. 1.3× Blocked Stage 1 5
7+ Mild peril or cartoon action. 1.15× Blocked Stage 1 5
12+ Non-graphic violence or mild language. Eligible Stage 2 3
16+ Realistic violence, mature themes. 0.8× Eligible Stage 2 2
18+ Strong/graphic content — adults only. 0.6× Eligible Stage 2 3
🎲

Rarer when mature

The draw multiplier stacks on top of rarity: an 18+ card appears at 0.6× its rarity's rate, a 3+ card at 1.3×. Mature titles were always the harder pulls.

🏆

Tournament floor 12+

Competitive leagues set a minimum rating; the default floor is 12+. Below it, a card can still be collected and battled casually — it just can't be entered into ranked play. Leagues may raise the floor (e.g. an 18+ bracket).

🌱

Evolution gate

Growth is gated by rating: 3+/7+ cards cap at their first evolution; 12+ and up have the depth to reach the final stage.

The battle system

Battles are turn-based, one-on-one: your active fighter versus the wild game. You pick a move, damage resolves, then the wild replies with a random move of its own. Repeat until someone's HP hits zero.

Turn flow

  1. 1. You choose one of your fighter's four moves.
  2. 2. Damage is rolled and applied to the wild game.
  3. 3. If the wild faints, you win — and may try to catch it.
  4. 4. Otherwise the wild replies with a random move.
  5. 5. If your fighter faints, you lose and the wild flees.

There's no separate speed/initiative check yet — you always act first each round. SPD is carried on every game for future turn-order rules.

The damage formula

When a move lands, damage is computed as:

dmg = power × 0.5
      × √(ATK / DEF)
      × effectiveness   (2 / 1 / 0.5)
      × STAB            (1.5 if same type)
      × crit            (1.5 on a 10% roll)
      × variance        (0.85 – 1.15)

Rounded, minimum 1 damage. A missed move (see accuracy) deals 0.

🎯

Accuracy

Every move has a hit chance. Roll above it and the attack misses for 0 damage. High-power moves have lower accuracy — a deliberate risk/reward trade.

Effectiveness

Type match-ups multiply damage: 2× when strong, 0.5× when weak, 1× otherwise. See the type chart below.

STAB

Same-Type Attack Bonus: a move whose type matches the attacker's own genre deals 1.5× damage. Your fighter's moves are always same-type, so STAB is always on for you.

💥

Critical hit

A flat 10% chance on any landed hit to deal an extra 1.5× damage.

Genre type chart

Six genre types form a rock-paper-scissors web: each is strong against two types and weak to two. Read a row as the attacker's move type; each cell is the damage multiplier against the column's defender.

atk ↓ / def → 🔫 FPS 🗡️ RPG 🍄 Platformer 🧩 Puzzle 🏛️ Strategy 🌫️ Horror
🔫 FPS 0.5× 0.5×
🗡️ RPG 0.5× 0.5×
🍄 Platformer 0.5× 0.5×
🧩 Puzzle 0.5× 0.5×
🏛️ Strategy 0.5× 0.5×
🌫️ Horror 0.5× 0.5×
🔫 FPS

Strong vs Puzzle, Strategy

Weak to RPG, Horror

🗡️ RPG

Strong vs FPS, Horror

Weak to Platformer, Strategy

🍄 Platformer

Strong vs RPG, Strategy

Weak to Puzzle, Horror

🧩 Puzzle

Strong vs Platformer, Horror

Weak to FPS, Strategy

🏛️ Strategy

Strong vs RPG, Puzzle

Weak to FPS, Platformer

🌫️ Horror

Strong vs FPS, Platformer

Weak to RPG, Puzzle

Moves

Every game shares a four-move pool determined by its genre type. Moves climb in power but drop in accuracy — a low, reliable poke versus a big, risky finisher. All of your moves match your type, so they always get the 1.5× STAB bonus.

🔫 FPS
  • Spray & Pray PWR 25 ACC 100%
  • Frag Grenade PWR 40 ACC 95%
  • Headshot PWR 55 ACC 80%
  • Quickscope PWR 75 ACC 60%
🗡️ RPG
  • Slash PWR 30 ACC 100%
  • Fireball PWR 45 ACC 95%
  • Summon PWR 55 ACC 85%
  • Limit Break PWR 80 ACC 60%
🍄 Platformer
  • Stomp PWR 30 ACC 100%
  • Power-Up Dash PWR 45 ACC 90%
  • Wall-Jump Combo PWR 55 ACC 85%
  • Star Power PWR 75 ACC 65%
🧩 Puzzle
  • Combo Chain PWR 30 ACC 100%
  • Line Clear PWR 42 ACC 95%
  • T-Spin PWR 55 ACC 85%
  • Perfect Clear PWR 78 ACC 60%
🏛️ Strategy
  • Flank PWR 32 ACC 100%
  • Zerg Rush PWR 45 ACC 90%
  • Tech Up PWR 55 ACC 85%
  • Nuke PWR 80 ACC 60%
🌫️ Horror
  • Creeping Dread PWR 30 ACC 100%
  • Sanity Drain PWR 45 ACC 90%
  • Jump Scare PWR 55 ACC 85%
  • Nightmare PWR 72 ACC 65%

Catching

Beat it, then bag it

Win a battle and you're offered the chance to catch the wild game. In this prototype the catch always succeeds — no wobble, no escape. Caught games join your library at the level they were fought.

Duplicates become XP

Already own that game? The duplicate is converted into a +40 XP boost for your existing copy instead of cluttering the library — so re-encounters are never wasted.

Prefer to move on? You can skip the catch and keep hunting. Lose the battle and the wild game gets away.

Leveling & stats

Winning a battle grants your active fighter XP (25 + 18 × wild level). Fill the bar to level up — cascading through multiple levels if you bank a big win.

Level XP to next
Lv 1 100 XP
Lv 2 140 XP
Lv 3 180 XP
Lv 5 260 XP
Lv 10 460 XP

Cost curve: 60 + 40 × level.

Stats scale with level

Every stat (HP / ATK / DEF / SPD) grows +8% of its base per level above 1. Higher-level fighters hit harder, soak more, and survive longer.

Example — DOOM's ATK (base 92):

Lv 1: 92 Lv 5: 121 Lv 10: 158 Lv 20: 232

Training & collection rewards

Between hunts, invest in your library. Training permanently raises a game's stats, and simply collecting pays off through library milestones and per-genre type sets.

Training intensity — a real choice

Each session picks an intensity that trades the shared daily energy pool (and gold) for stat + XP gains. Diminishing returns still stack on top, so hammering one game with Intense burns out fast — spreading effort is the smart play.

🚶

Light 10⚡ · 8g · ×0.5 stat

Cheap chip-away. Small gains, easy on energy.

🏋️

Focused 20⚡ · 15g · ×1 stat

The balanced default.

🔥

Intense 35⚡ · 30g · ×2 stat

Big gains, big cost. Burns the daily energy pool fast.

Evolution, up close

Cross a milestone level and an eligible game evolves — a celebrated moment with a new form title (Base → Evolved → Ascended). Evolution depth is gated by age rating (see above), and the collection card shows how many levels remain until the next form.

Collection pays off

  • 🏆 Library milestones — one-time gold pops as your shelf fills (3 → 6 → 10 → 14 → full dex).
  • 🎯 Type sets — collect every game of a genre for a +250g reward and a permanent +5% gold bonus on all battle payouts. Complete all six and stack the bonus.
  • 📈 Trainer level — every win, catch, and training rep feeds an always-visible meta bar, so progress never stalls.

Bring Your Own Game open standard

The dex isn't ours to gatekeep. Anyone can contribute a new game card through the public SDK/manifest — the same contract our first-party and AI-generated games implement. The open question for any open submission is trust: does this game really exist, is it playable, is the metadata honest, does it violate no IP? gamr answers that with a two-track verification model.

🤝 Track 1 — Ally staking (proof-of-stake)

Bitcoin-style verifiability, but stake instead of hash power. The submitter recruits allies — other verified players/creators — who each stake reputation/XP (or a small in-game token) to vouch for the claim and sign the submission via the platform's attestation system. Stakes are slashable: back a fake and you lose them.

  1. 1. Submit a manifest → status draft.
  2. 2. Gather ally attestations → pending.
  3. 3. Clear the stake threshold → verified, the card goes live.

Base threshold is 3 allies; rare or mature titles need more. Higher stakes / more allies mean faster approval and a higher initial rarity boost.

Submission Allies needed
Common, family-friendly 3
Rare title 5
Mature (16+) title 5
Legendary + 18+ 5

🛡️ Track 2 — IRL authority override

Real-world admin power trumps the chain. A platform admin (or trusted IRL moderator) can physically meet the submitter, inspect the actual cartridge / disc / box / manual, and manually approve, override, correct, or revoke a listing.

  • • The only way to shortcut ally staking or settle a dispute (contested ownership, wrong age rating, fake submission).
  • • Grants a permanent ✔ verified IRL badge and stronger rarity weighting (prestige: one tier up).
  • • Every override is logged — timestamp, admin ID, and optional photo proof stored privately.

Status verified_irl is terminal-strong: it can only be changed by another admin action, itself logged.

Submission lifecycle

draft pending verified / verified_irl → (disputes) rejected / revoked

The full model lives in apps/web/src/lib/poc.ts (GameSource, ByogStatus, Verification) and is documented in SOLUTION.md. A community card is just a GameCard with source: "community" and a verification record — the same object as any first-party card.

Saving & progress

Everything — your library, levels, XP, active fighter, and win/hunt tallies — is saved automatically to your browser's localStorage after every action. There's no account and no server yet, so progress lives on the device you play on. The reset control in the Library panel wipes your save and starts you back at the starter screen.

Notes on extensibility

This is an early prototype (Epic #11), built so the rules are pure data and math — no DOM, no side effects — in apps/web/src/lib/poc.ts. That makes it easy to grow:

  • More games

    The dex is a flat array — community PRs can append real games, or it can move to per-game JSON.

  • Signature moves

    Today every game of a type shares one 4-move pool; per-game moves are a natural next step.

  • Turn order

    SPD is tracked on every fighter, ready for a real initiative/speed check.

  • Status moves

    Move power of 0 is reserved for future status effects (buffs, debuffs, DoT).

  • A real backend

    The controller funnels platform signals through one emit() seam, ready to move behind the game-sdk contract and validate scores server-side.

  • Richer catching

    Catch rates, items, and escape chances can slot into the currently-guaranteed catch step.

Tracking: Epic #11 · Battle system #14 · Rules page #17

← Back to the Game Collector Battler ▶ Play the POC