Any programmer will tell you that practising is one of the essential building blocks to getting skilled at writing code. However, finding challenging, or even fun ways to do this may be difficult. Fortunately, there are a bunch of games that can teach everything from Bash Scripting to Java and C++. If you aren't there yet skill-wise, a few games can even teach you the logic part of programming - no programming language is required.
Codingame is an excellent platform that uses games to teach users programming concepts and actual code. It supports more than 20 languages; everything from Python to C++ is available to learn and practice. The game runs from the browser, and every stage has a challenge, some code that can solve it. The code is written down in their text editor, and once you run it, you can see the results on the game window. The challenges get increasingly tougher, and even if you do get stuck, there is a vibrant community of coders who are happy to guide and help.
Scratch is an innovative coding platform developed by the Massachusetts Institute of Technology (MIT) to introduce beginners to the programming world. With its user-friendly interface and drag-and-drop blocks, Scratch empowers users to create various interactive projects, including animations, games, and stories. This educational platform fosters creativity and critical thinking, encouraging users to explore and experiment with coding concepts. There is also Scratch Junior, a simplified version aimed at young children. The junior version provides a playful introduction to programming through engaging activities. It offers a range of features tailored to their needs, such as simple blocks, intuitive controls, and colourful characters. Scratch and Scratch Junior inspire collaboration and sharing within their communities, allowing users to remix and build upon each other's projects. Similar to what actual programmers do on places like Github. This is a great place to start if you know nothing about programming.
Elevator Saga challenges players to program virtual elevators in order to efficiently transport passengers in a simulated building using Java script. The game presents a series of increasingly complex scenarios, testing players' ability to write efficient algorithms and optimise elevator performance. By experimenting with different strategies and fine-tuning their code, players can gain valuable insights into problem-solving techniques. Visually the game is not all that, but the challenges are good enough to keep you engaged.
Human Resource Machine is about controlling your human subject to execute a task. The game starts with just two commands and then progressively gets complicated over the course of a few levels. Human Resource Machine is very similar to Scratch because it teaches logical thinking rather than a programming language. All the commands are in plain English, there is a bit of formatting to show you what things do, but it is easy to understand. Unlike Scratch which has an open exploration environment, which has tasks. Each level teaches you something new. The game is not free, but it costs just R459, which is very cheap.