The journey
28 days. 41,000 lines of C#. Written, refactored mercilessly, and then thrown away.
That's where Forge4D started. We traded 41,000 lines of C# for 19,000 lines of C++. Leaner. Faster. Ours.
Along the way we built two things that didn't exist before:
- SML – Simple Markup Language. QML-inspired, describes the UI.
-
SMS – Simple Multiplattform Language. Kotlin-like syntax,
onkeyword for events, compiles to native ARM.
Today, SMS fulfilled its name.
It runs on Android
03-24 13:11:18.522 28650 28682 I godot : [SMS][info] button clicked
One log line. First event fired on Android. Native ARM. No JVM, no Gradle hell.
Here's the entire app that produced it:
main.sml – the UI
Window {
id: mainWindow
title: "Android Demo"
size: 360, 640
VBoxContainer {
anchors: left | top | right | bottom
padding: 32, 32, 32, 32
Label {
id: heading
text: "Hello from Forge on Android"
fontSize: 40
}
Label {
id: subline
text: "Vertical slice - build with forgecli build android."
fontSize: 25
}
Control { sizeFlagsVertical: expandFill }
Button {
id: btnTest
width: 300
height: 100
text: "Tap me"
fontSize: 25
sizeFlagsHorizontal: shrinkCenter
}
}
}
main.sms – the logic
var tapCount = 0
on mainWindow.ready() {
log.info("android_demo ready")
}
on btnTest.clicked() {
tapCount = tapCount + 1
var btn = ui.getObject("btnTest")
btn.text = "Tapped " + tapCount + " times"
log.info("button clicked")
}
That's the whole app. We tapped 4 times. Thorough testing. 😄
The pipeline
edit SML/SMS → forgecli build android → adb install
No Gradle. No waiting. Cold start: ~2 seconds release build.
First deploy felt instant. That's because the scripting engine wasn't compiled in yet – no SO, no SMS. That's how we learned it works. 😄
Two platforms. One codebase.
We already had a native Mac app running – almost expected.
Android today was the real test.
Mac ✓
Android ✓
SMS is now genuinely Simple Multiplattform Language. Not a promise. A fact.
Godot under the hood
You might have noticed the log line says godot. That's not a coincidence – Godot is the engine underneath Forge4D. It gives us 3D, physics, particles, animations, and video projection onto surfaces in 3D space. Out of the box.
Tomorrow we start ForgeReader – a tablet book reader with a 3D page-turn animation. With Godot underneath, that's not a feature we have to build. It's just there.
AI writes SMS. Humans can read it.
SMS was designed so a language model can generate it and a human can review it. No magic annotations, no framework-specific patterns to memorize.
You describe what you want. The AI writes SMS. You read it. You ship it.
Secure Sandbox
Forge4D runs inside the Android Secure Sandbox – fully compliant. Apple allows JavaScript, React Native, Flutter. Forge4D would pass their review too.
The Forge ecosystem
- Forge4D – the framework (C++, SML, SMS, Godot)
- ForgePoser – 3D animation app, written in 900 lines of SMS
- ForgeSTA – Speech to Text to Action
- ForgeCrowdBooks – collaborative book platform (Git/Forgejo/Codeberg, IPFS-ready)
- ForgeCMS – SML + Markdown + Templates → static HTML
- ForgeReader – tablet reader/editor for CrowdBooks (starts tomorrow)
Shared underneath: sml-go – a Go implementation of the SML parser, used by ForgeCMS and ForgeCrowdBooks.
Stack
- ~19,000 lines of C++ (refactored from 41,000 lines of C#)
- Godot as the engine foundation
- SML for UI (QML-inspired)
- SMS for logic (own language, Kotlin-like)
- Dual license (like Qt)
- Codeberg: CrowdWare
Forge4D on Mac
We will support
Mac
Android
Linux
Windows
C++ developer? Want to review code or contribute? Reach out.


Top comments (0)