I'm learning C# with the goal of making games, and I've been using AI to generate small practice tasks such as calculators and console-based quizzes. I write the code myself and only use it to check my reasoning or explain concepts I don't understand.
The problem is that my progress feels slow. I'm improving at syntax, but I still feel far away from creating an actual game. The exercises feel disconnected, and I'm unsure whether I should continue practicing general programming fundamentals or start using a game engine such as Unity or Godot and learn through building.
For people who learned C# for game development, how did you bridge the gap between console exercises and game mechanics? What kinds of projects helped you make progress, and how did you deal with feeling like you weren't producing anything meaningful yet?
4 Answers
A good compromise is to make your practice projects game-shaped. You can implement a simple loop with state, input, updating, and drawing even in a console program. For example, start with a one-room dungeon, then add inventory, enemies, and saving. Later, rebuild a much smaller version in an engine.
Keep learning computer science fundamentals, but connect them to code you’re actually writing. Also, avoid polishing too early. A rough game that has a menu, a restart button, a score, and one completed gameplay loop teaches more than a perfect-looking prototype that never gets finished.
If C# is your first programming language, the small exercises are useful because they build basic skills. Just make sure they follow a deliberate sequence instead of being random tasks. Learn one concept, use it in a focused exercise, and then apply it to a small game feature.
When you get stuck, try to identify whether the problem is general programming, C# syntax, or the engine’s event model. Those are different gaps and need different explanations. Don’t rely on an AI to hand you the solution; struggle with the problem first, then use outside help to check your understanding.
Use a gradual progression rather than choosing between fundamentals and an engine. Start with a tiny game such as tic-tac-toe, hangman, Pong, Breakout, or a text dungeon. Focus on tracking the game state, accepting input, updating that state, and displaying the result.
Once that feels manageable, move into Unity or Godot with an intentionally tiny project: show a player, move it, accept input, detect a collision, add a score, and provide restart and quit options. Building those pieces one at a time makes the engine feel less overwhelming.
At some point, you have to start making the game, even though you’ll get stuck constantly. Each obstacle gives you a specific problem to solve, and you learn more because that knowledge immediately has a purpose. Pick one very small project, keep working on it, and finish the boring parts instead of restarting or jumping to another idea. Completing something simple is more valuable than collecting endless exercises.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically