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

Atmospheric alerts computer #25938

Merged
merged 12 commits into from
Sep 5, 2024

Conversation

chromiumboy
Copy link
Contributor

About the PR

This PR makes the alerts computer functional. This console displays actively triggered air and fire alarms on a map.

Why / Balance

Atmos could use some more tools to track down air leaks and fires.

Technical details

AtmosAlertsComputerSystem.cs handles the bulk of the work. Once a second it updates a list of air and fire alarms on each grid, and passes these lists to each alerts computer. This data is used to update the appearance of the computers based on the highest alert level for that grid. If the computer is being used, it passes the relevant alarm data to the bound UI for reporting.

Media

The atmospheric alerts console in action

Screenshot
alerts-computer

  • I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

None

Changelog

🆑

  • add: The atmospheric alert computers are now functional! Use them to locate active air and fire alarms on the station.

@chromiumboy chromiumboy requested a review from Partmedia as a code owner March 9, 2024 06:30
@github-actions github-actions bot added Changes: UI Changes: Might require knowledge of UI design or code. S: Needs Review Status: Requires additional reviews before being fully accepted labels Mar 9, 2024
@UbaserB
Copy link
Member

UbaserB commented Mar 9, 2024

Instead of being a dot, can it fill in the room it is assigned with in a certain colour based on the status?

@chromiumboy
Copy link
Contributor Author

chromiumboy commented Mar 9, 2024

Instead of being a dot, can it fill in the room it is assigned with in a certain colour based on the status?

Possibly. Haven't looked into it though. It'd also be a lot of work

@CyberDuck-Git
Copy link
Contributor

Is remote gas control included?

@chromiumboy
Copy link
Contributor Author

Is remote gas control included?

Nope. It just shows the active alarms, and air alarms also show you a summary of their atmospheric readings

@lzk228
Copy link
Contributor

lzk228 commented Mar 11, 2024

will atmos pipe map be included?

@chromiumboy
Copy link
Contributor Author

will atmos pipe map be included?

Not on this console; I plan to have the pipe net on its own console (the atmospheric monitoring console). This will also display atmos devices, such as gas pumps and thermo regulators, and the current statuses of these devices (e.g. if they are on or off, gas flow rates, set temperature)

@chromiumboy chromiumboy marked this pull request as draft April 6, 2024 19:24
@chromiumboy
Copy link
Contributor Author

Converting this to draft. Decided to wait for my nav map region PRs to be finished/merged so this console can display air alarm sensor coverage

@Emisse
Copy link
Contributor

Emisse commented May 10, 2024

Closed due to feature freeze May 10th-June 14th. Comment to have it reopen after this.

@Emisse Emisse closed this May 10, 2024
@JIPDawg
Copy link
Contributor

JIPDawg commented Aug 15, 2024

Converting this to draft. Decided to wait for my nav map region PRs to be finished/merged so this console can display air alarm sensor coverage

Since your navmaps PR got merged, are you still working on this? If not would it be ok if I yoinked it and just PR'd as is?

@chromiumboy
Copy link
Contributor Author

Re-opening the PR :)

@chromiumboy chromiumboy marked this pull request as ready for review August 30, 2024 02:51
@deepdarkdepths
Copy link
Contributor

YAY!!!!

@JIPDawg
Copy link
Contributor

JIPDawg commented Aug 30, 2024

YAY INDEED

@ArtisticRoomba
Copy link
Contributor

every atmos player is jumping for joy I can tell you that right now
this will also be huge for AI, allowing it to deal with atmospheric faults and events with little to no human intervention (once the AI interaction component gets added to more stuff, passing MVP)

@ArtisticRoomba
Copy link
Contributor

Instead of being a dot, can it fill in the room it is assigned with in a certain colour based on the status?

would be cool, but I feel that would be too complicated and you'd get a lot of misreporting
air alarms handle their respective vents and filters, sometimes an air alarm is placed in another room to monitor and control the atmosphere of another room remotely (science xenoarch chambers, atmos burn chambers)

it would be a HUGE boost of information if we could see smaller dots that represent the various scrubbers and vents linked to said air alarm, and their statuses represented by color, this would give us a good idea as to how far an atmos emergency has spread

an even BIGGER absolutely MASSIVE bonus along with this is to indicate the position of firelocks via thin boxes on the map and whether they are open, closed, or locked (green, yellow, or red). this would give atmos an even better picture of how far a spacing or tritfire has spread, and to call it out/respond accordingly

@chromiumboy
Copy link
Contributor Author

Instead of being a dot, can it fill in the room it is assigned with in a certain colour based on the status?

