Of bots and belts.

Post all other topics which do not belong to any other category.
Post Reply
Blerg
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sun Jan 28, 2018 1:46 am
Contact:

Of bots and belts.

Post by Blerg »

I've been told I have problems with communicating at times, so please forgive me if I'm a bit incoherent. I only yesterday read the FFFs about the debate between bots and belts, and I didn't look past the second page of the General Discussion board for information about what's going on. Not gunna lie, I didn't even attempt to look at the FFF pages in the News section, so if some of this has already been said, I apologize for this post.

As such, I think one of the things we should first do is define the reason that bots are disliked by some:
Twinsen wrote:My argument is that bots are simply fundamentally better. Bots basically cheat by "teleporting" items, plus they are extremely easy to build and expand.
I think that basically sums it up. Some people probably don't like the fact that bots work in an unobscured triangle when they're working properly. With belts, you have to go around everything and adhere to the surrounding terrain and buildings to get things where you want them to be. My first thought as a solution was to have bots do collision detection when they're holding something, but that will potentially slow the whole game down with pathfinding calculations. A more practical approach would be to have the bots slow down when they're close to other bots when they're both carrying something. If their speed was decreased when attempting to cross the path of another, this would force users to build around choke points to get better throughput. Two bots come close to each other, they loose about 5% of their speed, and then have it logarithmicly increase to about a 75% decrease in speed.

I don't really think simply altering bot speed over certain terrain would be a very good implementation, (unless it was sand since the thrust could kick up enough dust to clog the intake of the bot, but that would only realistically happen if the bot is hovering). A bot should only increase its height when it is being blocked by something, or decrease it when it's at its destination.

Another thing might be to put in weight for each item in the game; however if you're going to do that, you might as well fix the trains so that they take the weight of each object into consideration to determine their acceleration and top speed. Probably going a bit too far then and making things way too complicated.

Then again, on second thought, if you have the bots doing a simple collision detection for the 8 directions/blocks around them and simply have them attempt to follow a simple path around. Like, if a bot's destination is exactly two blocks to the right and one down; if the direction right-down is blocked, try to go right, then towards destination. If it's straight to the left and left is blocked, randomly pick down-left or down-right and hope for the best. They should probably go through each other after a certain amount of time to avoid permanent blockage. These paths can be cached too to avoid the constant calculations required by them. Since the paths will always be from chests to other chests, the paths can be created and removed when one is placed. Simple have the bots attempt to follow a path within a specific width. If the chests are so far apart that a bots battery will be depleted before they reach their destination, you can have them automatically route themselves to a Roboport for a quick recharge.

Love the game and hope bots stay, not that I use them anymore since I go for the smallest bases that I can with as little movement of buildings as possible. Thanks for listening.

Post Reply

Return to “General discussion”