Hennadii Chernyshchuk

@Shatur
5 Followers
63 Following
132 Posts

Programmer and open source enthusiast.

In my spare time working with @YaraGardaria on Project Harmonia - an open source life simulation game (https://github.com/projectharmonia/project_harmonia).

GitHubhttps://github.com/Shatur
Lemmyhttps://lemmy.ml/u/Shatur

๐ŸŽฎ Bevy Enhanced Input 0.1.0 is out!

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

I really like the UE approach and decided to bring it to Bevy. See the readme for details.

Despite being the first release, it's **packed** with features. I've implemented everything from UE and even added some extras. The crate also has ~90% test coverage.

Next up, I'll be migrating #projectharmonia to use it.

๐Ÿ“œ https://github.com/projectharmonia/bevy_enhanced_input

#bevy

GitHub - projectharmonia/bevy_enhanced_input: Dynamic and contextual input mappings for Bevy

Dynamic and contextual input mappings for Bevy. Contribute to projectharmonia/bevy_enhanced_input development by creating an account on GitHub.

GitHub

Over the past two weeks, I have been working on an input management plugin.

LWIM crate is good, but I wanted to try a different approach inspired by the Unreal Engine Enhanced Input.

If you have never used it, I explained the approach in the README, where you can also find a link to UE's documentation.

I finished the implementation and added examples, but I still need to write tests and improve the documentation. Planning to release it soon.

https://github.com/projectharmonia/bevy_enhanced_input

#bevy #projectharmonia

GitHub - projectharmonia/bevy_enhanced_input: Dynamic and contextual input mappings for Bevy

Dynamic and contextual input mappings for Bevy. Contribute to projectharmonia/bevy_enhanced_input development by creating an account on GitHub.

GitHub

Migrated navigation from oxidized_navigation to vleue_navigator.

It uses the novel Polyanya algorithm instead of the classical A*.

I faced a few issues during the migration, but @FrancoisMockers helped me resolve them all.
He even dumped the navmesh of the house I built in the game and created a test named after the project ๐Ÿ˜…

I also implemented skipping points that the agent has projected past to prevent jitter when multiple points are close to each other.

#bevy #gamedev #projectharmonia

This week, I was fixing bugs (there were a lot!) and refactoring.

I finally migrated the game's physics from XPBD to Avian. The migration was seamless since we're only using it for picking, collision checking, and navigation for now ๐Ÿ˜…

It's worth noting that I also switched from Avian's global Position component to Bevy's relative Transform, as the global Position breaks when there are multiple cities.

#bevy #gamedev #projectharmonia

Iโ€™ve finally added the ability to edit and remove previously spawned walls, along with an undo/redo system.

Implementing the undo/redo was a bit challenging. If a command spawns or despawns an entity, it needs to be tracked to update the history with the correct ID. Additionally, since the game is networked, I had to introduce the concept of pending history commands. These commands are only added to the history after server confirmation.

#bevy #projectharmonia #gamedev

Crow Translate 3.0.0 is out!

https://apps.kde.org/crowtranslate/

No, the app can't translate crow calls ๐Ÿ˜… But it can translate and speak human text!

KDE wanted a translation app for their Apps Initiative, and @carlschwan asked if I wanted to incubate my app. As a big KDE fan, I couldn't refuse ๐Ÿ˜

The app is part of Extragear. I plan to submit it to KDE Gear after Qt6 migration.

I created the app 6 years ago and still maintain it. Although I mainly focused on a FOSS life simulation game now.

@kde

#kde

Crow Translate

Application that allows you to translate and speak text using Mozhi

KDE Applications

๐Ÿงฌ Bevy Replicon 0.28.1 is out!

It's a networking crate for the Bevy game engine that we use for #projectharmonia.

Some highlights:
* Added the ability to defer replication, which is useful for exchanging messages or downloading assets required by the server before replication starts.
* Now client event buffering can be disabled per event.
* Fixed entity mapping when a client event is buffering.

๐Ÿ“œ https://github.com/projectharmonia/bevy_replicon/blob/master/CHANGELOG.md
๐Ÿ“ฆhttps://crates.io/crates/bevy_replicon

#bevy

bevy_replicon/CHANGELOG.md at master ยท projectharmonia/bevy_replicon

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

GitHub

Got sick last week, finally back to the game.
Working on undo/redo system.
Also continue replacing the old models. The old bench is on the left, and the new one is on the right.

#projectharmonia #bevy #gamedev

Added initial support for roads, reusing some logic from the walls implementation.

Currently, I'm using segments for road creation, but I plan to add Bezier curves to allow for curved walls and roads. Maybe I should use Bezier curves even for straight lines ๐Ÿค”

I also need to use a texture without road markings for connection islands and implement rounding for turns.

But wanted to share the current progress :)

#bevy #projectharmonia #gamedev

Our game stylistic changed during the development and @YaraGardaria has decided to redo some old models :)

Old is on the left, new is on the right.

#projectharmonia #gamedev