Welcome to Programming 101. In this class you'll learn to program a space probe. It will fly to Sol III (known as Earth by its inhabitants) and reconfigure a specific crop field. We do this to test the intelligence of those earthlings. Good luck!

The crop field serves as input to the probe's program. It is a field comprised of 8 positions. Each position can be either a wheat plant in various growth stages or just the soil. The starting and ending position of each field will not contain a plant, i.e. soil. The highlighted position is where the probe could begin its execution.


The source code is comprised of multiple instructions. Each instruction is made up of 5 characters: CURRENT STATE CURRENT PLANT NEW PLANT MOVE DIRECTION NEW STATE. The starting state for the program is always A. If CURRENT STATE matches the program's current state and if CURRENT PLANT matches the plant/soil that the probe sees in its current field position then:

  1. the probe will replace what it sees with NEW PLANT
  2. the probe will be moved one position in the field according to MOVE DIRECTION
  3. the program's state is changed to NEW STATE
  4. remaining instructions aren't executed, instead a new cycle starts

There is one special state Terminate, T. If NEW STATE is set to it, the program will halt execution. It's recommended to switch to this T state when you have finished re-configuring the input field to the expected form. Each situation (STATE + PLANT) the probe encounters needs to be handled by some instruction, otherwise the probe will self-destruct.

Examples:

  1. A50RA: If program's current state is A and if probe sees plant 5, then replace it with plant 0 (just the roots), move right and keep state to A.
  2. ASS.T: If program's current state is A and if probe sees no plant S (soil), then keep it as a soil, remain there (stay) and change state to T, which terminates execution.

That's it! Make us proud!


(Keep in mind this is only a prototype, made for LD52.)

Download

Download
Crop_METI.exe 45 MB
Download
Crop_METI.x86_64 47 MB

Install instructions

No installation needed. Download and play!

Comments

Log in with itch.io to leave a comment.

Super cool! Again really enjoyed the levels and it was obvious that you learned from The Stack Machine and added more visualizations of the process the machine was moving through and you could really see what it was doing at each step.

Another game where the a feature (states) were only really useful in the last level so I'd love to see more levels! Maybe even levels where there are two or more inputs so you need to make the rules generic to be able to handle many of them instead of just building them to a single set of inputs.

Really like the ideas explored here though!

Thank you! Validation input sets is something I have to add to all my games to avoid hard-coded solutions. Consider joining my discord, I am restarting game dev this year.

In the beginning I didn't understand what exactly I was doing. Which is mostly due to me not wanting to read a bunch of text. Once I understood the goal and somewhat how to accomplish it, I kept getting stuck on how the states worked. I ended up doing all the puzzles and right at the end I understood the game as whole. If I was to suggest anything to change (obviously this is a game jam so take with grain of salt) I would maybe not give me all of the options at once and force me to use only one state for really simple puzzles and then let me use another state to solve the same puzzles more efficiently.