moonsharp
rlua
moonsharp | rlua | |
---|---|---|
4 | 13 | |
1,361 | 1,677 | |
0.8% | 0.6% | |
0.0 | 8.2 | |
5 months ago | 3 months ago | |
C# | Rust | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
moonsharp
-
MoonSharp or How we combined JSON and LUA for game ability management
Some of you may be familiar with MoonSharp LUA interpreter for C#, often use in Unity engine to add scripting support to your game. That's what we took as a base for writing the code for abilities. Each ability can subscribe to different events such as whenever a card takes damage, is placed on the field or ability is used manually on some specific targets. Besides having event handlers we needed a way to specify some metadata like mana cost of abilities, cooldown, icon, etc. and in the first iteration of the system we had a pair of JSON metadata file and LUA code file.
-
Edit script on running game?
Rather than making your own language, just add Lua to your project. Moonsharp is pretty good with Unity...
- Can I change unity coding language?
- Lua: Good, Bad, and Ugly Parts
rlua
-
Rust and Lua api
There's the rlua package for running lua in your rust app: https://github.com/amethyst/rlua
-
What is your favourite Rust specific feature that you miss in other languages?
Some sys crates do embed the source files, like rlua for example.
- Hey Rustaceans! Got an easy question? Ask here (9/2022)!
-
Lua: Good, Bad, and Ugly Parts
[1] - https://github.com/amethyst/rlua/blob/master/examples/guided_tour.rs
-
I hate automod and have a question
Yes though, given that a CCleaner/BleachBit-style situation is going to be I/O-bound, I'd probably go with rlua, PyO3, or rust-cpython for plugins.
-
Ketos: Lisp dialect scripting and extension language for Rust programs
I wrote up some rust low-level bindings for guile [1]. The problem is that Guile liberally uses setjmp/longjmp, which breaks rust destructors. It might be possible to fix this by wrapping every call the way rlua does [2], but I'm not familiar enough with Guile to know.
1: https://github.com/ysimonson/guile-sys
2: https://github.com/amethyst/rlua/issues/21
-
Rust's interface to the Lua programming language is called 'mlua'. not Lust. This should get fixed.
And.. another binding finally called rlua https://github.com/amethyst/rlua
-
Does rust have function works like eval?
hlua or rlua are what you want for Lua, rust-cpython or PyO3 for Python, rutie for Ruby, and possibly deno_core for JavaScript.
- Embedding Lisp in C++ – A Recipe
-
I open sourced a game I just released on Steam, written in Lua
Janet is what introduced me to Fennel. Conjure [1] sold me on Fennel over Janet. The Neovim community is rallying around Lua.
(And in fact, what sold me on Rust was its truly excellent Lua FFI support [2].)
[1]: https://github.com/Olical/conjure
[2]: https://github.com/amethyst/rlua
What are some alternatives?
luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua
mlua
atom-tabletopsimulator-lua - Tabletop Simulator scripting package for Atom.
hlua - Rust library to interface with Lua
lua-cmake - Embed lua with CMake
janet - A dynamic language and bytecode vm
fungus - An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
kaboom.js - 💥 JavaScript game library
IntelliJ-Luanalysis - Type-safe Lua IDE — IntelliJ IDEA plugin
bincode - A binary encoder / decoder implementation in Rust.
gopher-lua - GopherLua: VM and compiler for Lua in Go
msgpack-rust - MessagePack implementation for Rust / msgpack.org[Rust]