<i>"Video games require massive amounts of mathematics to run flawlessly and to look good. 3D graphics programming requires a very strong understanding of Linear Algebra and a pretty exhaustive knowledge of Geometry and Trigonometry, ..."</i><p>This is simply not true. As an intern, I didn't need to understand hardly any math. From there, I learned what I needed as I went. I have a fairly deep understanding now (four years later), but you definitely don't "need math" in order to get started programming games, or even to get a job working on games.<p><i>"This, to me, sounds like a big undertaking, but I think that it is a good goal and hopefully 5 months will be enough to achieve it."</i><p>I wouldn't trust anyone who had only spent 5 months learning and applying C++ to work on any game I was a part of. My reputation would be on the line due to their mistakes. 5 months just isn't nearly enough time, even if you spent every day learning and working.<p>I spent almost every day of every year of my highschool time (Freshman, Sophomore, and Junior year) sleeping through class, then going home and learning how to make games in C++. Only then was I finally able to land an internship and get the heck out of school. And I was still a really bad programmer, even after "three years". It takes time to get good, and there are no shortcuts for experience.<p>Your demos are critical. Make as many of them as you can, as quickly as you can, and be sure they work with few flaws.<p>Don't really worry about code quality quite yet. It's exceedingly rare for anyone to actually look at the code you write before hiring/interning you. They will expect you to write code to their coding standards anyway --- they need to know whether you can <i>accomplish</i> things, not whether you can write pretty code.<p>Most importantly, keep it fun. Don't worry about "choosing to make this your path in life, no matter what". If you approach this like your life is over if you don't get an internship, then you'll fail. Conversely, you're much more likely to succeed if you try to learn the things you find fun. It was fun for me to put together physics demos, and so I learned PhysX. It was fun to get a character walking around, so I learned D3D9 Skinning. Etc. Have fun as much as possible. Lastly, it was important that I didn't delude myself into thinking I was more skilled than I actually was.