🧬 Bevy Replicon 0.41 is out!

It's a networking crate for the Bevy game engine.

Highlights:
- Update to Bevy 0.19
- Resources replication.
- Component/resource diff replication.
- New visibility scope AllExcept.

📜 https://github.com/simgine/bevy_replicon/blob/master/CHANGELOG.md
📦 https://crates.io/crates/bevy_replicon

#bevy #simgine

bevy_replicon/CHANGELOG.md at master · simgine/bevy_replicon

A server-authoritative replication crate for Bevy. - simgine/bevy_replicon

GitHub

🎮 Bevy Enhanced Input 0.26.0 is out!

An input manager for Bevy, inspired by Unreal Engine's Enhanced Input.

Just an update for Bevy 0.19 and a minor bugfix for trackpad scaling.

The crate is planned for upstreaming, so please try it out and share your feedback!

📜 https://github.com/projectharmonia/bevy_enhanced_input/blob/master/CHANGELOG.md
📦 https://crates.io/crates/bevy_enhanced_input

#bevy #simgine

bevy_enhanced_input/CHANGELOG.md at master · simgine/bevy_enhanced_input

Input manager for Bevy. Contribute to simgine/bevy_enhanced_input development by creating an account on GitHub.

GitHub

Thoughts on choosing a scripting language for mod support in my game:

1. Roto: simple API, static typing, and JIT. However, it has no dynamic typing, which I need to expose the Bevy API. Passing references also feels awkward because of the static typing and requires me exposing public unsafe API. But the author seems interested in addressing the missing feature to support Bevy!

More in 🧵

#simgine #bevy

Early thoughts on Lua crates for scripting in Simgine:

- mlua: mature, popular, supports passing non-static userdata and has Luau support. But it's bindings and all methods should be defined manually.
- CppCXY/lua-rs: 1 year old, pure Rust, author focuses on perf, supports a macro that can annotate Rust methods and the author is LuaLS and EmmyLua maintainer. Doesn't support passing non-static data for performance reasons (see https://github.com/CppCXY/lua-rs/issues/44) and it's only Lua 5.5.

More in 🧵

#simgine

Don't require 'static for `TraitUserData` · Issue #44 · CppCXY/lua-rs

In mlua UserData only requires Sized. This is useful together with Scope to allow passing non-static data. The comment on the luars::Scope also mentions non-static data. Would it be possible to rel...

GitHub

Continue experimenting with scripting for my game.

Faced the following issues with Rhai:
- Passing references into the scripting engine is not supported out of the box. This can be emulated by creating an unsafe wrapper, but not very convenient.
- Even with the mentioned wrapper, I have to transmute out lifetimes because only non-static types can be passed.
- Native methods still has to be duplicated inside Rhai's module definition.

I think I'll give Lua another go 🤔

#simgine

Lately, I have been working on a scripting solution for my life simulation game.

I know about bevy_mod_scripting, but I wanted something with an ECS API.

Originally, I was considering Lua, but the only mature crate is mlua, which is bindings. I wanted something Rusty. And even though I've written a bunch of Neovim plugins, things like 1-based indexing, ~=, no continue, and other quirks still put me off.

Currently, I'm looking at Rhai 🤔 The docs are great and it's at 1.0.

#simgine #rhai

🧬 Bevy Replicon 0.40.0 and 0.41.0-rc.1

It's a networking crate for the Bevy game engine.

The 0.40 release targets Bevy 0.18 and introduces shared messages/events, which are useful for client-side prediction.

The 0.41-rc.1 release targets Bevy 0.19-rc.1 and includes long-awaited resource replication. It was trivial to add since resources are now backed by components.

As always, I recommend updating to 0.40 first.

📜 https://github.com/simgine/bevy_replicon/blob/master/CHANGELOG.md
📦 https://crates.io/crates/bevy_replicon

#bevy #simgine

bevy_replicon/CHANGELOG.md at master · simgine/bevy_replicon

A server-authoritative replication crate for Bevy. - simgine/bevy_replicon

GitHub

🎮 Bevy Enhanced Input 0.25.0 and 0.26.0-rc.1

An input manager for Bevy, inspired by Unreal Engine's Enhanced Input.

The 0.25 release targets Bevy 0.18 and includes custom input support, along with other minor improvements and a few small breaking changes.

The 0.26.0-rc.1 release targets Bevy 0.19-rc.1 and only bumps the Bevy version.

The crate is planned for upstreaming, so please try it out and share your feedback!

📜 https://github.com/projectharmonia/bevy_enhanced_input/blob/master/CHANGELOG.md
📦 https://crates.io/crates/bevy_enhanced_input

#bevy #simgine

bevy_enhanced_input/CHANGELOG.md at master · simgine/bevy_enhanced_input

Input manager for Bevy. Contribute to simgine/bevy_enhanced_input development by creating an account on GitHub.

GitHub

Implemented object manipulation.

The only issue I currently have is that Avian doesn't update colliders when the game is paused, so for now I just don't pause in build mode 😅

#bevy #simgine

🧬 Bevy Replicon 0.39.0 is out!

https://lemmy.ml/post/43612538

🧬 Bevy Replicon 0.39.0 is out! - Lemmy

It’s a crate for server-authoritative networking. We use it for Simgine, but it’s general-purpose. The main highlight is improved visibility filters. They now allow you to express much more complex visibility patterns. The release also includes various ergonomic improvements and renames. I need the Cart’s bsn branch for my game, so I’ll open a draft PR targeting it for all my crates soon. I just wanted to draft a new release with all the accumulated breaking changes first. See the changelog for the full list of changes. 📜Full changelog [https://github.com/projectharmonia/bevy_replicon/blob/master/CHANGELOG.md] 📦bevy_replicon [https://crates.io/crates/bevy_replicon]