The best kittens, technology, and video games blog in the world.

Friday, October 23, 2015

Factorio interface improvements ideas

Kitty Boy by ameliamarie1 from flickr (CC-NC-ND)

I've been playing factorio a lot, including two campaign on camera (vanilla, bob's mods) and a lot off camera before that.

I like this game, but it really needs some interface improvements. Here's my list. This isn't about new fancy features - all of these should get into base game, and unfortunately most of them aren't the kinds of things mods can do. List in no particular order.


We absolutely need a warning when some buildings have no power. Currently it's far too easy to disconnect power to some parts of the base, and never learn about it.

For that matter even if things have power, there should be a warning if power grid gets disconnected.

I know some people do both these things on purpose, but even then if you expected 20 assemblers and 60 inserters without power, and now warning shows you 600 different thing, you'll probably be interested. I don't think it would be any more intrusive than current "X turrets are engaged with enemy" or "X items miss construction bots" warnings.

Another nice thing would be to display if any electricity is flowing though an electric pole when mousing over it, to know if it's safe to remove it, but I'm not sure this agrees with how game is designed.

Electricity dialog

Electricity summary dialog needs to be redesigned. Factorio has just 3 kinds of electricity relevant objects (constant generators, daytime cycle generators, and accumulators), so it should be really easy to just print these numbers:
  • total demand (must not include accumulators)
  • available constant supply as % of demand
  • available daytime supply as % of demand (averaged over day night cycle)
  • % of accumulator storage available to make daytime supply work as constant supply
Information displayed on the dialog is currently perfectly reasonably before base gets solar, but it becomes rather useless and confusing once solar power and accumulators join the base, and the kind of numbers I want are really difficult to figure out in any way. Most of the time I discover I have a problem when I have a brownout.

Also time scale selection (5s etc.) doesn't match the relevant full day/night cycle option.

With numbers I'm suggesting all you need is to make sure available supply stays comfortable margin over 100% of demand, and available accumulator capacity comfortable margin over matching solar panels' needs. No more brownouts ever.


Smart filters could really have negative filter option (move everything but X). Right now if there's contamination on a belt it takes manual cleanup - but even worse game doesn't provide any indication that belt got contaminated and it's often discovered only hours later when you're wondering why some part of your base isn't making what it's supposed to. Even small amount of contamination will eventually just completely block end of the line, where factories are located.

Placing at end of each line a smart filter into a chest (active provider chest once you get them) filtering out everything that's not supposed to be there would solve this problem completely.

Another nice improvement would be if I could copy settings from assembler into requester chest. This isn't a huge deal for vanilla, but for mods which require 6+ inputs per end game items, it would be so much easier to copy them this way, then remove ones I want to provide some other way than to select them manually, often wasting too much time trying to find which item is in which category (this one in Intermediates, this one in Bob's Materials, this one in Bob's Intermediates etc.).

By the way sorting items into category tabs really doesn't scale with mods that add a lot of new stuff, but it's not obvious what would be the fix, other than maybe just provide text search input for when I'm really lost.

Filtered storage chests

It would be nice if game had filtered storage chests. Right now existence of a single storage chest will affect the whole logistics network, and often I wanted to create them just for some specific items. Here's an example.

Junk slots were a huge improvement to the game, but I'm having trouble with them. It's very easy to pick up items I don't want while rerouting belts, so I need to junk pretty much everything. That means I either need storage chests in the system, which cause all kinds of issues as they're unfiltered, or dedicated requester chests.

The most obvious setup for chests would be:
  • requester chest for X next to start of X belt, outputting onto belt
  • passive provider chest for X at end of X belt, for any excess production, in case anything actually needs it
Except if I do that, logistic robots will just constantly move things from passive providers to requesters turning belt into energy-expensive loop.

It would be so much better if instead of requester chest, I could use filtered storage chest for X there.

Speaking of junk slots, it would be nice to designate some items (like let's say small electric poles and yellow belts) as permanent junk, to always go right into your junk slot whenever they're picked up.

Manual assembly

When queueing things for manual assembly - they should go to front not back of the queue. It's pretty common early game that I just queue like 200 inserters because I don't have assemblers to make them yet, only then to discover I need like 2 electric poles. Well, sure let's queue those 2 poles... and they go to back of the queue and it will take minute of clicking to clear what's queued before them.

I really see no downside of making request queue be request stack instead. Of course late game it won't matter, but early game it's a huge pain.

Fast clear and pause

For that matter, why not have a single button to remove everything that's queued for manual manufacturing if I change my mind?

I often have similar problem with bots. I have a bunch of requests setup like belts, medium poles, assemblers and so on. Unfortunately I need all my backpack space to move some things around, so I unlooad my whole backpack into a chest temporarily, and helpful bots immediately come back and fill it. I could clear my logistics requests and set them back afterwards, but it would be lovely if there was some kind of pause button.

Blueprint book

This is sort of obvious, but currently one blueprint per slot is really awkward, and just having tons of blueprints in some kind of single book would be just great.

Resolution setting in menu

This is mostly for recording - it's silly that I need to change my monitor setup to 1920x1080 any time I want to record some factorio, then set it back to full resolution once I'm done.

For that matter I would very much love to have brightness and saturation settings there, as my Happy Factorio mod could really be replaced by a saturation slider setting.


These seem like very minor changes with significant positive impact on usability. Am I being wrong about any of these?

Can any of these issues be fixed by mods maybe?


NEM)Marwin said...

Blueprint book will be in 0.13 :)

taw said...

NEM)Marwin: That's one problem solved, quite a few todo. Oh and I forgot one thing - I'd totally love if we could place inserters diagonally.

NEM)Marwin said...

Copy paste from assembler to requester chest is already implemented. Just try it :)

Something between storage chest and requester chest would be also nice, we have been planning something like that. I put the link to this post to our gui polish task in trello :)

slpwnd said...

Thanks for the write-up. There are some good points. Just a small comment: search text field is coming in 0.13 so that shall improve orientation in the recipe gui.