DEV Community

JoeStrout
JoeStrout

Posted on

MiniScript Road Map for 2026

With 2025 coming to a close, it's time to look ahead to 2026! MiniScript is now eight years old. Many programming languages really come into their own when they're about 10 years old. It looks like this will apply to MiniScript too — just wait till you see all the cool developments coming in the next two years!

MiniScript 2.0

The big push for next year will be version 2.0 of MiniScript itself. This is a complete rewrite of the compiler, bytecode, and virtual machine (VM) underlying the language. While there will be a handful of minor new features, the main focus of this rewrite is performance. We think we can make it run dozens of times faster, maybe hundreds of times faster on certain benchmarks.

MiniScript chinchilla logo

In addition, the C++ version of MiniScript will get true garbage collection, just like the C# version, and improved error messages too. The C++ code is going to be the basis of almost everything else in this roadmap, so it will get a lot of love. Both versions will rely heavily on suites of unit tests and integration tests, to ensure the language is rock solid.

After a bunch of prototype work, development of MiniScript 2 is now underway. Follow its progress on GitHub.

MiniScript Raylib Bindings

I've recently been exploring Raylib, a low-level abstraction layer over OpenGL, audio, files, and game input devices. And I am really impressed. Raylib is simple, lean, and easy to use.

So, with help from Discord users dcrawl, minerobber, and Redspark, I quickly put together MSRLWeb, an environment that lets you use Raylib in MiniScript to make 2D web browser (HTML) games. You don't even need a compiler — you just write MiniScript code, drop it into a folder with the MSRLWeb binary and any sound/image assets you need, and point a web server at it. See the online demo, as well as this game that I built in it for a 3-hour game jam.

Raylib has a huge community, and bindings enabling its use from a wide variety of languages. MSRLWeb provides MiniScript bindings, and is ideal for making a web games. But next year, we will polish up a general MiniScript Raylib package, that lets you make desktop or even mobile games this way too. And we'll start promoting MiniScript as an attractive option to Raylib users. It's a natural fit: both MiniScript (the language) and Raylib (the API) are clean, minimal, and easy to learn, making them an ideal combo for people who want their dev tools to get out of the way so they can express their creativity.

Soda Rewrite

For several years now, we've made (very slow) progress on Soda, a game engine built on C++ and SDL. Soda lets you use the MiniScript language with an API very similar to Mini Micro, but unlike Mini Micro, it doesn't simulate a retro computer — games you create with it run windowed or full-screen, and have raw access to the host computer, just like games made in Unity, Unreal, Godot, etc.

Soda logo

But progress on Soda has been slow in large part because SDL, the platform abstraction layer I chose for it, is just painful to work with. Its API is complex; its build system is quirky (especially if you want the same code to work on all platforms); its documentation is poor to non-existent; and it requires extensions to do things that ought to be built in. Getting anything done with it is a chore, and so lots of things never got done.

Once MiniScript 2 is done, we will rewrite Soda using Raylib. Thanks to our experience writing MSRLWeb, I'm confident that this is going to be a much faster, smoother process. The result will be what we always wanted for Soda: a complete implementation of the Mini Micro API, and then some, in an unfettered environment usable for game projects of any size.

Mini Micro 2.0

Also after MiniScript 2, and again leveraging Raylib, we are going to develop version 2.0 of Mini Micro. This will finally remove our dependency on Unity, and enable us to run on platforms we could not practically run on before, like the Raspberry Pi. We'll aim to finally release Mini Micro for Android and iOS tablets, too.

Mini Micro is likely to get a handful of new features, such as:

  • box-drawing characters and alternate text sizes in the text display
  • a sort of system debugger/BIOS screen to aid with development
  • better support for non-QWERTY keyboards
  • fast vector/matrix math
  • better support for widescreen (16:10) displays

But in fact the whole system is likely to feel much faster, thanks to MiniScript 2's inherent performance boost (and the fact that Mini Micro will itself be written in C++ rather than C#). That, in addition to running on ARM hardware, is the real gain for Mini Micro 2. Your existing projects should Just Work, only more efficient and on more platforms. Existing resources (like Introduction to Computer Programming) will continue to apply.

