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

[No Hope] Hope for No Hope #73268

Merged
merged 19 commits into from
May 11, 2024
Merged

Conversation

Procyonae
Copy link
Contributor

@Procyonae Procyonae commented Apr 25, 2024

Summary

Mods "[No Hope] Adds a difficulty setting prompt to determine item spawn rates"

Purpose of change

In it's current state No Hope is falling behind vanilla mapgen while also causing errors on alot of PRs touching existing mapgen due to No Hope's duped versions of vanilla maps that often share vanilla palettes or vice versa, adding extra work in a demotivating way after you think you're done.
This would be fine if No Hope had an active maintainer and this was the only way for the mod to work but the vast majority of changes are just to vehicles which are now overridden by an external option, and item spawn rates which Night added code to deal with but never reached it to the mod.
TLDR No Hope is currently unmaintainable

Describe the solution

Item category spawn rates can be overridden via EoCs.
Adds a difficulty selection EoC to game start (and load for existing saves) that sets them.
Deletes most of No Hopes altered mapgen that since being added has better alternatives. (I went through all the maps in 2 passes to check for intentional changes that aren't vehicle/item spawn rate related)
Reorganises various files including the necropolis files whose vanilla versions were just shoved in a folder rather than distributed into appropriate places.
Reenables the necropolis because whoever moved it to No Hope forgot to do so.
Changes the house palette distribution in favour of messy damaged houses.
Adds various comments explaining differences between remaining duped mapgen and their vanilla counterparts as well as adding various TODOs to the mod's files in general.

Describe alternatives you've considered

I'm not very happy with splitting the rates into their own struct I were just having problems otherwise, if someone smarter wants to review it that'd be welcome

Testing

Changed a difficulty to 0 in all the categories, got expected patchy results of some mapgen spawning no items in those categories while others using item placement methods not currently supported by the category spawn rates like "(place_)loot" spawning regular rates.
The EoC takes place early enough that the initial reality bubble is affected.

Additional context

I could well have missed some purposeful changes to mapgen due to the sheer volume, if you're aware of any intentional differences that I'm deleting please comment below.

The item category spawn stuff doesn't cover all our item spawn methods and needs expanding on but I don't view that as a blocker when noone's going to work on it otherwise and this problem will just linger. Outside of basic mapgen item placement methods the main two specific regressions are fuel pumps and turret ammo.

I plan on doing a few follow up PRs to give some love to No Hope to hopefully make up for the temporary regression and I'll also take a crack at expanding the spawn rate usage in the code to more relevant places.

#70522 would still be nice for the remaining maps

@github-actions github-actions bot added <Documentation> Design documents, internal info, guides and help. NPC / Factions NPCs, AI, Speech, Factions, Ownership [JSON] Changes (can be) made in JSON Mods Issues related to mods or modding [C++] Changes (can be) made in C++. Previously named `Code` [Markdown] Markdown issues and PRs Items: Ammo / Guns Ammunition for all kinds of weapons and these weapons themselves Mods: No Hope Relating to the mod No Hope labels Apr 25, 2024
@GuardianDll
Copy link
Member

i think no hope makes/tries to make maps more destroyed and less full of furniture, but i think it also can be resolved in a better way, like changing the weight of some pallets

@Procyonae
Copy link
Contributor Author

Procyonae commented Apr 25, 2024

i think no hope makes/tries to make maps more destroyed and less full of furniture, but i think it also can be resolved in a better way, like changing the weight of some pallets

For the house palette it should already be changing the variant weights but I haven't found whether it currently is or not yet otherwise I'll add it.
For damaged/looted etc map variants with their own palettes I previously added functionality so you can alter vanilla weights with mods so they won't need duped maps and I'll try to add relevant ones.
For other maps ideally we'd have vanilla damaged versions of the palettes/maps and it would do a similar thing, if I notice any well done ones I'll port them over to vanilla.

@I-am-Erk
Copy link
Member

i think no hope makes/tries to make maps more destroyed and less full of furniture, but i think it also can be resolved in a better way, like changing the weight of some pallets

we could possibly do it by scattering more "smash things up" map extras around the world at high frequency

@Procyonae
Copy link
Contributor Author

we could possibly do it by scattering more "smash things up" map extras around the world at high frequency

Eh that's really messy and we want variable damage for vanilla anyway, I'd rather it just ramps up the vanilla versions

@I-am-Erk
Copy link
Member

we could possibly do it by scattering more "smash things up" map extras around the world at high frequency

Eh that's really messy and we want variable damage for vanilla anyway, I'd rather it just ramps up the vanilla versions

Well yes, that's the better solution but I thought you were fixing a mod. We prefer to do messy hacks with mods, sirrah

@MNG-cataclysm
Copy link
Contributor

Is Night Pyranik no longer maintaining or working on No Hope? I thought that they were actively developing it.

@Kantonine
Copy link
Contributor

Can't wait for this! The big reason why i stepped away from no-hope was the fact that the wider mapgen was screwed up, leading to incosistencies for urban and rural mapgen

@Procyonae
Copy link
Contributor Author

Procyonae commented Apr 29, 2024

Is Night Pyranik no longer maintaining or working on No Hope? I thought that they were actively developing it.

Night's last No Hope PR was in June, there was some drama around a few of their mainline PRs being rejected since which they've mainly stopped work on CDDA. They also just generally aren't active on github atm.
Relevant PR - #64618 (I also just realised my title coincidently plays on the first comment here ;D)
I'll still be looking for Night's input before this merges like I'm just waiting on getting it to a mergeable point first

@github-actions github-actions bot added Bionics CBM (Compact Bionic Modules) Map / Mapgen Overmap, Mapgen, Map extras, Map display Vehicles Vehicles, parts, mechanics & interactions Monsters Monsters both friendly and unfriendly. Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Lore Game lore, in-game communication. Also the Lore tab. labels Apr 30, 2024
@github-actions github-actions bot added json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions labels May 2, 2024
@Procyonae
Copy link
Contributor Author

@Night-Pryanik This is mostly done other than testing and I'd appreciate any feedback you have as well as whether you're aware of any intentional map changes I missed.

@Night-Pryanik
Copy link

@Procyonae I'm not involved in the mod development anymore so you are free to do whatever you think appropriate for it. If you think your changes are fine, they are fine.

@Procyonae
Copy link
Contributor Author

Unfortunately, I'm not doing well. Yesterday I lost my father to cancer.

My condolences, if talking to some random peep on the internet would help at any point then my discord dms are open.

@github-actions github-actions bot removed the BasicBuildPassed This PR builds correctly, label assigned by github actions label May 5, 2024
@Procyonae Procyonae force-pushed the HopeForNoHope branch 2 times, most recently from 9083722 to cbc92e7 Compare May 7, 2024 13:16
@Procyonae
Copy link
Contributor Author

Procyonae commented May 7, 2024

Tests are hanging seemingly on overmap_terrain_coverage but I can't figure out why
Edit: Naturally it passed this time to spite me
Edit2: I can't even repro this since my last rebase and idk why anything I touched would be causing issues with the vanilla overmap_terrain_coverage run

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label May 8, 2024
@I-am-Erk I-am-Erk merged commit 4e0fe1a into CleverRaven:master May 11, 2024
23 of 27 checks passed
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 Bionics CBM (Compact Bionic Modules) [C++] Changes (can be) made in C++. Previously named `Code` <Documentation> Design documents, internal info, guides and help. 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 Lore Game lore, in-game communication. Also the Lore tab. Map / Mapgen Overmap, Mapgen, Map extras, Map display [Markdown] Markdown issues and PRs Mods: No Hope Relating to the mod No Hope Mods Issues related to mods or modding Monsters Monsters both friendly and unfriendly. NPC / Factions NPCs, AI, Speech, Factions, Ownership Vehicles Vehicles, parts, mechanics & interactions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants