Skip Navigation
Shatur Shatur @lemmy.ml
Posts 145
Comments 230

Update on development

I took a small break from developing Project Harmonia. But I planning to get back soon!

I last month I was asked to move my translation app under KDE umbrella. Since I'm a KDE fan, I couldn't refuse πŸ˜…

The migration is almost done, will draft a new release soon.

After that, I plan to return to the game development.

I didn't stop working on bevy_replicon, though :)

0

🧬 Bevy Replicon 0.27.0-rc.3 is out!

github.com GitHub - projectharmonia/bevy_replicon: Server-authoritative networking crate for the Bevy game engine.

Server-authoritative networking crate for the Bevy game engine. - projectharmonia/bevy_replicon

GitHub - projectharmonia/bevy_replicon: Server-authoritative networking crate for the Bevy game engine.

It’s a crate for server-authoritative networking.

We usually don't make breaking changes when a Bevy release is around the corner, but decided to make a small exception for this one :)

This release adds support for Bevy 0.14.0-rc.4 and splits the crate functionality by features. For example, for headless server you can disable client feature. By default all features, except diagnostics are enabled, so you have the same set of plugins as before. But most plugin authors will need to add default-features = false.

πŸ“œFull changelog πŸ“¦bevy_replicon

0

🧬 Bevy Replicon 0.27.0-rc.3 is out!

github.com GitHub - projectharmonia/bevy_replicon: Server-authoritative networking crate for the Bevy game engine.

Server-authoritative networking crate for the Bevy game engine. - projectharmonia/bevy_replicon

GitHub - projectharmonia/bevy_replicon: Server-authoritative networking crate for the Bevy game engine.

It’s a crate for server-authoritative networking.

We usually don't make breaking changes when a Bevy release is around the corner, but decided to make a small exception for this one :)

This release adds support for Bevy 0.14.0-rc.4 and splits the crate functionality by features. For example, for headless server you can disable client feature. By default all features, except diagnostics are enabled, so you have the same set of plugins as before. But most plugin authors will need to add default-features = false.

πŸ“œFull changelog πŸ“¦bevy_replicon

0

Bevy 0.14.0-rc.4

You can find it on crates.io or on GitHub. If you're already on the rc.3, cargo update should automatically pick it up.

Here is the list of fixes since the 0.14.0-rc.3. This is likely the last release candidate!

The estimated release date for the 0.14 is now beginning of next week.

0
Lindroid
  • Maybe attaching a phone to monitor to use it as a GNU/Linux computer? Modern smartphones are powerful.

    Also I saw that many people use Termux to emulate some PC games, maybe with this tech it will be easier?

  • Bevy 0.14.0-rc.3 has just been released

    You can find it on crates.io or on GitHub. If you're already on the rc.2, cargo update should automatically pick it up.

    Here is the list of fixes since the 0.14.0-rc.2. This version also has observers merged!

    The estimated release date for the 0.14 has been pushed back by one week, to be able to finish the release note and migration guide.

    0
    Is Lemmy.ml missing from the fediverse explorer?
  • You are right, I said it wrong.

    They mostly ban for being a tankie.

  • Is Lemmy.ml missing from the fediverse explorer?
  • seems like the post got removed from lemmy.ml: https://lemmy.ml/comment/11606059

    I edited my comment. Looks like they banned the user, this is why the post is missing. And it's kinda unfortunate :(

  • Is Lemmy.ml missing from the fediverse explorer?
  • Didn't know! Were there any responses from the .ml admins?

    I also noticed that this post is not available on lemmy.ml, apparently they banned the post. Looks like they banned the OP from the instance.

    It looks like admins from .ml ban people who write bad things about CCP and .world admins ban people who can write bad things about US imperialism. They both think that they fight trolls and usually it's the case.

    For example, the banned OP wrote something like "Why, to ban criticism about China more actively?" in https://feddit.nl/comment/10140068 (6 days ago, while the post was created 9 month ago!) which is definitely not okay behavior.

  • 🧬 Bevy Replicon 0.27.0-rc.1 is out!

    It’s a crate for server-authoritative networking.

    Bevy has started drafting release candidates to let users test them before the actual release. And I think it's awesome!

    This release adds support for Bevy 0.14.0-rc.2. There are no functional changes.

    We haven't released bevy_replicon_renet because we need to wait for bevy_renet. However, other crates, including other messaging backends, won't be blocked.

    πŸ“¦bevy_replicon

    0

    🧬 Bevy Replicon 0.27.0-rc.1 is out!

    It’s a crate for server-authoritative networking.

    Bevy has started drafting release candidates to let users test them before the actual release. And I think it's awesome!

    This release adds support for Bevy 0.14.0-rc.2. There are no functional changes.

    We haven't released bevy_replicon_renet because we need to wait for bevy_renet. However, other crates, including other messaging backends, won't be blocked.

    πŸ“¦bevy_replicon

    0

    Bevy 0.14.0-rc.2

    You can find it on crates.io or on GitHub. Notice that as it's a release candidate, you have to specify the version for it to be selected, it's not automatic.

    Please test it on all the strange use cases you have, update the plugins you maintain, and get ready for an exceptional release! The migration guide is still being worked on, but the draft can already prove useful.

    For the next two weeks, we'll cherrypick back to the release branch merged PRs from the 0.14 milestone, so that they will be in the 0.14 release. While we will avoid breaking changes, it's still a possiblity one will be merged if there's a big enough issue.

    0
    Running my game on Steam Deck
  • It's fun if you like Rust and ECS. API design is very ergonomic and gives you a lot of control.

    But the engine is a bit immature. So I would generally suggest to stick with Godot for now, it's a great engine as well.

  • Running my game on Steam Deck
  • I used "Project" to emphasis the the name is temporary. Yes, I also like "Harmonia", but such game already exists 😒

  • Running my game on Steam Deck
  • Ah, I didn't know!

  • Running my game on Steam Deck

    Bought the device a few days ago and wanted to share the experience of running a Bevy game on it. I developing an open source life simulation game called Project Harmonia. The game is at the prototype stage: you can build walls, place objects and move around, but no no actual gameplay loop.

    Bevy engine supports it natively since it's just a regular x86 with GNU/Linux. So nothing special was needed! I compiled the game via Cargo and it works.

    The game runs great. I get stable 90 FPS (90Hz is the refresh rate of the device) consuming only 13.1 W. The UI is a little big and controls aren't adapted well for gamepads, but I will fix it later.

    The console itself is also a nice machine for development. Next I will write about the setup I use.

    As you may know, it runs SteamOS with KDE and based on ArchLinux.

    Packages mostly mirror official ArchLinux repositories, but there are some additions and everything is compiled by Valve. So you can even install SuperTuxKart or GNOME πŸ˜ƒ

    Another difference from vanilla ArchLinux is immutable file system. You can make it writable via a single command in terminal, but each update wipes all changes made to the system. Home directory remains untouched.

    Because of the immutable filesystem, I decided to try Flatpak. It installs packages into the user's home directory. Therefore, such apps won't be removed after an update.

    But I faced some limitations due to containerization. For example, the Firefox extension for KeePassXC does not work because apps can't interact with each other. And it's not suited for installing stuff like compilers or libraries. So I decided to explore other options.

    Next, I tried to create a script that I planned to run after each update. It installs all the packages I need through the system package manager.

    But packages on SteamOS are older then in Archlinux. For example, Neovim on SteamOS is 0.9, but on ArchLinux it's 0.10, so I had to downgrade my configuration. And it causes incompatibilities with AUR. For example, I couldn't install Crow Translate because of it.

    Another problem with such script is that Valve nuked /usr/include directory to free space. All packages are present, but the folder is missing. It makes sense for a gaming device, but I need it to compile packages from AUR.

    It can be solved by reinstalling all packages that put files into /usr/include. But it causes another problem πŸ˜ƒ Allocated space for / is limited and you quickly run out of space after restoring headers and installing a couple of packages.

    Then I decided to try Distrobox. It creates containers that tightly integrated with the host system. It even comes pre-installed on the Steam Deck.

    And I like it a lot! It is very easy to use and combines the advantages of both approaches. All packages will persist across updates and I have access to all packages that I have on my regular PC. Graphical apps look native and can interact with each other.

    The game on photos was compiled on the Steam Deck πŸ₯°

    10

    Running my game on Steam Deck

    Bought the device a few days ago and wanted to share the experience of running a Bevy game on it. I developing an open source life simulation game called Project Harmonia. The game is at the prototype stage: you can build walls, place objects and move around, but no no actual gameplay loop.

    Bevy engine supports it natively since it's just a regular x86 with GNU/Linux. So nothing special was needed! I compiled the game via Cargo and it works.

    The game runs great. I get stable 90 FPS (90Hz is the refresh rate of the device) consuming only 13.1 W. The UI is a little big and controls aren't adapted well for gamepads, but I will fix it later.

    The console itself is also a nice machine for development. Next I will write about the setup I use.

    As you may know, it runs SteamOS with KDE and based on ArchLinux.

    Packages mostly mirror official ArchLinux repositories, but there are some additions and everything is compiled by Valve. So you can even install SuperTuxKart or GNOME πŸ˜ƒ

    Another difference from vanilla ArchLinux is immutable file system. You can make it writable via a single command in terminal, but each update wipes all changes made to the system. Home directory remains untouched.

    Because of the immutable filesystem, I decided to try Flatpak. It installs packages into the user's home directory. Therefore, such apps won't be removed after an update.

    But I faced some limitations due to containerization. For example, the Firefox extension for KeePassXC does not work because apps can't interact with each other. And it's not suited for installing stuff like compilers or libraries. So I decided to explore other options.

    Next, I tried to create a script that I planned to run after each update. It installs all the packages I need through the system package manager.

    But packages on SteamOS are older then in Archlinux. For example, Neovim on SteamOS is 0.9, but on ArchLinux it's 0.10, so I had to downgrade my configuration. And it causes incompatibilities with AUR. For example, I couldn't install Crow Translate because of it.

    Another problem with such script is that Valve nuked /usr/include directory to free space. All packages are present, but the folder is missing. It makes sense for a gaming device, but I need it to compile packages from AUR.

    It can be solved by reinstalling all packages that put files into /usr/include. But it causes another problem πŸ˜ƒ Allocated space for / is limited and you quickly run out of space after restoring headers and installing a couple of packages.

    Then I decided to try Distrobox. It creates containers that tightly integrated with the host system. It even comes pre-installed on the Steam Deck.

    And I like it a lot! It is very easy to use and combines the advantages of both approaches. All packages will persist across updates and I have access to all packages that I have on my regular PC. Graphical apps look native and can interact with each other.

    The game on photos was compiled on the Steam Deck πŸ₯°

    0

    Running on Steam Deck

    Bought the device a few days ago. And of course I tried to run the game on it. Bevy engine supports it natively since it's just a regular x86 with GNU/Linux.

    The game runs great. I get stable 90 FPS (90Hz is the refresh rate of the device) consuming only 13.1 W. The UI is a little big and controls aren't adapted well for gamepads, but I will fix it later.

    The console itself is also a nice machine for development. Next I will write about my development setup πŸ˜„

    As you may know, it runs SteamOS with KDE and based on ArchLinux.

    Packages mostly mirror official ArchLinux repositories, but there are some additions and everything is compiled by Valve. So you can even install SuperTuxKart or GNOME πŸ˜ƒ

    Another difference from vanilla ArchLinux is immutable file system. You can make it writable via a single command in terminal, but each update wipes all changes made to the system. Home directory remains untouched.

    Because of the immutable filesystem, I decided to try Flatpak. It installs packages into the user's home directory. Therefore, such apps won't be removed after an update.

    But I faced some limitations due to containerization. For example, the Firefox extension for KeePassXC does not work because apps can't interact with each other. And it's not suited for installing stuff like compilers or libraries. So I decided to explore other options.

    Next, I tried to create a script that I planned to run after each update. It installs all the packages I need through the system package manager.

    But packages on SteamOS are older then in Archlinux. For example, Neovim on SteamOS is 0.9, but on ArchLinux it's 0.10, so I had to downgrade my configuration. And it causes incompatibilities with AUR. For example, I couldn't install Crow Translate because of it.

    Another problem with such script is that Valve nuked /usr/include directory to free space. All packages are present, but the folder is missing. It makes sense for a gaming device, but I need it to compile packages from AUR.

    It can be solved by reinstalling all packages that put files into /usr/include. But it causes another problem πŸ˜ƒ Allocated space for / is limited and you quickly run out of space after restoring headers and installing a couple of packages.

    Then I decided to try Distrobox. It creates containers that tightly integrated with the host system. It even comes pre-installed on the Steam Deck.

    And I like it a lot! It is very easy to use and combines the advantages of both approaches. All packages will persist across updates and I have access to all packages that I have on my regular PC. Graphical apps look native and can interact with each other.

    The game on photos was compiled on the Steam Deck πŸ₯°

    0
    Change Bash shell
  • Ah, sorry, I realized that fish is already installed by default. Same about zsh. So no additional steps needed, I just changed my default shell for my user and it works.

  • Change Bash shell

    I recently received a Steam Deck and I love it!

    I also planning to use it for development. On my PC I get used to Fish shell and usually use it instead of Bash. I can install it on Steam Deck and set it to the default shell, but after a system update it will be wiped. I can create a script and run it after each update, will I be able to login if my user points to /usr/bin/fish that doesn't exist in the system?..

    9

    🧬 Bevy Replicon 0.26.0 is out!

    cross-posted from: https://mastodon.social/users/Shatur/statuses/112508034539087653

    It's a crate for server-authoritative networking.

    In this release, we have completely reworked the events. We now use an optimization similar to what Bevy does for processing event updates.

    The public API for events has not changed, except that custom systems have been replaced with simple serialization and deserialization functions. It’s faster and more convenient.

    In addition, all network event registration functions can be used on regular events, automatically making them network events.

    πŸ“œFull changelog πŸ“¦bevy_replicon πŸ“¦bevy_replicon_renet

    0
    news.blizzard.com Heroes of the Storm Live Patch Notes - May 21, 2024

    Our next Heroes of the Storm patch is live! Read on for more information.

    Heroes of the Storm Live Patch Notes - May 21, 2024
    2

    Object side snapping

    cross-posted from: https://mastodon.social/users/Shatur/statuses/112464362803020971

    Implemented a special component that allows the sides of objects to snap to others with the same component.

    Bevy's gizmo was very helpful in visualizing the math.

    0
    Bevy Engine @lemmy.world Shatur @lemmy.ml

    🧬 Bevy Replicon 0.25.0 is out!

    It's a crate for server-authoritative networking.

    We worked closely with the author of bevy_bundlication on this release to provide better abstractions for third party plugins on top of replicon. Here are some highlights:

    Previously, users registered a component for replication and it was replicated if its entity was marked for replication. But this approach is quite limited. Now users can define replication rules similar to queries: rust app.replicate_group::<(Transform, Player)>() // `Transform` and `Player` components will be replicated only if both present on an entity. And it's possible to specialize ser/de for such groups. For example, replicate Transform in one way for players and in another way for static objects. Groups with more components take priority by default (but it's configurable). So it's also possible to have app.replicate::<Transform>(), but if Player component is present, (Transform, Player) will take precedence. In the next release we planning to support With and Without to let define something like this: app.replicate_group::<(A, B), Without<C>>().

    Also check out πŸ“¦bevy_bundlication which is now an abstraction over replicon that provides a bundle-like API for defining replication groups.

    Custom replication functions was also heavily reworked:

    • Public API no longer requires any unsafe.
    • Deserialization and writing now defined separately. This allows rollback crates to define their logic without touching user-defined ser/de functions.
    • Writing now based on markers for more flexibility.
    • Users can customize deserialization in-place.

    The author of bevy_bundlication also developing input queue and rollback plugins, but they require an API for disabling entities from Bevy. If you are interested in this or have other suggestions how to achieve it, feel free to comment on this issue.

    πŸ“œFull changelog πŸ“¦bevy_replicon πŸ“¦bevy_replicon_renet

    0

    🧬 Bevy Replicon 0.25.0 is out!

    It's a crate for server-authoritative networking.

    We worked closely with the author of bevy_bundlication on this release to provide better abstractions for third party plugins on top of replicon. Here are some highlights:

    Previously, users registered a component for replication and it was replicated if its entity was marked for replication. But this approach is quite limited. Now users can define replication rules similar to queries: rust app.replicate_group::<(Transform, Player)>() // `Transform` and `Player` components will be replicated only if both present on an entity. And it's possible to specialize ser/de for such groups. For example, replicate Transform in one way for players and in another way for static objects. Groups with more components take priority by default (but it's configurable). So it's also possible to have app.replicate::<Transform>(), but if Player component is present, (Transform, Player) will take precedence. In the next release we planning to support With and Without to let define something like this: app.replicate_group::<(A, B), Without<C>>().

    Also check out πŸ“¦bevy_bundlication which is now an abstraction over replicon that provides a bundle-like API for defining replication groups.

    Custom replication functions was also heavily reworked:

    • Public API no longer requires any unsafe.
    • Deserialization and writing now defined separately. This allows rollback crates to define their logic without touching user-defined ser/de functions.
    • Writing now based on markers for more flexibility.
    • Users can customize deserialization in-place.

    The author of bevy_bundlication also developing input queue and rollback plugins, but they require an API for disabling entities from Bevy. If you are interested in this or have other suggestions how to achieve it, feel free to comment on this issue.

    πŸ“œFull changelog πŸ“¦bevy_replicon πŸ“¦bevy_replicon_renet

    0
    Bevy on PinePhone Pro
  • It's not a good value to buy and you need a good GNU/Linux knowledge to use it. But it's quite an interesting device, especially with the keyboard addon.

  • Bevy on PinePhone Pro
  • It's Vortex Tab 90 😊

  • Bevy on PinePhone Pro
  • Yes, I would like to see more phones like this. At the moment the only modern options are PinePhone Pro + the keyboard add-on and F(x)tec Pro1 X.

  • Better names for Lemmy versions?
  • Hm... Good point.

  • Better names for Lemmy versions?
  • One does not exclude the other. You can have a fancy name and a semantic versioning.

  • β€˜The Sims’ Movie in the Works with Margot Robbie’s LuckyChap, Vertigo and β€˜Loki’ Director Kate Herron
  • I usually do interact with them, I'm to lazy to make a lot of townies myself :) I saw people quite often discuss townies, even make tier lists.

  • β€˜The Sims’ Movie in the Works with Margot Robbie’s LuckyChap, Vertigo and β€˜Loki’ Director Kate Herron
  • The Sims have well-known townies, like Bella, Vlad, Eliza. etc. I assume they will cover their stories.

  • Lemmy.world seems to have banned the largest piracy community on Lemmy.
  • Strange, I see much more comments If open lemmy.world link. But from from lemmy.ml I see much less content.

    Has anyone deferred?

  • Implemented automatic door opening
  • Thanks! :)

  • Implemented automatic door opening
  • Thanks! I also love The Sims series.

    Yes. My current plan is to create a minimal game loop first: basic building mode, simple AI and limited character customization. And then extend, improve and experiment with mechanics.

    The game will also have optional multiplayer, similar to this mod for the Sims 4. I'm the author of relatively popular networking library for the game engine I use :)