Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anchored pipe sprite layers. #34129

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

Alpaccalypse
Copy link
Contributor

@Alpaccalypse Alpaccalypse commented Dec 30, 2024

About the PR

Resolves #33495. Displays bolted brackets when pipes are anchored.

Why / Balance

Visual feedback for anchored vs. unanchored sprites. Unanchored pipes are almost identical to anchored; when in place, it can be very hard to tell if individual pipe sections are unanchored, in a pipe network. This should make it much more obvious to the player, while maintaining a minimalist aesthetic to the pipe sprites.

Technical details

Allows a single brace and rivet sprite layer to be overlayed onto each anchored pipe type.

Media

Anchored pipe appearance:
pipeStraightAnchoredDemo
pipeBendAnchoredDemo
pipeTJunctionAnchoredDemo
pipeFourwayAnchoredDemo

In-game example:
2025-1-11_21 29 01

With painted and unanchored pipes:
2025-1-11_21 40 29

Requirements

Bugs

  • (Minor/Subjective): Two straight pipes anchored crossways cause brackets look odd, as they appear bolted onto the opposing pipe.

Changelog
Cosmetic, though relatively significant for atmos gameplay. Presumably no changelog needed.

@github-actions github-actions bot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. Changes: No C# Changes: Requires no C# knowledge to review or fix this item. Changes: Sprites Changes: Might require knowledge of spriting or visual design. size/S Denotes a PR that changes 10-99 lines. labels Dec 30, 2024
Copy link
Contributor

github-actions bot commented Dec 30, 2024

RSI Diff Bot; head commit 2ee0fc0 merging into 4acfec8
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Structures/Piping/Atmospherics/pipe.rsi

State Old New Status
pipeBendAnchored Added
pipeFourwayAnchored Added
pipeHalfAnchored Added
pipeStraightAnchored Added
pipeTJunctionAnchored Added

Edit: diff updated after 2ee0fc0

@Alpaccalypse
Copy link
Contributor Author

Alpaccalypse commented Dec 30, 2024

It is annoying that a different sprite/alignment is needed for some pipes, or this could just be added to the pipeConnector.png and I assume would just work, without needing any extra code. Note: the actual "anchored sprite appearance" will include the finished pipeConnector ends, despite what the media showcase shows.

Right now I'm tacking down how that actually works, as I assume using a similar method would be the best way to implement the anchoring functionality for these layers, into the game. I assume a Visualizer component for related entities in pipes.yml would also work, though so far, I've struggled to get this working using anchoring as a state.

@slarticodefast
Copy link
Member

You can simply use a GenericVisualizer to get the sprite change working, no C# needed.
See #33810

@Alpaccalypse
Copy link
Contributor Author

Alpaccalypse commented Dec 30, 2024

You can simply use a GenericVisualizer to get the sprite change working, no C# needed. See #33810

Thanks so much, that was exactly what I was looking for and couldn't work out for myself. You saved me a lot of head scratching.

@Alpaccalypse
Copy link
Contributor Author

Alpaccalypse commented Dec 30, 2024

Well I uploaded a working version of the pipe.yml, but not sure it is quite right.

I was hoping I could get visible: true working, as with the gas cannisters, but it wouldn't work, just displayed the anchored version for true of false. It seems to me like the uploaded version is putting down a second layer of the default pipe sprite when unanchored, but I may be misinterpreting how Visualizer layers work. It certainly seems to WAI in the game at least.

@Alpaccalypse
Copy link
Contributor Author

Alpaccalypse commented Dec 30, 2024

It appears the zfighting bug I identified is unique to the test environment. Opon map loading, or anchoring/constructing a new pipe, the game correctly picks one pipe and bolt as the top layer.

Assuming that I have somehow implemented the GenericVisualizer correctly, I suppose this is actually ready for review and a potential merge. Testing seems to have everything WAI in all circumstances I could think of.

@Alpaccalypse Alpaccalypse marked this pull request as ready for review December 30, 2024 20:00
@Alpaccalypse Alpaccalypse changed the title Anchored pipe sprite layers, to distinguish from unanchored pipes. Anchored pipe sprite layers. Dec 30, 2024
@beck-thompson beck-thompson added P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. T: New Feature Type: New feature or content, or extending existing content D3: Low Difficulty: Some codebase knowledge required. S: Needs Review Status: Requires additional reviews before being fully accepted A: Art Area: Art with no implications for other areas. A: Engineering Area: Engineering department, including Atmospherics. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Dec 30, 2024
Copy link
Member

@UbaserB UbaserB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the concept a lot, but there's a couple small issues.
Firstly, the 'screws' (as in, individual bordered pixels on the sides) should be less separated from the sheet of metal wrapping over the pipe in terms of contrast, not position. Also make sure it's not to the point of fully looking like a part of the sheet.

Second issue is during 3-4 way pipe intersections. The contrast is way too intense as compared to the 1-2 way ones, and it's simply jarring to see. Takes up too much attention on the screen and it should be similar to the others.

@UbaserB UbaserB added S: Awaiting Changes Status: Changes are required before another review can happen and removed S: Needs Review Status: Requires additional reviews before being fully accepted labels Jan 10, 2025
@Alpaccalypse
Copy link
Contributor Author

Thank for the feedback, both seem like fair points to me. I'll do a revision to address this and post an update.

@Emisse
Copy link
Contributor

Emisse commented Jan 10, 2025

feels visually messy to me

@Emisse
Copy link
Contributor

Emisse commented Jan 10, 2025

brackets should probably stick out from the sides of the pipe less

@Alpaccalypse
Copy link
Contributor Author

I was on the fence about how much they should stick out. I think if I follow Ubasers advice about contrast, it will allow them to be pulled back in without merging too much with the pipe outline.

@Alpaccalypse
Copy link
Contributor Author

Updated pipes to pull focus less, and blend in better. Have also shortened brackets slightly for straight and corner pipes, without losing too much fidelity I think.

image
image

@Alpaccalypse
Copy link
Contributor Author

Before
2024-12-30_18 08 41

@Alpaccalypse
Copy link
Contributor Author

After (too subtle?)
2025-1-11_22 03 28

@Alpaccalypse Alpaccalypse requested a review from UbaserB January 11, 2025 22:11
@github-actions github-actions bot added S: Needs Review Status: Requires additional reviews before being fully accepted and removed S: Awaiting Changes Status: Changes are required before another review can happen labels Jan 11, 2025
@Alpaccalypse
Copy link
Contributor Author

Had a go at trying to make the Fourway/TJunction brackets less dominating. Problem is, reducing the width leaves very little room for any filler, it's all outline needed for definition. Stil, might be of interest. Am basically pre-empting queries.
pipeFourwayAnchoredv2

@Emisse
Copy link
Contributor

Emisse commented Jan 30, 2025

sticks out too far on the sides and interrupting the color every tile makes it feel very visually messy. Not sure how I would go about this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: Art Area: Art with no implications for other areas. A: Engineering Area: Engineering department, including Atmospherics. Changes: No C# Changes: Requires no C# knowledge to review or fix this item. Changes: Sprites Changes: Might require knowledge of spriting or visual design. D3: Low Difficulty: Some codebase knowledge required. P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. S: Needs Review Status: Requires additional reviews before being fully accepted size/S Denotes a PR that changes 10-99 lines. T: New Feature Type: New feature or content, or extending existing content
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make anchored pipes visibly different
5 participants