rust-gamedev / rust-game-ports

Official host of games ported using Rust game libraries.
Other
122 stars 7 forks source link

Apply correct iyes loopless resource method to all of bevy port #118

Closed bayou-brogrammer closed 2 years ago

bayou-brogrammer commented 2 years ago

Using this issue to track the progress for backfilling the bevy tutorial with the iyes loopless resource fix. I can either do it all in one sweep or in pieces. Let me know which you prefer :)

64kramsystem commented 2 years ago

Hi there!

I've read your comments, and given the upcoming flushing design, backfilling the changes now, would require backfilling again, so I've realized this may be a waste of resources :thinking:

Additionally, this project is now slightly changing its target - now that it's an official Rust GameDev WG project, aimed to produce full ports, there is little reason to keep the Rusty Roguelite port in this form (progressive step by step), since that was related to the mini-book.

In short: my idea is to remove from the steps structure from this project, into a project of mine, and keep only the last one. Then, when the new flushing APIs are released (with the new Bevy version), there's only one unit to fix (the last and only one :smile:).

Depending on your interests, there may be some tasks that could be interesting for a new contributor, although I can't think of any Bevy one now - given how Bevy is used, there's little, unless you wanted to produce a full port, but this is on the works by the Hands-on Ruby author.

One pending task is for example to add game devices input support to soccer-fyrox :smile:

EDIT: and obviously, adding an entirely new port :smile:

bayou-brogrammer commented 2 years ago

Cool. I am also working on porting his 2019 rougelike tutorial from specs to Bevy. Do you want to add that to your repo or here? I can help however I can. Once the RFC drops, there will be quite a bit to update so I am in favor of removing the book from this repo, leaving the final product, and moving it to your repository where the book can still live and we can make changes? What do you think?

64kramsystem commented 2 years ago

So!

I am in favor of removing the book from this repo, leaving the final product, and moving it to your repository where the book can still live and we can make changes? What do you think?

Excellent :smile: I'm going to do that as soon as I've finished this comment :smile:

Cool. I am also working on porting his 2019 rougelike tutorial from specs to Bevy. Do you want to add that to your repo or here?

Wow! I've just had a look at the project, expecting it to be the minor brother of the Rusty Roguelike (that is, the one produced in the book), and instead, it's a considerably extended version :exploding_head:

Definitely welcome in this repo (https://github.com/rust-gamedev/rust-game-ports). For the purpose of the "Rust Game Ports", my personal account/projects (anything under the account 64kramsystem) will be irrelevant.

Since this will (hopefully) be a reference for Rust gamedev, some standard are required, but I'm not fussy.

The minimum requirements I have in mind for this project are:

  1. source code must be formatted according to cargo fmt
  2. correctness clippy lints must be applied (other lints are not important)
  3. Bevy project must be divided in stages

Point 3 is especially important, as 1-frame-bug is (IMO) the number 1 problem when using Bevy.

One way of applying point 2 is by adding:

#![allow(clippy::all)]
#![deny(clippy::correctness)]

on top of the project entry file. But there are different approaches.

I can provide you with templates for Github actions etc., if you like.

Regarding the contribution workflow, I think the best is that you develop independently, and then, at the end, open a PR. In the meanwhile, you can ping me once in a while, and I can have a look, if you want.

I think it'd be nice (and motivational :smile:) if your project is announced on the Rust Gamedev (I'll announce the Rust Game Ports separately, or Erlend, not sure :smile:).

Have fun :smile:

64kramsystem commented 2 years ago

I'm going to close this issue. I'm going to update, at some point, the README, and/or open and issue, so that the 2019 roguelike Bevy port is officially assigned to you :smile: