-
๐ฎ Bevy Enhanced Input 0.2.0 is out!
Video
Click to view this content.
It's a crate for dynamic and contextual input mappings for Bevy, inspired by Unreal Engine Enhanced Input.
While porting my game, I made many improvements. Actually using the crate gave me a better perspective ๐
Here's a quick showcase from my game. Smooth movement now automatically done by built-in LerpDelta modifier.
Also notice how pressing Esc cancels object spawning first due to the context priority.
Pressed keys displayed via screenkey app.
๐Full changelog ๐ฆbevy_enhanced_input
-
๐ฎ Bevy Enhanced Input 0.1.0 is out!
github.com GitHub - projectharmonia/bevy_enhanced_input: Dynamic and contextual input mappings for BevyDynamic and contextual input mappings for Bevy. Contribute to projectharmonia/bevy_enhanced_input development by creating an account on GitHub.
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.
Despite being the first release, it's packed with features:
- Map inputs from various sources (keyboard, gamepad, etc.) to gameplay actions like
Jump
,Move
, orAttack
. - Assign actions to different contexts like
OnFoot
orInCar
, which are regular components. - Activate or deactivate contexts by simply adding or removing components.
- Control how actions accumulate input from sources and consume it.
- Layer multiple contexts on a single entity, controlled by priority.
- Apply modifiers to inputs, such as dead zones, inversion, scaling, etc., or create custom modifiers by implementing a trait.
- Assign conditions for how and when an action is triggered, like "hold", "tap", "chord", etc. You can also create custom conditions, such as "on the ground".
- React on actions with observers.
I've implemented everything from UE and even added some extras. The crate also has ~90% test coverage.
- Map inputs from various sources (keyboard, gamepad, etc.) to gameplay actions like
- bevyengine.org Bevy Foundation is now a 501(c)(3) Public Charity
Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!
-
Migrated navigation from oxidized_navigation to vleue_navigator
Video
Click to view this content.
I'm working on a life simulation game with the working title Project Harmonia and would like to share my progress.
I 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 the author 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.
-
Continue to improve city building tools
Video
Click to view this content.
I working on a life simulation game with a working title Project Harmonia.
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.
- bevyengine.org I landed my dream job making a Rust game engine. Now what?
Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!
-
๐งฌ Bevy Replicon 0.28.1 is out!
github.com Release Bevy Replicon 0.28.1 ยท projectharmonia/bevy_repliconFixed Client event buffering.
Itโs a crate for server-authoritative networking. We use it for Project Harmonia, but it's general-purpose.
Some highlights:
- Added the ability to defer replication, which is useful for exchanging messages or downloading assets required by the server before replication starts.
- If there is any spawning, despawning, removal, or insertion, client events wait for replication. However, with this release, it can be disabled per event.
- Fixed entity mapping when a client event is buffering.
๐Full changelog ๐ฆbevy_replicon
- bevyengine.org Bevy's Fourth Birthday
Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!
-
Initial roads support
Video
Click to view this content.
I working on a life simulation game with a working title Project Harmonia.
Added initial editor 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 :)
-
Played with Bevy rendering
I'm working on a life simulator game and want to share some progress :)
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!
-
OpenGL 1.5 support?
I know the title looks insane, but hear me out.
I wanted to make a game, specifically an isometric 2.5D RPG game, nothing that fancy.
So I decided to write it in Rust because I... like Enums, or something, and I had already finished the concurrency chapter, so I should be able to hang on.
Bevy seemed like the most complete engine out there, if overkill for my use case, but it's presumably so modular I could de-bloat it adequately, But...
Someone I know has a laptop; it is old.
It is not super old, a Toshiba Portege R700 with a locked BIOS which took me 3 days to trick its Windows 10 boot loader into booting Debian, and accidentally, yet irresponsibly, broke Windows and installed Grub.
There is no reason the thing shouldn't be able to run my hypothetical game. I've personally seen it LANning Sven Co-Op (Half-Life Co-Op) not long ago; the beast could maintain 60FPS for a solid few minutes, before overheating and dropping to 5, but it should hold on better now that I installed GNU/Linux.
So I, just to make sure, ran the command that exposes the OpenGL version used by Mesa, and... Open GL (ES?) 1.5? I surely, need a plan.
I noticed this issue with many indies. Many would-run-on-a-2005-thinkpad games sacrifice this untapped market for features they never use, or worse, go against the artistic vision.
So, since Bevy is modular, can I, a humble would-be-intern, write a rendering backend for the 2003 specification, but not before learning what a rendering backend is?
Or can I, a seasoned searcher, find a premade solution solution for Bevy or any other Rust engine, made to use the 2003 spec, or even the 1992 1.0 spec?
Or would it be worthwhile, to construct an engine of mine?
Edit: Or can I, a man of determination, write an FFI for an existing C solution?
- bevyengine.org Bevy 0.14
Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!
-
๐งฌ Bevy Replicon 0.27.0 is out!
github.com Release Bevy Replicon 0.27.0 ยท projectharmonia/bevy_repliconChanged Update to Bevy 0.14.0-rc.4. Move bevy_replicon_renet to a dedicated repository. ServerEventsPlugin and ClientEventsPlugin can be disabled on client-only and server-only apps respectively. ...
Itโs a crate for server-authoritative networking.
This release adds support for Bevy 0.14.0 and includes features from the previous RC. I like Bevy's new release candidate process a lot!
But it will take some time for the messaging backends to update. The bevy_replicion_renet that I maintain needs the renet crate to be updated to Bevy 0.14 first.
๐Full changelog ๐ฆbevy_replicon
-
๐งฌ 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
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, exceptdiagnostics
are enabled, so you have the same set of plugins as before. But most plugin authors will need to adddefault-features = false
.๐Full changelog ๐ฆbevy_replicon
-
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.