Skip to content
Get in touch

Rock, Paper, Punch!

Choose Rock, Paper, or Scissors, then brawl through an endless black-and-white picture show.

Instructions, details & credits
A rubber-hose endless arcade brawler

Created by Tim Howley

  • Arcade
  • Keyboard, mouse, or touch
  • Session-only score

Read the controls and accessibility note, then roll the picture.

Executive Summary

Rock, Paper, Punch! is an endless rubber-hose arcade brawler created by Tim Howley. You choose Rock, Paper, or Scissors as a play style, then walk, leap, dodge, and punch through a growing crowd of melee fighters, ranged attackers, and heavy bruisers. Experience raises your level, every three levels advances your rank, and bottles of ink restore health.

The game is a single HTML file: its Canvas rendering, character art, input handling, progression, procedural scenery, film treatment, and synthesized audio travel together. This Game Room edition preserves that file exactly as Tim published it at the pinned upstream revision. RS adds only this educational brief, incorporated-asset notices, and the shared Game Room frame around the brief route.

Before You Play

Choose Rock for high health and strong hits, Paper for a balanced fighter, or Scissors for speed and attack power. The game has no rock-paper-scissors counter triangle: the three choices shape your movement, health, reach, and attack rhythm instead. You have five lives. The run continues as enemies grow stronger, and your score, distance, knockouts, level, and best combo appear on screen.

Rock, Paper, Punch! plays in landscape. Portrait mode freezes the run behind a message asking you to turn your device. The best score lasts only for the current page session; the game has no account, cloud save, leaderboard, cookies, or local-storage record. Tim's GitHub Pages edition and the RS edition therefore begin each page session fresh.

Controls and Accessibility

  • On a keyboard, use A/D or Left/Right to walk, W or Up to jump, and S or Down to dodge. A dodge supplies one second of invincibility.
  • Press J, Z, or Space for a quick attack. Press K or X for a heavy attack. Press M to mute or restore the synthesized audio.
  • With a mouse or touch screen, use the on-screen directional pad and the Quick and Heavy controls. The game supports simultaneous touches for movement and attacks.
  • Audio begins only after an interaction. The current game has no visible mute state, touch mute control, or pause control.
  • The interface and gameplay are drawn into one Canvas element. The brief page uses ordinary headings, lists, and links, but the action has no screen-reader gameplay equivalent.
  • Film grain, flicker, scratches, camera shake, hit-stop, and constant combat motion are central to the current presentation. The game does not provide a reduced-motion or reduced-flicker option.
  • The current design requires landscape orientation. It does not enter fullscreen or request device permissions.

How We Made This with Generative AI

Tim created Rock, Paper, Punch! through a Claude-assisted workflow. The pinned upstream commit records Claude Opus 5 as a co-author. The collaboration helped combine a rock-paper-scissors character idea, rubber-hose animation language, procedural scenery and enemies, combat timing, progression, responsive touch controls, and synthesized sound into one self-contained browser artifact.

The human creator field names Tim because authorship is a human responsibility. Claude belongs in this process narrative, where readers can see how Generative AI participated without mistaking a model for the person who chose, directed, tested, and published the game.

For the RS migration, Generative AI helped inventory the existing behavior, verify incorporated-asset notices, define strict source and artifact checks, draft this explanation, and construct compatibility tests. It did not rewrite the gameplay source. Tim's pinned HTML remains the authority, and Tim has reviewed and approved this brief for publication.

The Gory Details

The intake is immutable. The canonical source/rock-paper-punch.html is pinned to upstream commit 97b0e31fe7b783445c14f8c7701abfa62f819fd0, Git blob 83477ac7ce886b29a93d0d943b0a6eecd3c93d8a, 103,288 bytes, and SHA-256 d1de3ef2d32ce5eb796a7415b008e4429f67a45cecacc4591a122f187cff9b79. The artifact build checks every value before it copies the file and checks the copied bytes again before publishing a candidate.

One file contains the runtime. HTML provides a full-viewport stage and Canvas. JavaScript owns a fixed-step simulation, three player classes, three enemy roles, procedural world chunks, combat state, experience and ranks, pickups, drawing, input routing, Web Audio oscillators, and the request-animation-frame loop. The embedded Rye font is available under the SIL Open Font License 1.1; the embedded ambientCG Paper003 texture is available under CC0 1.0 Universal. The portable artifact carries the complete incorporated-asset notices beside the unchanged game.

Randomness serves variety, not replay identity. A run seeds its procedural generator from the browser's performance clock. It uses that stream for enemies, scenery, names, and effects. There is no daily seed, replay code, or promise that two runs will match.

The score is session-only. The best score lives in JavaScript memory and disappears when the page session ends. Hosting the same byte-identical game at RS therefore does not read, move, or delete information attached to Tim's GitHub Pages origin.

The Game Room owns the wrapper, not the game. The portable artifact contract records Tim as creator, Arcade room membership, canonical brief and play routes, the shared-frame version, the source revision, and a digest of every shipped file. The assembler rejects unapproved briefs outside the staging-review lane, unknown rooms, path escapes, route collisions, frame mismatches, and payload drift. Front Door receives the Game Room as one versioned subsite artifact rather than learning the game's private implementation.

Characterization protects behavior without claiming a refactor. Automated browser checks cover the brief, exact play-route bytes, fighter selection, keyboard and on-screen input, portrait blocking, game-over restart, responsive bounds, clean browser output, and unexpected network destinations. Screenshots cover the brief, fighter menu, active play, portrait notice, and game-over state. A human landscape playthrough remains the final check for pacing, control feel, legibility, and the long-form endless loop.

Credits

Creator and process

Rock, Paper, Punch! was created by Tim Howley through a Claude-assisted workflow. Tim directed, selected, tested, and published the game.

RS Game Room edition

Renaissance Solutions prepared the learning brief, shared Game Room frame, source checks, and compatibility tests with Generative AI assistance. Tim's original game, including its embedded font and texture, is presented unchanged.

Incorporated assets

Rye typeface: Copyright (c) 2011 by Sorkin Type Co, with Reserved Font Name "Rye". Licensed under the SIL Open Font License, Version 1.1. Read the complete Rye license and visit the font source.

Paper003 texture: Created by ambientCG and made available under Creative Commons CC0 1.0 Universal. Visit the Paper003 source and ambientCG license information.

The incorporated-asset notices accompany the unchanged game.