Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

馃摑 Documentation: Add (more) FAQs #323

Open
2 tasks done
JoshuaKGoldberg opened this issue Aug 22, 2022 · 0 comments
Open
2 tasks done

馃摑 Documentation: Add (more) FAQs #323

JoshuaKGoldberg opened this issue Aug 22, 2022 · 0 comments
Assignees
Labels
area: documentation Improvements or additions to documentation status: accepting prs Go ahead and send a pull request to resolve this issue!

Comments

@JoshuaKGoldberg
Copy link
Member

JoshuaKGoldberg commented Aug 22, 2022

Documentation Report Checklist

Overview

There are a lot of design decisions in EightBittr that make much more sense in the context of 8bit retro games than in more general game engines (or, at least that I thought did when I set them up many many years ago). For example:

  • Why sections are set up the way they are with BabyIoc
    • Including: how core game property create* factories become game.* objects become your class in the game
  • Groups decoupled from actors: so actors can switch between groups
  • Sprite graphics decoupled from actors: so multiple actors can refer to the same sprite
  • Sprite graphics in the run-length encoding (RLE) format: because at the tiny size most sprites are at, it's more efficient than gif/webp/etc.
  • Very few game module & sections are built-in: for optimal load performance (smallest bundle size) in even small projects, at the slight developer experience cost during project setup time
  • Generics forwarding: because TypeScript tells us to
  • Mocha for tests instead of Jest/Ava/Vitest: to run in browser
  • Why many modules have their own Actor: to make it composable across them
  • What's in the core game vs. wrapping UI

Also generally confusing things:

  • In the items storage tutorial, include a link to localStorage docs and briefly mention ItemsHoldr as a wrapper around it
  • In the Scoring.ts part of the tutorial explain TimeHandlr's return true & return false
  • When to use Actor from EightBittr vs. a separate module vs. a game's own Actor
  • Where groupHolder.groups.MyGroupName's MyGroupName comes from
  • That UserWrappr's UserWrappr-Delayed bundle needs to be built with yarn dist to be used locally

Also important coming-up-eventually work:

Additional Info

Got another FAQ? I'd love to hear it!

@JoshuaKGoldberg JoshuaKGoldberg added status: accepting prs Go ahead and send a pull request to resolve this issue! area: documentation Improvements or additions to documentation labels Aug 22, 2022
@JoshuaKGoldberg JoshuaKGoldberg self-assigned this Aug 22, 2022
@JoshuaKGoldberg JoshuaKGoldberg changed the title 馃摑 Documentation: Add FAQs 馃摑 Documentation: Add (mor) FAQs Aug 26, 2022
@JoshuaKGoldberg JoshuaKGoldberg changed the title 馃摑 Documentation: Add (mor) FAQs 馃摑 Documentation: Add (more) FAQs Aug 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: documentation Improvements or additions to documentation status: accepting prs Go ahead and send a pull request to resolve this issue!
Projects
None yet
Development

No branches or pull requests

1 participant