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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Game Engine Development #2482

Merged
merged 3 commits into from
Jun 22, 2023
Merged

Add Game Engine Development #2482

merged 3 commits into from
Jun 22, 2023

Conversation

stevinz
Copy link
Contributor

@stevinz stevinz commented Jan 10, 2023

https://github.com/stevinz/awesome-game-engine-dev

Resources geared toward development of high-level, fully featured game engines. For curious minds or those interested in game engine development.

By submitting this pull request I confirm I've read and complied with the below requirements 🖖

Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

Requirements for your pull request

  • Don't waste my time. Do a good job, adhere to all the guidelines, and be responsive.
  • You have to review at least 2 other open pull requests.
    Try to prioritize unreviewed PRs, but you can also add more comments to reviewed PRs. Go through the below list when reviewing. This requirement is meant to help make the Awesome project self-sustaining. Comment here which PRs you reviewed. You're expected to put a good effort into this and to be thorough. Look at previous PR reviews for inspiration. Just commenting “looks good” or simply marking the pull request as approved does not count! You have to actually point out mistakes or improvement suggestions.
  • Comment on 2481
  • Comment on 2478
  • You have read and understood the instructions for creating a list.
  • This pull request has a title in the format Add Name of List.
    • Add Swift
    • Add Software Architecture
    • Update readme.md
    • Add Awesome Swift
    • Add swift
    • add Swift
    • Adding Swift
    • Added Swift
  • Your entry here should include a short description about the project/theme of the list. It should not describe the list itself. The first character should be uppercase and the description should end in a dot. It should be an objective description and not a tagline or marketing blurb.
    • - [iOS](…) - Mobile operating system for Apple phones and tablets.
    • - [Framer](…) - Prototyping interactive UI designs.
    • - [iOS](…) - Resources and tools for iOS development.
    • - [Framer](…)
    • - [Framer](…) - prototyping interactive UI designs
  • Your entry should be added at the bottom of the appropriate category.
  • The title of your entry should be title-cased and the URL to your list should end in #readme.
    • Example: - [Software Architecture](https://github.com/simskij/awesome-software-architecture#readme) - The discipline of designing and building software.
  • The suggested Awesome list complies with the below requirements.

Requirements for your Awesome list

  • Has been around for at least 30 days.
    That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
  • Don't open a Draft / WIP pull request while you work on the guidelines. A pull request should be 100% ready and should adhere to all the guidelines when you open it. Instead use #2242 for incubation visibility.
  • Run awesome-lint on your list and fix the reported issues. If there are false-positives or things that cannot/shouldn't be fixed, please report it.
  • The default branch should be named main, not master.
  • Includes a succinct description of the project/theme at the top of the readme. (Example)
    • Mobile operating system for Apple phones and tablets.
    • Prototyping interactive UI designs.
    • Resources and tools for iOS development.
    • Awesome Framer packages and tools.
  • It's the result of hard work and the best I could possibly produce.
    If you have not put in considerable effort into your list, your pull request will be immediately closed.
  • The repo name of your list should be in lowercase slug format: awesome-name-of-list.
    • awesome-swift
    • awesome-web-typography
    • awesome-Swift
    • AwesomeWebTypography
  • The heading title of your list should be in title case format: # Awesome Name of List.
    • # Awesome Swift
    • # Awesome Web Typography
    • # awesome-swift
    • # AwesomeSwift
  • Non-generated Markdown file in a GitHub repo.
  • The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
  • Not a duplicate. Please search for existing submissions.
  • Only has awesome items. Awesome lists are curations of the best, not everything.
  • Does not contain items that are unmaintained, has archived repo, deprecated, or missing docs. If you really need to include such items, they should be in a separate Markdown file.
  • Includes a project logo/illustration whenever possible.
    • Either centered, fullwidth, or placed at the top-right of the readme. (Example)
    • The image should link to the project website or any relevant website.
    • The image should be high-DPI. Set it to maximum half the width of the original image.
  • Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
  • Includes the Awesome badge.
    • Should be placed on the right side of the readme heading.
      • Can be placed centered if the list has a centered graphics header.
    • Should link back to this list.
  • Has a Table of Contents section.
    • Should be named Contents, not Table of Contents.
    • Should be the first section in the list.
    • Should only have one level of nested lists, preferably none.
    • Must not feature Contributing or Footnotes sections.
  • Has an appropriate license.
    • We strongly recommend the CC0 license, but any Creative Commons license will work.
      • Tip: You can quickly add it to your repo by going to this URL: https://github.com/<user>/<repo>/community/license/new?branch=main&template=cc0-1.0 (replace <user> and <repo> accordingly).
    • A code license like MIT, BSD, Apache, GPL, etc, is not acceptable. Neither are WTFPL and Unlicense.
    • Place a file named license or LICENSE in the repo root with the license text.
    • Do not add the license name, text, or a Licence section to the readme. GitHub already shows the license name and link to the full text at the top of the repo.
    • To verify that you've read all the guidelines, please comment on your pull request with just the word unicorn.
  • Has contribution guidelines.
    • The file should be named contributing.md. Casing is up to you.
    • It can optionally be linked from the readme in a dedicated section titled Contributing, positioned at the top or bottom of the main content.
    • The section should not appear in the Table of Contents.
  • All non-important but necessary content (like extra copyright notices, hyperlinks to sources, pointers to expansive content, etc) should be grouped in a Footnotes section at the bottom of the readme. The section should not be present in the Table of Contents.
  • Has consistent formatting and proper spelling/grammar.
    • The link and description are separated by a dash.
      Example: - [AVA](…) - JavaScript test runner.
    • The description starts with an uppercase character and ends with a period.
    • Consistent and correct naming. For example, Node.js, not NodeJS or node.js.
  • Doesn't use hard-wrapping.
  • Doesn't include a Travis badge.
    You can still use Travis for list linting, but the badge has no value in the readme.
  • Doesn't include an Inspired by awesome-foo or Inspired by the Awesome project kinda link at the top of the readme. The Awesome badge is enough.

Go to the top and read it again.

@stevinz
Copy link
Contributor Author

stevinz commented Jan 10, 2023

unicorn

Copy link

@LeoDog896 LeoDog896 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really love the banner for your repository! Only things:

  • Your CI is failing.
  • Make sure your CI is integrated with awesome-lint.

@stevinz
Copy link
Contributor Author

stevinz commented Jan 10, 2023

@LeoDog896 Thanks for the complement!

I have added awesome-lint to the repo's GitHub actions.

The CI is also running markdown-link-check, which occasionally throws errors on good links. I keep an eye on links it complains about, and generally update the list weekly. However, I know failing CI isn't a good look, so I have moved a few troublesome links to an archive file, ARCHIVE.md.

Thanks for your feedback.

@AkaraDeshmukh03
Copy link

I really love the banner for your repository! Only things:

  • Your CI is failing.

  • Make sure your CI is integrated with awesome-lint.

Comment testing.

@vhladiienko
Copy link
Contributor

vhladiienko commented Jan 19, 2023

Your entry here should include a short description about the project/theme of the list. It should not describe the list itself.

Hi @stevinz, I think you need to rephrase the topic description a bit. I was going to suggest a few options, however after looking at the list, I do struggle a bit - your indeed awesome list has quite many items on different game development topics, rather than being focused on game engine development.

What I would also suggest is adding "back to top" links to every section of the list to help navigating between individual sections and contents. See here, for example.

@stevinz
Copy link
Contributor Author

stevinz commented Jan 20, 2023

@vhladiienko Thanks for taking time to look over my list and comment. Respectfully, I disagree with your opinion. While the list does indeed have many resources related to game development, the list is heavily focused on game engine development. These two topics have a large area of overlap. There are extensive engine related links, among them dozens of open source game engines, libraries related to GUI development, visual scripting, serialization, special effects shaders, cross platform compiling and more.

The list is rather long, maybe longer than @sindresorhus would prefer. However, I built this list over the past decade and have personally utilized every resource on this list in one way or another while working on several different game engines.

The "back to top" is a good idea, but goes against the linter by violating the "double link" rule. Also I feel that it clutters the look of the list. Originally I had another layer of indentation, which I preferred, but that violates the linter as well...

@vhladiienko
Copy link
Contributor

@stevinz fully agree and support the effort, I might just use your list myself! I suppose, we might pass on the theme description guideline this time.

Guess that self-hosted list got into the awesome list before the linter has been developed, then. Sorry to mislead you on this one! Great job!

@Karneades
Copy link
Contributor

Karneades commented Jan 24, 2023

Hi @stevinz

Wow, a really long list of resources! That's impressive.

A few comments

  • Rewrite the description to not describe the list itself but the project/theme at the top of the readme. Therefore, rewrite "Specifically, this list is geared..." and "This list currently ..."
  • All non-important but necessary content (like extra copyright notices, hyperlinks to sources, pointers to expansive content, etc) should be grouped in a Footnotes section at the bottom of the readme. The section should not be present in the Table of Contents. => for me that point matches the "licsense legend".
  • The table of content and the whole list is so long, I suggest to reduce the nested lists where possible. E.g. don't use the section name (e.g. Dart) and another bullet point to just describe something again (Dart: - General -). It would make the list shorter and easier to use for me.

@stevinz
Copy link
Contributor Author

stevinz commented Feb 2, 2023

@Karneades

Thanks for taking the time to look over my list. I have made some changes taking into account the points you and others have brought up, including:

  • Revised the description at the top of the list to be more concise and definitive.
  • Moved the "License Legend" to the bottom of the list.
  • Reduced / collapsed some redundant sections. Includes moving the "General" and "Awesome Collections" links directly under the section headers.
  • Removed the non-standard octocat (:octocat:) emoji. An item's primary link now points to it's GitHub repository by default (when available). Any additional resources are appended to the item's description. i.e. [Docs | Website, etc.]

@LeoDog896 LeoDog896 mentioned this pull request Feb 27, 2023
@MartinZikmund
Copy link
Contributor

I like the list, very extensive one!

  • In the description you use "This would include" in the second paragraph. I would rephrase this as "This includes"
  • In the Contributing section you start with non-capitalized "see", I would use "See" to be in line with all other content.
  • In some cases, the description of the list items starts with parentheses - I think that violates the requirement that description should start with capital letter.

@stevinz
Copy link
Contributor Author

stevinz commented Mar 10, 2023

@MartinZikmund

Thank you for the review. Those are nice, detailed observations. I have made changes along the lines of your suggestions.

  • Replaced "This would include"
  • Capitalized "See" in Contributing
  • Removed parentheses from the start of descriptions

Copy link
Contributor

@tomtau tomtau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A nice list, but some of it is overlapping with Learn Gamedev a bit?

@MartinZikmund MartinZikmund mentioned this pull request May 13, 2023
33 tasks
readme.md Outdated Show resolved Hide resolved
stevinz and others added 2 commits June 21, 2023 10:55
Co-authored-by: Sindre Sorhus <sindresorhus@gmail.com>
@sindresorhus sindresorhus merged commit 050d069 into sindresorhus:main Jun 22, 2023
1 check passed
@sindresorhus
Copy link
Owner

Tweet: https://twitter.com/awesome__re/status/1671837998105739266

Copy link

@maanu1234 maanu1234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@Davison33
Copy link

Davison33 commented Oct 21, 2023 via email

Copy link

@maanu1234 maanu1234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.