Hacker News new | past | comments | ask | show | jobs | submit login
Some flying robot behavior improvements (factorio.com)
153 points by vblanco on Sept 1, 2023 | hide | past | favorite | 50 comments



As happy as I am that FFF's are back I hate that this is going to suck me right back into Factorio (there are much worse things for sure).

It's probably for the best that I can only really play Factorio on my computer and not on my Steam Deck (yes, I _can_ but it's annoying enough to not have a mouse/keyboard that I don't). It's really an amazing game that you can dump literally thousands of hours into, trust me I have. I'm looking forward to new expansion even if it's still ~1 year out.


On the other hand, rejoice that you won't have to touch Factorio yet for a whole year! Just enjoy the updates and prepare for the inevitable one year from now (say goodbye to friends and family, plan that sabbatical, get rid of the cat, and what have you).


Or… i could try and play through Space Ex since it was mentioned in FFF and I’ve never tried it before.


Space Exploration is frankly a pretty awesome mod, however I think you should only pick it up if you plan to invest atleast ~500 (more) hours into the game. I'm almost halfway through a run and it's been awesome. It gets more fun as it goes on.


Checks play time 2699.8 hours

I’m really glad 2.0 isn’t released yet. I still have time to blacklist the domain so that I don’t get notified when it is released.


