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.
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.
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.
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.
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.
Go to the main Frybahn GitHub Repository, fork it to your account, and clone it locally on your computer.
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
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.
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).
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.
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 sganguly@sgownblog.com.