
The language that just runs
Simple.Sharp.Useful.
MAKO is a small programming language for scripts, tools, games, and engine-side experiments. It runs with mko with one rule: if code is hard to type, it is probably hard to understand.
What MAKO is
Small language. Real runtime.
MAKO is not trying to be C++, Rust, Unity, or Unreal. It is trying to be easy to read, easy to type, and useful enough to make real things without fighting boilerplate.
No ceremony
Write a .mko file, run it with mko, and get moving. No project setup required.
Made for tools and games
MAKO has packages for 2D, 3D, input, audio, UI, HTTP, and engine experiments.
Built-in JSON
Encode and decode dicts, lists, strings, numbers, booleans, and none without imports.
Safe HTTP
using Net gives you requests, headers, JSON helpers, and clean failure handling.
Command-line ready
args() makes MAKO useful for scripts, tools, test runners, and automation.
Testable
mko test runs every .mko file under tests/ and catches regressions before they ship.
Ships to the browser
mko build --target web compiles to WebAssembly. Language core and physics run for real, no install needed.
Example
It reads like a script.
MAKO keeps the surface simple: functions, loops, dicts, lists, packages, and clear names. The engine and tooling pieces stay behind the API.
game.mko
using Mako2D;
using Inputs;
using Audio;
main() {
Mako2D.init(800, 600, "MAKO Demo");
Mako2D.fps(60);
beep = Audio.tone("square", 440, 0.1);
x = 400;
while Mako2D.running() {
dt = Mako2D.delta();
if Inputs.key_down("RIGHT") {
x = x + 300 * dt;
}
if Inputs.key_pressed("SPACE") {
Audio.play(beep);
}
Mako2D.begin();
Mako2D.clear(Mako2D.BLACK);
Mako2D.circle(x, 300, 24, Mako2D.SKYBLUE);
Mako2D.end();
}
}Packages
Batteries included, but not bloated.
MAKO keeps the language core small and grows through packages. Use what you need, ignore what you do not.
using Mako2D;
Sprites, shapes, Camera2D, text, and 2D game loops.
using Mako3D;
Cameras, primitives, models, raycasts, and 3D demos.
using Physics2D;
Rigid bodies, springs, joints, contacts, and soft-body slimes.
using Physics3D;
Readable 3D rigid bodies, characters, collision, and adaptive substeps.
using Inputs;
Keyboard, mouse, cursor, and gamepad helpers.
using Audio;
Sound files, synth tones, music, and positional audio.
using MakoUI;
Dear ImGui-powered windows, panels, menus, tables, and tools.
using Net;
HTTP requests, JSON responses, headers, and URL helpers.
using mylib from "github:User/Repo";
Pull reusable MAKO libraries directly from GitHub with using ... from.
Try it while it is young.
MAKO just hit its first official release. It's still small, still evolving, and still shaped by whoever's using it right now — which could be you.