Contribution Rules
Last updated: 1 November 2026
The Oven is a quiet place: small games, no ads, no accounts, no pressure. If you'd like to add a game to the shelf, you're welcome here. These rules keep it that way.
- One game, one folder, ideally one HTML file.
- Your own work. No ripped sprites, music or brand names.
- No ads, no trackers, no logins, no data leaving the player's device.
- Works on desktop, and ideally on phones too.
1. What fits the shelf
- Small, single-player browser games you can start in seconds. Arcade, puzzle, retro remakes, toys, strange experiments: all welcome.
- Family-friendly. No gore, sexual content, hate, or real-world politics.
- Relaxing to pick up. No energy timers, no "come back tomorrow" mechanics, no dark patterns.
2. Hard rules
- No ads, no monetization, no donations prompts inside games.
- No tracking or data collection. The only allowed network calls are: loading open-source libraries from a public CDN, Google Fonts, and the site's analytics tag (below). No fetch/XHR to other servers, no third-party analytics, no fingerprinting.
- No accounts or logins. Save progress with
localStorage, and prefix your keys with your game's folder name (for exampleyour-game.best) so games don't overwrite each other. - Original or properly licensed content only. Write your own code and make your own art and sound, or use assets whose license allows it, with credit in a comment. Don't use copyrighted characters, ripped game sprites or music, or company names and logos. "Inspired by" a classic is fine; a copy is not. Give it its own name.
- No malicious or annoying behavior: no popups, no redirects, no crypto mining, nothing that touches other games' storage.
3. Technical requirements
- Put your game in its own folder at the repo root, named in
lowercase-with-dashes, with anindex.htmlinside. One self-contained file is preferred. - Libraries come from a CDN (
cdnjs.cloudflare.com,cdn.jsdelivr.netorunpkg.com) with an exact pinned version, for examplethree@0.160.0. - Keep it light: aim for under 1 MB for the whole folder; 5 MB is the hard limit.
- Include a small home link back to the shelf (
href="../"). - Controls: keyboard on desktop. If it can work on phones, add touch controls (on-screen buttons, joystick or swipe).
- Pause when the tab is hidden, and don't play sound until the player has pressed something.
- If your game flashes or strobes, keep it gentle and respect
prefers-reduced-motionwhere you can. - No errors in the browser console during normal play.
4. Make it findable
Add these tags inside your game's <head> (replace your-game and the text):
<meta name="description" content="One or two sentences about your game.">
<link rel="canonical" href="https://sakhadib.github.io/games/your-game/">
<meta property="og:type" content="website">
<meta property="og:site_name" content="The Oven">
<meta property="og:title" content="Your Game · The Oven">
<meta property="og:description" content="Same as the description.">
<meta property="og:url" content="https://sakhadib.github.io/games/your-game/">
<meta property="og:image" content="https://sakhadib.github.io/games/assets/shots/your-game.jpg">
<meta name="twitter:card" content="summary_large_image">
Add the analytics tag right before </body> so plays get counted:
<script data-goatcounter="https://sakhadib.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
Add a 1200×630 gameplay screenshot as assets/shots/your-game.jpg (JPEG, ideally under 80 KB). It's used both on the shelf and when people share the link.
5. Put it on the shelf
- In the root
index.html, copy one game card, paste it at the end of the shelf list (newest goes last), and fill it in:
Tags should be lowercase, single words. Reuse existing tags when they fit (<a class="cart" href="your-game/" data-title="Your Game" data-tags="2d puzzle" data-added="2026-12-01" style="--c:#7ae0b4"> <div class="thumb"><span class="g" aria-hidden="true">?</span><img src="assets/shots/your-game.jpg" alt="Your Game gameplay" loading="lazy" width="1200" height="630"></div> <div class="body"> <h3>Your Game</h3> <p>One-line pitch. Keep it short.</p> <div class="tags"><span>2D</span><span>puzzle</span></div> </div> </a>2d,3d,arcade,puzzle,platformer,shooter,maze,retro,endless,classic). - Add your game to the
hasPartlist in the JSON-LD block at the top ofindex.html. - Add your game's URL to
sitemap.xml. - Add a row to the table in
README.md.
6. Opening the pull request
- Fork the repo and make your changes on a branch.
- Open a pull request titled
Add game: Your Game. - In the description, include: a one-line pitch, how to play, a screenshot, and which devices and browsers you tested on.
- One game per pull request, please.
7. Review
Every pull request is reviewed and played before it's merged. We may ask for changes, and we may decline games that don't fit the site, even if they follow every rule. We can also fix small bugs in a game later or remove a game that stops following these rules.
8. Credit and rights
You keep the credit for your game: put your name in a comment at the top of your file and in your pull request, and it will be credited. By submitting, you confirm that you have the right to share everything in your game, and you agree that it can be hosted here, played for free by anyone, and edited for maintenance (bug fixes, compatibility, keeping the site's rules).
9. Bugs and ideas
Not a game, but found a bug or have an idea? Open an issue. Small fixes to existing games are welcome as pull requests too.