Rimworld mod-friendly?

Started by Headshotkill, May 09, 2016, 03:42:20 PM

Previous topic - Next topic

Headshotkill

With the indefinite suspension of development on the popular mod "Combat Realism" and it's creator bringing up problems regarding Rimworld and mod-support, quote (NoImageAvailable):

Just uploaded the 1.6.5 release. It mainly updates melee weapons to A13 by adding bulk, weight and armor penetration stats to melee weapons. With this the mod is fully updated to A13 and out of pre-release. It is also the last update I will do as I am leaving Rimworld modding permanently.

With the complete lack of not only any real support for modding but even base consideration for it (almost every alpha brings with it new internal changes like making various public variables private, which does not affect the base game in any way but breaks mods and makes modding harder than it needs to be) and a number of smaller annoyances like the out of touch community management (Tynan unstickying genuinely useful threads such as well-maintained mod lists while leaving redundant ones up, complete lack of communication on issues such as the whole private variabls thing, that sort of stuff) modding Rimworld has become more of a hassle than it ought to be. At this point I just no longer have the motivation to deal with it all. The only thing keeping me was the fact I wanted to bring CR into a semi-complete state before I go. I did have plans for a melee combat overhaul before I go but since the loadout system took up more time than originally anticipated I have decided to can those plans.

Since people asked for it in the past I have uploaded the ODS sheets with all the weapon stats I used for balancing to github so anyone interested in making gun mods compatible with this can look up how the stats are calculated (keep in mind though, that while the sheets include data for Project Armory guns that data hasn't been updated since the last PA release and is heavily outdated). The zip file also includes my personal todo list where I still have a number of outstanding issues and plans for the future, in case anyone else decides to pick up this project (although somehow I don't see that happening).


I was wondering how other modders are experiencing modding Rimworld, is it really that bad and is there something Tynan can do about it?
From the very beginning, one of the earliest alpha's, mods have been a cornerstone of Rimworld's succes with countless features and playing hours added on top of the base game and this actually worries me cause without mods Rimworld is quite dull if you played it enough. Think about it, alpha 14 won't support "Combat Realism" and as a result the "Modvariety pack", this may just be the beginning of modders leaving the scene due to frustration and other factors.

So I'd like to start a little discussion and maybe hope modders can address problems for Tynan.

pktongrimworld

#1
inb4 deleted.

from my experience in trying to update cybernetic storm for my own use...

yah, alot of changes seems.... well busy work (suffice to say I gave up after 2 alphas)

I remember having to go find copy and pasting terms that have no change in the structure of the code but just spelling changes (but imagine doing that several dozen times)

and that is just on the xml level.
I don't understand why they change things that way either.
seems more time efficient to do that when you are at the RC stage. 
(the tidying up)

but is how Tynan rolls.

RawCode

Quote
I don't understand why they change things that way either.
seems more time efficient to do that when you are at the RC stage. 
refactoring after release? are you mad bro?

everything should be broken on alpha stage to avoid issues after release.

NoImageAvailable

#3
Just to clarify on this, its not about the code changing (game is in alpha, changes are to be expected) but about stuff like the mod menu bug. When 90% of my troubleshooting time is spent clarifying whether a bug is legit or the result of a vanilla bug that has been common knowledge for what, a year now, and still hasn't been fixed despite it being really easy to do so. Stuff like that just sucks all the fun out of modding for me and I find the fact Tynan won't even take an hour to fix the mod menu telling of the overall state of modding support (or lack thereof) in Rimworld.

The current situation can best be described as Rimworld enables modding, but does not support it. There is a (broken and poorly designed) mod menu and that's it. Compare to games like XCOM 2, where the game has a variety of features specifically to facilitate modding, such as the ability for mods to override game classes. It also comes with a dev tool and most of the source code, comments and all. Rimworld modding on the other hand is pretty much 100% modders bootstrapping and creating that same functionality through things like CCL.

This isn't anything extraordinary since any game without native modding support requires the community to create base functionality. But then it also doesn't do much to keep people in the community and when you factor in the other hassles associated with modding an alpha game you can probably see why it would drive people to move onto greener pastures.
"The power of friendship destroyed the jellyfish."

Fluffy (l2032)

I've only ever created mods for RimWorld, so I have little reference material.

I can say however, that some of the decisions in access levels seem completely arbitrary. For example, in the new social tab, the functions for getting the relations overview are public, but the functions for getting the 'chat log' are private. With the tools available to us (e.g. reflection, detours), most of this can fairly easily be circumvented - but it is a hassle.

Furthermore, there's just some dubious decisions. The threaded loading phase for example. The main, and _only_ benefit of this is that the screen can show a loading message while it loads the game and mods in the background. But, the underlying engine (Unity4), isn't actually multithreaded. Which means that if a mod interacts with unity or loads any assets (e.g. textures) in the loading phase (and thus from a background thread), it produces unreliable behaviour (or on UNIX systems, just plain out crashes the game).

Part of the problem here is that there's very little emphasis on mods and modding in the tester builds - afaik it's only skullywag that is a private tester, and there's only a handful of public tester modders. Moreover, any modding related issues that are found, are often put on low priority - after all, we're only supposed to report vanilla bugs.

viperwasp

Do you guys think that modding could still be vastly improved by Tynan? Is it something that could wait until main release and then Tynan could put more effort in supporting mods? Basically I'm asking anyone who understands modding and knows the issues. We have seen some examples of the problems. What are the obvious solutions? 

