[2.1] Roboports should report ghost entities

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

robot256
Smart Inserter
Smart Inserter
Posts: 1454
Joined: Sun Mar 17, 2019 1:52 am
Contact:

Re: [2.1] Roboports should report ghost entities

Post by robot256 »

This is a classic algorithm design question: to cache or not to cache?

The game does have a list of all the entities in the game, some of which are ghosts, some of which are in range of roboports. The gane has a performant way to filter this list based on many criteria.

The game does *not* maintain a separate cached list of all the ghosts in range of each particular roboport network that have a matching force and no construction robot assigned. Without that, it cannot provide a count of them either. (That is what I would expect from a roboport ghost request output.) Maintaining such a cache in a consistent state would be a lot of overhead. It would need to update (using area searches) every time a ghost was created, upgraded, destroyed, revived, or changed force. Also whenever any roboport is built, upgraded, destroyed, change force, lost power, or regained power.

The devs decided that caching such a dynamic list would not be worth it, and that it is better to do a partial search each tick with the latest state of the roboport networks, etc.
My mods: Multiple Unit Train Control, RGB Pipes, Shipping Containers, Rocket Log, Smart Artillery Wagons.
Maintainer of Auto Deconstruct, Cargo Ships, Vehicle Wagon, Honk, Shortwave.
worph
Fast Inserter
Fast Inserter
Posts: 176
Joined: Thu Jun 25, 2026 2:01 pm
Contact:

Re: [2.1] Roboports should report ghost entities

Post by worph »

The core problem always seems to come back to roboports having weird polygonistic and overlapping areas. There is nothing to be done about that.

So I see a few potential ways to go about this:
1. Do nothing
2. Have all roboports on the same surface report all ghosts on the same surface, disregarding their own area completely.
3. Have some other entity report all ghosts on the same surface, for example radars.
4. Or do the full implementation where each roboport reports the missing items in their vicinity.

2. and 3. are absolutely worth considering in my opinion, because they allow a functionality that has been missing in the game completely so far.
They are a bit of a paradigm shift in their own right and would still require some non-trivial amount eventhandling, dealing with edgecases and optimization.

Let's look at Aquilo for one second:
The whole planets challenge clearly and unapologetically is designed around having to bring everything there, no exceptions. The perfectly optimized way to tackle this challenge would be as follows:
- Go into a different creative safe with the same seed
- Design everything you need
- Take stock of every piece of equipment
- Go back to your actual safe. Load exactly those items on a ship, drop everything, built it, done.

But I hope most people don't play like that when they first get to a new planet.
A much more reasonable approach is to bring some finished equipment and some raw materials. Ideally you leave some of both on your ship, in case you brought too much. Sending stuff back up is expensive after all. With that in mind you can continue building and either setup the 5th mall of this playthrough or craft every missing item by hand.

What I felt I realized immediately is that this cannot be the intended way to play on Aquilo.
There must be some way to request just the equipment you need from a mall in space. Because if you do that, you do not even need a mall on every planet. A mall-ship that goes around where it is needed or where you are actively working should be perfectly reasonable.

But turns out there is no way to achieve this. I don't know if this is intended, but currently you need a mall (or some sort of automall) on every surface and stockpile enough resources to be able to craft everything that might come up and keep stock of every single item that might be useful (if you don't want to constantly handcraft, which can also not be the intended way to play large parts of this game)

The cost of building large independent facilities (including a mall) in space is already so high, due to cost of space platform foundations and how slowly they are built. So it can't really be an intended nerf to a space-based playstyle either. The DLC is called Space Age, but it actively prohibits me from a playstyle that is focused around that thing in it's name (not even mentioning that it took 2 years for platform-to-platform logistics and the state they are in).


What I am trying to say with this is that, if you want to take a space based playstyle serious, one that does not revolve around this on every planet:
grafik.png
grafik.png (572.41 KiB) Viewed 417 times
Except, that the terrain has a different color underneath (sorry Nilaus). I think you should consider giving players the option to do it differently. And this is unfortunately why I keep talking about these ghosts. They are not intrinsically interesting to me.

