-
-
Notifications
You must be signed in to change notification settings - Fork 126
Improved starting experience for multifaction #508
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
Conversation
General Updates: - Enhanced multifaction starting experience for Core, Biotech, and Ideology to mirror single-player starts. - Scenario selection is now available before creating a new faction. - Correct starting gear, possessions, research, and initial dialogue are now properly generated. Bug Fixes: - Lost tribe factions can now be joined from the faction creation sidebar. - Multifaction start: Map fog correctly disappears after creating a new faction map. - Multifaction start: All scattered resources/items are now automatically forbidden after map generation (workaround in place; root cause still under investigation). - Biotech: ExoMech Remains generate now on the map.
Before: New multi-faction async maps are generated with the latest map time (maptick) of all maps. Issues: Potentially starting in winter, the storyteller might send incidents immediately, etc. Now: When creating a faction, a checkbox can be selected to start the map from zero ticks. Now: On Faction creation a checkbox can be checked to start the map from zero ticks
|
thanks so much for this. are going to make it work with royalty and anomaly dlc ? |
notfood
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks nice, looking forward to the whole thing. The changes here are interesting.
|
I like this PR a lot. Multi-faction is a great way to play and this should make it so much less of a pain in the ass to get going. |
|
Hey :) Unfortunately, I haven’t made any further progress on it. It got a bit overwhelming - especially after we discovered an issue where i think the first faction got way less and weaker attacks compared to a singleplayer session with a equally wealthy colony. We found out that for this player the history wealth didn't match with the map wealth displayed in the statistic tab. We couldn’t pinpoint exactly when it started happening; we were a few sessions in when we just happened to notice it. I wasn’t sure whether it was a general multifaction/async issue or something caused by my changes. That’s when I realized how slow and difficult it would be to properly test everything, which really took the wind out of my sails. But I really appreciate the kind words you shared here - my friends and I had a lot of fun playing the mod, and I really enjoyed tweaking it a bit to suit our preferences. Today I browsed the discord a bit and found a few people that mention a similar problem like the one above. Maybe I’ll take another look at this PR sometime. :) |
|
I'm watching this PR closely, as these features have all been an issue when playing multiplayer. My friends and I have often wanted to play Naked Brutality (1 colonist) or Biotech Mechanitor scenarios. I'd love to see it completed and merged. I'm so excited that I'll probably compile this and run it unmerged anyway. Just adding wind to your sails 💨⛵ |
- Improved usability of factionsidebar => Updated layout of the faction creator and chooser => Added Tooltips to explain new settings and why they are sometimes disabled - Refactored FactionSidebar.cs a bit
I couldn’t find any way to generate the correct apparel for a "Lost Tribe" scenario start without creating a temporary faction. However, this temporary faction wasn’t deleted properly and some lingering references caused warnings during saving and loading.
|
Tested for about 40 hours of play-time. Two people playing different factions. Heavily modded and using Royalty, Biotech, and Ideology. No additional desync stability issues besides those already present in the mod list we use from what I can tell ✔️ Second faction gets a separate tech tree. Works as expected even with mods that adds research options. ❌ Second faction was not able to select a starting scenario or create their own ideology. I'm unsure as to what extent this is intended to work right now. Default to crash land. In a while we will start a new session with less mods. Overall I would say that this PR takes multifaction start from unplayable to playable for modded games. Great work. |
|
@lunglav Big thanks for testing it :) ❤️
The scenario chooser is currently disabled for Royalty and Anomaly, since I don’t own those DLCs and can’t properly test them. I’m planning to add an option in the faction creation window to enable support for those two DLCs for testing purposes, so people can try it out without needing to modify any code.
Did you have async time enabled during your session? From what I’ve read on discord, this issue doesn’t appear to be caused by my PR - it’s more likely related to async time, but i will look further into it.
Thanks for reporting that! I’ll check into it.
Really glad to hear that. :) I’m planning a test session with friends soon as well, this time without async time, to get a clearer read on the raid strength issue. |
Ok great! We did not test with anomaly. Will disable royalty next run. If you send me your steam handle I can gift you the expansions, as thanks for contributing to the project.
We did not run async time. As I mentioned before we are using a few mods that may also contribute to this. |
Moved the initialization of gameStartAbsTickMap into its property getter to ensure compatibility with old save files. This approach is more robust, as it handles edge cases where the value might be zero. Additionally, it avoids accessing TickManager during object construction.
|
@lunglav |
Updated the scenario selection logic to restrict it only when the Anomaly mod is active, instead of both Royalty and Anomaly. Adjusted the tooltip message accordingly.
Discord messages Sokyran: I think that Find.CurrentMap == null check could be skipped here if you change WorldRendererUtility.WorldRenderedNow to WorldRendererUtility.WorldSelected. At least the null CurrentMap check wasn't needed before. https://github.com/Tick-git/Multiplayer/blob/03f6d2b7e1c704563810abe74d6df538738c7926/Source/Client/AsyncTime/AsyncTimePatches.cs#L149-L150 Is 2 constructors needed here? The second one already includes the default value of 0, so in that they already match what they do. https://github.com/Tick-git/Multiplayer/blob/03f6d2b7e1c704563810abe74d6df538738c7926/Source/Client/AsyncTime/AsyncTimeComp.cs#L101-L111
Dear Testers,
Bug ReportYou can enable Developer Mode in the options menu, which will automatically open the console when an error occurs. Errors will be shown in red in the log To report a bug, please do the following (⚠Some steps must be done directly after the bug occurs⚠): Press Windows Key + R and type %appdata%, then navigate to: From there, please send me the following files:
Fixes for #Known-Issues from DiscordIssues with Multifaction
Issues with Multifaction and DLCs
Fixes for issues appeared while developing:
TestsSetup:
Results:
Reported Issues
|
Due to changes in rwmt#508, an Exorider is now spawned on every newly generated multifaction map. However, this also caused a Monolith to be generated each time, resulting in multiple Monoliths appearing and causing issues. This update adds a Harmony patch to GenStep_Monolith.GenerateMonolith to skip Monolith generation if one already exists.
Due to changes in #508, an Exorider is now spawned on every newly generated multifaction map. However, this also caused a Monolith to be generated each time, resulting in multiple Monoliths appearing and causing issues. This update adds a Harmony patch to GenStep_Monolith.GenerateMonolith to skip Monolith generation if one already exists.
Due to changes in #508, an Exorider is now spawned on every newly generated multifaction map. However, this also caused a Monolith to be generated each time, resulting in multiple Monoliths appearing and causing issues. This update adds a Harmony patch to GenStep_Monolith.GenerateMonolith to skip Monolith generation if one already exists.
Dear Testers,
Please read this: #508 (comment) ♥
Hello :)
I'm new to modding but have a degree in computer science, along with general experience in game development, especially in Unity and its Netcode networking library. I'm very open to feedback and happy to make any code adjustments as needed.
I've spent considerable time playing RimWorld with this mod and the multifaction feature enabled, which has inspired me to improve the starting experience specifically for multifaction gameplay.
First commit:
General Updates:
Bug Fixes:
Second commit:
Before: New multi-faction async maps are generated with the latest map time (maptick) of all maps.
Issues: Potentially starting in winter, the storyteller might send incidents immediately, etc.
Pullrequest: When creating a faction, a checkbox can be selected to start the map from zero ticks.
Tests:
Both commits have been loosely tested by me on a single machine, using two instances of RimWorld. I primarily focused on testing different scenarios and initial days in both the Core and Biotech dlc's and checked if ideology starts without an exception. I'll be conducting further testing by me and in a multiplayer session with friends, likely within the coming week.
ToDo:
I've included a few TODOs as comments in the code and plan to work on them next week.