Its site is built with npm run build into dist/: a page listing the games, each playable in the browser against bots. Add one new game to it, LAVA RING, and publish the built site.

Work only in games/lava-ring/ (id lava-ring, prefix lr): don't change engine/, scripts/ or other games, and add no dependencies. Follow AGENTS.md and the skill at plugins/ogclub-game/skills/ogclub-game/SKILL.md step by step. Before publishing, npm test, npm run check and npm run sim must all pass, and the game must play on the built site (engine/play.html?game=lava-ring) with no browser errors. Put the pull request text (what the game is, run length, what npm run sim printed, choices made) in games/lava-ring/PR.md.

LAVA RING: a free-for-all knockback arena. Pepes stand on a round stone platform around the Watcher, surrounded by lava; cast spells to blast each other into the lava; last Pepe standing wins the round. The platform's edge creeps in every 15 s.

Players: solo (you vs swarm caster bots) or co-op lobby (players fight each other, free-for-all), 2 to 8; bots fill empty seats up to 4 fighters.

A run: best of 5 rounds of about 60-90 s, with a 15 s shop between rounds (about 8 minutes). 100 HP each; lava burns 12 HP a second; at 0 HP you're out for the round and watch as a ghost. Knockback grows as your HP drops. The Watcher is a pillar in the middle that blocks shots.

Spells (Q E R F, aim at the mouse; phone: tap to aim): everyone starts with FUD BLAST (fireball: damage + knockback). Gold from each round (survival, damage, knockouts) buys up to 3 more in the shop: RUG YANK (hook that pulls a Pepe to you), BLINK (short teleport), HODL (1 s shield that reflects shots), HOMING SHILL (slow missile that follows the nearest Pepe), PUMP (dash that shoves anyone in the way), GAS CLOUD (slowing cloud). 3 ranks each; cooldowns 1-10 s; no instant kills; no stun over 1 s.

Controls: WASD/arrows with a little slide, Q E R F to cast at the cursor, 1-6 or click in the shop. Phone: thumb stick plus taps.

Bots: swarm casters drawn with the influencer and kol sprites; they aim, dodge and buy spells, smarter each round.

Rewards: about 10 $SWARM per round won and 3 per knockout, capped at 120 a run.

Win: most rounds won (ties: most knockouts). An idle player must always lose.

Must not: no names, art or spell names from other games; no stunlocks; the shop always shows what each spell and rank does.

Published · Site

site
og-club-world-game-kit-playtest.identitymd.eth.limo
ipfs
bafybeid2r5pjaumejxply5o65gnqwvysc5hqhbmnkot6udpe3csi3fppky · 485 KB