But besides all that, it would be helpful for all sorts of other interesting contraptions, I'm sure.
lutrin
Burner Inserter
Burner Inserter
Posts: 8
Joined: Mon Aug 03, 2015 8:18 pm
Contact:

Re: [2.1] Roboports should report ghost entities

Post by lutrin »

+1ing general idea, it would be very very very nice if there was some way to automatically convert ghosts missing materials to circuit signals, even with a lot of jank associated with it. I get that just because something can be hacked together doesn't mean it should ship as a feature, but this would be very useful and it's unintuitive that it doesn't already exist and hopefully the smart people at wube can figure out something that enables the use-cases people have in mind without having to do an inordinate amount of work (sniles so sneetly)
worph
Fast Inserter
Fast Inserter
Posts: 176
Joined: Thu Jun 25, 2026 2:01 pm
Contact:

Re: [2.1] Roboports should report ghost entities

Post by worph »

I just had an idea how this could all be achieved without touching the whole ghost entity mess.


Use Space Platform Hubs over a planet as second order "Storage Chests" for the Cargo Landing Pad.

What do I mean by that.

When the player queues up a buildings to be built, i.e. he places a ghost entity, at SOME POINT AFTER that the game must run some code that checks if that item is available to a robo network in range. (so far nothing is changed, this is clearly already happening)
What I propose is, that you can set a checkbox in the Cargo Landing Pad, that will request that item from space if it was not found in the relevant logistics network and the cargo landing pad is in that same network.
Essentially after all chests have been searched (i.e. the logistics network was compared), it compares a second order logistics network that consists of all participating space platform hubs over that planet. When there is a match the item in question is sent down.

No ghosts tracking. No race conditions.

Just treat Space platforms as secondary storage chests and I would be 100% happy. Because now I can just put my mall into space and not buffer several of every item on each planet in case I might need it. Instead, when it's needed it will just be sent down. Similar to how item are getting sent up when you place them.
Alfonse215
Inserter
Inserter
Posts: 49
Joined: Mon Dec 23, 2024 6:53 pm
Contact:

Re: [2.1] Roboports should report ghost entities

Post by Alfonse215 »

worph wrote: Wed Aug 12, 2026 10:14 pm Just treat Space platforms as secondary storage chests and I would be 100% happy. Because now I can just put my mall into space and not buffer several of every item on each planet in case I might need it. Instead, when it's needed it will just be sent down. Similar to how item are getting sent up when you place them.
But buffering solves the problem without needing a new feature in the game. If you want to build everything in space for some reason, you can. You merely have to set aside some space in each planet's landing pad for that stuff. The planets can even all share one logistic request set to request common items from the platform.
worph
Fast Inserter
Fast Inserter
Posts: 176
Joined: Thu Jun 25, 2026 2:01 pm
Contact:

Re: [2.1] Roboports should report ghost entities

Post by worph »

But it's very much not a satisfactory solution.
You have to send every potentially useful item down at least once, maybe multiple times.
When you start thinking rocket silos, nuclear reactors, EM-plants, etc. this is way too expensive. And that item always has to be there, just so you can detect that it was used. It's also annoying to either have it all sit in the landig pad or make some buffer chest setup and build circuitry to compare stock to desired amounts and then send the actual request to the landing pad.
I have done that for 800 hours and it is not an approachable way to do things.

One mor ebad thing about buffers: When you could need that item in space, you now would have to send it back up again, when you could have simply stored it in space to begin with.

It gets even worse when you want to build several of one thing in short succession.
Then you have to always buffer more of each. Otherwise they are sent down 1 at a time. And each one that was sent down to satisfy the buffer is again not useable.

So you will have 10s of EM-Plants just sitting on each surface, when you might as well just store them in space and drop them when you actually need them, whenever the automall in space rolls around.

It's like there was a hidden condition for each and every logistic chest that items can only be taken out of it if there are at least 10 of it inside. Not only is it very unintuitive it's also plain inefficient.
Post Reply

Return to “Ideas and Suggestions”