Shatur

joined 3 years ago
1
NESFab (pubby.games)
 

A virtual meetup where we talk about Bevy :) This time I will be one of the speakers! Link to the blogpost with more details about the format.

Scheduled for March 6th 8 pm CET.

[–] Shatur@lemmy.ml 2 points 1 week ago* (last edited 1 week ago)

Sims

No promises, but I actually working on one πŸ˜… See this comment.

[–] Shatur@lemmy.ml 8 points 1 week ago (2 children)

A federated MMO would be interesting! But cheating might be a concern. Anyone could create a server with fully-equipped character and just federate.

But maybe servers could whitelist trusted servers? πŸ€”

[–] Shatur@lemmy.ml 2 points 1 week ago (1 children)

Never heard about it, but looks cool!

[–] Shatur@lemmy.ml 3 points 1 week ago

A president simulator? This sounds great! Never heard about these games, thanks for sharing!

 

Just curious πŸ™‚

[–] Shatur@lemmy.ml 1 points 1 week ago

I have a special trait that generates a reverse command. And store a stack of commands. Here is the source.

I presume you don’t delete the entities on undo but hide them instead?

No, I do a full despawn. Just remember it's data to spawn again thanks to the mentioned trait.

[–] Shatur@lemmy.ml 4 points 1 week ago (1 children)

How do the buttons feel?

9
submitted 1 week ago* (last edited 1 week ago) by Shatur@lemmy.ml to c/europe@lemmy.ml
 

Green light for marketing of UV-treated whole Tenebrio molitor larvae powder added to EU "novel food" list. Attempt to block a yes vote in the Environment Committee at the EU Parliament fails.

[–] Shatur@lemmy.ml 5 points 2 weeks ago

The difference is the same as between Bevy's regular triggers and events. We aim to mirror the Bevy API and simply make it networked.

Events are buffered and pull-style, while triggers are called on commands flush and can target entities and components. Triggers were introduced in Bevy 0.14. Generally, you should use triggers for events that happen rarely and events for things that need to be processed in batches.

13
submitted 2 weeks ago* (last edited 2 weeks ago) by Shatur@lemmy.ml to c/bevy@programming.dev
 

It’s a crate for server-authoritative networking. We use it for Project Harmonia, but it's general-purpose.

Kinda our 30th anniversary πŸ˜… This release introduces remote triggers. The API is similar to our networked events. Here’s a quick showcase for client triggers:

app.add_client_trigger::<DummyEvent>(ChannelKind::Ordered)
    .add_observer(receive_events)
    .add_systems(Update, send_events.run_if(client_connected));

fn send_events(mut commands: Commands) {
    commands.client_trigger(DummyEvent);
}

fn receive_events(trigger: Trigger<FromClient<DummyEvent>>) {
    info!("received event {:?} from {:?}", trigger.event, trigger.client_id);
}

Server triggers have a similar API. Targeting entities is also supported.

We now also provide an example backend and examples that directly from the bevy_replicon repo. The examples have also been re-written to take advantage of the latest Bevy and Replicon features.

πŸ“œFull changelog πŸ“¦bevy_replicon

 

Refined the bindings menu for my game and ported it into a standalone example for bevy_enhanced_input.

Alice (the author of LWIM) and I quite like the main concepts of the crate, and we’re planning to refine it further to create the ultimate input manager πŸ™‚

9
submitted 3 weeks ago* (last edited 3 weeks ago) by Shatur@lemmy.ml to c/bevy@programming.dev
 

Thanks to ongoing work on no_std, people continue to try running Bevy on unusual platforms.

Today, @Mathspy from Discord managed to run it on the Playdate:

For what it's worth, Bevy's app, ECS, math, state work on the playdate with no patches
And Bevy's time works with a minor patch https://github.com/bevyengine/bevy/pull/17577

For rendering they're making playdate render calls in PostUpdate: https://github.com/Mathspy/bevydate/blob/1b4f02adcde079cf9757fd3c7d20331c9ab04513/src/lib.rs#L429-L441

[–] Shatur@lemmy.ml 1 points 3 weeks ago (1 children)

Ah, you are right. But I didn't know where to upload them. What would you use for files?

[–] Shatur@lemmy.ml 2 points 3 weeks ago

Just additional supported platform for the engine. This also showcases how flexible Bevy is - I don't think you can port Unreal Engine, Unity or even Godot to GBA.

It's possible thanks to the ongoing work on no_std support for Bevy. This simplifies porting to other platforms.

 

Spend last week working on remote triggers for bevy_replicon.

Tried many approaches and finally satisfied with the implementation and public API.

Client triggers example:

app.add_client_trigger::<DummyEvent>(ChannelKind::Ordered)
    .add_observer(receive_events)
    .add_systems(Update, send_events.run_if(client_connected));

fn send_events(mut commands: Commands) {
    commands.client_trigger(DummyEvent);
}

fn receive_events(trigger: Trigger<FromClient<DummyEvent>>) {
    let FromClient { client_id, event } = trigger.event();
    info!("received event {event:?} from {client_id:?}");
}

Server triggers example:

app.add_server_trigger::<DummyEvent>(ChannelKind::Ordered)
    .add_observer(receive_events)
    .add_systems(Update, send_events.run_if(server_running));

fn send_events(mut commands: Commands) {
    commands.server_trigger(ToClients {
        mode: SendMode::Broadcast,
        event: DummyEvent,
    });
}

fn receive_events(trigger: Trigger<DummyEvent>) {
    info!("received event {:?} from server", trigger.event());
}

Observers are so nice, I use them in my game a lot and not having them networked was quite limiting.

After a review from second maintainer I will merge it and draft a new release πŸ™‚

9
submitted 3 weeks ago* (last edited 3 weeks ago) by Shatur@lemmy.ml to c/bevy@programming.dev
 

Post from @bushRAT in Discord:

Thanks to the ever growing support for no_std in Bevy, I'm now able to use Bevy on the GameBoy Advance! Using the current main branch (which will be included for 0.16!) you can use a crate like agb (and some boilerplate I'm hiding) to write GameBoy Advance games almost as easily as you would for any other Bevy platform. Systems, plugins, resources, queries, the gamepad input API, it all just works. See the attached ROM if you have a GameBoy Advance emulator handy, but I recommend the MGBA emulator as it can also show debug logs (yes, even all the logging just works)

Links to GBA files:

If you have a real GBA or an FPGA console, the author will appreciate if you try :)

Repository: https://github.com/bushrat011899/bevy_agb_test

 

cross-posted from: https://lemmy.ml/post/25050675

If you use https://es-de.org/, which themes do you like the most?

[–] Shatur@lemmy.ml 22 points 1 month ago

Yes, you can self-host it, but the problem is the cost. The blog explains it very clearly.

[–] Shatur@lemmy.ml 2 points 1 month ago

Actually, I moved the camera with the keyboard πŸ˜…

But It's actually a good QoL improvement, I will implement it!

[–] Shatur@lemmy.ml 3 points 1 month ago

I use Neovim, love their Lua direction.

view more: next β€Ί