Rimworld Vanilla is a great game. But I do hope the modding community is just as strong or even stronger once the game is finally fully released. and like many games I imagine full release does not immediately mean all development is stopped. But I feel sometime after full release there will eventually be less things to resolve and maybe more focus on modding?
•  Lian Li Lancool II MESH RGB
•  Intel Core i7-12700K Alder Lake 12-Core
•  64 GB Corsair Vengeance LPX 3600Mhz
•  WD Black SN850 2TB GEN4
•  2x WD Black 8TB
•  Windows 10 OS
•  RTX 4080 GIGABYTE Gaming OC 16GB
•  Dark Rock Pro 4 (CPU Cooler)
•  TUF Gaming Z690-Plus- WIFI D4

RawCode

@Fluffy (l2032)
protection levels - bah!
We still dont have entry point for mod added dlls, static constructor attribute added in a13 is not entry point due to exceptionaly late invocation.

Fluff_Thorrent

I agree with the points made about the public/private variables, but would also bring up another issue which still affects me and other modders - the hard-coded need for Beer™. Ever since I started development on my first mod "Can I Brew It?", the mod has been permanently broken because of hard-coded references to the Beer object (meaning that pawns will stroll past rows and piles of vodka, tequila, wine, etc., just to pick up Beer™). I brought this up with Tynan, and he said he was aware of the issue. This was a year ago.

skullywag

This all falls into a discussion I had in private with Tynan not long after A13s release. I outlined the issue of the modders knowing of a fair few places in the code which could be improved to make modding easier and genuinely more enjoyable experience all round. Id thought long about how best to get this information to Ludeon without it being a burden on them, the best I could come up with was a subforum (maybe locked down to certain users who could moderate it???) where we could collate all these things and allow Ludeon to pick and choose what to fix as they see fit. I was told by Tynan that a subforum seemed overkill for this one thing and that I should combine these into one big digest so he could just look at all of them. I havent gotten around to doing this as its just unfeasible to consolidate all of this by myself. So if anyone has any other ideas on how to achieve this im all ears.
Skullywag modded to death.
I'd never met an iterator I liked....until Zhentar saved me.
Why Unity5, WHY do you forsake me?

Blitz

Quote from: skullywag on May 10, 2016, 10:07:59 AM
So if anyone has any other ideas on how to achieve this im all ears.

Create a private subreddit?

Mr.Cross

Slack maybe? With just tynan and some of the more major modders? That is pf course slack works the way i think it does.
Claims to know most things.

Toggle

I'm pretty sure slack has an option for private channels with only certain members, but I don't know if it's free, it's likely hidden behind the paywall. Discord is similar to slack, and has that option for free, although the voice chat would likely not be used which is what it focuses on, so not much point using it just for exclusive channel.
Selling broken colonist souls for two thousand gold. Accepting cash or credit.

Plymouth

as a second PA dev I can attest to NoImageAvailable's distaste with the system. It is an alpha game, and features are released on regular basis without any solid effort to support, or make modding more comfortable at this point. I'm not a proficient enough modder, mainly doing math and artwork for PA(and filling out xmls), but i can say this much: the bigger the mod becomes in Rimworld, the more difficult it is to update with each update of Rimworld, PA got so buggy and out of control, as well as other issues we really needed to improve, that we decided to make a complete re-write of the whole mod. After a year of a break from active development. Yes I did contribute some content last winter and genuinely thought i'd be able to get the mod running for A12, but no luck so I gave up for University was pressing against my neck. Yes, modders will suffer eternity of unnecessary bugs and constant fixing untill game gets into beta stage where main structure won't be affected as strongly as it is now. This is the harsh reality and I really think when you are tired of updating the mod, you have to take a break, be it a year, two, or forever. There's always something to do if you want. Developing new mods for new games, or new games themselves... I can totally relate to NoImageAvailable. You can't do one thing all the time. And, like I said, the bigger the mod, the more effort it takes to keep it up to date.

Sorry for the tautology.

Fluffy (l2032)

ahh yes, the hardcoded references to beer, doors, nutrient dispensers, and a bunch of other stuff are another major hurdle. CCL fixes many of these by detouring the methods at fault and replacing hardcoded references - but it _shouldn't have to_!

And yeah, while it's fairly trivial to load .dll's, it requires a little bit of trickery to bootstrap. A (set) of predefined entry points for mods would be a huge boon (e.g. pre-loading, post-loading, pre-game start).

Igabod

Okay time to put in my two cents. I feel like modding support should be a low priority for Tynan at this point in development because he is busy focusing on adding in new content for the base game. If he had spent the time available to him on adding in more modding support we might not have gotten the huge relationships update. Sure he could probably easily fix the problem with opening the mod screen requiring a full restart of the game, but that would have meant less features in the alpha 13 update. Of course it's frustrating to us modders but this is not a fully fleshed out game yet. Bug smashing is not for the alpha phase unless the bug breaks the game completely. Beta phase is where all of the bug fixes take place in ANY game (including XCOM which someone mentioned earlier in this thread). No game has as much modding support during the alpha phase as Tynan has provided us with. The thing that drew me to this game was how easy it was to mod at such an early point in development. We as modders have to be patient and deal with the issues until Tynan has finished adding in all the cool features he envisioned for the game and all the feature suggestions. Once the game is to the point where Tynan calls it feature complete I trust that he will invest some time into making this game even more mod-friendly than it already is. Quit giving him a hard time about mod support unless it is a huge issue. Let him focus on the important things to make the base game fun to play and replay and replay again. The more people hassle him about modding support the more he is going to get frustrated and he may decide that it's not worth working on more features for the base game and he may end development earlier than he normally would have. And that would be bad for everybody in my opinion. We need to show him support and try to make his job easier so he is more willing to keep doing it. This doesn't mean we should just roll over and pretend nothing is wrong with modding support, but we should be less aggressive about it. Give him reports on issues that come up but if he doesn't get to the issues immediately then just understand that means he is busy making the actual game better. Quit treating him as though this is a full-release game with all these issues. This is ALPHA and we need to keep that in mind.