Advanced Features
Native Packages
MAKO's rendering, physics, input, audio, networking, UI, ray, and system packages are built directly into the interpreter — no install step, just using PackageName;.
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.
Mako2D — 2D games
Sprites, spritesheet animation, Camera2D, shapes, and text.
using Mako2D;
Mako2D.init(800, 600, "My Game");
Mako2D.circle(400, 300, 24, Mako2D.SKYBLUE);Mako3D — 3D games & the scene system
Camera3D with fly/orbit controls built in, primitives, models, and a full spawn/draw_scene object system (see below).
using Mako3D;
Mako3D.init(800, 600, "3D");
cam = Mako3D.camera(10, 8, 10, 0, 0, 0);
Mako3D.update_camera(cam, 8); // WASD fly, MMB orbit, wheel zoomPhysics2D & Physics3D
Rendering-independent simulation for 2D slimes and rigid bodies, plus readable 3D bodies and capsule characters. Each has a complete documentation section in this guide.
using Physics2D;
using Physics3D;
slime = Physics2D.slime(world2d, 300, 200, 50);
crate = Physics3D.box(world3d, 0, 6, 0, 2, 2, 2);Inputs — unified input
Keyboard, mouse, cursor lock, and basic gamepad — works alongside any window.
using Inputs;
if Inputs.key_down("W") { ... }
if Inputs.mouse_pressed("left") { ... }Audio — sound & synth
Load sound files, or synthesize tones/melodies from scratch. Positional 2D/3D playback built in.
using Audio;
beep = Audio.tone("square", 440, 0.1); // no file needed
Audio.play(beep);
Audio.play_3d(beep, sx,sy,sz, lx,ly,lz); // positionalMakoUI — desktop UI, standalone or embedded
Dear ImGui-powered windows, menus, tables — as its own window, or embedded directly inside a Mako3D/Mako2D scene as a live toolbar.
using Mako3D;
using MakoUI;
Mako3D.init(1000, 700, "Editor");
MakoUI.attach(); // embeds into the SAME window, no second windowNet — HTTP & JSON
Requests never throw — failures come back as a normal response you check with Net.ok().
using Net;
res = Net.get("https://api.example.com/data");
if Net.ok(res) { data = Net.json(res); }System, MakoRay & IMGUI
System provides directories, processes, and environment access. MakoRay exposes lower-level rendering compatibility, while IMGUI is an alias for MakoUI. Most games should start with Mako2D, Mako3D, and MakoUI.
using System;
using MakoRay;
using IMGUI;