2026 Vibe Coding Game Jam Official Rules

Pieter Levels · 4 min read · original

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:

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:

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

`

`