Robots should check whether they have sufficient energy.
Moderator: ickputzdirwech
Robots should check whether they have sufficient energy.
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.
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.
Re: Robots should check whether they have sufficient energy.
I think it would be optimal to choose the port closest to the destination, without regard to the line of travel.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 strongly support this improvement.
Re: Robots should check whether they have sufficient energy.
+1
On big map, robot lost many time to find a robotport when they are empty of energie.
On big map, robot lost many time to find a robotport when they are empty of energie.
Re: Robots should check whether they have sufficient energy.
That's why they changed it so robots will just move slower, instead of exploding.fregate84 wrote:+1
On big map, robot lost many time to find a robotport when they are empty of energie.
Re: Robots should check whether they have sufficient energy.
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.immibis wrote: That's why they changed it so robots will just move slower, instead of exploding.
Re: Robots should check whether they have sufficient energy.
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 wrote: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.immibis wrote: That's why they changed it so robots will just move slower, instead of exploding.
Re: Robots should check whether they have sufficient energy.
Another reason to do the fuel check I suggested.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.
Re: Robots should check whether they have sufficient energy.
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...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Robots should check whether they have sufficient energy.
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).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.
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?
Re: Robots should check whether they have sufficient energy.
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.
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...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Robots should check whether they have sufficient energy.
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.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.
Re: Robots should check whether they have sufficient energy.
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:
Do my answers now make sense?Adamo wrote: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.immibis wrote: That's why they changed it so robots will just move slower, instead of exploding.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
- bobingabout
- Smart Inserter
- Posts: 7352
- Joined: Fri May 09, 2014 1:01 pm
- Contact:
Re: Robots should check whether they have sufficient energy.
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.
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.
Re: Robots should check whether they have sufficient energy.
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.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.
-
- Filter Inserter
- Posts: 337
- Joined: Fri May 30, 2014 4:23 am
- Contact:
Re: Robots should check whether they have sufficient energy.
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.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:
Do my answers now make sense?Adamo wrote: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.immibis wrote: That's why they changed it so robots will just move slower, instead of exploding.
Yiur 2nd reply is confusing.
When i stream twitch i always answer questions and try to help, come visit me.
Re: Robots should check whether they have sufficient energy.
@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
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
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Robots should check whether they have sufficient energy.
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.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.
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.