Robots should check whether they have sufficient energy.

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
Adamo
Filter Inserter
Filter Inserter
Posts: 479
Joined: Sat May 24, 2014 7:00 am
Contact:

Robots should check whether they have sufficient energy.

Post by Adamo »

A simple solution is available that should solve the issue of robots not following the roboport network's shape, robots getting lost in the wilderness, robots running out of fuel while pathing to a distant destination, and most annoyingly, robots giving up when they're only a few feet from their destination. This fix should also make obsolete the stopgap fix of giving robots infinite energy.

Whenever a robot first calculates its path to its destination, it checks whether it has enough energy to reach that destination. If it does not, it chooses a free refueling port near the line of destination, farthest out from the current position. The robots will then emergently follow whatever path your roboports take. These calculations are trivial.

Tinyboss
Fast Inserter
Fast Inserter
Posts: 205
Joined: Sun Nov 16, 2014 12:11 pm
Contact:

Re: Robots should check whether they have sufficient energy.

Post by Tinyboss »

Adamo wrote:If it does not [have enough energy], it chooses a free refueling port near the line of destination, farthest out from the current position.
I think it would be optimal to choose the port closest to the destination, without regard to the line of travel.

I strongly support this improvement.

fregate84
Fast Inserter
Fast Inserter
Posts: 233
Joined: Sun Jun 22, 2014 10:56 am
Contact:

Re: Robots should check whether they have sufficient energy.

Post by fregate84 »

+1
On big map, robot lost many time to find a robotport when they are empty of energie.

immibis
Filter Inserter
Filter Inserter
Posts: 303
Joined: Sun Mar 24, 2013 2:25 am
Contact:

Re: Robots should check whether they have sufficient energy.

Post by immibis »

fregate84 wrote:+1
On big map, robot lost many time to find a robotport when they are empty of energie.
That's why they changed it so robots will just move slower, instead of exploding.

Adamo
Filter Inserter
Filter Inserter
Posts: 479
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: Robots should check whether they have sufficient energy.

Post by Adamo »

immibis wrote: That's why they changed it so robots will just move slower, instead of exploding.
In my opinion, if a robot runs out of fuel, it should simply "fall," i.e. become the innert, "grabbable" version of itself on whatever tile it ran out of fuel.

Karaaz
Manual Inserter
Manual Inserter
Posts: 4
Joined: Tue Jan 06, 2015 8:05 pm
Contact:

Re: Robots should check whether they have sufficient energy.

Post by Karaaz »

Adamo wrote:
immibis wrote: That's why they changed it so robots will just move slower, instead of exploding.
In my opinion, if a robot runs out of fuel, it should simply "fall," i.e. become the innert, "grabbable" version of itself on whatever tile it ran out of fuel.
That would be ideal, but only if robots were smart enough not to run out in normal operation. Then it would be an issue only in special situations, such as a power outage or a destroyed roboport for example.

Adamo
Filter Inserter
Filter Inserter
Posts: 479
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: Robots should check whether they have sufficient energy.

Post by Adamo »

Karaaz wrote: That would be ideal, but only if robots were smart enough not to run out in normal operation. Then it would be an issue only in special situations, such as a power outage or a destroyed roboport for example.
Another reason to do the fuel check I suggested.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Robots should check whether they have sufficient energy.

Post by ssilk »

We had that already, in v0.9. The robots fall down and where destroyed. We (Most forum members) where very lucky with the current solution.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Adamo
Filter Inserter
Filter Inserter
Posts: 479
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: Robots should check whether they have sufficient energy.

Post by Adamo »

ssilk wrote:We had that already, in v0.9. The robots fall down and where destroyed. We (Most forum members) where very lucky with the current solution.
That's not what I'm suggesting. I remember the old behavior, and yes, I think the current magic battery behavior is better than losing my robots. What I suggested is that, instead of having magic batteries, robots, upon running out of power, should become their "product form," the form of the object where the environment and the player can manipulate it (with inserters, conveyer belts, etc.). They shouldn't be destroyed, they should just fall to the ground where they are until the player picks them and their cargo up, or they get dragged away on a conveyer if they happen to run out of power while flying over one (now that I think about it, that is a realistic and hilarious result).

Presumably, these are tough little buggers. They can survive several spitter hits. Why wouldn't they survive falling to the ground, when they don't even fly very high?

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Robots should check whether they have sufficient energy.

Post by ssilk »

As said, we already had that discussion. In my eyes the devs decided for the current solution. You can try to change it, but please read/link the old threads, cause what for example with the item the bot carries? Will it also fall down? Or just disappear?
I remember: some said this is very unfair behavior.

... I have no time yet to search for them, but it was in spring 2014.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Adamo
Filter Inserter
Filter Inserter
Posts: 479
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: Robots should check whether they have sufficient energy.

Post by Adamo »

ssilk wrote:cause what for example with the item the bot carries? Will it also fall down? Or just disappear?
I remember: some said this is very unfair behavior.

... I have no time yet to search for them, but it was in spring 2014.
I'm sorry, but if you're asking this question I do not believe you're understanding what I'm suggesting. However, I do not wish to digress into something this topic is not about. In this thread, I am suggesting that robots calculate whether they have the amount of fuel needed to reach their destination, and based on that, decide what to do per the criteria laid out in the original post, or some similar thing. As far as what should happen when the bots run out of fuel, this is a separate issue, and if I feel it is worth exploring, I will open another suggestion thread.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Robots should check whether they have sufficient energy.

