I'm trying to find a more motivating way to improve at programming. Many beginner exercises recommend making very small games such as Snake, Pac-Man, or Tic-Tac-Toe, but when I work on projects like those, I often feel as though I'm not learning much. I rely heavily on tutorials, procrastinate, and sometimes avoid the project because I'm worried I won't be able to finish it independently.
I'm wondering whether it would be better to choose a game idea that genuinely interests me and create a much smaller version of it. Tutorials about specific mechanics feel more useful to me than tutorials that walk through an entire project, since I can understand the idea and apply it elsewhere later.
For people who have improved at programming over time, what approach helped you stay motivated while still developing real problem-solving skills?
3 Answers
There’s nothing wrong with building something that motivates you. Familiar games like Snake or Tic-Tac-Toe are recommended because they’re small enough for beginners while still teaching useful concepts, but they aren’t mandatory.
The main risk with an original idea is making it too ambitious and getting overwhelmed. Try reducing it to extremely small milestones: one screen, one mechanic, one type of enemy, or one simple interaction. Finish that slice before adding anything else.
Tutorials are most useful when you use them to understand a specific problem rather than copying an entire project. Build as much as you can yourself, look up only the part you’re stuck on, then close the tutorial and recreate the idea from memory.
The reason tutorial clones can feel unproductive is that they often have a known solution, so you’re mostly following steps and recognizing patterns instead of deciding how to solve a problem. Pick a small project centered on a mechanic you’re genuinely curious about. Struggling with your own design forces you to think through the problem, which is where a lot of the learning happens.
You can also make the familiar exercises more challenging or personal instead of reproducing them exactly. For example, add an unusual rule, a different board size, or a mechanic you haven’t tried before. The important part is choosing a scope you can finish while leaving enough room for decisions that require actual problem-solving.

That gradual approach also makes it easier to learn from examples. Once you’re more comfortable, you can study projects that use the particular mechanics or design patterns you want and adapt those ideas to your own game.