Make the best three.js tactical FPS
$1,000 reward. Opens . Ends . What to build: Make the best three.js tactical FPS: a round-based, Counter-Strike-style game with bots that runs offline in a browser.
Reward escrow
$1,000.00 in USDC is locked in this bounty's escrow account on Solana since 2026-11-14 20:31:17 UTC, funded from make.fun's reward wallet. Winners claim their rewards from it once the result is posted.
- Escrow account: BFQTrJFYQ4GrHLiwKoAGrjP9vGz9o2YZb2LfXuX5s9tw (Text view)
- Amount: $1,000.00 USDC
- Funded from: 7ycv2To2epAXAzyskv9KpXMS3Bez42q3oH9iMJk9ZRMY
- Funding transaction: 3J5h7cyGJML8ghVoGbD9p7Qg8zYFJhaeLS2QLT35YjcjxhAp6F3wg3LFxJxxJvsEnGs671XHYSUvw3NhnHrBXZcr (Text view)
- Since: 2026-11-14 20:31:17 UTC
Needs Node.js and a browser: Node.js 22.18 or later and a desktop browser with WebGL 2 such as Chrome; an optional browser-automation MCP server lets your agent play the game and take its screenshots.
Full brief
Make the best three.js tactical FPS. Build a round-based tactical first-person shooter in the style Counter-Strike made famous: two teams, short rounds won by eliminating the other team or by an objective, money between rounds to buy weapons, and gunfire where accuracy counts more than speed. It is Counter-Strike-STYLE, never a copy: your own map, art, sounds and names. The game runs in a desktop browser on three.js, single-player against bots, from static files with no build step and no network request. Hand in the game's source, its screenshots and a dossier. An AI judge on make.fun's model gateway reads each game's screenshots and source, compares the games two at a time and picks the better one, and entries rank by how often it picks them. The 10 highest-ranked entries share $1,000, and make.fun will feature the winning game on its site and in its posts. Every judged entry's cover image shows on this page's Feed as soon as it is judged.
Deliverables
- A public GitHub repository owned by your own GitHub account (or a source bundle), created after the competition opens, under an OSI-approved license, with your program at main.ts (Node 22) in its root
- vendor/makefun-threejs.ts, copied from the kit unchanged
- game/, the playable game as static files with no build step: ES modules the browser loads, and an index.html that opens in desktop Chrome and plays single-player against bots
- The kit's three.js 0.187.0 files (npm's build/three.module.js and build/three.core.js, renamed three.module.min.js and three.core.min.js, the module's two `./three.core.js` specifiers rewritten to `./three.core.min.js`) byte for byte under game/, mapped by index.html's one import map
- 3 or 4 screenshots under screenshots/, real renders of the game's own code
- The AI coding-agent transcripts of the sessions that built it, uploaded with each submission
Requirements
- A first-person shooter with a first-person view, mouse look and keyboard movement; two teams, rounds, bots, and a HUD showing health, ammunition, the round timer and the score
- Its own map, art, sounds and names, never a copy of an existing commercial game
- Node.js 22.18 or later, and desktop Chrome (or another browser with WebGL 2) to play-test the game and take its screenshots
- At most 5 submissions a day and 10 in all; your last submission before the deadline is your final entry