← Back to Games

For Developers

Frybahn runs as a static site and loads HTML5 games in sandboxed iframes. If you've built a web-compatible game, you can list it here by sending a Pull Request to our catalog.

Submission Requirements

1. Fully Self-Contained

Your game must run entirely on the client side. No external server logic, backend database connections, or outside hosting are allowed. Ensure all assets (audio, images, scripts, CSS) use relative paths so they resolve correctly inside your game's subfolder.

2. Controls & Responsiveness

Frybahn is designed for a console-style experience. Games should support key mappings (arrow keys, WASD, space bar) or offer clean, responsive touch layouts for mobile players.

3. Asset Licensing

You must hold the distribution rights for all files, libraries, artwork, and sound clips included in your folder. Open-source licenses (MIT, GPL, Apache, BSD) are highly preferred.

4. Sandboxing Compatibility

Games are loaded inside an <iframe> configured with sandbox="allow-scripts allow-same-origin". Your code must run normally under these constraints and not attempt to access the parent window.

Step-by-Step Submission Guide

1

Fork and Clone

Go to the main Frybahn GitHub Repository, fork it to your account, and clone it locally on your computer.

2

Create Your Game Folder

Create a new subfolder in /games using a lower-case, URL-friendly slug (e.g., games/my-awesome-game/). Put your built files inside. The directory must contain an index.html as its entry point.

games/
└── my-awesome-game/
    ├── index.html
    ├── style.css
    ├── main.js
    └── assets/
        └── sprites.png
3

Register in the Catalog

Open data/games.json and add a JSON entry for your game at the end of the array. Follow the schema format below:

{
  "id": "generate-a-unique-uuid-v4",
  "title": "My Awesome Game",
  "slug": "my-awesome-game",
  "category": "arcade",
  "thumbnail": "",
  "emoji": "🚀",
  "description": "Short description of the gameplay. Under 200 characters.",
  "players": 1000,
  "rating": 4.8,
  "badge": "new",
  "path": "/games/my-awesome-game/index.html",
  "source": "https://github.com/username/my-awesome-game",
  "isPlayable": true,
  "license": "MIT"
}

Note: If you do not have a thumbnail image, leave the thumbnail field empty. The system will fall back to using your custom emoji.

4

Test Locally

Run a local server or start the project container using Docker to confirm the game loads and plays without asset errors:

docker compose up -d --build

Visit http://localhost:90 in your browser and check the developer console to confirm no resources failed to load (404 errors).

5

Submit a Pull Request

Commit your changes to a separate branch, push it to your fork, and open a Pull Request against our master branch. We will test the game's performance and merge it if it is stable.

Need Help or Found a Bug?

If you run into issues, want to discuss new features, or find a bug in the portal, please open a ticket on the Frybahn Issue Tracker.

For direct developer inquiries or private fallback communication, feel free to email the maintainer at .