Foundry
Turn Your Game Into an App
Foundry packs your MAKO game so another person can run it. Linux builds work now, and so does a web build for games that stick to the language core and physics packages. You can use the windowed builder or type the same build command in a terminal.
New to coding?
Copy the examples exactly first. Run them. Then change one number or word and run them again. You are not expected to memorize the command lists.
Build one file
Replace game.mko with your game's filename. foundry opens the builder. build makes the finished game folder. A one-file game needs no setup file.
# Open the easy windowed game builder
mko foundry game.mko
# Show Foundry information in the terminal instead
mko foundry game.mko --term
# Build a Linux game folder
mko build game.mko --target linux-x64
# Put the finished build in a folder named release
mko build game.mko --output ./releaseFor a bigger game
A bigger game can use foundry.json as a packing list. It says which file starts the game and which pictures, sounds, and levels must be included.
{
"name": "My Game",
"version": "0.1.0",
"entry": "main.mko",
"output": "dist",
"target": "linux-x64",
"icon": "assets/icon.png",
"include": ["assets", "levels"]
}Build for the web
The web target compiles your game to WebAssembly and bundles it with a browser page, so anyone with a link can play it — no install. It's language-only for now: the core language, Physics2D, and Physics3D really run in the browser, but graphics, audio, input, and networking packages aren't ported yet. A game that only uses those will run for real; a game that uses MakoUI, Mako2D/3D, Audio, or Inputs will load and give a clear error instead of a blank screen.
# Build a web bundle
mko build game.mko --target web
# Try it locally with any static file server
python3 -m http.server --directory dist/game-webWhich computers work?
Linux, Windows, and macOS all build as real, working games today, and the web target works for language-only games. macOS builds aren't code-signed yet, so the first launch needs Right Click, Open, Open Anyway instead of a normal double-click. The other choices are plans, not finished features — Foundry tells you when a choice is not ready instead of pretending the build worked.
Ready: linux-x64 portable folder
Ready: windows-x64 portable folder
Ready: macos (.app bundle, unsigned)
Ready: web (WebAssembly, language + physics only)
Planned: AppImage, Android APK
Later: OpenXR/VR, consoles