Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/saklis/microstudioruntime

MicroStudio Runtime executes MicroStudio game (exported as HTML) localy using QuickJS and then outputs result using Raylib.
https://github.com/saklis/microstudioruntime

game-development game-engine gamedev microstudio

Last synced: 18 days ago
JSON representation

MicroStudio Runtime executes MicroStudio game (exported as HTML) localy using QuickJS and then outputs result using Raylib.

Awesome Lists containing this project

README

        

# MicroStudio Native Runtime

MicroStudio Native Runtime executes MicroStudio game (exported as HTML) localy using QuickJS and then outputs result using Raylib.

## Project setup
Project is configured to use CMake and MINGW G++ i686 compiler from MSYS2.

To compile:
1. Install MSYS2
2. Install MINGW 32bit
3. Compile or download Raylib binaries for MINGW.
4. Compile or download binaries for QuickJS. For Windows, you can use https://github.com/mengmo/QuickJS-Windows-Build
5. Install SPDLIB through MSYS2 package manager `pacman -S mingw-w64-i686-spdlog`
6. Install CMake
7. For Windows, install GNU Make for Windows https://gnuwin32.sourceforge.net/packages/make.htm
8. Clone MicroStudioRuntime
9. Update `CMakeLists.txt` and `build.bat` to match your environment
10. Build. For Windows, you can execute `build.bat` for automated build.
11. Run

After you export your project from MicroStudio as HTML, you need to prepare files:
* Put all js files into /microstudio directory.
* Take a look at included game.js to see how to change your index.html file.
* Copy all assets folders into /assets directory

MicroStudio Runtime is in very early stages and only very few features work! To see currently supported API check include/JS_API.h and `js_raylib_funcs` array.
Using any function outside the supported list will:
1) do nothing
2) crash the Runtime
3) Erase your PC from existance

Please visit MicroStudio's official Discord if you want to complain or help me with this thing :)