CodeCombat | Best Game to Learn Programming
Hello! Today I wanted to make a short review of another resource on learning programming languages this time. This resource is Code Combat. I will say right away that this review is an independent opinion. I do not advertise anything, but simply share my opinion with the reader.
What is Code Combat
Code Combat is an educational platform with a focus on learning programming languages in the simplest and most effective way - playing.
The platform supports many languages, as well as different audiences. Here you can also teach (that is, register as a teacher), you can learn more about classes (that is, register as a parent) or select a student account (that is, a teacher).

Code Combat Main Page
Why Code Combat
I chose Code Combat for my review simply because I like this platform. The educational process is built literally on the game, where there are various locations, levels that cover one or more basic programming topics. All this is accompanied by good design and even music.

Code Combat Locations
It should be noted right away that the platform teaches not the programming language itself, but logic (there are few places like this). That is, the student does not learn the classic python syntax (provided that you choose python to study), but its logic and in practice sees how the code is executed, what certain commands lead to.

Code Combat Level Example
Each task (level) is accompanied by hints and explanation, so to speak, theory. This theory is presented in an easy, non-boring way, which is great.
The complexity of the tasks
Separately, I want to talk about the complexity of the tasks. The tasks, or levels according to the game, are too simple here and are intended exclusively for beginners. I understand that the platform is designed primarily for a children's audience, which is just starting its immersion in learning programming languages, and the developers have coped with this task, but if you are over, say, sixteen, and you start learning programming languages from this platform, then I'm sure that you will get tired and bored very quickly.

Code Combat Hints
With each level, tasks become more difficult, as in any game, and more and more new basic topics grow like a snowball. It all starts with simple lines and moves gradually to the compilation of functions and loops. In this regard, the training program, the order of topics, is no different from other courses and platforms. Everywhere is the same.
How to Teach Technology to Kids: Tips for Parents and Educators
Technology is everywhere, and kids are growing up in a world where it’s an integral...
Continue readingWhat I do not like
What I don't like is that it's too overloaded. Clothing items and character selection were added to the game itself. I understand why this is done - to attract the target audience, children. This is a good move, if I were making a game of this kind, I would do exactly the same, but here it simply does not play any role, but only overloads the interface. For example, why do I need to know how much damage my sword does in a game where I study programming. What is the point here, other than entertaining. Maybe I'm just a bore. Not excluded.

Code Combat Character
Moreover, such in-game trash interferes with the educational process. In my opinion, the developers should not have spent so much time on clothing items or characters, but to capture the attention of the target audience in such a way that students would not be bored to continue playing, learning, and not making the choice of a character take the student more time than completing the first block assignments.
I would suggest adding a story, a plot instead of this junk. At the same time, the story does not have to be brilliant, it just has to be present. Some elements of programming logic could be added to this story for even greater immersion. Just for an example so you know what I mean:
Rob decided for himself that he would fight the cave trolls as long as his heart was beating.
repeat('attack')
until heart = 'beat'
Speaking about what I don’t like, I would like to say separately about the cost of this pleasure, but I decided to dedicate a small block to this towards the end.
What I liked
Definitely the presentation of the material. As I said, the game is designed for the player to line up the logic of programming. Logic is much more important than the skills themselves, because this is the foundation on which the student in the future will be able to build anything (take on the study of any language that he sees fit). Well, the presentation in the form of a game is ingenious and simple - it meets the needs of a growing audience. Everything is bright, colorful and attracts attention. Respect from me to marketers.
I also liked the idea itself - teaching students non-classical python syntax (provided that you chose python to learn). It is very important that the developers themselves understand that in the format of the game, any material at any age is perceived easier.

Code Combat Level Example
I also liked that the developers provided a scenario for all occasions. I mean, you can create an account here as a student (via the parent's email), as a parent, and as a teacher (that is, use the game's materials to teach students). This greatly expands the target audience, makes the game more accessible and usable. Once again, respect to the product managers.
What is the price
Everything has its price, of course. Below is a screenshot of the prices. To judge each student or parents, but it seems to me that the prices are quite justified. The developers have tried and made a really worthwhile product in the education market.

Code Combat Prices
Everyone decides for himself, but I think that the tariff for one month is the most optimal. In one month, the general logic of building and writing code for a student will fit in. And if the logic fits in, then there is nothing more to do here.
Conclusion
I just told you about a great resource that will prepare you or your child for real programming by explaining the basic logic that all programming is based on (no matter which language you choose).
I would recommend giving this resource no more than a month. In a month (with regular classes), a general principle will already be built in my head about what programming is in general. Of course, if you or your child enjoys playing coding, then that's great. I got bored in the second hour of the game. Most likely due to the fact that I'm no longer a beginner.