Whether you’re just starting out in coding or are a seasoned dev who wants to learn a new language, there’s always room to hone your skills. Even if your primary focus isn’t developing software, knowing a bit of code can up your game, make your tech job easier, and sometimes open new doors in your career.
Learning to code isn’t always fun and games, but there are loads of resources out there to get you started learning JavaScript, Python, CSS and many more by playing (or building!) fun and engaging games.
They’ll teach you fundamentals in an approachable, enjoyable way that doesn’t make it feel like work.
Everybody’s learning (and gaming!) styles are different, so check them all out and see what works best for you.
- CodinGame by CoderPad – supports 25+ languages such as Python, PHP, Go, JavaScript, Rust, Lua, Swift, and more
- CheckiO – Learn with coding games in Typescript and Python
- screeps – MMO sandbox game for programmers
- CodeCombat – Learn Python, JavaScript, C++, Java, and Lua
- Flexbox Froggy – a fun (arguably less stressful) take on Frogger using just CSS
- JSRobot – A classic side-scroller that you navigate through JavaScript
- CrunchZilla – A cute JavaScript coding course with varying tiers for different learning levels
- FlukeOut – An adorable interactive CSS learning track that helps you learn more about selectors
- JSDares – create games in JavaScript and tighten up your existing skills by using less code
- CodeWars – Supports 55+ programming languages and teaches through small, bite-sized challenges
- Mastery.Games – a collection of themed game challenges focusing on CSS and Flexbox
- Play Code Monkey – A fun and engaging platform geared more for kids
- Untrusted – a fun, retro-style JavaScript game
- Grid Garden – a Stardew Valley-style game that teaches CSS grid
Notable Mentions
- Shortcut Foo – Not technically a language course, but instead small exercises to help muscle memory for shortcuts in common IDEs
- ZType – Not really a coding game, but a fun way to amp up your typing speed
Did we miss any? Let us know in the comments!