I started learning Python five days ago from scratch. I'm currently unemployed and mostly housebound because of depression, and even getting through the day can take a lot of energy. Becoming a game programmer has been a long-time dream, but ADHD made studying difficult and people around me often told me it was unrealistic. After losing my job, I decided to finally pursue it.
How can I maintain momentum without relying on motivation or exhausting myself? Should I focus on anything besides programming, and what learning path would make sense if my long-term goal is game development? I'd especially appreciate advice from people who have dealt with similar challenges.
4 Answers
The depression and ADHD deserve attention independently of your programming goals. If concentrating and handling daily life are difficult, consider speaking with a qualified doctor or therapist about treatment options. Professional support, including medication when appropriate, can make learning and ordinary routines more manageable.
You do not need to wait until everything is fixed before learning, but it is also unfair to compare your pace with someone who has unlimited energy. Take care of your health while keeping your programming goals modest and flexible.
Small, useful projects helped me stay interested while learning Python. Instead of studying for hours, I made things like file-renaming tools, CSV utilities, and simple automation scripts, then learned whatever was necessary when I got stuck. Having a visible result made it easier to return the next day.
Even 20 or 30 minutes counts. A short break does not erase what you learned, so try to resume without punishing yourself for stopping.
After only five days, you don’t need to decide whether you’ll become a professional game developer. Focus on building a sustainable routine. Make the minimum goal small enough for difficult days—maybe 10 minutes or one exercise. On an average day, aim for 20–60 minutes, and do more only when you genuinely have the energy. If you miss a few days, simply restart instead of treating it as failure.
Break larger tasks into tiny steps, use timers and reminders, and keep your plan somewhere visible instead of relying on memory. Learn the fundamentals—variables, conditionals, loops, functions, collections, basic objects, files, exceptions, and debugging—but start making small projects as soon as possible. A text adventure, number-guessing game, inventory system, or simple arcade project will teach you more than endlessly watching tutorials.
A reasonable progression could be Python fundamentals, small Python projects, then C# and a game engine such as Unity if that interests you. Later, add version control, object-oriented programming, basic game math, debugging, documentation, game design, and portfolio projects. You do not need to learn all of those at once.
Use AI as a tutor rather than a replacement for thinking: try first, ask for hints or explanations when stuck, and make sure you can explain the code you use. Most importantly, finish small projects. Completed work gives you practical experience and proof of progress.
The reminder about finishing projects is especially useful. A tiny completed game can teach more than another long tutorial because you have to deal with bugs, structure, and actually getting something working.
Once you understand the basics, learn by building. Choose projects that are small enough to finish in a few days or weeks, then gradually increase their size. For game development, you can eventually learn an engine, C# or another relevant language, source control, basic vectors and coordinates, debugging, and game design. The important part is to add those skills as your projects require them, not to study everything up front.

That makes sense. I’ve been treating this as a motivation problem, but getting proper support should probably be part of the plan instead of something I postpone.