Gamebuino Meta games in JavaScript

Hello!
This is something I’ve been working on and has support for the Meta.
Many thanks to @Jicehel for beta testing for me. It is still a beta, but stable enough for people to start having a look and making things with it.

MicoJS Online IDE

Quick Intro:

  • Generates native code, no VM/interpretor
  • Based on Monaco (VSCode’s editor)
  • Your sourcecode is stored in your browser but can be exported as a zip file
  • Aims for full JS language compatibility, not API/library compatibility
  • Full-res 8-bit graphics engine with sprite zoom/rotation/recoloring support
  • Built-in simulator runs well even on very slow devices
  • Games are platform-independent by default
  • Wiki documenting both the API and language
  • Autocomplete with documentation
  • Built-in asset conversion. Drag-and-drop an image into the file list and it’s ready
  • Uses a general-purpose palette, based on this paper.

Planned Features

  • Import zipped project
  • Project sharing between multiple users/browsers
  • More UI polish
  • Audio support
  • Tilemap support
  • Hotspot profiling (partially implemented already)
  • Built-in image editor
  • More JS language support (see wiki for up-to-date list of what’s missing)
  • Export game as a single HTML file for sharing
  • Debug builds that tell you where/why a crash happened on hardware without a debugger
2 Likes

Congratulation @FManga ,
this is very impressive work. :heartbeat:

1 Like

Latest changes:

  • Zipped project import (drag-and-drop a zip into the file tree)
  • Automatically clear debug log when starting the simulator
  • Ctrl+Enter (or Cmd+Enter on Mac) shortcut to start the simulator
  • Ctrl+S no longer tries to save the IDE as an HTML page
  • 32Blit support
1 Like

Well done FManga. I will try it soon :slight_smile:

1 Like

Thanks!
I’ve been mostly working on bug fixes lately:

  • Fixed a bug in browser version of vectorLength function
  • Fixed a bug where use of null would generate invalid code
  • Fixed a bug when comparing someString != otherString
  • Fixed a bug where strings weren’t triggering the garbage collector
  • Added PI / HALF_PI / TWO_PI
  • Added getTime function