Steam shows ~800 hours for me but that's before I went all-in on various mods and just wrote my own launcher for easy switching between mod packs/saves/etc so thankfully I don't have the full numbers (though the vast majority of my playtime happened after that change so I know I'm probably around your number).


The install is completely portable on its own, so my solution is that I just have 10 or so copies of the game installed, with a folder of renamed shortcuts based on the modpack they run.

What does your launcher do?


Nothing special, it’s an Alfred workflow to list my installs which are just folders on the file system. Each folder has its own saves/mods and a link to launch the version of Factorio I want. It calls a script that symlinks the mods/saves to the right place and launches the game.


Do the blueprint stay between each copy?

One of the issues I have is that I have blueprints in every copy of the game now instead of in some central location :(


They are per-install I think. I normally create new blueprints per-run just cause. I have a handful of blueprints I store in notes to easily paste in.


Yeah, I've been getting more and more collecting for stuff I'm doing with the circuit network that I don't want to do again.

Trying to find a clean way to organize them and have it available in all the games, maybe just checking them into github is the way to go.


I'm sure it's great fun but please consider the astoundingly extraordinary privilege of having the skills and resources to invest in learning or creating or solving nearly anything you can imagine... and what it means to choose to spend it on shallow personal entertainment. You're capable of so much more. The world desperately needs you and others just like you to pivot, a hard reset of perspective and values, to put your amazing mind and self to work doing things that are essential and meaningful and helpful to others. Your future self will thank you for breaking the solo gaming habit. Better late than never. You won't get those 2000 hours back, but you just might find your soul by choosing to put your next 2000 hours of free time to a different purpose.


Wow. I was enjoying this thread but you really killed the vibe by thinking you’re a better determiner of people’s free time, not to mention you somehow think you know a stranger on the internet better than themselves?

Please tell me this is a copypasta and was just sarcasm.


Hey d1str0, Sorry (not sorry) to harsh your vibe. It wasn't sarcasm or "copypasta". My longer response to a sibling comment just now explains further. Have a great weekend.


> you just might find your soul by choosing to put your next 2000 hours of free time to a different purpose.

Like mindlessly browsing forums and shitting on things you don’t care about?


Hi oefrha, haha, good one. But for me this isn't about being judgmental or scoring points. You might be right to include time spent on HN in the category of addictive timesinks better spent elsewhere, so yes, maybe there's a touch of hypocrisy in my original comment. But nothing about my engagement with this topic is "mindless". On the contrary, I choose deliberately to do the uncomfortable / unpopular thing and encourage others to try to avoid slipping further into mindless activity, because I'm personally acutely aware of what's at stake. I wasn't "shitting on" nor singling out this game in particular. I don't care if it's Factorio, World of Warcraft, Magic: the Gathering, fantasy football, or anything else that has a strong tendency to become all-consuming. Life is too short as it is. I'm speaking from the heart as a cancer survivor who's had a chance to reflect deeply on nearly 50 years of life, and I'm so glad I quit World of Warcraft cold turkey when I did, when my oldest daughter was still an infant. Please, try to interpret my comments in the spirit they're intended. Thanks.


I know many other people who survived cancer who decided that life was too short to take it too seriously and now they are more care free, play more video games, smoke more pot, etc.

I’m glad you had a personal revelation that works for you (maybe), but being a cancer survivor doesn’t make you a better arbiter of other people’s time and energy.


I didn't say it did! I make no such claims. Rather my experiences (esp. with addictive pasttimes like WoW) led me to a place where I'm confident that encouraging people to consider their choices might help someone learn from my mistakes. YMMV. Each to his/her own. Enjoy your day!


I hate to tell you, but once you sort out a decent control scheme it plays really well on the steam deck. There are enough buttons to cover everything, it's mainly case of working out what is most logical to you personally so that you don't have to think about it. Gyros for the mouse, and a mode switch on soft-pull LMB to increase precision help a lot.


I might just try to ignore this comment... My biggest worry is precision in placing things, I make my own blueprints but I normally trying to start from scratch for each new game (just my playstyle, not saying it's good/smart) and it being fiddly on the deck. I played a few games with only mouse support and quickly abandoned them since it got old fast. I know Factorio has great keyboard support though and they do have a Switch version so maybe I'm worrying about nothing. My other worry would be performance since my older laptop has some trouble when my base got large enough (with mods) but maybe I'm just making excuses.


Using the touchpads as a mouse works really well. I like to set them as trackball, but there are multiple options and configurations that one is going to feel good for you.


Any chance you could post a community control scheme that's pretty close? I love factorio but haven't gotten a good intuitive control scheme set up on my deck


It's called Steamdeck Midnight Special by impish. Mouse+gyro on right pad. Various controls on the buttons, left joystick press to enter/exit vehicles and switch modes. Left mouse on left side (not the default swap) and extra precision on a soft pull. Enjoy


Sorry to tell you brother, but there's an official Steam Deck support with perfectly usable defaults.


I haven't yet installed it on the steam deck, but I've put in around 100 hours on switch, and it was pretty good experience on a gamepad.


Hmm.

These are certainly welcome changes for the bot-users. But now the balance of belts vs bots has been upset once more.

Belts were immune to these issues, and were a key advantage for handling these cases. Now that bots solve these issues, bot-based bases are going to gain more "strength" in the meta.

I recognize this is a bit of a (https://xkcd.com/1172/) joke, but I'm serious! Factorio is a game and a meta-game, with belt-based players in (friendly) debates vs bot-based players.

Since belts vs bots haven't changed in literally years, things have settled down and the debates have stopped. But now this changes things once more. I kinda-sorta feel like belts will need a +10% or +15% speed buff or something to keep the balance, because these are _huge_ improvements to bots IMO.

--------------

I guess belts are still fully deterministic and zero-power. So they're still useful in this new meta. But this "loop" example was commonly solved by running a belt (or train) across the troublesome path. Now bots can solve the problem by themselves.


For me, belts and bots both lose out to trains for the majority of the work.

All my factories end up decentralized with each node producing one or very rarely two outputs, and consuming only what they need. Trains transport everything between nodes, with one or more train per product type, with stations enabling or disabling automatically based on input starvation or output backlogging. But importantly, nothing besides 2x4 or 4x8 trains keeps up with the throughput without having stupid huge numbers of logistics bots. So trains end up being the majority of the transit.

Within a node it's majority belts, but bots for super high throughput short distances, especially in earlier nodes where I'm trying to saturate stupid quantities of e.g. iron, copper, or green circuit production. But each node doesn't have that much distance to cover, so there aren't that many belts relative to trains.

---

Construction bots though, obviously first priority. All my nodes get built by a special construction train that drops off supplies to a temporary construction stop, and then robots do all of the constructing of a node.


I've seen "train only" bases, where carefully crafted Rail -> stack-inserter -> assembly machine mazes are built in such a way that still retains 8x Beacons per assesmbly machine.

But its very weird and obscure. With such a lacking in space, you have to run multiple train types and overlap them: either having mixed trains. And there's also the issue of "leftover" pieces staying on a stack inserter (ex: Stack inserter grabs 7 items, but then the assembly machine only accepts 3 of them, so now the inserter is "deadlocked" with 4 items. But the assembly machine needs another item, so everything deadlocks and shuts down).

There's ways to fix all these problems of course.

--------------

But the easiest way is to instead use bots and/or belts to unload into the "last mile" going into the assembly machines. (Belt/bots can also reach 12 beacons per assembly machine if you're willing to have a faster, but more costly, design. Mainly for UPS wars rather than in-game benefits.)

But yeah, Trains are obviously the best bulk transfer item in the game. And while they aren't "unsuitable" for last-leg delivery per-assembly machine, its highly complex to do so. So its just easier to use belts/bots for that unless you're going crazy with UPS or something.


Yup agree completely. Train only with literally zero belts or bots is insanity. A small number (relatively) of belts or bots for feeding and internally within each node saves so much pain.

It would be like doing large data processing using exclusively map reduces with no non-MR orchestration at all. Yes you can technically do it, but, like, .... whyyyy.


> When deciding which roboport to charge at, the robots crucially did not consider the current robots on the way to that roboport, only those already in the queue, and did not factor in how many free charging spots the roboport has open. By adding these two extra parameters into the equations, the distribution of the robots improves quite nicely.

A great example of how omitting one factor can really change the qualitative behavior of your heuristic. I didn't know that the robot pathing to charging stations took into account queue length, since I was so used to seeing the infamous circles-of-depleted-robots queuing around roboports. Turns out they already had some smarts, but because the smarts omitted the (perhaps only in hindsight) metric of robots-heading-to-charge from the queue estimate, the practical effect it was trying to avoid (brigading around a single charging port) wasn't actually avoided.

On another side note, it's been a while since I've done the math, but it turns out that each roboport can only support about 50-100 robots. If you've got more logistics robots on a route than that, you need more roboports to keep the item flow up. If you don't have enough roboports, you're doomed to see throughput collapse as they're stuck in charging queues, although now I'm interested to start running tests to see how throughput is affected in such a degraded mode.


> On another side note, it's been a while since I've done the math, but it turns out that each roboport can only support about 50-100 robots. If you've got more logistics robots on a route than that, you need more roboports to keep the item flow up. If you don't have enough roboports, you're doomed to see throughput collapse as they're stuck in charging queues, although now I'm interested to start running tests to see how throughput is affected in such a degraded mode.

That's... a poor way of thinking about roboports IMO.

Roboports are specified with a charging speed: 4x ports of 1MW each. Robots have (3 kW static) + (5 kJ/m) power-usage. We can largely ignore the 3kW as a rounding error especially as infinite-research causes the distance based metric to dominate.

A Kilowatt is simply a kilojoule-per-second.

Rewriting the units: that means a Roboport's 4000kW of charging is: 4000kJ/s (or perhaps 4x1000kJ/s for the 4x ports), divide this out with 5kJ-per-meter for: (4x1000 kJ/s) / (5kJ/m) == 4x 200 m/s. Or 200-meters-per-second across 4 robots.

EDIT: I seem to have doubled up on the 4x multiple times in my first draft. Lets hope my revised math is correct now.

------------

That is to say, each Roboport provides 200-meters-per-second to 4x robots of charge.

Again: assuming the 3kW static is ignored. But you can consider "infinite research" to be the asymptote where you get closer-and-closer to this 800-meters-per-second aggregate limit of Roboport charging speeds.

-----------------

You can assume that at "maximum speeds", the dominant factor is charging speed. That is: all Robots have so much work to do that they're all "just" waiting to be charged by the roboports. Each Roboport provides additional charge of 200 meters-per-second aggregate movement to your worst-case robot network.

"Best case" is when your Roboports are _NOT_ the bottleneck (ie: Robots charge, then see that they have no tasks left to do and then start to sleep). In this case, additional roboports do nothing and instead its speed that dominates.

But we can see that in "busy" networks with thousands of items to move (ex: 8x train of 8000 green circuits per train == 64,000 circuits to move per delivery), its roboport-charge that dominates. You pretty much want to max out the density of Roboports and maximize the amount of charge you deliver to your robot network

----------

So its not that "Roboports support X number of Robots". Its that "Roboports support X-amount of robot travel distance per second".

The number of robots doesn't matter. The only thing that matters is how much the robots are moving.


Every time I bring up Factorio at work (mostly for the FFF's) it comes with the disclaimer: "Do _NOT_ start playing, you'll have no free time left".


I am super happy to see them fix the path finding issue for robots, where they'll now fly to a nearer roboport to recharge instead of flying out of range, and then turning back and getting stuck in an infinite loop.

Great game


I've spent hundreds of hours in Factorio, even lauched rockets, and have never got far enough along to build robots. Maybe it's time to get back in there.


Researching Rockets costs more than researching the Logistic Network, so I would definitely recommend going for Logo first. Even a small network which produces every item/building in small quantities and delivers them to the character is a big quality of life win. And of course at much lower tech, construction bots enable blueprints, copy&paste, etc. which are also a huge win.


My issue with robots has always been that you build your base in one way, then get some robots ready... then you realize you didn't leave enough space in the right places to robotize your base :p.

I think next playthrough I should use a city block template, those will have placeholders for roboports. However, I think they don't get placed if you haven't unlocked the technology yet, so a QoL improvement would be to be able to place a placeholder or spacer instead. Or just allow the placement of a ghost without researching the tech.

I've used the city block design blueprints in an attempt to do the Space Exploration mod; it worked alright, except that the templates had concrete flooring. That was a lot of concrete!

But anyway, next playthrough I should make a robot driven base, at least for anything but the high volume base materials like iron, copper and steel. Maybe I should build or get some blueprints for a main bus as well, especially for liquids.


Seems pretty common to at that point, rename your base “starter base” and then go template out a new megabase somewhere else on fresh territory. IIRC mineral density increases farther away from the start spawn, so there is an incentive to build in one direction?


Robots are fun, my first run I played Bobs (yes, it was crazy to do that on my first playthrough) so I got bots before the launch IIRC and had a blast with my hugely efficient setup. On later runs I tried for a train-block setup with each "block" having something like 4 roboports that didn't overlap with the block next to it so that you wouldn't have robots traveling across the whole map, they would each be localized. They add a fun challenge and even with these new improvements in their pathing I think there will still be advantages to breaking up your logicisical networks.


Robots are easy though, and borderline op since they can surpass the flow limit of stack inserter, making the slowest item movement be only when loading/unloading train.


They don’t scale well though. In bigger bases items are measured in train loads, and bots can’t keep up in terms of throughput or power consumption. Building a tiny bot-only cell is still fun though!


It's been a while since I've done the math, but a solid line of roboports moves fewer items than 4 blue belts (which takes up the same amount of space), IIRC. And if you've got fewer roboports than a solid line of roboports, it moves even less throughput.

Probably the only time it's hard to beat robots is when you have something like a megatrain unload station--it's extremely difficult to squeeze more than two blue belts per wagon (one belt per wagon per side) without robots, and there's no need to balance belts with bots.


As someone who loves Factorio but now no longer have the time to sink hours into it, I wish they came up with an easy and quick mode. That and somehow improve the early game slog that can be pretty dreadful.


One small improvement to logobots I'd like to see is disabling over-delivery to my inventory. If I request one stack of items, I don't want to end up with up to one stack + 3 items. For requester chests over-delivery should probably be kept, to reduce flight traffic.


You can set the logistics request maximum amount of the item to same value as minimum amount - though then if you want to pick up some more you have to adjust so the bots won't come take them away, but for me it's much preferable to inventory being filled from tiny extra stacks.


I set my requests to stack-size minus three for most items to work around the problem, since manually grabbing some extra is relatively common for me.


Hey c'mon peepul. Hasn't anyone unleashed an A.I. on Factorio ?



There should be a sarcastic website called "Let me duckduckgo that for you".



I can die now. My life is complete.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: