Crop METI by seshoumara

[raw]
made by seshoumara for Ludum Dare 52 (JAM)

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!

Instruction_UI.png

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:

the probe will replace what it sees with NEW PLANT
the probe will be moved one position in the field according to MOVE DIRECTION
the program's state is changed to NEW STATE
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.

Example: 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.

That's it! Make us proud!

Ratings

Given 4🗳️ 2🗨️

Feedback

groundjet
09. Jan 2023 · 21:17 UTC
Pretty good programing game, pretty tough to learn but that's programing games for you, given the time it is amazing, I wish it had more instructions, specially regarding the `STATE` part of every `INSTRUCTION`.
🎤 seshoumara
09. Jan 2023 · 21:51 UTC
@groundjet One way to think of states is gears on a bicycle, just more abstract. Say you have an instruction like 'C12LD'. Even if the probe sees plant 1, if it's not in the specified gear / current state 'C' it won't do anything (skip instruction). Another ex. is say you want to change same plant/soil differently based on situation. You couldn't with one state (which does the same change), but you can switch to another state when you see it and let that do the other change :D (pro tip) I hope that helps.
Merin Car Trunk Key
10. Jan 2023 · 02:35 UTC
The music is nice. I like the concept. It seems fleshed out. It'd be cool to see it published somewhere like Steam. I bet it would do well in some crowds! Good work!
JudJudson
10. Jan 2023 · 02:43 UTC
Hold on a minute, I just spent 72 hours programming! Ah, I guess several more can't hurt
lzxh
10. Jan 2023 · 03:47 UTC
An educational game to teach aliens how to program Turing machines themed on Earth's harvest. Love it! Fun puzzles and plenty of levels. I would suggest a way to speed up the execution though.
Duncan 3
10. Jan 2023 · 05:30 UTC
it'd be interesting if there were levels where the same program has to work for multiple test cases
🎤 seshoumara
12. Jan 2023 · 17:31 UTC
Thank you everyone for playing the game.
@merin-car-trunk-key I guess it's too niche for Steam, because of the abstract language.
@judjudson You didn't program anything like this though :D
@lzxh Will do, not sure when though.
@duncan-3 This is my second programming-game on LD, 2/2, and in each there was just no time left to implement validation tests and UI for it. So hardcoding makes it too easy.
kaliuresis
12. Jan 2023 · 22:20 UTC
Nice little programming game. I liked the backstory of being an alien spaceprobe drawing crop circles. It would be fun to see patterns drawn on a 2d field, I think your programming system would extend pretty naturally.
🎤 seshoumara
13. Jan 2023 · 06:45 UTC
@kaliuresis Thanks. A 2D field is on my mind, with the move including up and down too, but kept it off the jam to make it in time. Currently it's less about drawing and more about small input changes. In addition 2D would actually unlock drawing if the field is big enough, but I'd need to put more than 6 states. Thanks for playing. I wanted to try yours but I'm on Linux using Godot.
LDJam user 300745
14. Jan 2023 · 17:09 UTC
Very interesting game. I love programming, I have ejoyed it!
groundjet
23. Jan 2023 · 12:46 UTC
"Sorry! At this time, only participants are able to rate games."
This is outrageous! It's unfair!