Hosting & Deployment
Doodle Engine games are standard web applications. The build output is static HTML, CSS, and JavaScript that can be hosted anywhere.
Building for Production
Section titled “Building for Production”npm run build # or: yarn build / pnpm buildThis produces a dist/ directory containing:
index.html: entry pointassets/: bundled JavaScript and CSS (Vite output)api/content: game content dataapi/manifest: asset manifestasset-manifest.json: human-readable asset manifestsw.js: service worker for offline play
Game assets (images, audio, video) from the assets/ folder in your project root are not automatically included in dist/. Copy the assets/ folder into dist/ before deploying:
npm run buildcp -r assets dist/assetsWhen you upload to a static host, upload the full dist/ folder including the copied assets/ subdirectory.
Static Hosting
Section titled “Static Hosting”The build output is fully static. Upload the dist/ folder to any static host. Most hosts need:
- Build command:
npm run build - Publish directory:
dist
For itch.io: zip the contents of dist/ and upload as an HTML5 game project.
Desktop Packaging
Section titled “Desktop Packaging”Doodle Engine games can be packaged as desktop applications using standard web-to-desktop wrappers. No special engine configuration is needed.
Electron: wraps your game in a Chromium window:
- Build with
npm run build - Create an Electron main process that loads
dist/index.html - Package with
electron-builderorelectron-forge
Tauri: lighter alternative using the system webview:
- Build with
npm run build - Point Tauri’s
devPathat yourdist/directory - Build with
tauri build
Mobile Packaging
Section titled “Mobile Packaging”The build output is a standard web application, so it can also be wrapped for mobile distribution using web-to-native tools. The general approach is the same: build with npm run build, then configure the wrapper to load your dist/ directory as its web content.
Most tools in this space (such as Capacitor or Cordova-based solutions) follow a similar pattern:
- Build your game with
npm run build - Copy your
assets/folder intodist/as described above - Configure the mobile wrapper to use
dist/as its web root - Build and sign for iOS or Android through the wrapper’s toolchain
Check the documentation for whichever tool you choose, as setup steps and platform requirements vary.