itch.io is community of indie game creators and players

Devlogs

Make V1.7

Make
A downloadable compiler for Android

MAKE — v1.7

A tiny, English-like scripting language & editor — one developer project


Highlights — what’s new in v1.7

  • Real functions: createFunction / endFunction, parameters, and useFunction ... giving. Functions run with their own local scope.
  • Conditionals (clean & readable): new if / if_not blocks with an else skipTo <label> pattern; default skip label is end. Nesting is simple — labelled ends keep structure clear.
  • Looping tools: reliable loop patterns using save / load and relative jumps (e.g. skip -2) — all demonstrated in examples.
  • Function output model: functions “show” results and you read them with \lastFunctionOutput instead of a traditional return. You can show multiple times; the last shown value becomes the function result.
  • Cleaner control flow: two equivalent styles: if X else skipTo label and skipTo label if X (use whichever reads better). Multiple IFs can target one end label.
  • Examples & editor improvements: 13 curated examples included (factorial, star pattern, torch toggle, file save/load, and more). Editor now has save/load buttons, syntax shortcuts, autocomplete for examples, and Android-specific tokens highlighted.
  • Android-only helpers: toast, switchOnTorch, switchOffTorch, and vibrate (convenience commands when running on Android).
  • Other small features & fixes: quitEditor, \currentline, \scriptname, robust whitespace handling (leading spaces stripped), and many bugfixes.

Changelog (selected)

  • v1.7 (this release)
    • Function system: createFunction / useFunction with parameter support and local scope.
  • Real if blocks with optional else skipTo; default label end when no else provided.
  • Improved examples (13 total) and example manager in editor.
  • Fixes for skip/gotoline whitespace issues (source is pre-cleaned).
  • Added quitEditor, vibrate, and save/load editor buttons.
  • v1.6 → v1.7: added conditional blocks, function-from-file calling, improved editor UX and example suite.
  • Earlier (1.0 → 1.6): built the core Make interpreter, string-keyword behaviours, skip/load/save flow, and Android integrations.

Quick demo examples (copy into the editor)

Factorial (function + loop via save/load)

createFunction factorial getting num
    fact = 1
    save a
    fact × num
    num - 1
    load a if num ≠ 0.0
    show \fact
endFunction
useFunction factorial giving 4
show \lastFunctionOutput

Conditional chain (three checks share one end)

a = 1.0
if a ≠ 0.0 else skipTo end
if a ≥ 1.0 else skipTo end
if a = 1.0 else skipTo end
show \a
end

Torch toggle (Android example)

skipTo end if a = 1.0
switchOnTorch
a = 2
end
skipTo end if_not a = 1.0
switchOffTorch
a = 0
end
show \a
a - 1

Documentation & examples included

  • 13 ready-to-run examples packaged with the app (star patterns, factorial, torch flicker, file save/load, a+b² proof, and more).
  • Full syntax reference available in-app: show, save, load, skipTo, if, if_not, createFunction, useFunction, and Android tokens.
  • Editor supports keyword shortcuts and syntax highlighting for core keywords; user-added keywords are supported via KeyWordBehaviour.

Notes for developers & integrators

  • The interpreter is intentionally lightweight — built for readability and ease of embedding. The .jar interpreter (planned) will allow you to embed Make in Java projects.
  • Functions run with a cloned variable scope (local variables inside a function do not mutate caller variables by default).
  • \lastFunctionOutput holds the last show value produced by a function call — that is how functions “return” values in Make.
  • If you want a core-free DSL, users can call disableCore to remove built-in behaviours and supply their own via keyword behaviours.

Known limitations & roadmap

  • Currently functions use the interpreter synchronously (no built-in async/callback). Nested calls are supported and stable in v1.7.
  • Planned: improved module import syntax, small standard library, a .jar release for desktop embedding, and enhanced editor UX.
  • Planned: optional structured `else if` sugar, and more Android utilities if requested.

Credits & notes

Made by a single indie developer — created from scratch on mobile. Project started Nov 12, 2025. This release includes many user-facing improvements and example programs to show what Make can do.


Want to help or contribute?

If you want examples, report bugs, or test a feature (Android-only features included), drop an issue on the itch page comments or DM the developer. Pull requests for the .jar and example translations are welcome once the repo is public.

Download: (use the itch.io download button above) — release v1.7, examples and documentation bundled with the editor.

Files

  • Make Editor V1.7 84 kB
    9 hours ago
  • Make Learn.pdf 1 MB
    9 hours ago
Download Make
Leave a comment