Learning how to code by playing with CodinGame ! ....φ(︶▽︶)φ....
· Updated · 3 min read · by Adrien Lopez
I tried a lot of online coding school platforms and the best one I have tested to practise is CodinGame: puzzles, multiplayer bot battles and optimisation challenges in more than 25 programming languages, all in the browser and for free.

If you are learning how to code, there is a moment when tutorials are not enough anymore. You know the syntax, the keywords, loops and conditions, but you need practice, lots of it, and practice is often boring. CodinGame solves that problem by turning programming exercises into video games.
Start with the basics, then practise
CodinGame is not the place to write your very first line of code. Start with an easier tool to learn the basics of a language: variables, comparisons, loops, functions. Free resources such as freeCodeCamp, The Odin Project or the official tutorial of your language are perfect for that.
Once you want to practise, CodinGame is a lot of fun!
What is CodinGame?
CodinGame is a French platform founded in 2012 in Montpellier. It offers hundreds of programming challenges presented as games, with nice graphics: your code controls a spaceship, a race car, a hero in a maze or an army of robots. Everything runs in the browser, with a built-in code editor and more than 25 languages available: Python, JavaScript, TypeScript, Java, C, C++, C#, Go, Rust, PHP, Ruby, Kotlin, Swift, Haskell, OCaml, Bash and more.
The different game modes
- Classic puzzles. Solve a problem, from easy to "very hard", and validate your code against test cases. Each puzzle teaches an algorithmic concept: graph traversal, dynamic programming, simulation, string manipulation...
- Bot programming (multiplayer). Write an artificial intelligence that plays against other players' bots in a league system. This is where CodinGame shines: you learn heuristics, search algorithms (Monte Carlo, minimax), and even machine learning techniques to climb the ranking.
- Optimisation. There is no single right answer: find the best possible score.
- Clash of Code. 15-minute duels against other developers: fastest solution, shortest code, or reverse engineering of a mystery problem. Perfect for a coffee break.
- Contests. Several times a year, global events gather tens of thousands of developers on a new multiplayer game.
Why it works so well
Gamification is not just a gimmick here:
- Immediate feedback. You see your code act on the screen; a bug is visible, not abstract.
- Progression. Levels, achievements and leagues give you short-term goals.
- Community. After solving a puzzle, you can read other people's solutions in the same language. It is the fastest way to discover idioms and elegant tricks.
- Multi-language. Solving the same puzzle in Python, then in Rust or Go, is a great way to learn a new language.
Coding with AI assistants: still worth practising?
In the era of ChatGPT, Claude, Mistral and Gemini, some people ask if learning algorithms is still useful. My answer is yes, more than ever. AI coding assistants are powerful, but to use them well you must be able to read, test and judge the code they produce. Platforms like CodinGame train exactly that: problem decomposition, edge cases, complexity, debugging. Use AI to explain a concept after you tried, not to solve the puzzle for you, and you will progress much faster.
CodinGame for companies
CodinGame also offers technical assessment tools for recruiters (CodinGame for Work). Many developers discovered their current job through a contest or a ranking. For a junior developer, a good CodinGame profile is a nice addition to a GitHub portfolio.
My tips to start
- Begin with the easy puzzles like "The Descent" or "Power of Thor".
- Pick one language and stick to it for the first twenty puzzles.
- Always read two or three community solutions after solving a puzzle.
- Join a bot programming league once you are comfortable: it is addictive, in a good way.
Happy coding, and see you in the leaderboard!
Resources
- CodinGame
- freeCodeCamp
- Creative alternative: learn to code by drawing with p5.js