mruby 3.2.0(mruby.org)
mruby.org
mruby 3.2.0
https://mruby.org/releases/2023/02/24/mruby-3.2.0-released.html
25 comments
A bunch of games, really.
Besides being used by some game engines as a main programming language (Dragonruby, Ruby2D, and Taylor), it is used by some bespoke game engines as a scripting language as well.
Nier Automata is a somewhat notable example: https://github.com/Martymoose98/NieR-Automata-Ruby-Script-Ex...
Besides being used by some game engines as a main programming language (Dragonruby, Ruby2D, and Taylor), it is used by some bespoke game engines as a scripting language as well.
Nier Automata is a somewhat notable example: https://github.com/Martymoose98/NieR-Automata-Ruby-Script-Ex...
Note that Ruby2D aims to run on both ruby and mruby:
> Use a subset of Ruby that works everywhere. Ruby 2D applications are, of course, written in Ruby. Some users may choose to harness the full power of the language, standard library, and ecosystem of gems by writing interpreted apps targeting the standard implementation, MRI. Others may want to target the web via WebAssembly, mobile devices, or build native desktop applications, all which make use of a different Ruby implementation called mruby. Ruby 2D aims to support all of these use cases, even with the same app codebase. Your contribution must support a subset of Ruby that is compatible with and behaves similarly across MRI/CRuby and mruby.
[0]: https://github.com/ruby2d/ruby2d#technical-contributions
> Use a subset of Ruby that works everywhere. Ruby 2D applications are, of course, written in Ruby. Some users may choose to harness the full power of the language, standard library, and ecosystem of gems by writing interpreted apps targeting the standard implementation, MRI. Others may want to target the web via WebAssembly, mobile devices, or build native desktop applications, all which make use of a different Ruby implementation called mruby. Ruby 2D aims to support all of these use cases, even with the same app codebase. Your contribution must support a subset of Ruby that is compatible with and behaves similarly across MRI/CRuby and mruby.
[0]: https://github.com/ruby2d/ruby2d#technical-contributions
That's interesting, now I'm wondering how many japanese games use it. I know Metal Gear Solid 5 uses Lua.
Nginx already has Javascript [1] which amused me when I found out a year or two back.
[1] https://nginx.org/en/docs/njs/
[1] https://nginx.org/en/docs/njs/
> something like Nginx having a mruby module
You ask you get https://github.com/matsumotory/ngx_mruby
You ask you get https://github.com/matsumotory/ngx_mruby
I think Shopify was using it to allow scripting in their template system or something like that, but I can't find references right now, other than https://github.com/Shopify/mruby-engine
Not their templating system, but https://help.shopify.com/en/manual/checkout-settings/script-... I believe.
Correct (I worked on this)
The h2o webserver.
https://h2o.examp1e.net
https://h2o.examp1e.net
Ask, and you shall receive: http://ngx.mruby.org/
it's proprietary but https://dragonruby.org/
not an exhaustive list but https://github.com/mruby/mruby/issues/3962 has a few examples. some neat uses though
This buildpack used mruby embedded in nginx for some stuff https://github.com/heroku/heroku-buildpack-static
The configuration management tool mitamae is another mruby project: https://github.com/itamae-kitchen/mitamae
[deleted]
[deleted]
Tic80 has mruby as one of the supported languages
[deleted]
There was a Japanese guy using it for Dreamcast dev
There's a name collision with a very important fluorescent protein! mRuby3!
https://www.fpbase.org/protein/mruby3/
https://www.fpbase.org/protein/mruby3/
Does this include the Ractor stuff?
There's no Thread in core mruby (you have to go through a mrbgem[0]), so I don't think there is Ractor stuff in there.
[0]: https://github.com/mattn/mruby-thread
EDIT: confirmed
[0]: https://github.com/mattn/mruby-thread
EDIT: confirmed
$ nix-shell -p mruby
nix$ mirb
mirb - Embeddable Interactive Ruby Shell
> RUBY_VERSION
=> "3.1"
> Ractor
uninitialized constant Ractor (NameError)
I could think of something like Nginx having a mruby module instead of Lua.