20 games challenge
I’m taking on the 20 Games Challenge to strengthen my game development fundamentals, one small, finished game at a time. Follow my progress, lessons, mistakes, and experiments along the way.

Most of my recent programming at my day job has involved AI-agentic development. It is powerful and exciting, but it has also made me miss the old-school pleasure of sitting with a problem, understanding every moving part, and building the solution myself.
The 20 Games Challenge will be a gym for my programming brain: a place to practise the fundamentals, exercise my problem-solving instincts, and enjoy hands-on programming again. It is not a rejection of AI. It is a deliberate counterbalance - a way to keep the underlying craft sharp while the tools around it continue to change.
The challenge is built around creating up to 20 increasingly complex games on your own. You begin with roughly ten recommended games, or alternatives of similar scope, before choosing later projects that support your own goals. The journey ends with a larger or more difficult capstone that brings the lessons together.
The main rules are simple:
- Build the games yourself instead of following tutorials step by step. Looking up answers to specific questions is allowed.
- Give each project a sensible constraint. Around 20 hours of development is suggested as a starting point, although larger games can take longer.
- Stay flexible. Substitute games, adjust the plan, and shape the challenge around what you want to learn.
I’ll use this page to document what I build, what I learn, where I struggle, and how each game changes the way I approach the next one. The goal is not to create perfect replicas or rush through a checklist. It is to practise deliberately, finish small projects, and become a more confident game developer while enjoying the process.
The 20 Games Challenge was created by its original authors and is not a Blich Studio project. Read the official How It Works page to see the complete rules or take part yourself.
Sign in to join the conversation