Shatur

joined 3 years ago
[โ€“] [email protected] 12 points 1 week ago

I couldn't wait, so read all available comics on the website ๐Ÿ™‚

[โ€“] [email protected] 6 points 2 weeks ago

Ah, I thought it's about Valve's Proton ๐Ÿ˜…

1
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
 

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 ๐Ÿ™‚

1
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
 

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

[โ€“] [email protected] 1 points 1 month ago

That's sad ๐Ÿ˜ข

I heard that the antenna issue can be fixed manually, but it's not an easy fix.

[โ€“] [email protected] 1 points 1 month ago

Yes, this managed to ship all devices in November 2024.

[โ€“] [email protected] 1 points 1 month ago

You can run Droidian, which is galium-based (special Android compatibility layer to talk to hardware).

Running on mainline is also possible, but the support is not great. Here is the PMOS page.

[โ€“] [email protected] 4 points 1 month ago (2 children)

Yeah, I heard that many units have antenna issue. Before buying I asked the seller to test it for me. My unit was unaffected by the issue.

Yeah, the situation with the company is not great.

Big thanks to the guy keeping lineage working on it!

There actually 4 maintainers for this device! It was a surprise for me. Usually it's 1 guy.

[โ€“] [email protected] 2 points 1 month ago

I considered their Astra or Communicator, but they donโ€™t support LineageOS, which is important to me.

 

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 ๐Ÿ™‚

 

Bevy is a game engine written in Rust. It targets regular PCs, but thanks to it modularity, it's possible to port it to unusual platforms. These examples replaced the rendering with the one specific to GBA.

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

1
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
 

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

[โ€“] [email protected] 3 points 1 month ago (1 children)

True ๐Ÿ˜ฅ Did you broke yours?

[โ€“] [email protected] 5 points 1 month ago

Yeah...

I wish companies produce more phones like this.

[โ€“] [email protected] 3 points 1 month ago* (last edited 1 month ago)

Try looking at their unofficial Discord server. It's usually cheaper then on eBay. But ask to test the antenna, some units have issues with that.

[โ€“] [email protected] 8 points 1 month ago (2 children)

Same. But recently I managed to buy almost new for 300 EUR.

I only recently started using it, so maybe later I will make a post about it :)

144
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
 

A long time ago, I owned a Motorola Droid 4 and Photon Q. Feeling so nostalgic now ๐Ÿ™‚

The keyboard on this one is much better - it's full-sized, and the slider mechanism feels quite robust.

[โ€“] [email protected] 13 points 1 month ago (1 children)

I've always been a lurker, but I started being active on Fedi, and I like it!

14
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
 

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

17
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
 

ES-DE Molla

I was hoping this update would enable pure black mode (which looks awesome on the borderless display of the black model). But it turns out that feature was added in Android 14 ๐Ÿ˜ข

I really wish retro handhelds were supported by FOSS Android distros like LineageOS.

Still, I'm quite happy with the update. This time I decided to try Molla launcher and ES-DE ๐Ÿ™‚

 

It's a crate for dynamic and contextual input mappings for Bevy, inspired by Unreal Engine Enhanced Input.

Actions now have a parameter that requires inputs to reset to zero before activation and continue consumption after context removal until they return to zero. This is very useful if you want to use the same input to toggle between contexts.

See the changelog for more details.

๐Ÿ“œFull changelog ๐Ÿ“ฆbevy_enhanced_input

view more: next โ€บ