microStudio in 2023! My plans and directions
I like to use early January to plan things for the year and decide what I should focus on. It took me some more time this year, but here I am!
My program in summary:
- many core microStudio improvements
- create better learning resources
- extend microStudio in several ways: music, 3D, templates, micro-engines
- Community: more social features, collections and micro Box, monthly themes
- Actually release a game with microStudio
Core microStudio improvements
There are always many improvements I want to make, in addition to the Github issues which I need to work on. Here is a list:
- microScript: there is just a bit of work remaining to consider microScript 2.0 complete (it is about core type prototypes and operator overloading) ; then I should activate the turbo mode (transpilation by chunks)
- stabilize networking: the new networking API has a few shortcomings and issues, so I will fix that
- better map editor: we have discussed this before, the map editor needs more features: zoom, layers, custom cell properties...
- more social features: not a plan to make microStudio the next social network, but just a few more features could be nice to have, like following people
- file selector for plugins: I realized a whole range of plugins would be much easier to create if the plugin API had a file selector, letting the user pick a file to load or save to.
- possible code editor improvements: autocomplete, search across multiple files...
- versioning: don't expect a full versioning system but maybe some solutions could be found to create snapshots / backups of projects automatically
- project sync: see diffs and select which changes to do, which ones to ignore
Better learning resources
I haven't updated the documentation and tutorials for a long time. They need to be refreshed. Especially, the part about the API reference is outdated. The cheatsheets (microScript & API) are supposed to be up-to-date.
I am considering creating a new project type, "Example" (in addition to App, Library, Plugin, Tutorial). An example would have a very short code, focusing on one aspect of game programming. You would be able to search examples, run them and maybe modify them locally while they are running (without the need to clone the project first)
I am also thinking of creating a REPL for microScript ; but maybe it can be combined with the former idea.
I am planning to create many more Youtube videos this year, illustrating microStudio features and teaching how to make different kinds of projects or game features. To keep things simple for me, they will be only in French (but anyone will be free to make the English version and publish on their own channel!).
Community, Collections, micro Box, monthly themes
I want to make a few additions to the current community features, like following users, having notifications (e.g. new comment posted on your project) and maybe an optional e-mail digest.
Collections
The Collection feature will be very similar to itch.io: you can create collections and add projects to it. You can create private collections, which will then work a bit like folders, allowing you to better organize your projects. You can also create public collections, of only public projects. A collection can be used as a list of favorites, a list of projects in a particular theme, a list of games made for a jam...
micro Box
Then there is the micro Box, which you have discovered already (if not, try it on https://microstudio.io/gilles/microbox/). Currently it is just a single box with a fixed list of games, but when Collections will be available, you will have the possibility to automatically turn your collection into your own micro Box, with a few customization settings!
Monthly themes
Starting February, I am introducing monthly themes: we will decide on themes and announce them on the first day of the month. There is a dedicated channel on the Discord server. You can choose to participate by working on projects around these themes. Of course nothing mandatory, also it is not a jam, there will be no ranking, no submission date, no nothing. It is just to have fun together using our creativity on shared topics!
Extending microStudio
microStudio can be extended through Plugins and Libraries. The core functionality will probably be improved a bit this year, and also I am planning to work myself on (at least) 2 new Plugins:
Music app
This is a big chunk ; I have finally found the correct formula for a microStudio music app last year and have done a lot of work already. The project started small, which is good, but as always it is growing a bit more than anticipated. However, it is doing great and I really want to release it this year. It is made in microStudio and will work in microStudio, as a music tab. But I also plan to release it as a standalone app and game, probably on Steam, itch.io, Play Store and App Store. Wait, why did I say "game"? The app will have a "story mode" where you will live a quite special adventure... more on this in a few months :-)
3D Editor
This is a big chunk too! I would like to create a 3D model editor, based on voxels and customizable smoothed materials, heavily inspired by this: https://svox.glitch.me/ I want to create this editor in microStudio, as a plugin. I have only a few mockups so far, but I think I have a clear vision of how it should work. I just need to spend time on it now. I am not sure if I can actually release something this year, but hopefully I will be able to produce previews at least.
Game Templates
I would like to introduce game templates ; in my mind, they are fully working games, with minimal features though, no assets (just placeholders). The code should be well-structured, ideally in layers, allowing to easily do surface modifications or dive deeper into the internals to make more significant customizations. Once we have enough of them, we could offer to create a project "from a template", like some other engines do.
Dedicated micro-engines
This feature may be a bit redundant with Game Templates, we will see then, however, here is the idea: create dedicated micro-engines for certain kinds of games. Like for example:
- An engine for creating isometric pixel-art games ; maybe this one would be combined with a plugin for editing isometric scenes.
- A platformer engine that would be much better and extensible than the current QuickEngine
- A micro-engine for creating point-and-click games
- I actually have a micro-engine almost ready for another very specific type of game, which I am planning to release soon, stay tuned :-)
What about education?
I am still very interested in seeing microStudio used more in schools. In 2022 I have been thinking a lot about developing dedicated features for teachers, which I thought was also a good way to create a business around microStudio. However the picture is still very unclear to me, what features are actually needed and how easy or hard would it be to have schools actually use it and pay for such features. I don't want to spend too much time on it this year. There are a few teachers using microStudio around the world already and they have my full support, I will still be there for them if they need anything. Other than that, I am putting the microStudio-for-education topic on hold for now.