Request: more access to render layers (e.g. loaders)

Place to ask discuss and request the modding support of Factorio. Don't request mods here.
User avatar
Deadlock989
Smart Inserter
Smart Inserter
Posts: 2529
Joined: Fri Nov 06, 2015 7:41 pm

Request: more access to render layers (e.g. loaders)

Post by Deadlock989 »

Is it possible we could have write access to the render layers of machine-like entities? I'm having difficulties in designing sprites that connect, because loaders seem to be on a different layer to furnaces and no amount of jiggerypokery lets them overlap nicely. Loaders are always drawn underneath other non-belt entities. My only recourse was to have gaps between everything and because of the way perspective works in Factorio, it just looks wrong (but better than overlapping badly):

Image

Rseding91
Factorio Staff
Factorio Staff
Posts: 14152
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: Request: more access to render layers (e.g. loaders)

Post by Rseding91 »

Different entities have multiple layers they use internally so you're not likely to ever get a perfectly connecting set of layers between different entity types working even if they did have modable layers.

Changing layers also messes with sprite batching which reduces game performance.
If you want to get ahold of me I'm almost always on Discord.

User avatar
Deadlock989
Smart Inserter
Smart Inserter
Posts: 2529
Joined: Fri Nov 06, 2015 7:41 pm

Re: Request: more access to render layers (e.g. loaders)

Post by Deadlock989 »

Is it possible then that underground belts and loaders could be put on the same layer as other "machines" with a vertical aspect like assemblers, furnaces, etc? They seem to be on the same layer as belts, which makes sense as they are clearly belt-like, but belts are flat on the ground. Underneathies and loaders are boxy, solid things, not flat. It looks bad when shadows from other objects, or even the objects themselves, draw on top of them. I get that this is "just cosmetic" but personally, having factories look pleasing to the eye is about 25% of the considerable pleasure I get from playing.

User avatar
Therax
Filter Inserter
Filter Inserter
Posts: 471
Joined: Sun May 21, 2017 6:28 pm
Contact:

Re: Request: more access to render layers (e.g. loaders)

Post by Therax »

Deadlock989 wrote:Is it possible then that underground belts and loaders could be put on the same layer as other "machines" with a vertical aspect like assemblers, furnaces, etc? They seem to be on the same layer as belts, which makes sense as they are clearly belt-like, but belts are flat on the ground. Underneathies and loaders are boxy, solid things, not flat. It looks bad when shadows from other objects, or even the objects themselves, draw on top of them. I get that this is "just cosmetic" but personally, having factories look pleasing to the eye is about 25% of the considerable pleasure I get from playing.
A workaround I am using in Bulk Rail Loaders is to have my functional entities have no sprites, and to create "simple-entity" or "simple-entity-with-force" entities with custom render_layer in the same location using scripting. It's not ideal for entity count and hence performance, but it's something to consider.
Miniloader — UPS-friendly 1x1 loaders
Bulk Rail Loaders — Rapid train loading and unloading
Beltlayer & Pipelayer — Route items and fluids freely underground

User avatar
Deadlock989
Smart Inserter
Smart Inserter
Posts: 2529
Joined: Fri Nov 06, 2015 7:41 pm

Re: Request: more access to render layers (e.g. loaders)

Post by Deadlock989 »

Therax wrote:A workaround I am using in Bulk Rail Loaders is to have my functional entities have no sprites, and to create "simple-entity" or "simple-entity-with-force" entities with custom render_layer in the same location using scripting. It's not ideal for entity count and hence performance, but it's something to consider.
Thanks, I hadn't thought of that.

Though the fact that people are going to those performance-affecting lengths to do it seems to reinforce that it's a wanted thing.

Post Reply

Return to “Modding interface requests”