Just thought I'd share a cool find on Steam. The Farmer Was Replaced is a programming game where you control a farming drone, telling it to plant and harvest crops, add water and fertilizer, etc.
It starts with simple loops and grids, but gradually gets more challenging because different crops have their own rules. For example:
* Trees can't be surrounded by immediately adjacent trees
* Individual pumpkins can grow together into one bigger megapumpkin, giving you the cubic output of the contiguous block as a whole, but only if the individual pumpkins don't die first
* Sunflowers need to be harvested from largest to smallest in order, but the drone can only scan one tile at a time. You have to write a pathfinding algorithm to scan them all after a planting round, remember their order, and harvest them backward, then replant and rescan.
As a JS web dev, I found the game a good way to learn basic Python (I've come to really hate semantic whitespace...) as well as basic visual/spatial programming. I have zero knowledge of pathfinding & traveling salesman algorithms, for example, and this is a great excuse to learn them!
I'm not affiliated with the game in any way, just really like it.
Heh, there's been SO many times I wanted to do that in those kind of games. My GF likes Stardew Valley, but the whole time I was just like "man, I want to wire up some circuits and automate this whole thing like Factorio". Probably missing the point of Stardew :) But this definitely scratches that itch.
There's also a whole sub-genre of similar factory production games (like Factorio and Dyson Sphere Program and so many others in that list). But this game is pretty unique in that it lets you write actual code instead of putting together graphical "logic block" elements (splitters, conveyers, etc.)
The graphical games are useful for teaching logic and thinking in terms of functions (inputs and outputs). But to learn real programming, it's nice to be able to see the actual keywords. 7 Billion Humans and Scratch at least have that.
It starts with simple loops and grids, but gradually gets more challenging because different crops have their own rules. For example:
* Trees can't be surrounded by immediately adjacent trees
* Individual pumpkins can grow together into one bigger megapumpkin, giving you the cubic output of the contiguous block as a whole, but only if the individual pumpkins don't die first
* Sunflowers need to be harvested from largest to smallest in order, but the drone can only scan one tile at a time. You have to write a pathfinding algorithm to scan them all after a planting round, remember their order, and harvest them backward, then replant and rescan.
As a JS web dev, I found the game a good way to learn basic Python (I've come to really hate semantic whitespace...) as well as basic visual/spatial programming. I have zero knowledge of pathfinding & traveling salesman algorithms, for example, and this is a great excuse to learn them!
I'm not affiliated with the game in any way, just really like it.