Post by ssilk »

I'm very sorry. I don't know what it is, but I swear some minutes ago this thread had only 5 posts and I answered directly to this post:
Adamo wrote:
immibis wrote: That's why they changed it so robots will just move slower, instead of exploding.
In my opinion, if a robot runs out of fuel, it should simply "fall," i.e. become the innert, "grabbable" version of itself on whatever tile it ran out of fuel.
Do my answers now make sense?
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Robots should check whether they have sufficient energy.

Post by bobingabout »

not sure the "furthest" recharge port is the best idea...

Closest recharge port to current location, recharge, recalculate, if they still don't have enough energy, plot a path to the closest along the path where it would run out of energy.

Alternatively follow a path of roboports rather than plotting a direct course.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.

starholme
Fast Inserter
Fast Inserter
Posts: 201
Joined: Tue Oct 21, 2014 7:25 pm
Contact:

Re: Robots should check whether they have sufficient energy.

Post by starholme »

bobingabout wrote:not sure the "furthest" recharge port is the best idea...

Closest recharge port to current location, recharge, recalculate, if they still don't have enough energy, plot a path to the closest along the path where it would run out of energy.

Alternatively follow a path of roboports rather than plotting a direct course.
Actually, if robots were forced to use a path over roboports to get to places that are not covered by the current closest roboport, it could make for interesting looking 'highways' that the robots follow. Could also make it so that the bots have a speed boost/or energy use reduction when moving directly from one roboport to the next. Not sure how good this would really be, but it sounds neat.

OBAMA MCLAMA
Filter Inserter
Filter Inserter
Posts: 337
Joined: Fri May 30, 2014 4:23 am
Contact:

Re: Robots should check whether they have sufficient energy.

Post by OBAMA MCLAMA »

ssilk wrote:I'm very sorry. I don't know what it is, but I swear some minutes ago this thread had only 5 posts and I answered directly to this post:
Adamo wrote:
immibis wrote: That's why they changed it so robots will just move slower, instead of exploding.
In my opinion, if a robot runs out of fuel, it should simply "fall," i.e. become the innert, "grabbable" version of itself on whatever tile it ran out of fuel.
Do my answers now make sense?
Your first reply, no. Hes talking about instead of the robot exploding, it would just become an item on the ground. Like pressing z while holding a item.

Yiur 2nd reply is confusing.
When i stream twitch i always answer questions and try to help, come visit me.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Robots should check whether they have sufficient energy.

Post by ssilk »

@OBAMA:
My first reply was the reply to https://forums.factorio.com/forum/vie ... 870#p62217 by Adamo » Today, 00:10
The second was the reply to https://forums.factorio.com/forum/vie ... 870#p62248 by Adamo » Today, 03:56 where I was still the opinion, that I directly answered in the first.

TL;DR: it is not a good idea to reintroduce, that bots, which run out of fuel, change their state (In that case to the item-form of the bots), cause that was already discussed and the current solution is choosen by the devs after that longer discussions.

I tried to find the threads:

https://forums.factorio.com/forum/vie ... f=5&t=3422 - I think the most important...
https://forums.factorio.com/forum/vie ... 422#p25010 - that was Kovarex's solution :)

Former threads
https://forums.factorio.com/forum/vie ... f=6&t=3202
https://forums.factorio.com/forum/vie ... =11&t=2522
https://forums.factorio.com/forum/vie ... =16&t=1773
Especially these:
https://forums.factorio.com/forum/vie ... 97&#p15177 (last post on page)
https://forums.factorio.com/forum/vie ... =20#p15499 (splwnd's answer)

Me made for esxample this strange suggestion: https://forums.factorio.com/forum/vie ... 572#p13572 :D
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Adamo
Filter Inserter
Filter Inserter
Posts: 479
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: Robots should check whether they have sufficient energy.

Post by Adamo »

ssilk wrote: TL;DR: it is not a good idea to reintroduce, that bots, which run out of fuel, change their state (In that case to the item-form of the bots), cause that was already discussed and the current solution is choosen by the devs after that longer discussions.
I read through a lot of these threads before I made this suggestion, and I strongly assert that this check will fix virtually all of the problems discussed herein without the need for magic batteries or complex searching algorithms. I recommend considering this as the solution to these problems. Regarding the two problems I've heard the most about, please consider the following.

Robots would rarely run out of fuel if they checked first, and ideally, it would only happen when someone removed a roboport or a roboport was otherwise destroyed or eliminated. Regardless of how we decide to handle a bot that runs out of energy, it is relegated to a near non-issue by this rule.

Robots would naturally follow the shape of the logistic network if they obeyed this rule. If, whenever a bot is required to move to a distant resource, it is first required to move to some intermediary roboport, it follows that the general shape of the connected roboports will be followed. I think it's quite right that this could lead to "robot highways," as another poster mentioned.

Besides, the implementation of this is trivial. Any time a robot goes somewhere, it calculates its trajectory. This is already happening. If the check whether this bot has fuel to go that far returns failure, it is a small step to search the roboports near that trajectory, starting with the one that is closest to the current max range of the bot (which has also already been computed), and moving closer along the trajectory if there is a queue, or some other obstruction as defined by the robot network developers.

Post Reply

Return to “Ideas and Suggestions”