I'm in my final year of a game programming degree, but I still feel like I don't really know how to build things on my own. I often feel overwhelmed and have to look up concepts or solutions repeatedly. Is that a normal part of learning, or should I be much further along by now? I'm planning to make a personal project over the summer, but while the semester is running I'd rather focus on school and protect my mental health. To clarify, the mental-health concern is mainly about college itself, not programming.
4 Answers
The biggest difference is between studying programming and actually building things. Start with projects that are almost embarrassingly small—single mechanics, tiny prototypes, or simple games you could finish in a few days. You’ll probably struggle at first, but completing several small projects teaches you far more than planning one huge game and never finishing it.
Classes can teach the basic vocabulary and techniques, but they usually don’t provide enough repetition to make you confident. It’s like learning letters and words, then expecting to immediately write a novel. You need extra practice combining those basics into complete programs, ideally by setting a small goal and figuring out the structure yourself before searching for specific solutions.
Looking things up is completely normal, even for experienced developers. The important question is whether you’re gradually learning from what you find instead of repeatedly searching for the exact same beginner concepts. Programming involves constant research, so needing references doesn’t mean you’re failing.
You’re not cooked, but you may need more hands-on practice. For your summer project, choose one mechanic and build a small vertical slice rather than attempting your dream game. Keep notes about solutions you look up and the mistakes you make. If the idea still feels too large to finish, shrink it until you can realistically complete it—several finished mini-projects will teach you more and make a stronger portfolio than one unfinished ambitious game.

A useful goal is to make each project a complete playable build. Keep the scope small enough to design, prototype, polish, and release within a short time, then write down what went well and what you’d change. You can reuse pieces later, but finishing each iteration helps prevent feature creep.