Craftomation 101

Craftomation 101

View Stats:
MAKAIROSI Apr 22, 2024 @ 2:36pm
So here's my take on making advanced items (like charged plates)
So the way you could do it is by simply telling the bot to take a chill pill if the items it needs aren't there. But here's my take.

The way I thought about it was this. If there is no fire to pick up, why not make? This way that bot can help in the production line.

So let's say you have a function called "make spark". That function simply makes a spark and stores it. Now function 2 is called "make fire". This one takes a spark, a coal, and combines, and stores it. Right? But what if there is no spark. Luckily we got the "error" line. So if there is no spark, call the "make spark" function, (which, remember, stores it), and go to idle.

This way, when making a fire, it will first look for a spark, if there is none it will make one, then go look for a spark, if there is one it will take a coal and make fire.

You will tell me, it would be simpler to just combine 2 rocks and a coal to just make fire. But my point isn't this. My point is that when dealing with more advanced items, like charged plate (iron + fire -> steel. Steelx2 -> plate. Steel + iron -> magnet. Manget + plate -> charged plate) it serves immensely to have functions within functions in the way I described.

So have different functions for spark,fire,steel,magnet,plate,charged plate, and then for example invoke the charged one, but like this:

Look for plate. Is there no plate? Make one. To idle. If there is, pick up, look for magnet. Is there no magnet? Drop plate to storage. To idle. (Or make magnet and then to idle).

Then for plate. Look for steel. No steel? Make one. Etc etc.

In this way you can build very advanced functions that any robot can do, no matter how many fires you got.

With the "drop to storage" function you don't even have to specify where to drop them. Although I do that so that some items are close to where they are needed (so steel storage close to iron vein, etc). But this isn't really required. Just helps.

Variables are really only required when checking plants (harvest wood/water plant) or refuelling furnaces, so don't build the functions with variables in mind, you're just gonna get confused. Especially due to the fact variables don't really work in an intuitive way in this game. Just keep it simple.

Oh, and do remember, you can *make your own bots* I had no idea this was a thing until I was getting really frustrated cause I had too few of them. Lmao. They're a bit expensive, but they are perfectly buildable from the starting elements.

Glass (soil+fire, +fire) + charged plate -> makes the bulb for the head, only needs steel to become a proper head. And the body is just battery + steel. I had no idea I could make my own bots lmfao
< >
Showing 1-4 of 4 comments
hthought Apr 22, 2024 @ 3:45pm 
I think this would overall be a good idea if robot energy was higher. Right now it is so low that if you go for multiple jobs per robot you can end up really hurting your production chain and not even knowing where it comes from.

I think the best thing to do by far is have every robot do ONLY one thing and be done with it. If possible without traveling much too.
MAKAIROSI Apr 22, 2024 @ 5:57pm 
Originally posted by hthought:
I think this would overall be a good idea if robot energy was higher. Right now it is so low that if you go for multiple jobs per robot you can end up really hurting your production chain and not even knowing where it comes from.

I think the best thing to do by far is have every robot do ONLY one thing and be done with it. If possible without traveling much too.

So the way I do it, is that inside the "make fire" function, it also drops it to storage, therefore it can then go back to idle. At the start of each change I have a recharge check that prioritizes "eco" buff. Therefore running around isn't that much of a pain in their energy.
HubertNNN Apr 26, 2024 @ 7:32am 
I don't think you need variables for plants.
My tree robot is build like this:
Harvest wood from tree, on-error -> craft water -> deliver water to tree, on-error -> deliver water to storage.

This way one robot can handle the entire wood production chain, and even store some excess water in storage.
Last edited by HubertNNN; Apr 26, 2024 @ 7:32am
MAKAIROSI Apr 26, 2024 @ 7:43am 
Originally posted by HubertNNN:
I don't think you need variables for plants.
My tree robot is build like this:
Harvest wood from tree, on-error -> craft water -> deliver water to tree, on-error -> deliver water to storage.

This way one robot can handle the entire wood production chain, and even store some excess water in storage.

"Harvest wood from tree" requires coordinates. Unless you mean "smart find and pick" and use "only source"? But when using that, you also have to store the variable of where it found the item, but still, I think it becomes more complicated the further I'm trying to think of it.

Anyway, I have a bot going "find wood -> on error -> wait" really, and that bot just harvests wood. Then I have others that will just go find water, wait, and recheck. Each bot of those will just check a line of trees (I have 10 trees total) around the sulfur mine (because that keeps things perma-heated around it, and wood is required to use in furnaces).

To be honest, later on, you get steam batteries that are far more efficient although I'm still using wood. I'm waiting for an update perhaps to see if we can do anything with the volcano and/or get some sort of renewable source.
< >
Showing 1-4 of 4 comments
Per page: 1530 50