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

Adds Oil Platform specials to spawn in the ocean #73469

Merged
merged 18 commits into from May 15, 2024

Conversation

Peakwastaken
Copy link
Contributor

@Peakwastaken Peakwastaken commented May 3, 2024

Summary

Content "Adds a new globally unique special to spawn in the ocean : an Oil Platform !"

Purpose of change

The ocean is completely devoid of content right now, and I understand it might make it very unappealing to work on before anything is actually there to make people interested in going there, so I figured I'd get the machine rolling while trying my hands at doing some mapping for CDDA !

Describe the solution

This special is UNIQUE with a 5% chance of spawning per overmap, I tried using check_for_locations to prevent it from spawning to close to the short with no luck, so city_distance is what's kind of doing that for now.

It features mostly industrial loot (Tools, electronics, work/diving clothes, heavy machinery, solar pannels), as well as quite a few skill books, medicine, food, some chemistry ingredients, and the potential for 55gal drums containing various fuel, as well as a catalytic cracking reactor and newly added crude oil (which I'd like to make a recipe to turn into fuel with the reactor in the future). It also has a catalytic cracking reactor in the lab section !

There's a 20% chance for a helicopter spawn on the helipad, which might be a wreck (from the "helicopters" spawn group), and four 10% chance for single motor boat spawns by the pillars on the water. There's also up to three inflatable boats floating down below the emergency dockings on the east side.

Besides the most common types of zombies, It is mostly populated by zombie/feral mechanics or crewmen, swimmer zombies, and there are small chances of zapper/gasoline zombies to spawn. For the latter, there are four hardcoded locations with 5% chance of spawning, and some further chances in the zombie group a week in. Figured it'd work well thematically and could be interesting as either a boon or a bane depending on how you handle it.

I tried to stick as best as I could to what an oil platform could look like by doing quite a bit of research, the only thing I really skirted around was for the plume; a chimney that usually extends quite a ways out over the ocean to burn excess gas. I didn't want there to be somewhere you could just easily walk to and attract all the zombies to take a dive so easily, so it mostly goes up in height.

I went with a gravity based structure, the supporting pillars extending all the way to the bottom of the ocean, because I'd like, in a potential follow up, leave some room to add a small chance of it having a submerged hidden lab kind of thing in the concrete slab at the bottom. Such pillars usually are used to house piping that'd connect to underwater pipe-lines, so I figured it'd be good like this for now anyways ! Plus it makes it easier to justify every bit of piping that runs along the platform, which i've tried to do as best as possible.

Describe alternatives you've considered

  • As said above, adding a chance for a hidden submerged lab to be connected to the pillars going down - probably for a new project if it seems like a good idea.

  • Adding ramps instead of stairs to the various walkways - seemed like idle zombies liked to kill themselves by walking up and dropping back down.

  • Making it bigger and globally_unique, but I'd rather have both if possible !

  • Adding even more chances for gasoline zombies to spawn as time progresses.

Testing

Spawning in a new world, teleporting to the ocean, seems to spawn fine.

Going around to see if I've made any mistakes, fixed all the ones I could see.

Additional context

Screenshots with explanation : https://imgur.com/a/PHeXLWv

Otherwise :
Screenshot 2024-05-03 000639
Screenshot 2024-05-03 000654
Screenshot 2024-05-03 000718
Screenshot 2024-05-03 000731
Screenshot 2024-05-03 000755
Screenshot 2024-05-03 000810

<!-- HOW TO USE: Under each "#### Heading" below, enter information relevant to your pull request.
Leave the headings unless they don't apply to your PR.

Please read carefully and don't delete the comments delimited by "< !--" and "-- >"
Once a pull request is submitted, automatic stylistic and consistency checks will be performed on the PR's changes.
The results of these can be either seen under the "Files changed" section of a PR or in the check's details.

Rules for suggested pull requests:
- If possible, limit yourself to small changes, 500 strings at max. Exceptions are adding or changing maps, and changes, that won't work unless they are done in a single run (even then there can be ways) - violating it puts a lot of unnecessary work on our merge team.
- Do not scope creep. If you make a pull request "Add new gun", please do not make anything more than adding the gun and following changes, like changing the stats of the gun, removing another guns from itemgroups or tweaking zombie horse stats - violating it makes future search and debugging stuff much harder, since PR name is not related to what is changed in the game. "Who the hell removed the quest item from drop in location X in PR, that adds a new plushie" - may be a quote from a person who was affected by scope creep
- Do not make omnibus PRs. Meaning do not make a single PR, that fixes ten different, not related issues, at once, even if they are all one string - same as previously mentioned scope creep, it doesn't help to search the changes when debugging, despite all power of git blame tool

NOTE: Please grant permission for repository maintainers to edit your PR.  It is EXTREMELY common for PRs to be held up due to trivial changes being requested and the author being unavailable to make them. -->

#### Summary
Content "Adds a new Special, Oil Platforms, to spawn in the ocean."
<!-- This section should consist of exactly one line, edit the one above.
1. Replace the word "Category" with one of these words: Features, Content, Interface, Mods, Balance, Bugfixes, Performance, Infrastructure, Build, I18N.
2. Replace the text inside the quotes with a brief description of your changes.
Or if you don't want a changelog entry, replace the whole line with just the word "None" (with no quotes).
For more on the meaning of each category, see:
https://github.com/CleverRaven/Cataclysm-DDA/blob/master/doc/CHANGELOG_GUIDELINES.md
If approved and merged, your summary will be added to the project changelog:
https://github.com/CleverRaven/Cataclysm-DDA/blob/master/data/changelog.txt -->

#### Purpose of change
The ocean is completely devoid of content right now, and I understand it might make it very unappealing to work on before anything is actually there to make people interested in going there, so I figured I'd get the machine rolling while trying my hands at doing some mapping for CDDA !
<!-- With a few sentences, describe your reasons for making this change.
If it relates to an existing issue, you can link it with a # followed by the GitHub issue number, like CleverRaven#1234.
When you submit a pull request that completely resolves an issue, use [Github's closing keywords](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue)
to automatically close the issue once your pull request is merged.
If there is no related issue, explain here what issue, feature, or other concern you are addressing.  If this is a bugfix, include steps to reproduce the original bug, so your fix can be verified. -->

#### Describe the solution
This special is UNIQUE with a 5% chance of spawning per overmap, I tried using check_for_locations to prevent it from spawning to close to the short with no luck, so city_distance is what's kind of doing that for now.

It features mostly industrial loot  (Tools, electronics, work/diving clothes, heavy machinery, solar pannels), as well as quite a few skill books, medicine, food, some chemistry ingredients, and the potential for 55gal drums containing various fuel, as well as newly added crude oil (which I'd like to make a recipe to turn into fuel with a catalytic cracking reactor in the future).

There's a 20% chance for a helicopter spawn on the helipad, which might be a wreck (from the "helicopters" spawn group), and four 10% chance for single motor boat spawns by the pillars on the water. There's also up to three inflatable boats floating down below the emergency dockings on the east side.

Besides the most common types of zombies, It is mostly populated by zombie/feral mechanics or crewmen, swimmer zombies, and there are small chances of zapper/gasoline zombies to spawn. For the latter, there are four hardcoded locations with 5% chance of spawning, and some further chances in the zombie group a week in. Figured it'd work well thematically and could be interesting as either a boon or a bane depending on how you handle it.

I tried to stick as best as I could to what an oil platform could look like by doing quite a bit of research, the only thing I really skirted around was for the plume; a chimney that usually extends quite a ways out over the ocean to burn excess gas. I didn't want there to be somewhere you could just easily walk to and attract all the zombies to take a dive so easily, so it mostly goes up in height.

I went with a gravity based structure, the supporting pillars extending all the way to the bottom of the ocean, because I'd like, in a potential follow up, leave some room to add a small chance of it having a submerged hidden lab kind of thing in the concrete slab at the bottom. Such pillars usually are used to house piping that'd connect to underwater pipe-lines, so I figured it'd be good like this for now anyways ! Plus it makes it easier to justify every bit of piping that runs along the platform, which i've tried to do as best as possible.

<!-- How does the feature work, or how does this fix a bug?  The easier you make your solution to understand, the faster it can get merged. -->

#### Describe alternatives you've considered

- As said above, adding a chance for a hidden submerged lab to be connected to the pillars going down - probably for a new project if it seems like a good idea.

- Adding ramps instead of stairs to the various walkways - seemed like idle zombies liked to kill themselves by walking up and dropping back down.

- Making it bigger and globally_unique, but I'd rather have both if possible !

- Adding even more chances for gasoline zombies to spawn as time progresses.

<!-- Explain any alternative solutions, different approaches, or possibilities you've considered using to solve the same problem. -->

#### Testing

Spawning in a new world, teleporting to the ocean, seems to spawn fine.

Going around to see if I've made any mistakes, fixed all the ones I could see.

<!-- Describe what steps you took to test that this PR resolved the bug or added the feature, and what tests you performed to make sure it didn't cause any regressions.  Also include testing suggestions for reviewers and maintainers. See TESTING_YOUR_CHANGES.md -->

#### Additional context

Screenshots : (I'm not sure if this'll work but I'll try)

<blockquote class="imgur-embed-pub" lang="en" data-id="a/PHeXLWv" data-context="false" ><a href="//imgur.com/a/PHeXLWv"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>

<!-- Add any other context (such as mock-ups, proof of concepts or screenshots) about the feature or bugfix here. -->

<!--README: Cataclysm: Dark Days Ahead is released under the Creative Commons Attribution ShareAlike 3.0 license.
The code and content of the game is free to use, modify, and redistribute for any purpose whatsoever.
By contributing to the project you agree to the term of the license and that any contribution you make will also be covered by the same license.
See http://creativecommons.org/licenses/by-sa/3.0/ for details. -->
@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Map / Mapgen Overmap, Mapgen, Map extras, Map display Spawn Creatures, items, vehicles, locations appearing on map Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. new contributor json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions labels May 3, 2024
@NetSysFire
Copy link
Member

While this is cool and all, all oil wells are incredibly far from the shore in real life, see https://en.wikipedia.org/wiki/Offshore_drilling_on_the_Atlantic_coast_of_the_United_States#North_Atlantic_coast - which shows that the nearest well is 190 km from the shore of Massachusetts. Plus those are all exploratory wells and do not appear to be active.

However, since a war is looming per ingame lore and war usually needs oil, maybe this can be tied into the lore. Yet that region is practically devoid of oil or gas reserves so that will be an additional problem.

@cainiaowu
Copy link
Contributor

How about some offshore wind farms and tidal wave generators? These things dont need to go out too far.

@Zireael07
Copy link
Contributor

I think this is a case of a slight break from reality being understandable IMHO

@github-actions github-actions bot removed the json-styled JSON lint passed, label assigned by github actions label May 3, 2024
@NetSysFire
Copy link
Member

I think this is a case of a slight break from reality being understandable IMHO

I disagree. There must be a lore reason why oil rigs suddenly spawn in an area without oil or even gas reserves.
Of course there can be slight deviations from reality but entire oil rigs coming out of nowhere?

@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label May 3, 2024
@Peakwastaken
Copy link
Contributor Author

While this is cool and all, all oil wells are incredibly far from the shore in real life, see https://en.wikipedia.org/wiki/Offshore_drilling_on_the_Atlantic_coast_of_the_United_States#North_Atlantic_coast - which shows that the nearest well is 190 km from the shore of Massachusetts. Plus those are all exploratory wells and do not appear to be active.

However, since a war is looming per ingame lore and war usually needs oil, maybe this can be tied into the lore. Yet that region is practically devoid of oil or gas reserves so that will be an additional problem.

Totally agree with this, but I figured it'd be okay to let that detail slide a little, for the reason you mentioned, and with the idea I had of adding a small chance of having a small lab at the bottom, if I ever get to it, I wanted to add some context in the computers hinting that DARPA (of course, unofficially XEDRA) also used those as fronts to study the effect of the blob on maritime life !

Besides, there are some offshore operation just a little north in the Atlantic, around nova scotia and Newfoundland, I personally don't think it's completely unreasonable, or at least contrary to the idea of verasimilitude, to think some deposits can be found in this area

@Zireael07
Copy link
Contributor

https://www.sj-r.com/story/news/2008/09/19/gas-not-oil-could-drive/45929505007/

https://ecori.org/2018-1-4-offshore-drilling-proposed-for-new-england/

seem to indicate some oil in the area

There was apparently also some searches for gas https://www.markey.senate.gov/news/press-releases/coastal-new-england-senators-introduce-bipartisan-offshore-drilling-ban

Though I agree that offshore wind is a very attractive proposition and IRL there's a current proposal for New England Wind around Martha's Vineyard

@NetSysFire
Copy link
Member

seem to indicate some oil in the area

which are uneconomic to actually exploit and this is the reason there are no active oil rigs there.

@fairyarmadillo
Copy link
Contributor

fairyarmadillo commented May 3, 2024

With just a bit of modification, this could be re-envisioned as a construction platform for an offshore wind farm: see https://www.fisheries.noaa.gov/new-england-mid-atlantic/science-data/offshore-wind-energy-development-new-england-mid-atlantic-waters or https://ctmirror.org/2024/03/27/ct-offshore-wind-park-city-avangrid-2/

image
Construction of the Block Island Wind Farm, RI

It could also, with a bit of imagination-stretching, be something like Big Shell from Metal Gear Solid 2, an offshore construction designed to contain an oil spill due to a shipping accident. The wind farm is more realistic though, and could also believably be a front for some dubious activities.

The wind farm idea also suggests its own followup: Occasional windmills at sea.

@Maleclypse
Copy link
Member

While this is cool and all, all oil wells are incredibly far from the shore in real life, see https://en.wikipedia.org/wiki/Offshore_drilling_on_the_Atlantic_coast_of_the_United_States#North_Atlantic_coast - which shows that the nearest well is 190 km from the shore of Massachusetts. Plus those are all exploratory wells and do not appear to be active.

However, since a war is looming per ingame lore and war usually needs oil, maybe this can be tied into the lore. Yet that region is practically devoid of oil or gas reserves so that will be an additional problem.

So Massachussets alone is 296km long. Not including the other five states of New England. So while 190km offshore is quite a ways it's not as far east as the player can go west if they were to start in Boston. Post Erk's ocean additions we have the ability to dictate how far east something starts appearing. So if we took the Mass Mod and figured out how many overmaps it is east to west and set these to start appearing in the ocean 1/2 that number of overmaps east of ocean start.

That may be quite a ways out into the ocean but it's definitely manageable and then they provide good quest locations for things. Not necessarily sci-fi things but hey every oil rig is a guaranteed source of catalytic cracking machinery.

Speaking of someone should add the catalytic cracker to this map.

@Peakwastaken
Copy link
Contributor Author

Peakwastaken commented May 3, 2024

Speaking of someone should add the catalytic cracker to this map.

I thought about doing it, should've put it in the alternatives section, but I figured that oil platforms aren't where things are processed so I was afraid it wouldn't make enough sense.

If you think it's a good idea, i could add a chance for one to spawn in the small lab or dedicate a room for it.

I was thinking that if I added it I'd have a computer with some logs of the people running the place seeing the world going to shit and ordering their scientists to try and build a makeshift reactor so they could be self-sustainable

@Maleclypse
Copy link
Member

Maleclypse commented May 3, 2024

Speaking of someone should add the catalytic cracker to this map.

I thought about doing it, should've put it in the alternatives section, but I figured that oil platforms aren't where things are processed so I was afraid it wouldn't make enough sense.

If you think it's a good idea, i could add a chance for one to spawn in the small lab or dedicate a room for it.

I was thinking that if I added it I'd have a computer with some logs of the people running the place seeing the world going to shit and ordering their scientists to try and build a makeshift reactor so they could be self-sustainable

So the research I found was that the main places catalytic crackers of player usable size are found is in oil resource extraction locations so that they can purify what they need to run the plant and to determine the yield of that particular field as it's makeup determines the value of the crude oil. So yes one or more rooms with catalytic cracking equipment makes sense

@NetSysFire
Copy link
Member

Since I have apparently not said this explicitely enough: You may also keep the current oil rig if you find a convincing lore reason for oil rigs suddenly popping up in the middle of nowhere where the oil reserves are quite sparse. XEDRA stuff sounds somewhat plausible but this might still be a bit of a stretch, but maybe you (plural you) have something else in mind.

@Maleclypse
Copy link
Member

Since I have apparently not said this explicitely enough: You may also keep the current oil rig if you find a convincing lore reason for oil rigs suddenly popping up in the middle of nowhere where the oil reserves are quite sparse. XEDRA stuff sounds somewhat plausible but this might still be a bit of a stretch, but maybe you (plural you) have something else in mind.

I missed that they were exploratory and failed. Hmm.

…the rope leading to the crane, replaced forklifts by trolleys, increased minimum city distance and liquid amount in containers
@github-actions github-actions bot added the Items: Ammo / Guns Ammunition for all kinds of weapons and these weapons themselves label May 5, 2024
…the rope leading to the crane, replaced forklifts by trolleys, increased minimum city distance and liquid amount in containers
…x it (Sorry, struggling a little with github here)
@Maleclypse
Copy link
Member

I spoke to Erk about this and he suggested we make it globally unique and Venera suggested using the same general shape but different insides to make a wind farm construction platform which I think someone else suggested as well above. But making it globally unique would solve the rarity issue and we can have missions that breadcrumb to it and also it leaves room for other globally unique variants like a Xedra platform out in the middle of the ocean without the player encountering a dozen of these guys. Sidenote this is a fantastic map you’ve made!

@ADekema
Copy link

ADekema commented May 5, 2024

I would like to add something about there not being any fuels on a oil platform. A lot of oil platforms are powered by diesel or other fossil fuel generators. So it would make sense to have a few generators and a LOT of assosiated fuel on the platform itself. Some platforms get thier power from the mainland but even in cases like this I would imagine that the platform would still have a few generators and associated fuel as a backup incase there is a blackout of the cables get damaged. A oilplatform without power seems like it would be very hazardous both to the enviroment and to the crew maning it.

I would also like to suggest a potential challenge scenario where you have to escape the platform and make it back to the mainland.

@Peakwastaken Peakwastaken marked this pull request as draft May 7, 2024 00:01
@Peakwastaken
Copy link
Contributor Author

I spoke to Erk about this and he suggested we make it globally unique and Venera suggested using the same general shape but different insides to make a wind farm construction platform which I think someone else suggested as well above. But making it globally unique would solve the rarity issue and we can have missions that breadcrumb to it and also it leaves room for other globally unique variants like a Xedra platform out in the middle of the ocean without the player encountering a dozen of these guys. Sidenote this is a fantastic map you’ve made!

Understood, sounds good that way ! I'm switching this to draft for now since if we make them globally unique then I'll probably switch z2 around a bit so that there's a canning area and it relies less on a would-be underwater pipe-line system which would make more sense if there were more of these out there - and I'm gonna be a little busy these next few days so it'll probably take up to a week to do so.

Thank you for all your feedback and help !

@Maleclypse
Copy link
Member

I spoke to Erk about this and he suggested we make it globally unique and Venera suggested using the same general shape but different insides to make a wind farm construction platform which I think someone else suggested as well above. But making it globally unique would solve the rarity issue and we can have missions that breadcrumb to it and also it leaves room for other globally unique variants like a Xedra platform out in the middle of the ocean without the player encountering a dozen of these guys. Sidenote this is a fantastic map you’ve made!

Understood, sounds good that way ! I'm switching this to draft for now since if we make them globally unique then I'll probably switch z2 around a bit so that there's a canning area and it relies less on a would-be underwater pipe-line system which would make more sense if there were more of these out there - and I'm gonna be a little busy these next few days so it'll probably take up to a week to do so.

Thank you for all your feedback and help !

Don't make it globally unique right now because we need to restructure how the overmap generation tests work to account for Ocean only specials. And until those tests are working we won't have reliable ways to see if this spawns correctly. I'll add the blacklist flags needed to this tomorrow or this weekend so it starts passing tests, but I think this is probably ready for merge and anything further you want to do can be set as variants in a future PR? Up to you though. :)

@Peakwastaken
Copy link
Contributor Author

Peakwastaken commented May 11, 2024

Don't make it globally unique right now because we need to restructure how the overmap generation tests work to account for Ocean only specials. And until those tests are working we won't have reliable ways to see if this spawns correctly. I'll add the blacklist flags needed to this tomorrow or this weekend so it starts passing tests, but I think this is probably ready for merge and anything further you want to do can be set as variants in a future PR? Up to you though. :)

Alright sounds fine ! I just switched the tanks leading to the generators from salt water to diesel, something I forgot to do and goes back to what Adekema said. They're a little hard to get to, and I didn't make them full-full so if players want some good usable fuel it'll take a bit of work to get to it.

Let me know when I can set it to globally unique and then we're good to go if there's no further requests !

@Maleclypse Maleclypse marked this pull request as ready for review May 14, 2024 03:19
@Maleclypse
Copy link
Member

Don't make it globally unique right now because we need to restructure how the overmap generation tests work to account for Ocean only specials. And until those tests are working we won't have reliable ways to see if this spawns correctly. I'll add the blacklist flags needed to this tomorrow or this weekend so it starts passing tests, but I think this is probably ready for merge and anything further you want to do can be set as variants in a future PR? Up to you though. :)

Alright sounds fine ! I just switched the tanks leading to the generators from salt water to diesel, something I forgot to do and goes back to what Adekema said. They're a little hard to get to, and I didn't make them full-full so if players want some good usable fuel it'll take a bit of work to get to it.

Let me know when I can set it to globally unique and then we're good to go if there's no further requests !

Hoping to merge it as is without being globally unique. It could take a significant amount of time before global unique works in the oceans so this is absolutely mergeable as is once tests pass. :)

@github-actions github-actions bot added the Code: Tests Measurement, self-control, statistics, balancing. label May 14, 2024
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label May 14, 2024
@Maleclypse Maleclypse merged commit 731bdaa into CleverRaven:master May 15, 2024
19 of 24 checks passed
@Maleclypse
Copy link
Member

This is excellent and I want to thank you for making it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions Code: Tests Measurement, self-control, statistics, balancing. Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Items: Ammo / Guns Ammunition for all kinds of weapons and these weapons themselves [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Map / Mapgen Overmap, Mapgen, Map extras, Map display new contributor Spawn Creatures, items, vehicles, locations appearing on map
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants