I have to admit that I am a bad programmer. I don't like configuring Maven and writing configurations for the Spring Framework. I don’t know in detail how the JVM works (and in general terms I imagine it rather vaguely). I do not understand the design patterns, and any new technology makes me depressed. And yet, I love programming.
Especially for people like me (and maybe for some others), there is a small class of games that represent the quintessence of programming. They do not need to cross a hedgehog with a snake and worry about the versions of libraries. Only crystal-clear algorithmic programming wrapped in a nice interface is my little happiness.
Just a minute attention. ')
I will not talk about Robot Battle and things like that. Here I will not become and all. I may be a strange person, but I don’t like to deal with something that even remotely resembles real physics. Those interested can read about this game here , and the article is a little about something else.
Spacechem
The true gem of the genre, the combination of a great idea with a great realization. Your lyrical hero is a nanotechnology engineer who designs reactors for assembling and disassembling molecules.
The gameplay resembles programming in Befunge language: across the playing field ... sorry, two manipulators move along the reactor, guided by the arrows arranged in advance and following the instructions scattered around the field. Manipulators grab the molecules entering the reactor, move, rotate, split and collect again, then send the result to the output. “Why all this?” You ask. Well, just for you in the game there is a good sci-fi plot, and even (sic!) Elements of action.
The Codex of Alchemical Engineering
An earlier game from the same developer, immortalized in flash. Here, two waltz circles are replaced by numerous mechanical claws à la Bender Rodriguez, and alchemical ingredients are replaced by atoms and molecules.
In addition to complexity, the game boasts an unusual saving system for flash games: for the solution you create, some text is generated that can be copied and copy, so that later (for example, on another machine) you can perform the reverse transformation and restore the solution from the text. She also has a sequel (or, rather, a level-pack) - Magnum Opus Challenge, with even more severe levels for those to whom making a philosopher's stone seemed like an easy warm-up.
LightBot 1 & 2
Two parts of a flash game about a small robot on a checkered field. In obedience to our instructions, the robot walks, turns, jumps and literally lights , carrying light and good to the most remote corners of the level.
Educational games of this kind were very popular in school computer science at the time. With the rejection of the ideology of "programming - the second literacy" they, unfortunately, supplanted by Word and Excel - however, this is a completely different story. So, LightBot differs from those games in a hard limit on the number of teams: 16 in the main program, another 8 in two subprograms. It does not allow programming by the spinal cord and forces the head to connect.
In the second part, in addition to the improved interface, such useful features appeared as branching and recursion.
Pragmatica
Another control robots. The action of this fryvarny game takes place in a gloomy future, full of cars and ... cars.
In contrast to the games listed above, an event-based approach is implemented here: it is not the behavior of the robot as a whole that is programmed, but its reaction to certain stimuli. In addition, a unique feature is that the same program is controlled by several robots at once . However, for my taste, the game is boring, so I placed it at the very end of the article.
PS
The list is not complete and does not claim to be complete. For example, just today I was advised to have something online called “RoboZZle Game”. At first impression, this is something I like, but for the time being I cannot write anything definite and, especially, recommend it to someone. But you can try at your own risk. I will take my leave.