I like looking at much better code bases than my own when I am considering making something. It's weird, but it really motivates me.<p>Here are a handful of ones that I really like (all related to gaming):<p>DOOM:<p><a href="http://fabiensanglard.net/doom3/index.php" rel="nofollow">http://fabiensanglard.net/doom3/index.php</a> - A great overview of it, mentioning the third game and its variants. Their whole github is pretty great.
Just worth noting that many people consider Carmack's code to be some of the best in the industry. Really worth a read.<p><a href="https://github.com/fabiensanglard/Doom3-for-MacOSX-" rel="nofollow">https://github.com/fabiensanglard/Doom3-for-MacOSX-</a><p><a href="https://github.com/id-Software/DOOM" rel="nofollow">https://github.com/id-Software/DOOM</a><p><a href="https://github.com/id-Software/DOOM-3" rel="nofollow">https://github.com/id-Software/DOOM-3</a><p>Monogame:<p>The Open Source implementation of Microsoft's XNA game dev framework. Really well loved C# code. And they keep it very clean.<p><a href="https://github.com/MonoGame/MonoGame" rel="nofollow">https://github.com/MonoGame/MonoGame</a><p>Battle for Wesnoth:<p>Famous and well loved open source 4x game<p><a href="https://github.com/wesnoth/wesnoth" rel="nofollow">https://github.com/wesnoth/wesnoth</a><p>Rogue-Likes:<p>There are a bunch of rogue-likes that are open source. It's
a lovely look at the evolution of the genre and old school limitations. The genre as a whole is very open source friendly.<p><a href="http://rephial.org/" rel="nofollow">http://rephial.org/</a> - Angband<p><a href="https://github.com/crawl/crawl" rel="nofollow">https://github.com/crawl/crawl</a> - Dungeon Crawl Stone Soup<p>Lastly, here is a list of open source games. I would argue a huge chunk are not that nice. But there are gems in here.
<a href="https://github.com/leereilly/games" rel="nofollow">https://github.com/leereilly/games</a>
Thanks for checking out my project. Here is some background information.<p>I contributed to a few open source projects over the years, but I only focused on solving the problem I had, either a bug I wanted to fix or a feature I wanted to add. Once my issue was resolved, I didn't really care much about the rest of the project. I found it was less of a learning opportunity.<p>That's why I created this project to really track down the codebases that you can read from start to finish and learn how they are designed and implemented. Currently it only lists a few codebases that I actually have read. They are mostly small-size projects. I'd like to hear advice on how to approach and learn from a large project.
I like this idea. I run a news letter[0] and we have a sections call `Code to read`. People love it.<p>That's being said, your repository probably end up on my next issue :).<p>---<p>[0] <a href="https://betterdev.link" rel="nofollow">https://betterdev.link</a>
I curated a similar list of codebases from HN comments here<p><a href="https://medium.com/@012parth/what-source-code-is-worth-studying-8755f88f8de5" rel="nofollow">https://medium.com/@012parth/what-source-code-is-worth-study...</a>
How do you go about reading codebases? I once fired up a debugger to go through ExpressJS and I learned some things from it. At the same time I wonder how I can do it efficiently.