https://linen.dev logo
Join Discord
Powered by
# 🦴bones
  • e

    erlend

    10/10/2022, 5:40 PM
    Yeh, maybe what I’m talking about now shouldn’t be put in the scripting bucket. But it’s definitely part of our modding system as a whole.
  • e

    erlend

    10/10/2022, 5:40 PM
    All I know is that we’d like to facilitate Punchy mods as advanced as Kunio-kun dodgeball.
  • l

    lenscas

    10/10/2022, 5:42 PM
    I don't know what that game is so can't comment on it. I do know that rimworld and minecraft allow its level of modding level by having mod hook directly into the code. No API just abusing reflection to sometimes rewrite entire parts of the game 😅
  • l

    lenscas

    10/10/2022, 5:43 PM
    I don't think you will be able to get to that level of advanced mods unless you make the game compile to .NET bytecode or similar 😅
  • e

    erlend

    10/10/2022, 5:44 PM
    https://ricedigital.co.uk/kunio-kun-nekketsu-high-school-dodgeball-club/
  • u

    user

    10/11/2022, 8:48 PM
    Yeah, I was thinking about WASM modding a little bit. Technically we can kind of already do it by compiling Rust to WASM and then loading the WASM from a JavaScript mod, I think, but that's not going to have the best user-experience unless we streamline the process more than we do now.
  • u

    user

    10/11/2022, 8:52 PM
    As far as "infinite power" scripting in Rust, I think you could do that on native if with dynamic linking eventually, if we can get around the rust
    TypeId
    issue. Essentially we'd have to use
    TypeUuid
    everywhere in Bevy that we currently use
    TypeId
    , I think. There was a little bit of a discussion about that very early on in Bevy when they were loading plugins as dynamic modules, but found out that it wasn't really viable yet until we fix the
    TypeId
    issue, but there could have been more discussion I haven't seen yet, too.
  • u

    user

    10/11/2022, 8:52 PM
    I think that's a little ways away, but I think that there are people who will be trying to make that happen in Bevy eventually, if they aren't already.
  • u

    user

    10/11/2022, 8:55 PM
    --- I think if we wanted a pure WASM scripting API, we could get that working similar to the JavaScript API we have today, with some caveats:
  • u

    user

    10/11/2022, 8:55 PM
    - It wouldn't end up more powerful than JS scripting, it might just be more performant.
  • u

    user

    10/11/2022, 8:56 PM
    - It also might not end up more performant on Web because it'd have to go through JS, unless we get some kind of WASM linking working, but WASM linking or linking alternative proposals are still work in progress I think, so I'm not sure if that's usable yet.
  • u

    user

    10/11/2022, 8:56 PM
    ---
  • u

    user

    10/11/2022, 8:57 PM
    Anyway, as far as wanting super advanced mods, I think our scripting API will allow for some pretty advanced stuff when it's done.
  • u

    user

    10/11/2022, 8:57 PM
    Even designing alternative damage mechanics and guns and bullets, etc.
  • u

    user

    10/11/2022, 8:58 PM
    At least that's the goal. It should be almost as powerful as Rust, the limit may end up being more performance, than anything else once we finish adding lots of the dynamic APIs to the Bevy ECS.
  • u

    user

    10/11/2022, 8:59 PM
    At least as far as gameplay. Obviously hardware access is limited, but that's a good thing for most mods.
  • e

    erlend

    10/11/2022, 10:05 PM
    Yeh I really like what we’ve got. We can leave the wasm-scripting experimentation to others for now.
  • o

    odecay

    10/11/2022, 10:23 PM
    I haven't been following it super closely but it seems like from what I have seen people have been having significant challenges with a pure wasm scripting/plugin/modding API
  • o

    odecay

    10/11/2022, 10:24 PM
    or like it hasnt been as simple as one would hope on the surface
  • o

    odecay

    10/11/2022, 10:25 PM
    but it seems like something multiple projects across rust ecosystem are all working towards
  • e

    erlend

    11/26/2022, 5:09 PM
    https://github.com/fishfolk/jumpy/discussions/489
  • e

    erlend

    11/26/2022, 5:21 PM
    👆 Holler when you’ve seen this @Pit
  • e

    erlend

    11/26/2022, 5:21 PM
    It’s up to you whether we try this out on bomby or do something else.
  • p

    Pit

    11/26/2022, 7:39 PM
    I'm in favor of trying this out on Bomby. It seems like an exciting step towards more fishfolk coherency and the scope of Bomby makes it ideal for experimenting with this, I think. Let me know what I can do to help
  • e

    erlend

    11/26/2022, 8:01 PM
    Awesome!
  • e

    erlend

    11/26/2022, 8:01 PM
    Just continue as you were for now. Zicklag can reach out to you on #bomby or the repo when he’s ready to move this forward.
  • u

    user

    11/26/2022, 8:59 PM
    Perfect! There's definitely some independent experimentation to do for the minimal ECS and WASM execution, along with the Jumpy MVP I'm trying to get finished first, but I'll absolutely let you know how things go along, and when we'd get to collaborating on it.
  • e

    erlend

    11/27/2022, 12:05 AM
    Could this work in this new WASM architecture? https://github.com/ceifa/wasmoon
  • u

    user

    11/27/2022, 1:06 AM
    That might work.
  • u

    user

    11/27/2022, 1:06 AM
    Right now the open question has to do with how to share the WASM memory between multiple WASM modules without them stepping on each-other's toes.
12345...15Latest