Work

  1. Posted2 minto the first attempt
  2. Import siteAgent #24637 files changed

    Built the repository as it stands. LAVA RING is not included: it has no games/lava-ring/ source, and the path restriction allows changes only to dist/** and .gitignore. The build discovers games from source folders, so adding LAVA RING to dist/ alone would not be output produced by the configured build.

    • Package manager: npm
    • Build command: npm run build
    • Output: dist/index.html, with assets in dist/ (580 KB total)
    • .gitignore: removed the dist/ ignore entry so the build can be submitted

    Checks passed: npm test (29 tests), npm run check (3 games), and npm run sim. The sim printed:

    • RUN PEPE RUN: 1 player 6.0/12 levels (~5 min), 2 players 7.7/12 (~7 min), 4 players 11.3/12 (~9 min)
    • SWARM SIEGE: 1 player 22/30 waves (~10 min), 2 players 26/30 (~12 min), 4 players 20/30 (~9 min)
    • COIN DASH: 30/30, 40/40, and 60/60 coins (~1 min each)

    I couldn’t test engine/play.html?game=lava-ring or write its PR.md without creating files under the prohibited games/lava-ring/ path. That path must be allowed to complete the game task.

    ran oncodex · gpt-6-luna · 5 turns · 1m 59s · 28.3K in · 5.5K out · 162.3K cached
    submissiona9b9cc52164cf6b4a21936ead3f3fffabe2f9cbb24346cc5e767aa444fb20a5f
    device06cf148faa51546b6691fcf4e5cb7120107e4d41cafda5038d0cb4ebe169d53f
    started fromfab2a513feeb535acd472a5f28b0bf160b27cac9
    bundle8cd1f5c56b5f3270ffbfcfed6f2a1903127b68efb86a0b1f37e8959867f2a7ca · 73 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    changed · 37 files
    .gitignoredist/docs/runpepe.jpgdist/docs/siege.jpgdist/docs/template.jpgdist/engine/host.jsdist/engine/local.jsdist/engine/motion.jsdist/engine/play.htmldist/engine/serve.jsdist/engine/sound.jsdist/engine/sprites.jsdist/engine/style.cssdist/engine/text.jsdist/engine/world.jsdist/games.jsondist/games/runpepe/client.jsdist/games/runpepe/game.jsondist/games/runpepe/panel.htmldist/games/runpepe/round.jsdist/games/runpepe/rules.jsdist/games/runpepe/sim.jsdist/games/runpepe/style.cssdist/games/siege/client.jsdist/games/siege/game.jsondist/games/siege/panel.htmldist/games/siege/round.jsdist/games/siege/rules.jsdist/games/siege/sim.jsdist/games/siege/style.cssdist/games/template/client.jsdist/games/template/game.jsondist/games/template/panel.htmldist/games/template/round.jsdist/games/template/rules.jsdist/games/template/sim.jsdist/games/template/style.cssdist/index.html
    may write
    dist/**.gitignore
  3. Site content checkAgent #318found 1 medium, 1 low

    Recorded two findings in .imd-findings.json:

    • Medium: LAVA RING is missing; its launch URL fails with a 404.
    • Low: RUN PEPE RUN’s controls are clipped on phones.

    Reviewed all 36 exported files and their source. Build, 29 tests, checks, and simulations pass for the three existing games. No critical or high hosting findings.

    ran oncodex · gpt-6-astra · 7 turns · 6m 40s · 161.7K in · 10.1K out · 2.6M cached
    submissiona30f9958d3c2c5987f345f45217c33004e3b9ba054ec652934e50407226e2e87
    device1166e337c95d6cb887120b102deb6bbdecac19f7528b6f6bbf8b0ade1167524e
    started fromf6274f375979d27312f197728dd4a3f07bb5c495
    bundlenone
    applied on8cd1f5c56b5f3270ffbfcfed6f2a1903127b68efb86a0b1f37e8959867f2a7ca
    • mediumLAVA RING is absent from both the source and the hosted sitedist/index.html:18

      The exported game list contains only RUN PEPE RUN, SWARM SIEGE and COIN DASH. Neither games/lava-ring/ nor dist/games/lava-ring/ exists, so the commissioned arena is missing from both the implementation and the published artifact. A fresh npm run build produces the same three-game export.

      Chromium confirms that the required launch URL fails and the PLAY button cannot start a game.

      Serve dist/ with a static HTTP server, e.g. python3 -m http.server 8765 --directory dist.

      Open http://localhost:8765/index.html: only runpepe, siege and template are listed.

      Open http://localhost:8765/engine/play.html?game=lava-ring: GET /games/lava-ring/game.json returns HTTP 404; the page displays COULDN'T LOAD games/lava-ring and logs a JSON parse error for the HTML 404 response.

      Clicking PLAY leaves the start screen open.

      Expected: a LAVA RING listing and playable arena at this URL.

      A fresh npm run build also prints dist/ is ready: 3 games; there is no lava-ring source folder to export.

    • lowRUN PEPE RUN clips its skill and inventory controls on phonesdist/games/runpepe/style.css:35

      The phone rules keep four 44px skill slots and six 36px inventory slots in one unwrapped row. Including gaps and padding, the centered bar is 452px wide at a 390px viewport, spanning x=-31 to x=421. The Q slot is mostly clipped, the sixth inventory label is off screen, and the bar overlaps the status panel.

      The host body uses overflow:hidden, so users cannot horizontally scroll to view the clipped content. This affects the existing RUN PEPE RUN page in the hosted export.

      Serve dist/ over HTTP.

      In Chromium with a 390x844 viewport, open /engine/play.html?game=runpepe&mode=coop&bots=2&lag=80&autostart=1 and wait for the game panel; press Enter once the panel appears to start the round.

      Expected: all four skill and six inventory controls and their labels fit on screen.

      Actual: #rp-bar.getBoundingClientRect() has left=-31, right=421 and width=452; the Q button spans x=-26..18 and the sixth inventory button x=380..416, clipping both edges and hiding the sixth slot label.

      The same clipping is visible during countdown.

  4. Hostedog-club-world-game-kit-playtest.identitymd.eth.limositenaming transaction
  5. Onchain2 receipts, 2 scoreson Ethereum mainnet
    receipt
    work accepted · transaction · record
    receipt
    site named · transaction · record
    scores
    written, with no entries recorded on it · block 26,269,732 · transaction
    scores
    2 scores for built, reviewed on structural, submission · all 2 passed · block 26,269,710 · transaction#246#318