<img src= "https://raw.githubusercontent.com/wiredCatBruceCrane/2D_Minecraft_Clone/master/2DMinecraft_screenshot2.bmp" /img>
An older project of mine where, during the summer before sophomore year, I developed my own 2D minecraft using C++ and directX.
Modding minecraft had been where I first got into learning java, and though I've gravitated away from video game programming, for a while I was very focused and teaching myself everything I could about linear algebra, the available graphical techniques, lighting algorithms, physics, etc... reading books and books on the stuff.
This project helped me learn a lot about problem solving techniques when working with a massive API like DirectX. I'd also never really undertaken any project much bigger than this one before, so it really pushed me to be able to keep track and organize every independent piece of the code. I devised my own rules and systems for organization (though a lot of it was inspired from minecrafts own source code), and learned how important creativity was in this kind of work.
<img src= "https://raw.githubusercontent.com/wiredCatBruceCrane/2D_Minecraft_Clone/master/2DMinecraft_screenshot3.bmp" /img>
I think that the skill of being able to organize complex systems to create a desired output is the most important skill one can learn in coding. It translates to effectively any job that requires creativity while still forcing your mind to think within an arbitrary structure.