An initial, very early prototype of Mini Micro 2 is already on GitHub. Give it a star to let me know you care!

Mini Micro Hardware?!

Mini Micro is a neo-retro virtual home computer. But what if it could be an actual home computer?

Mock-up of Mini Micro running full-screen on Raspberry Pi 500

Many users have expressed a wish for just such a machine, something that boots quickly and directly into Mini Micro, so they can hack around and develop their games and demos with no distractions.

With Mini Micro 2, we think this will be possible. It won't actually be dedicated hardware; it will probably be something like the Raspberry Pi 500, which has the computer built into the keyboard itself, much like the Commodore 64 (though much more sleek and modern). Or for a laptop, something like this Acer 15" with a 1920x1200 display. In either case, we would develop a custom Linux distribution that strips away all the stuff we don't need, and launches directly into Mini Micro in full-screen mode with crisp, pixel-perfect graphics and stereo sound.

We'll probably have a couple different hardware options that we test and optimize for, though if you're reasonably tech savvy, you could probably get our custom Linux distro to work on other hardware too. In any case, it will look and feel very much like a dedicated Mini Micro computer.

Summoner Game Platform

Finally, we've begun to dream of building a whole game platform around MiniScript, to make it easier and safer for both developers and players. We're calling this the Summoner Game Platform.

Nobody likes to think about it, but you actually take a pretty big risk every time you download a game to your computer. How do you know it's not malware? In addition, there is the hassle of downloading, unzipping or otherwise unpacking, installing it if installation is required, and running it... and then if it's not your cup of tea, tracking down everywhere it installed stuff to remove it.

Summoner Game Platform will address both issues. A Summoner game will have a unique ID/URL, which takes you to a web page about it; but paste that same ID/URL into the Summoner app (or click a "summoner://" deep link), and it will seamlessly download or update the game and launch it. The app will also let you easily see what games you have downloaded, and uninstall them (or if you choose, uninstall the game but keep the game data, in case you change your mind). And as for safety, Summoner games will be sandboxed: able to access only a restricted and safe part of your file system, unable to log keystrokes when the game is not frontmost, etc.

Summoner games will be written in MiniScript, using either the Mini Micro/Soda API or the lower-level Raylib bindings. Further down the road, we might even build support for mods (also written in MiniScript!) right into the Summoner client, making it easy for both mod developers and users. It'll also support a "tip jar" for each game (and mod?) so you can show your appreciation to your favorite devs. All this will make Summoner a great platform for everything from quick game-jam games, to large professional-quality projects.

All this when?

"Predictions are difficult, especially about the future."

All that goodness above is a lot of work, though once MiniScript 2.0 (MS2) is done, the rest of it has a lot of overlap — it's mostly Raylib, C++, and MiniScript combined in various ways. My main goal is to finish MS2 in time for the holidays next year. The other projects will follow rapidly after that. Something like this:

Date Milestone
2026 Q1 MS2 compiles & runs a subset of MiniScript
2026 Q2 MS2 feature complete (whole language implemented)
2026 Q3 MS2 testing, refinement, & polish
2026 Q4 MS2 released 🥳
2026 Q4 Full RayLib bindings for all platforms 👾
2027 Q1 Soda 1.0 (full API) 🥤
2027 Q2 Mini Micro 2.0
2027 Q3 Mini Micro hardware/distro 🖥️
2027 Q4 Summoner Game Platform initial release 🎮

Here are some things you can do to keep apprised of our progress, or even help move it along:

  • Follow me here on dev.to for future updates.
  • Follow MiniScript on Bluesky.
  • Star and Watch the various GitHub projects linked above, especially MiniScript 2.
  • Join us on Discord.
  • Participate on the forums (these have been rather dead lately as everyone has moved to Discord, but we'd love to see more activity there).
  • Sponsor me on GitHub.

So what do you think of these plans? Share your thoughts in the comments below!

Top comments (0)