Skip to content

Book critique notes #2161

@viridia

Description

@viridia

Reading through the whole text of The Book, and noting things as I go:

General:

  • Missing sections for Graphics, Audio, User Interface, etc.
    • Status: out of scope

In intro/what-is-bevy/:

  • "Bevy is a modern, ECS-first game engine written in Rust". This comes before the explanation of what ECS is. How about we just drop that bit and say "Bevy is a modern game engine written in Rust"

In intro/the-three-letters/:

  • The "database metaphor" is mentioned in several chapters, including this intro/the-three-letters/, storing-data/entities-components/ and storing-data/world/. But there are problems:
    • Each chapter talks about the concept as if it were being introduced for the first time, despite the fact that we've already talked about it in previous chapters.
    • There's a lot of redundancy and repetition in the different explanations.
    • The explanation in storing-data/entities-components/ is the clearest of the three, however the one in storing-data/world/ introduces the concept of archetypes.
    • We should trim down these sections to include only the new ideas and not re-explain the concept every time; we can refer to the database metaphor via link to previous sections.
    • There are also a couple of other places where the database metaphor is referenced, but are clearly written in a way that implies that the concept has already been introduced in previous sections. These are OK but should have links.
  • Status: TODO

In intro/the-three-letters/

  • Consider adding a final section, "Why ECS?". This can talk about the benefits of performance, and reuse via composability. We should probably also note that the maximum benefit of ECS can only be achieved by adopting an ECS mindset.
  • Status: Add a short section on "why ECS" to the book intro #2166

In storing-data/local-system-param/

In control-flow/systems/

  • Lots of bad links
  • Needs more examples, but fewer inline examples
  • Status: TODO

In control-flow/run-conditions/

  • Needs lots more examples
  • Status: TODO

In control-flow/commands/

  • Examples please
    • Status: TODO

In the-game-loop/app/

In architecture/

In architecture/states/

In best-practices/

  • This section isn't really so much about best practices (how to achieve engineering quality), it's about developer happiness. Maybe rename to "Productive Development" or "Development Tips"?
  • Status: Rename and split best practices chapter #2163

@alice-i-cecile
@theotherphil

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions