{"_id":"@caputchin/game-blockfall","_rev":"2-c8d811e207e4e75987766885999cbb35","name":"@caputchin/game-blockfall","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.0":{"name":"@caputchin/game-blockfall","version":"0.2.0","keywords":["caputchin","caputchin-game","captcha","kaplay","tetromino","puzzle","game"],"license":"MIT","_id":"@caputchin/game-blockfall@0.2.0","maintainers":[{"name":"caputchiner","email":"info@caputchin.com"}],"homepage":"https://github.com/Caputchin/caputchin-games#readme","bugs":{"url":"https://github.com/Caputchin/caputchin-games/issues"},"dist":{"shasum":"d5131bc4f15a780f7ed6c44443512e1a502b5e76","tarball":"https://registry.npmjs.org/@caputchin/game-blockfall/-/game-blockfall-0.2.0.tgz","fileCount":10,"integrity":"sha512-QcUct+OU2UBTj+Q9F37P0ZAihbJPf1gBLdTuE37ujJ+oOttbzZ/PrQ4Ypgf+/FtlvRVNcFDYWqb7oJE/lmohEA==","signatures":[{"sig":"MEUCIQCdEyRwtyaRYNgpb4GlSpDTKkWP9WdcVM+EzOsNhiV1ZAIgUV39ieUkS05dRB9Ris+4nQuBm2Uo9ORxZ9SlLymIQ38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469989},"type":"module","_from":"file:caputchin-game-blockfall-0.2.0.tgz","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"caputchiner","email":"info@caputchin.com"},"_resolved":"/tmp/71b5b70efc1f21610a30039fc1d033a0/caputchin-game-blockfall-0.2.0.tgz","_integrity":"sha512-QcUct+OU2UBTj+Q9F37P0ZAihbJPf1gBLdTuE37ujJ+oOttbzZ/PrQ4Ypgf+/FtlvRVNcFDYWqb7oJE/lmohEA==","repository":{"url":"git+https://github.com/Caputchin/caputchin-games.git","type":"git","directory":"packages/blockfall"},"_npmVersion":"10.9.8","description":"Stack the falling blocks and clear lines to prove you're human. A KAPLAY-engine captcha. A Caputchin first-party game.","directories":{},"sideEffects":["./dist/blockfall.js"],"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","kaplay":"3001.0.19","vitest":"^2.0.0","happy-dom":"^15.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@caputchin/game-sdk":"^3.1.0","@caputchin/preset-kaplay":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/game-blockfall_0.2.0_1780543632704_0.09300036346806051","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@caputchin/game-blockfall","version":"0.3.0","description":"Stack the falling blocks and clear lines to prove you're human. A KAPLAY-engine captcha. A Caputchin first-party game.","keywords":["caputchin","caputchin-game","captcha","kaplay","tetromino","puzzle","game"],"homepage":"https://github.com/Caputchin/caputchin-games#readme","repository":{"type":"git","url":"git+https://github.com/Caputchin/caputchin-games.git","directory":"packages/blockfall"},"license":"MIT","private":false,"type":"module","sideEffects":["./dist/blockfall.js"],"devDependencies":{"@caputchin/game-sdk":"^3.2.0","@caputchin/preset-kaplay":"^0.4.0","@caputchin/replay-selfcheck":"^0.2.0","@types/node":"^20.0.0","happy-dom":"^15.0.0","kaplay":"3001.0.19","tsup":"^8.0.0","typescript":"^5.4.0","vitest":"^2.0.0"},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest","check":"node scripts/check.mjs"},"_id":"@caputchin/game-blockfall@0.3.0","bugs":{"url":"https://github.com/Caputchin/caputchin-games/issues"},"_integrity":"sha512-5wiMvRiWBbO6Bkqp58X4fmA8r88cTOkKgUitvX3jE9iAaEyUaNgF/1AFFFssGZMu4m47XqqhOQxNLdH2OyPsiA==","_resolved":"/tmp/da08dcfca46f99ddc2d0d94554f6c544/caputchin-game-blockfall-0.3.0.tgz","_from":"file:caputchin-game-blockfall-0.3.0.tgz","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-5wiMvRiWBbO6Bkqp58X4fmA8r88cTOkKgUitvX3jE9iAaEyUaNgF/1AFFFssGZMu4m47XqqhOQxNLdH2OyPsiA==","shasum":"3ec5c6a87742752559bded3624baa0e1d03c77ab","tarball":"https://registry.npmjs.org/@caputchin/game-blockfall/-/game-blockfall-0.3.0.tgz","fileCount":10,"unpackedSize":470219,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDHKhLULRBJA2MjZEcFEhl467oLWGDMVIXYTjw0TJMnSAIhAM3j9bHQAZnSGQiiWNcNmH8q4JQy97vTh01ib6Izbvax"}]},"_npmUser":{"name":"caputchiner","email":"info@caputchin.com"},"directories":{},"maintainers":[{"name":"caputchiner","email":"info@caputchin.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/game-blockfall_0.3.0_1780846226086_0.3780205950399209"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-04T03:27:12.525Z","modified":"2026-06-07T15:30:26.633Z","0.2.0":"2026-06-04T03:27:12.906Z","0.3.0":"2026-06-07T15:30:26.504Z"},"bugs":{"url":"https://github.com/Caputchin/caputchin-games/issues"},"license":"MIT","homepage":"https://github.com/Caputchin/caputchin-games#readme","keywords":["caputchin","caputchin-game","captcha","kaplay","tetromino","puzzle","game"],"repository":{"type":"git","url":"git+https://github.com/Caputchin/caputchin-games.git","directory":"packages/blockfall"},"description":"Stack the falling blocks and clear lines to prove you're human. A KAPLAY-engine captcha. A Caputchin first-party game.","maintainers":[{"name":"caputchiner","email":"info@caputchin.com"}],"readme":"# Blockfall\n\nA falling-blocks puzzle that doubles as a captcha. Slide and rotate the seven\ntetromino shapes, pack them into clean rows, and clear lines. Clear enough lines\nand you are verified as human, then you can keep playing for the score.\n\nBlockfall is a Caputchin first-party game, built on the [KAPLAY](https://kaplayjs.com)\nengine to show the platform can host an arbitrary deterministic engine.\n\n## How it plays\n\nPieces fall into the well one at a time. Move and rotate the falling piece to\ncomplete a full horizontal row, which clears and drops everything above it.\nClearing the configured number of lines (two by default) satisfies the captcha.\nThe round ends if the stack reaches the top.\n\n| Action | Keyboard | Touch |\n|---|---|---|\n| Move left / right | Left / Right arrow (or A / D) | Left / right buttons |\n| Soft drop | Down arrow (or S) | Soft-drop button (hold) |\n| Hard drop | Space | Hard-drop button |\n| Rotate clockwise | Up arrow (or X / W) | Rotate button |\n| Rotate counter-clockwise | Z | (rotate clockwise repeatedly) |\n\nHold left or right to slide continuously. Hold soft drop to fall faster. Hard\ndrop slams the piece to the bottom and locks it.\n\n## Customization\n\nA site owner can tune Blockfall from the dashboard:\n\n- **Lines to verify**, board **width** and **height**, fall speed, and lock\n  delay (see the configuration presets: casual, marathon, wide).\n- **Skins** restyle the well, text, and the seven block colors (dark, mono, and\n  a light daylight theme ship by default).\n- **Locales**: the full official language set ships, English by default, with\n  the right script and direction handled automatically.\n\n## Accessibility and support\n\n- **Responsive**: the board and controls reflow to any container size and aspect\n  ratio, portrait or landscape, with no fixed canvas.\n- **Touch**: fully playable on a phone through the on-screen controls, sized for\n  fingers; nothing needs a keyboard or mouse.\n- **Keyboard**: every action is reachable from the keyboard.\n- **Screen reader**: line clears, the verified moment, and game over are spoken\n  through a live region. The falling-block play itself is visual and real-time,\n  so the board state is not fully solvable by a screen reader alone; this is\n  declared honestly in the support flags.\n- **Audio**: the game is fully playable with no sound; audio is never the only\n  channel for any cue.\n\n## Add it to your site\n\nBlockfall runs inside the Caputchin sandboxed widget. Pick it for your site key\nin the dashboard, or embed it through the marketplace. The player's inputs are\nre-simulated on the server to verify the round, so the verification is\ntamper-resistant without sending us any personal data.\n","readmeFilename":"README.md"}