It worked on your computer, but after posting it to CraftNova the images are missing, there's no sound, or the screen stays blank. When that happens, the game is most likely trying to use something CraftNova doesn't let games load.

This guide covers what games on CraftNova can and can't load, and how to fix a game that relies on something it can't.

Why some things can't be loaded

CraftNova hosts games made by all kinds of people. So that players can try any of them safely, every game runs in a protected space that can't freely talk to the internet.

That means a game can't send a player's information anywhere or pull in files from unknown sites. The trade-off for creators is that loading things from outside the game is restricted.

What works and what doesn't

What you wantWorksDoesn't work
Libraries
(Three.js, Phaser, etc.)
Loading from cdnjs or jsDelivr with <script src>Any other site (unpkg.com, etc.) and import statements
ImagesDrawing them with Canvas, or embedding them in the HTML (Base64)Image URLs on the internet, separate image files
SoundGenerating it with Web Audio, or embedding it in the HTML (Base64)Audio URLs on the internet, separate audio files
FontsGoogle Fonts and fonts built into the browserFont files from any other site
Networking—Sending or receiving data (online leaderboards, chat, etc.)

In short: everything the game needs goes inside one HTML file. The only exceptions are libraries and fonts from the approved sources (cdnjs, jsDelivr, and Google Fonts).

Common symptoms and causes

Images don't show up, or show as empty boxes

The game is probably loading images from the internet. AIs often write games with a placeholder like "put your image URL here", and those URLs can't be loaded on CraftNova.

No sound

The game may be loading audio files, or it may not be preparing sound correctly for phones. Mobile browsers only allow sound after the player taps the screen. The posting page guidelines include the code pattern that handles this. See Adding sound effects and music for details.

Blank screen, nothing starts

A library probably failed to load, which stops the rest of the game's code. This usually happens when a library comes from an unapproved site or the code uses import statements.

How to find the cause (on a PC)

In Chrome or Edge on a computer, you can check in under a minute.

  1. Open the game on CraftNova
  2. Press F12 (or Option + Command + I on a Mac)
  3. Open the "Console" tab

Red messages containing Content Security Policy or violates mean the game is trying to load something it can't. Copy the message and show it to the AI, and it can tell you exactly what to change.

How to fix it

The most reliable approach is to give the AI the "Game creation guidelines" from the posting page before it starts. They list the libraries you can use and explain how to create assets in code.

To fix a game you already have, paste its HTML with a request like this:

Fix this game so it runs without loading any external files or URLs.
- Draw images with Canvas, or embed them in the HTML as Base64 data URLs
- Generate sound with the Web Audio API
- Load libraries only from cdnjs.cloudflare.com or cdn.jsdelivr.net
  with <script src>, and don't use import statements
- Pin exact library versions (no "latest")
- Don't change the gameplay or rules
Embedding images and sound makes the HTML file bigger, and CraftNova accepts files up to 10 MB. If the file gets too large, ask the AI to draw the images with Canvas instead.

Summary

  • To protect players, games on CraftNova can't freely connect to the internet
  • Put everything the game needs inside one HTML file
  • Libraries can come from cdnjs and jsDelivr, and fonts from Google Fonts
  • If something breaks, show the AI the message from the F12 console

If your game overflows the screen, see Fixing a game that overflows the screen.