– By Aecium
Here we are. At the tail end of another year. Over the next couple of weeks we will all be inundated with “best of 2018” lists: the best news bloopers (one of my favorites), best books, movies, games, and of course, the best of the worst. I thought of going full meta and creating a “best of 2018 best of lists” but I couldn’t fully get behind that idea. So instead I created a list of some of the programing games that I have played, none of which are from 2018. But I figure now would be a good time to share them with you; with the holidays coming up you may have some time off and be looking for something to help fill the void.
I have a soft spot in my heart for programing games. There is just something about solving a level by piecing together a set of instructions or processes, pressing the play button and watching it run. If it succeeds then you’ve beaten the level and can advance (or just keep running it and marvel in your work). If not, you have the chance to review what went wrong, rework it and try again. Programing games tend to be low pressure, allowing you to play at your own pace and take all the time you need, and try as many things as you want. Regardless of how long you spend working out your solution, there’s not going to be a horde of zombies, mutants, or aliens trying to kill you while you work. I find that refreshing.
Even if you think programing games aren’t for you, I encourage you to give these a try. Each game teaches you by building on the previous levels so you learn the steps as you go. And there are plenty of videos and hint guides out there to help you along. If you are stuck, and it’s either stop playing or get a bit of help, I encourage using hints. With the internet no one needs to play in a vacuum.
In the past there weren’t too many entries in the programing games genre, however, Zachtronics has become a beacon of hope for the genre and all three games I’m covering here are from them (there would be more but I’m only listing the games I have played). These games will have you create solutions to the various problems by dragging and dropping predefined actions or blocks of machinery, or by typing out specific instructions to solve a problem.
SpaceChem was the first programing game I played that did not have you writing actual code to solve the presented problem, which in this game is to create designer molecules. You create these in reactors by drawing out a path and placing instructions like grab, rotate, bond or unbond on that path for a circular atom manipulator called a waldo to follow and execute.
The goal is to use the incoming atoms and molecules to create the desired molecule, which must match a given pattern. You also need to be careful to prevent any collisions as the waldos move the bits and pieces around. If there is a collision the reactor will stop and you’ll have to modify your design to fix that flaw. There’s a story alongside the levels which gives context and a bit of drama to what you’re doing as you go, and the creators have even released a stand-alone version of the story incase you don’t beat the game but still want to know what happens. I have not personally beaten the game yet, but have picked it up several times and always enjoy playing until I get stuck. *Shrug* I’m sure I’ll play it all the way through one of these times.
I like to think of the next game, Infinifactory, as a 3D SpaceChem. In this game you are an abductee that is put to work by aliens that don’t speak your language and don’t really seem to care that you don’t understand what they are saying. They also don’t seem very concerned for your safety, as you are expendable and replaceable. Like SpaceChem, Infinifactory has you building a product to match a desired blueprint. However, you are now working in a 3D space and each level has its own shape, which adds to the challenge. Conveyor belts are the main way you get parts from the inputs to the many stations where you will be welding, milling, rotating, stamping or destroying unneeded parts, all before sending them to the output where they will be checked against the requirements. To get the full story you’ll have to do some exploring. In each level you can find a log recorder which contains the story and wisdom from someone who has gone down the path you are on now. Infinifactory satisfies a very specific desire of mine to build a factory line that moves raw materials from station to station, each one building on the last until you have your final product.
I don’t know, maybe I’ve watched too many TV shows that show how things are put together from start to finish. Regardless of the reasons, I find constructing these autonomous factory lines to be quite fulfilling.
TIS-100 is the final game on this list, and it’s the first one that actually has you typing out code to solve each level. Now please don’t let the word ‘code’ frighten you off. In TIS-100 you only need to use 15 commands to move and manipulate data that can be moved or loaded from 6 locations (registers) per node (more on that later). In this game your uncle has died, and your aunt has sent you a strange computer that your uncle had been working on along with the user manual for said computer. The manual has parts highlighted and some notes that your uncle had jotted down. While all progress that had been made seems to have been lost, you do find notes and musings that your uncle stored in otherwise unusable nodes in the TIS-100. You progress through each stage repairing the antiquated computer by rewriting its missing/corrupt programs. As you continue to find these notes, you start to piece together what it is you’re working on. Each level has 12 nodes arranged in 3 rows of 4 nodes. In most cases not all the nodes are usable, which adds to the challenge. There are set locations where the input comes in and set locations where the desired output needs to be moved to. In the simplest case you just need to move the given input to an output with no change to the input value. You can see an example in the screenshot which shows the first level with the game’s example code in the leftmost column.
While the TIS-100 is a fantasy computer, the steps you take and the solutions you come up with are nonetheless programing. And more specifically it is most like assembly language (albeit a simplified version), which is a class of low level programing language that all computers and smart devices run on and is only one step above the raw zeros and ones of binary programing.
All three of these games have an added challenge that you can take on. They all track statistics from your solutions like instructions/blocks used, cycles needed to complete, foot print of your design and they show you how you stack up with your friends who play, as well as with the global user base. If you solve a level and then see your buddy solved it in fewer cycles or using fewer blocks, you can, if you so desire, rework your design and try to beat or at least tie their score. Each level has a best case solution that you just can’t surpass due to parameters of the level.
I hope that if you do find yourself with some down time, or maybe you’re just looking for your next game to play, that you consider any or all of these great games. Even if you don’t fancy yourself a programer, these games might help you discover that you actually enjoy a bit of programing. After all, programing is not just for creating the games you enjoy, it can be the game itself.
Be part of our community, join our Discord!