Hi everyone. I'm Oak, and I did the coding for Death and Taxes, a game that released about a month ago. It was developed over the years by various people, but a final team of 10 people got the game out of the gate on 20th of February this year (2020, in case you have trouble remembering which year is it, like I do).
One of my wishes, when joining the team, was to eventually release the entire codebase of the game as open source. Which I'm doing today, and you can find it on github [[url=https://github.com/oakwarrior/DeathAndTaxes
By now you're probably thinking: why?
So... Why? Why indeed...
Ever since I started coding, I have absolutely loved open source stuff. I realize that releasing *only* the codebase is not exactly true in verbatim to the principles of FOSS stuff, but this is a deliberate decision. Making the code open source is fine by us, but making the art and other such assets is not. I won't go too much into detail to avoid opening a weird legal/ethical/whatever can of worms.
That being said - we're not afraid that people would copy the game or whatnot. The game has already been made, is shipped, has sold pretty well (26k copies at time of writing! Woop! THANK YOU <3)
and hell.. if you're inspired by it... go for it! Make games! MAKE ALL THE GAMES! And make them well. We need more good games that respect our players' time, capability and intelligence.
When I was learning how to "maek gaem", resources were few and far in-between. Most of my experience came from being able to learn from my coworkers and having a diligent presence online, assimilating knowledge where I could. Bear in mind that I've mostly done coding, and this is what I focused on at the time.
Resources which I sorely missed were concrete, specific and (most importantly) helpful examples of real-world applications of coding principles, workarounds, hacks, engine-specific behaviour, et cetera. The most helpful places were, for example, the Unity Answer Hub, Stack Overflow, the Unreal Developers' Network... they all, at best, offered a window to see how people actually implement stuff. I am a firm believer that it is usually more efficient to learn from the mistakes of others, rather than just people having to make the same mistakes over and over again due to lack of reliable information.
And this leads me to the (incredibly winding and convoluted, sorry) answer to why we're releasing the source code for our game. I want to provide something that people can learn from.
Including myself. The code for Death and Taxes is by NO MEANS clean or even "good" (depends on what your standard is). But the most important thing is that the code worked. The game shipped, and the game worked.
The code is far from perfect, the game is far from perfect, but I hope that it's an example that people can go through and have even just a little bit of an insight into what goes into making a game. Hopefully it helps.
Good luck, and have fun!