katharostech / bevy_retrograde

Plugin pack for making 2D games with Bevy
Other
296 stars 9 forks source link

Support Bevy v0.7 #66

Closed Hurricane996 closed 2 years ago

Hurricane996 commented 2 years ago

Bevy has been updated to version 0.6.0 but this package doesn't support it

zicklag commented 2 years ago

Hi @Hurricane996 this is definitely something we plan on doing.

Our latest, unmerged branch is actually built on a somewhat older version of the renderer now working on Bevy 0.6.

I'm not 100% sure when I'll have the time to come and finish the migration, but it's definitely on the roadmap and will be a part of finishing off #41 before an 0.3 release of Bevy Retrograde.

rdelfin commented 2 years ago

Given there's now a Bevy 0.7, would skipping straight to that also be in the horizon?

zicklag commented 2 years ago

Yep, that would make the most sense.

The biggest obstacle was going to be re-implementing the UI renderer. Since we had our own custom renderer for the RAUI UI system, it was going to be a little bit of work, but now that I've gotten more acquainted with Egui I'm liking it more than RAUI I think and we might just use that.

If we use Egui, we have an advantage because there's already Bevy rendering plugins for Egui, so that might save us some work.

Then we just have to implement the 9-patch UI style GUI elements for Egui, which I haven't tried yet, but hopefully won't be a problem.

Not sure exactly when I'll find time to do the update, but I have been working on Egui more which will help me get more familiar with it and hopefully make it easier once I do find time to work on this.

zicklag commented 2 years ago

Progress update: I've migrated everything except for UI ( and text rendering, which is related ). This issue should be the last major thing to get working before merging the refactor: #69.

Interesting note: A lot of Bevy retrograde disappears after the migration. We just use existing bevy plugins for audio and map loading, we no longer have a custom renderer so sprites are just normal bevy, and we use Rapier for physics with only one tiny utility added by us for generating sprite collision shapes. Finally, all we're probably going to add for UI is 9-patch style rendering and a pixel font loader to the existing Egui plugin.

So Bevy Retrograde turns more into a small library that glues together other existing libraries and provides small utilities. You almost don't need it! It just gives a little bit of a helpful push. :smile:

Anyway, hopefully I'll get it updated soon.

zicklag commented 2 years ago

Just got it all updated in dev. A new release is coming out soon!