Every game on CraftNova is a "browser game made from a single HTML file." If that sounds unfamiliar, this guide explains what it means, why CraftNova uses this format, and how much you can build with it.

What is an HTML file?

HTML is the language web pages are written in. The websites you visit every day are built with it. An HTML file is plain text, and when you open it in a browser like Chrome or Safari, it turns into a page.

A browser game is made of three parts:

  • HTML: what's on the screen (the play area, buttons, text)
  • CSS: how it looks (colors, sizes, layout)
  • JavaScript: how it behaves (movement, scoring, collisions)

What "single file" means

On a typical website, the HTML, CSS, JavaScript, images, and sounds all live in separate files. A single-file HTML game puts all of that inside one HTML file.

Images are drawn by code or embedded as text, and sounds are generated by code. Open that one file in a browser and the whole game is playable from start to finish.

Why CraftNova uses single files

AI is great at making them

ChatGPT, Claude, Gemini, and other AIs are good at writing a complete HTML file in one go. With no separate files, there's no confusion about what goes where. Even if you've never programmed, you can make a game just by asking.

Posting is simple

To post on CraftNova, you copy the HTML the AI wrote and paste it into the posting form. No server, no file uploads. How to post a game walks through it with real screenshots.

It's safe to play

A game that lives in one file can run without pulling in anything extra from outside. CraftNova uses that to run every game inside a protected box (see How CraftNova keeps games safe to play).

How much can one file do?

You might expect a single file to limit you to simple games. Not at all. Here are the kinds of games posted on CraftNova:

  • A glowing neon pinball table, or a bullet-dodging shooter
  • Games you play by tilting your phone, and puzzle escape rooms
  • Branching story games and business simulations
  • Fully 3D games built with the Three.js library

Game libraries like Three.js and Phaser can be loaded from the approved sources (cdnjs and jsDelivr), which opens up a lot of possibilities.

Trying a game on your own computer

  1. Paste the HTML the AI wrote into a text editor (Notepad, TextEdit in plain-text mode, etc.)
  2. Save it with a name ending in .html, like game.html
  3. Double-click the file to open the game in your browser
A game that runs on your computer may still fail on CraftNova, for example if it loads images from the internet. After posting, play it once on CraftNova while it's still Private.

Rules to know

  • Each game can be up to 10 MB
  • Images and sounds can't be loaded from internet URLs or separate files
  • Give the AI the "Game creation guidelines" from the posting page and it will follow these rules for you

Summary

  • A single-file HTML game puts everything it needs into one HTML file
  • It's easy to make with AI, easy to post by pasting, and safe to play
  • Libraries are available, so you can build serious games