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

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

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

Here is before and after.

Played with rendering today. I found that Tonemapping::AcesFitted better fits the game aesthetic. With a little bit of bloom and an environment map, it looks much nicer.

My wife also made more placeable objects, and I finished refactoring into new features from Bevy 0.14. Substates are so convenient!

#bevy #projectharmonia #gamedev

Added placeable carousel made by @YaraGardaria.

I like how easy it is to integrate new objects when the logic for them is already written. All I need to do is add a metadata file in RON format and the object will be available in the game.

#projectharmonia #bevy

Added sandbox support 😅

While I am refactoring the code to new features from Bevy 0.14, my wife continues making models.

I think Bevy can look attractive. However, I am still not fully satisfied with my lighting configuration and will come back to it later.

#projectharmonia #bevy #gamedev