CURSOR VIBE JAM 2026
The Annual Vibe Coding Game Jam
Sponsors welcome! DM @levelsio on X
PRIZES
$10,000
SILVER
$20,000
GOLD
$5,000
BRONZE
Real CASH prizes! $35,000 total in cash prizes!
THE JURY




"Let's see how far AI coding has come since last year."
More game dev & AI judges to be announced!
RULES & INFO
Anyone can enter with their game.
Add the JS snippet from the widget section below ↓ to your game — games without it are disqualified.
At least 90% of the code has to be written by AI.
Only NEW games created during the jam period will be accepted. Do not submit games that existed prior to April 1, 2026.
Game has to be accessible on web without any login or signup and free-to-play (preferably its own domain or subdomain).
Multiplayer games preferred but this is not required!
You can use any engine but usually ThreeJS is recommended.
NO loading screens and heavy downloads (!!!) — has to be almost instantly in the game (except maybe ask username if you want).
One entry per person — focus on making one really good game!
Deadline: 1 MAY 2026 @ 13:37 UTC. Check the countdown above!
WIDGET (REQUIRED)
(!) IMPORTANT — This JS snippet is REQUIRED.
Add this code to your game's HTML to show you're an entrant:
<script async src="https://vibej.am/2026/widget.js"></script>
We use this to track entrants and also how popular each game is for the Most Popular sub prizes.
Make sure your game is on a single domain (like vibegame.com, or fly.pieter.com, or rally.bolt.new) because that's how we track the games.
FAQ
Vibe coding means using AI assistants as your primary development tool. You describe what you want, the AI writes the code, and you guide the creative direction. At least 90% of your code must be AI-generated.
You may use existing libraries and frameworks (Three.js, etc.), but the game itself must be brand new — created during the jam period. Do not submit games that existed before 1 April 2026.
You can use any engine, but Three.js is the recommended choice. Your game must run in a web browser with no downloads, no login, and no heavy loading screens.
Gold ($20,000), Silver ($10,000), and Bronze ($5,000) winners receive real CASH prizes — $35,000 total! Last year we gave out $17,500. The Vibe Jam is like a fun benchmark for AI coding!
This widget is REQUIRED. Add it to your game's HTML — see the WIDGET section above.
<script async src="https://vibej.am/2026/widget.js"></script>
TIMELINE
PORTALS (OPTIONAL)
Note: this Vibe Jam Portal is a totally different thing than the required widget snippet above. The widget is mandatory and just tracks your game; portals are optional and let players hop between games like a webring.
Make an exit portal in your game players can walk/fly/drive into — you can add a label like Vibe Jam Portal. This way players can play and hop to the next game like a Vibe Jam 2026 Webring! Your game will be added to the webring if you have a portal.
When the player enters the portal, redirect them to:
https://vibej.am/portal/2026
You can send GET query params that get forwarded to the next game:
username=— username/name of the playercolor=— player color in hex or justred/green/yellowspeed=— meters per secondref=— URL of the game the player came from
Use ?ref= to add a portal BACK to the game they came from.
Example URL:
https://vibej.am/portal/2026?username=levelsio&color=red&speed=5&ref=fly.pieter.com
The receiving game can use this info to spawn the player with full continuity!
Optional extra params:
avatar_url=team=hp=— health points; 1..100 rangespeed_x=— meters per secondspeed_y=— meters per secondspeed_z=— meters per secondrotation_x=— radiansrotation_y=— radiansrotation_z=— radians
The portal redirector will always add ?portal=true so you can detect when a user comes from a portal and instantly drop them into your game out of another portal — no start screens.
(!) IMPORTANT — Add a start portal:
When receiving a user (with ?portal=true in your URL) and a ?ref=, make a portal where the user spawns out of so they can return back to the previous game by walking into it. When returning them, make sure to send all the query parameters again too.
All parameters except portal are optional and may or may not be present — do not rely on their presence.
IMPORTANT: make sure your game instantly loads — no loading screens, no input screens — so the continuity is nice for players.
SAMPLE CODE — copy-paste-ready Three.js snippet for start + exit portals. Include it with a <script src>, call initVibeJamPortals({ scene, getPlayer }) once, and animateVibeJamPortals() inside your animate loop.
https://vibej.am/2026/portal/sample.js
<script src="https://vibej.am/2026/portal/sample.js"></script>
<script>
initVibeJamPortals({
scene: yourScene,
getPlayer: () => yourPlayerObject3D,
spawnPoint: { x: 0, y: 0, z: 0 },
exitPosition: { x: -200, y: 200, z: -300 },
});
// Inside your existing animate/render loop:
// animateVibeJamPortals();
</script>
SUBMIT YOUR GAME
Ready to show the world what you and AI can build together?
SUBMIT NOWSubmissions close 1 MAY 2026 @ 13:37 UTC.
FROM 𝕏
The story of the jam, straight from X.