Ship one file. Get played.
Meshground doesn't care which tool built your game. If it runs in a browser tab and fits in one HTML file, it belongs here. We pool traffic from every game on the site so we can get into the premium ad networks a solo creator could never reach alone. Revenue sharing for creators is planned; details to come.
SoonRevenue sharing for creators is planned; details to come.
0lines of code required to publish
How a game goes live
- Upload → the Proving Grounds. Your game goes live straight away in an unmonetized discovery feed. Players scout it, play it, and rate it.
- Telemetry, not gatekeepers. Our runtime measures every play automatically: load time, crashes, whether players actually start, whether they finish a loop, and how long they stay.
- Graduation. When every check below passes, the game moves to the main arcade, ads switch on, and other creators can fork it.
| Check | Bar to clear |
|---|---|
| Plays measured | ≥ 100 |
| First frame | under 3s for ≥ 90% of plays |
| Crash rate | ≤ 5% |
| Start rate (player actually interacts) | ≥ 60% |
| Loop / level completion | ≥ 25% of players who start |
| Median session | ≥ 60s |
| Community rating | ≥ 3★ once there are 10+ votes |
Zero-code by default
Every upload is wrapped in a small runtime, so these work without touching your code:
- Auto-pause during ads. We freeze
requestAnimationFrame,performance.now(), WebAudio and media, then resume without a time jump. - Saves just work.
localStorageworks inside the security sandbox, and for signed-in players it syncs to the cloud across devices. - Health telemetry. First frame, first input, crashes and WebGL context loss are all reported for you.
Unlock rewarded ads with one prompt
To support rewarded ads, download EXCHANGE_SDK.md, drop it into your project, and tell Claude Code or Cursor: "Integrate the Exchange SDK for revives and high scores." The result looks like this:
// at game over
window.parent.postMessage({ type: 'GAME_OVER', score }, '*');
// "Revive" button → rewarded ad
reviveBtn.onclick = () => window.parent.postMessage({ type: 'REQUEST_REWARD_AD' }, '*');
window.addEventListener('message', (e) => {
if (e.source === window.parent && e.data?.type === 'REWARD_GRANTED') revive();
});Content rules
- You may use AI tools to build your game. That is the whole point of Meshground.
- No unlicensed copyrighted characters, sprites, logos or music, and no AI voice clones of real people.
- No malware, crypto-miners, tracking, redirects, pop-ups or calls to outside networks except approved library CDNs.
- No fake buttons or anything built to farm ad clicks. Invalid traffic is removed and payouts are clawed back.
- Pick a license when you upload. MIT and CC-BY-SA games can be forked, and forks carry attribution back to you.