ValorZard / Quad-Fighter-2

Open Source Rust Fighting Game with Rollback
Apache License 2.0
6 stars 0 forks source link

Switch from Macroquad to other render #6

Open ValorZard opened 3 years ago

ValorZard commented 3 years ago

I definetly feel that if this does turn into a custom engine, it would be best to switch from macroquad to wgpu itself for rendering. While I quite like macroquad, I think that the stuff that's happening in wgpu is super interesting.

However, if we can get GGRS to work with Bevy, I might just switch engines to that instead. This probably depends on if @gschup would be interested in writing bindings for that.

Benfits for going to wgpu itself is that we have more control over doing rendering, but that also means we would have to do a lot of that stuff ourselves, which could be a pain. Switching to Bevy means that we can just piggyback over the great rendering work that is happening for the 0.6 release and "autosupports" 3D as well.

gschup commented 3 years ago

While I think bevy is very interesting, I am currently not aiming to write an example on how to include GGRS into bevy. Due to the similar structure, those would probably look similar to the bevy-backroll plugin.

Making specific systems run when you want and how you want is a bit tricky in bevy currently. I dislike the (apparently only) solution that is used in bevy-backroll (A stage with a separate schedule with an additional internal stage where you then finally add the systems required to run the game), but I don't think there is a simpler, more elegant way currently.

ValorZard commented 3 years ago

In that case, I will be seriously consider switching to wgpu. However, I'll see if I can port macro quad to it somehow.