would be cool, but I feel that would be too complicated and you'd get a lot of misreporting air alarms handle their respective vents and filters, sometimes an air alarm is placed in another room to monitor and control the atmosphere of another room remotely (science xenoarch chambers, atmos burn chambers)

it would be a HUGE boost of information if we could see smaller dots that represent the various scrubbers and vents linked to said air alarm, and their statuses represented by color, this would give us a good idea as to how far an atmos emergency has spread

an even BIGGER absolutely MASSIVE bonus along with this is to indicate the position of firelocks via thin boxes on the map and whether they are open, closed, or locked (green, yellow, or red). this would give atmos an even better picture of how far a spacing or tritfire has spread, and to call it out/respond accordingly

I actually considered both of these ideas during development. I decided against mapping the firelocks because there are just so many (even moderately sized stations have hundreds) and it would more than double the amount of server overhead because of all the entities you have to query. I also considered having the atmos vents/sensors appear on the map, just as you said, but again it adds more overhead on the server. I also liked the idea of withholding at least some information from the players. They know roughly where the problem is, and what sort of problem they face, but will need to investigate in person to determine the extent of the issue

@ArtisticRoomba
Copy link
Contributor

I agree. Good to see atmos getting some love and foundation, thank you!

@chavonadelal
Copy link
Contributor

Instead of being a dot, can it fill in the room it is assigned with in a certain colour based on the status?

would be cool, but I feel that would be too complicated and you'd get a lot of misreporting air alarms handle their respective vents and filters, sometimes an air alarm is placed in another room to monitor and control the atmosphere of another room remotely (science xenoarch chambers, atmos burn chambers)
it would be a HUGE boost of information if we could see smaller dots that represent the various scrubbers and vents linked to said air alarm, and their statuses represented by color, this would give us a good idea as to how far an atmos emergency has spread
an even BIGGER absolutely MASSIVE bonus along with this is to indicate the position of firelocks via thin boxes on the map and whether they are open, closed, or locked (green, yellow, or red). this would give atmos an even better picture of how far a spacing or tritfire has spread, and to call it out/respond accordingly

I actually considered both of these ideas during development. I decided against mapping the firelocks because there are just so many (even moderately sized stations have hundreds) and it would more than double the amount of server overhead because of all the entities you have to query. I also considered having the atmos vents/sensors appear on the map, just as you said, but again it adds more overhead on the server. I also liked the idea of withholding at least some information from the players. They know roughly where the problem is, and what sort of problem they face, but will need to investigate in person to determine the extent of the issue

What do you think about adding a display of fire gates, but only activated ones? The load on the server will not be so great, and it will be much clearer which place is isolated (ie there is no oxygen there)

@chromiumboy
Copy link
Contributor Author

What do you think about adding a display of fire gates, but only activated ones? The load on the server will not be so great, and it will be much clearer which place is isolated (ie there is no oxygen there)

Not entirely opposed to the idea, but I'd wait and see how the console fairs as is before making further changes

@deathride58 deathride58 added the S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure. label Sep 1, 2024
// Load fonts
var headerFont = new VectorFont(_cache.GetResource<FontResource>("/Fonts/NotoSans/NotoSans-Bold.ttf"), 11);
var normalFont = new VectorFont(_cache.GetResource<FontResource>("/Fonts/NotoSansDisplay/NotoSansDisplay-Regular.ttf"), 11);
var smallFont = new VectorFont(_cache.GetResource<FontResource>("/Fonts/NotoSans/NotoSans-Regular.ttf"), 10);
Copy link
Member

Choose a reason for hiding this comment

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

we know this is in-line with existing code in the codebase and all, but good LORD it'd be nice to descrunklify this

@deathride58 deathride58 merged commit 63ba0f6 into space-wizards:master Sep 5, 2024
33 checks passed
@chromiumboy chromiumboy deleted the atmos-alerts-computer branch September 5, 2024 04:16
@Moomoobeef
Copy link
Contributor

Moomoobeef commented Sep 5, 2024

holy shit, mate saw the mock-up I made and actually went and made the thing. 👍
edit: Actually I think the PR started before my mockup was made by multiple months 💀
Still exciting though

@superjj18
Copy link
Contributor

superjj18 commented Sep 6, 2024

Finally the bridge is 99% feature complete(damn medical records terminal)

Absolutely amazing, now when arrivals gets pumped up to 500 degrees Celsius we can actually react and warn people about it before 5 people receive 1600 burn damage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: UI Changes: Might require knowledge of UI design or code. S: Needs Review Status: Requires additional reviews before being fully accepted S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.