Mini Micro has received a minor update, including two new demos and one significant new feature: the ability to rotate or flip tiles in a TileDisplay.
The new demos are "neka," a classic cute cat demo) and "soundLab," a graphical editor for synthesized sounds which generates code you can copy into your own programs. The update also includes minor enhancements to some of the built-in commands, like dir and findFile, as well as a fix for an issue with Minidisk files created with the Windows Archive utility. This is a recommended update for all users, so get yours today!
For the first time in more than two years, the MiniScript Manual has been updated.
Last updated in June of 2022, the new update covers everything added to the language since 1.5.1. This includes math-assignment operators, new intrinsic functions like refEquals
and stackTrace
, and an all-new operator table. Get the new & improved manual at: https://miniscript.org/files/MiniScript-Manual.pdf
MiniScript.org has partnered with a biweekly game jam called Micro Jam!
Game jams are a great way to exercise your skills and learn to bring a small project to completion. They also help build the MiniScript community by showing others what it can do! Under the new partnership, the MiniScript devs kick in some prize money each jam (more if the winners use MiniScript), and the Micro Jam organizers encourage their players to consider MiniScript and Mini Micro. Of course you can (and should!) participate in any game jam at any time — but Micro Jam is a particularly well-organized one, with a regular schedule that's easy to plan for, and a friendly community. Why not give it a try?
The latest version (1.2.1) of Mini Micro brings a delightful mix of bug fixes, new features, and new content.
Fixes include handling of multi-keypress characters, and fixing the frame rate to a reliable 60fps. There's a new demo, and a variety of improvements to the standard library modules (such as mouse support in the findFile dialog!). With this release also comes a completely overhauled Mini Micro web page. Check it out at: https://miniscript.org/MiniMicro/
A new version of command-line MiniScript has been released.
This includes new features such as `exec` (executes a system command), new/improved library modules, and a whole new "demo" directory! It's also the first release of version 1.6.2 of the core language. Read all about it at https://dev.to/joestrout/announcing-command-line-miniscript-13-with-exec-477b, or go directly to https://miniscript.org/cmdline/ to download it now!
Every December, programmer Eric Wastl hosts an international series of challenges known as Advent of Code. This year, we have a private leaderboard just for people using MiniScript -- and some special prizes to sweeten the fun!
Though the challenge is underway, it's not too late to jump in. Read all about it at https://dev.to/joestrout/join-the-miniscript-advent-of-code-contest-3gm5, and join the "Advent of Code" thread on Discord!
A custom GPT called MiniScript Mentor can answer questions about the language, explain syntax, and even help you write or debug MiniScript code!
The AI, which is based on OpenAI's new "Custom GPTs" platform, uses the GPT-4-Turbo brain plus ten documents on MiniScript, including the complete text of Learn to Code in 30 Days. As a result, it knows a lot about MiniScript, and can serve as a helpful tutor or coding assistant! Read more about it at https://dev.to/joestrout/miniscript-mentor-gpt-9ig, or go to it directly at https://chat.openai.com/g/g-i8hNNTBNy-miniscript-mentor. (Currently requires a paid ChatGPT subscription.)
Mini Micro version 1.2 is now available. This is a major update, providing the latest version of the MiniScript language as well as numerous other improvements.
These include several new demos, a dynamic shell prompt, customizable code editor colors, and much more. Read all about it at https://dev.to/joestrout/announcing-mini-micro-12-28id, then upgrade your Mini Micro today!
Today we released version 1.6.1 of the core language, and also updated command-line MiniScript to 1.2.1.
This update brings several fixes to both the C# and C++ implementations of MiniScript. Read all about it at https://dev.to/joestrout/miniscript-v161-jka.
Check out the new blog post about reading scroll inputs in Mini Micro: https://dev.to/joestrout/scroll-inputs-in-mini-micro-31cp
Responding to the scroll wheel on a mouse, or scroll gesture on a track pad, can seem confusing at first. See how to get these values, and how to properly interpret them to scroll content in your own apps!
MiniScript version 1.6 was officially released today! The first such update in more than a year, version 1.6 brings some exciting new features and other improvements.
These include new math-assignment operators (+=
, -=
, etc.), and an optional argument to print
that enables you to suppress the usual line break. Read about these and more in the blog post at https://dev.to/joestrout/miniscript-16-now-available-fc7.
MiniScript creator Joe Strout took on the 2022 Advent of Code challenges, successfully completing all 50 tasks in MiniScript.
Advent of Code is an annual global contest that releases a new pair of related challenges every night from December 1st to December 25th. The tasks vary greatly in type and difficulty, and out of the nearly 250 thousand people who begin, barely 10 thousand finish. MiniScript and Mini Micro performed admirably, placing Joe as high as 226 on the global leaderboard. Complete solutions, fun visualizations, and lessons learned are all summarized at: https://dev.to/joestrout/advent-of-code-2022-wrap-up-2402
Community member Sebnozzi has created another gem! This time it's a renderer for fonts in the "BMFont" format (not to be confused with the BMF format).
The BMFont format is a quasi-standard defined by AngelCode.com. Each font consists of two files: a PNG file containing all the glyphs (packed in essentially random positions), and a text file that describes where all the glyphs can be found, along with other needed data so they can be correctly drawn. (This is functionally equivalent to the BMF format, except the latter includes both image and metadata in a single binary file.) A Windows tool exists for converting TrueType fonts to BMFont files. Now with this code, you can load and render these files on Mini Micro!
Note that if you're interested in loading BMF files, there is a separate project for that.
Robo Reindeer Rumble is a free programming game hosted at MiniScript.org. Six robotic reindeer duke it out with snowballs and meadow mines, each controlled by a (usually short) MiniScript program. The last reindeer standing wins! Every December we have a global competition to see who can program the most effective reindeer.
Last year's competition was won by robot "Losx" by forum user slobin. Who will reign this year?
To participate, just post your program to this forum thread. A winner will be declared at the end of the month.
Prolific community member Sebnozzi has created some GitHub workflows to easily deploy your Mini Micro creations to itch.io, or to any other site via FTP.
He includes detailed instructions for setting up these workflows. Once configured, your project can be automatically uploaded every time the main branch is updated, or when manually triggering a build. These workflows make deploying your project seamless and friction-free, so you can spend less time packaging and uploading files, and more time on the fun stuff: coding in Mini Micro!
The creator of MiniScript has announced that math-assignment operators — that is, +=
, -=
, and the like — are to be added to the MiniScript language.
These operators, which are found in all C-derived languages as well as Python, simplify your code, make the coder's intention more clear, and reduce the opportunity for typos or copy/paste errors. For example, shipVelocityX = shipVelocityX + inpX
could be written as shipVelocityX += inpX
. The lack of these operators is a frequent complaint among new users of MiniScript. While strong arguments can be (and were) made for keeping the language simple, in the end it was decided that a small increase in complexity was worth the improved usability, and the removal of a common unpleasant surprise. Read more at the blog post about it.
A series of grant and sponsorship opportunities have been established to enable skilled MiniScript programmers to start earning money for their work. These opportunities vary in scale from $10/month up to $2000.
Seven different opportunities are currently defined: selling a Mini Micro game, seed grants for a new app concept, publishing a game on Steam, hunting bounties on BounteSource.com, participating in game jams, and publishing a regular blog or video stream. Anyone with a bit of patience and passion can be a professional programmer! See miniscript.org/earn for more details.
GreyHack, a popular multiplayer game about cybersecurity, has released an experimental build featuring the latest version of the MiniScript language.
GreyHack was one of the first games to incorporate MiniScript, and in a very central and engaging way; players often write scripts to automate processes and engage in cyber attacks and defenses in the simulated network universe. But the version of MiniScript used has not been updated in a long time — until now! The new experimental build uses the latest version (1.5.1), which includes dozens of improvements (see the release notes). Perhaps more importantly, it will mean that GreyHack users can learn from books like Introduction to Computer Programming and Learn to Code in 30 Days, as well as resources like Rosetta Code, without having to alter the syntax; and conversely, users who learn on GreyHack can move to environments like Mini Micro or Farmtronics without friction. The GreyHack update is still considered experimental; we'll post here again when it makes it into the official release.
Community member "sebnozzi" has been posting cool Mini Micro games and demos to itch.io.
Currently there are four of these: Memory Game, Sliding Puzzle, Foggy Window, and Keyword Shooter. The games show an impressive variety and range, and the included source code would make excellent examples to learn from. Several of these have been just recently updated, and more are on the way — keep an eye out for an excellent Sokoban implementation!
A
Mini Micro uses retained mode. This post explores the difference between the two, and why retained mode is a better choice for modern machines in general, and Mini Micro in particular.
A new blog post explains how to use MiniScript on the web via the Common Gateway Interface (CGI).
Using the standard CGI interface and command-line MiniScript, you can create dynamic web apps or web services. This blog post shows how to set up and configure your web server for MiniScript, provides two examples to get you started, and lists some possible applications. Read all about it at the Luminary Apps blog.
Farmtronics, a mod that adds MiniScript-based computers and robots to Stardew Valley, has been updated to version 1.2.
Largely due to contributions from GitHub user HXPMods, this release enables bots to move items in and out of chests and other bots, as well as to harvest products from machines (such as furnaces). Bots also gain the ability to wear hats and set signs, among other small improvements. Check it out at GitHub or NexusMods!
Farmtronics, a mod that adds MiniScript-based computers and robots to Stardew Valley, has been updated to version 1.1.
The update adds substantial improvements to the built-in text editor: you can now cut and paste blocks of text! It also improves and documents the world
function, which gives you information about the current state of the world such as time, date, weather, and daily luck. Check it out at GitHub or NexusMods!
Retro Robots, a modern take on an arcade classic, is now available as a free add-on to Mini Micro.
This maze shooter builds on the original with power-ups, high scores, fully configurable controls (with gamepad support), and (optional) 2-player co-op play! Available now from the Mini Micro DLC page. Grab a controller, grab a friend, and start blasting robots!
The Mini Micro community does a game jam every quarter, with varying themes and restrictions. This time we've decided to do a very permissive one indeed: just show us whatever you've been working on!
The submission period begins April 15th and runs through the 24th, but you can begin working on your entry now, or even polish up something you've already been working on! All the entries will be played live on Twitch on the 25th. See the official jam page for all the details.
The annual MiniScript Try-It! Contest is now officially open. This challenges coders to create fun, interesting, or impressive programs within the limitations of the Try-It! page: programs no more than 2048 characters long, with only basic text input and output.
The official announcement provides all the details. Contest entries will be live-streamed on Sunday, March 27, with winners announced shortly after. Prizes include MiniScript books, bookmarks, and stickers, as well as official "Very Fungible Token" certificates. What will you create?
Community member Khorne has started a new blog documenting his MiniScript journey at https://khornems.blogspot.com/.
The first entry, Where to begin, where to start?, gives some interesting background and talks about some current MiniScript projects, and then gives some actual code you can paste into Mini Micro, along with a cool animated GIF of the result. I'm already looking forward to future posts. Go check it out!
A maintenance update to Mini Micro has just been released. This release includes three bug fixes, three new features, and some small improvements to the content on the built-in /sys disk.
See the Release Notes for the full list of changes. You can download the new version of Mini Micro from miniscript.org or from itch.io. As always, Mini Micro is 100% free, and this upgrade is recommended for all users — so go get your new Mini Micro today!
Community member @sebnozzi has produced a very cool Mini Micro demo called Foggy Window, which lets you wipe the fog from a glass window, revealing the beautiful landscape outside.
February is the "Demo Scene" month of our community activity calendar, and for folks in the northern hemisphere, often also the coldest month. Sebnozzi has embraced the spirit of the season with this new demo, which also illustrates some neat graphical techniques. He's also generously shared the code both as a minidisk download (on the itch.io page), and on GitHub. Check it out!
Farmtronics, the MiniScript-based mod for Stardew Valley, has been featured in PC Gamer. Stardew Valley is an enormously popular farming/role-playing game; Farmtronics adds a home computer and bots that can be programmed to do your grunt work for you.
The Farmtronics mod is an especially good introduction to MiniScript because it presents as a somewhat smaller, simpler version of Mini Micro, but entirely within Stardew Valley. The article has resulted in an influx of new MiniScript users to our community. We're as excited to see what they do with their new coding powers!
The first major update to Mini Micro is now available! This includes a couple of big features, such as the ability to stretch a sprite, adjust the volume or pan of a sound while it's playing, and do pattern-matching on strings. It also includes a long list of smaller enhancements, such as an "auto-save" feature in the code editor.
See the Release Notes for the full list of changes. You can download the new version of Mini Micro from miniscript.org or from itch.io. As always, Mini Micro is 100% free, and this upgrade is recommended for all users — so go get your new Mini Micro today!
The annual January game jam has begun!. The Mini Micro New Year Jam is a roughly two-week (three weekends) event in which participants write a game, demo, or other program in Mini Micro.
Submissions are posted to itch.io, and at the end of the jam, all submissions will be played live on twitch.tv. The theme this year is "fusion," and participants are encouraged to incorporate this theme into their game in any way they like. Game jams are a great way to focus on completing a small project, and share your creativity with the world. There's still plenty of time to jump in, so head over to the event page, click the "Join Jam" button, and get your jam on!
The annual January game jam has been announced. The Mini Micro New Year Jam is a roughly two-week (three weekends) event in which participants write a game in Mini Micro.
Submissions are posted to itch.io, and at the end of the jam, all submissions will be played live on twitch.tv. A theme will be announced when the jam begins, and participants are encouraged to incorporate this theme into their game in any manner. Game jams are a great way to focus on completing a small project, and share your creativity with the world. Head over to the event page, click the "Join Jam" button, and get ready to jam!
The core MiniScript language has been officially updated for the first time in over two years, with a number of minor bug fixes and enhancements.
both the C# and the C++ reference implementations have been updated with a laundry-list of improvemets. These include better error reporting, use of `null` as a map key, and more consistent logical comparisons and operators. In addition, empty parentheses are no longer required on a function declaration — eliminating the only place where such empty parentheses were ever required. See the Release Notes for a complete list of changes. The command-line version of MiniScript has been updated for Mac, Windows, and Linux, as the Soda game engine; and the new language version will be used in an upcoming update to Mini Micro.
A free, web-based programming game called Robo-Reindeer Rumble has announced its annual global contest.
Players enter by writing MiniScript code to control a robotic reindeer in a deadly (yet festive) snowball fight, and then posting their script to the forum thread. The "king of the hill" style tournament will be updated weekly, pitting the entrants against each other to see which reindeer is the best. The strongest entry at the end of the month will be declared the 2021 global champion!
A new open-source mod for Stardew Valley called Stardew M1 Mod has been announced. It adds a fully functional MiniScript computer to the game.
The retro-styled MiniScript M-1 Home Computer is accessed through the television in your cabin, and already supports the complete MiniScript language.
The project is still early in development, but excited fans are already suggesting all sorts of applications: programmable farming/mining robots, analysis/reporting tools, etc. For MiniScript fans, this will be a fun way to get into Stardew Valley — and for Stardew Valley players, a fun introduction to MiniScript programming!
A new programmer has recently joined the MiniScript community, and has already created a wonderful Sokoban game! Play it on the web at https://www.sebnozzi.com/demos/mini-micro-sokoban/.
Sebastian has been with us for less than a week, and has been making great strides with MiniScript and Mini Micro. Moreover, he's generously made his code available on GitHub, where he has continued to improve it after the initial release. The game includes 50 levels from the original Sokoban game, and another 155 "Microban" levels. Give it a try, and then be sure to check out the code!
A new blog post details the saga of a bug I ran into while live-streaming, and how I finally boxed it into a corner.
The secret was to add a "validate" method that checks the integrity of the data. This is a general debugging technique that you may find helpful in your own bug hunts.
A new Mini Micro game called Clacks is now available to play on desktop machines in a web browser. This game, heavily inspired by the classic Atari game Klax, sends colored tiles tumbling down a track towards the player, who must arrange them in lines to make them disappear.
Mini Micro users can inspect the code by pressing Control-C to break out of the program, and then using standard commands like clear, dir, load, and edit. The main program is only 750 lines long (with another 64 lines for the animated starfield in the background).
The first annual "Mini Micro One-Page Jam", in which participants write small games, demos, or other interesting Mini Micro programs in only one screenful of code, is officially over.
The jam, hosted at itch.io, lasted for three weeks, and got three amazing entries:
The definitive beginner's guide to MiniScript programming, and programming in general, is now available in convenient Kindle format! (https://www.amazon.com/dp/B09H51R357)
This 386-page book was previously available only in paperback, and only in the United States. The Kindle edition is the same content, but considerably lighter weight and now available worldwide. Suitable for complete beginners to computer programming, this book teaches all the fundamentals in 30 short, engaging chapters. The skills you learn in this book will provide a firm foundation for programming in any language.
Programmer and crochet artist Briana O'Hern has begun streaming her work in Mini Micro as she prepares for the One-Page Jam! Check out her Twitch channel at: https://www.twitch.tv/brianaohern
You can watch her exploring Mini Micro for the very first time in this stream, and then see her start work on her One-Page Jam entry here. Biana is brand new to MiniScript and Mini Micro, but figures things out quickly, with an enthusiasm and positivity that is inspiring and a delight to watch. Check out her schedule and follow along as her tiny game develops!
MiniScript user "shellrider" has produced a great new introductory video on navigating the file system in Mini Micro: https://youtu.be/Dmo4khN1LbU
Most of the content applies equally well to command-line MiniScript (including the new Soda environment), too!
The first annual "Mini Micro One-Page Jam", in which participants write small games, demos, or other interesting Mini Micro programs in only one screenful of code, is officially underway!
The jam, hosted at itch.io, lasts for three weeks, ending on September 30th. Seven participants have signed up so far. But there's still plenty of time for people who have never used Mini Micro before to learn the environment and still create a 1-page program before the deadline. Participants may work alone or in teams, but in any case are encouraged to discuss their efforts and cheer each other on. Go to https://itch.io/jam/mini-micro-1-page-jam to learn more or participate.
The first annual "Mini Micro One-Page Jam", in which participants write small games, demos, or other interesting Mini Micro programs in only one screenful of code, begins on Monday, September 6.
The jam, hosted at itch.io, lasts for three weeks, ending on September 30th. This gives plenty of time for people who have never used Mini Micro before to learn the environment and still create a 1-page program before the deadline. Participants may work alone or in teams, but in any case are encouraged to discuss their efforts and cheer each other on. Go to https://itch.io/jam/mini-micro-1-page-jam to learn more or participate.
The first academic paper about MiniScript has been accepted for publication at the iSTEM-Ed 2021 conference in November! Preprint available at: https://miniscript.org/files/Strout_iSTEM-Ed2021.pdf (© 2021 IEEE)
An academic paper titled "MiniScript: a new language for computer programming education" has been accepted for presentation at the IEEE International STEM Education Conference (iSTEM-Ed). This paper, aimed at computer science educators, compares MiniScript to Lua and Python as a language for new programming students. The paper will be presented (online, due to COVID-related travel restrictions) at the conference in Pattaya, Thailand, November 10-12.
Subscribe: [RSS Feed]