[1.0] EdB Prepare Carefully - v1.0.13 (28 Jul 2019)

Started by EdB, September 21, 2014, 12:30:45 PM

Previous topic - Next topic

randName

Prepare Carefully have been the corner stone of my RimWorld experience for some time now and its going to be really hard to keep playing without it.

Thank you for your contributions EdB - they will be missed.

MarineStardust

i just hope EdB at least give the chance for someone else to update this mod, i am not going back to picking random colonists.

Goldenpotatoes

Really sad to see Prepare Carefully have ceased development fully. Being able to fully customize pawns to my liking and do gimmick runs with specialized characters was really fun. The A14 changes with scenario help fill out the issue with special equipment but we're still forced with the RNG that is the pawn customization.

Random colonists aren't bad, it's just that with games like XCOM where you could fully customize units, you grew attached to the special ones and rooted for them to come out alive from the situations they were put in. That could be said the same for randomized pawns but honestly I never cared too much about the random ones compared to the pre-made starters. Always saw them as the story's main protagonists with the extras being just that, extras.

EdB

Quote from: notfood on July 16, 2016, 09:39:33 AM
Is the source out somewhere? I can't find it.

Here's the state of the source code and some things to keep in mind if you're seriously considering forking your own version of the mod.

  • The code base is a bit of mess.  I've spent the minimum amount of time trying to get it working as each alpha has been released--without going back and rewriting major sections that probably should be rewritten.  There's a hodge-podge of coding patterns; there's not a lot of comments, etc.
  • The point system doesn't make sense in the context of scenarios.  It needs to be reworked or removed.
  • The scenario system significantly changed the way that map generation works.  The full impact of those changes are not clear to me.  I understand the basics of how Prepare Carefully fits into that flow, but I'm sure that there are subtleties that will need to be dealt with.
  • The expanded Steam audience has factored into my decision to no longer continue with the mod.  More people means more bug reports.  More bug reports means more bug fixing, which means more time.  I personally cannot take on the added responsibility.
  • I didn't want to deal with multiple distribution channels--i.e. posting it for download in the forums and in the Steam Workshop.  Maybe I'm overstating the difficulty of this, but I feel like if you don't upload to Steam Workshop, it's going to be a huge hassle to stop someone else from uploading it there.

I've been debating what to do with the source code.  I don't like the idea that when I release the source code, probably two or three people are going to start working on it independently--unintentionally racing each other to see who gets a working version first.  It doesn't seem quite fair.  Sadly, since it hasn't been open-source all along, I'm not sure this can be avoided.  I'm curious what people think.

CrazyChris

#1114
I think you're free to do whatever the hell you want, you have no obligation whatsoever. A lot of people probably won't be playing until a replacement is found though.

brucethemoose

Quote from: EdB on July 16, 2016, 05:17:20 PM

I've been debating what to do with the source code.  I don't like the idea that when I release the source code, probably two or three people are going to start working on it independently--unintentionally racing each other to see who gets a working version first.  It doesn't seem quite fair.  Sadly, since it hasn't been open-source all along, I'm not sure this can be avoided.  I'm curious what people think.

I'm not sure if you're familiar with Github or other modding communities (I'm thinking of Minecraft specifically), but generally, when someone posts the source of a very popular discontinued mod on Github, several prominant mod devs will come together and collaborate, not fight each other over it.

There's usually 1 coder in charge (for mods on this scale, anyway), and if he/she goes MIA, someone else can just fork the existing codebase.

And someone forks the mod, it'll show up on the original Github page too. I suppose someone could rip the code off GitHub, close source it, and finish it themselves before the community does, but with the hundreds of mods I've seen (most MUCH larger than prepare carefully), I've NEVER seen that happen.


brucethemoose

Quote from: EdB on July 16, 2016, 05:17:20 PM

I've been debating what to do with the source code.  I don't like the idea that when I release the source code, probably two or three people are going to start working on it independently--unintentionally racing each other to see who gets a working version first.  It doesn't seem quite fair.  Sadly, since it hasn't been open-source all along, I'm not sure this can be avoided.  I'm curious what people think.

I should also mention that you really should attach an appropriate license to your source code (MIT or GPL maybe) when you upload it. It's rarely an issue, but it ensures that future derivatives of your codebase won't create any drama or legal messes.

abo1984

Quote from: EdB on July 16, 2016, 05:17:20 PM
Quote from: notfood on July 16, 2016, 09:39:33 AM
Is the source out somewhere? I can't find it.

Here's the state of the source code and some things to keep in mind if you're seriously considering forking your own version of the mod.

  • The code base is a bit of mess.  I've spent the minimum amount of time trying to get it working as each alpha has been released--without going back and rewriting major sections that probably should be rewritten.  There's a hodge-podge of coding patterns; there's not a lot of comments, etc.
  • The point system doesn't make sense in the context of scenarios.  It needs to be reworked or removed.
  • The scenario system significantly changed the way that map generation works.  The full impact of those changes are not clear to me.  I understand the basics of how Prepare Carefully fits into that flow, but I'm sure that there are subtleties that will need to be dealt with.
  • The expanded Steam audience has factored into my decision to no longer continue with the mod.  More people means more bug reports.  More bug reports means more bug fixing, which means more time.  I personally cannot take on the added responsibility.
  • I didn't want to deal with multiple distribution channels--i.e. posting it for download in the forums and in the Steam Workshop.  Maybe I'm overstating the difficulty of this, but I feel like if you don't upload to Steam Workshop, it's going to be a huge hassle to stop someone else from uploading it there.

I've been debating what to do with the source code.  I don't like the idea that when I release the source code, probably two or three people are going to start working on it independently--unintentionally racing each other to see who gets a working version first.  It doesn't seem quite fair.  Sadly, since it hasn't been open-source all along, I'm not sure this can be avoided.  I'm curious what people think.

Appreciate this sentiment as I have been looking over the decompiled code for 4 or 5 hours now. I don't mind taking this over for the time being, but as someone else said, maybe github is the best place for it.

Here's where I've gotten so far


  • Project set up, all decompiled code cleaned up for decompiler issues (sets/gets/enums restored). Only place decompiler really snagged was in Page_PrepareCarefully.DrawCost(Rect parentRect). Apparently it's caused by using lambdas which compilers turn into gibberish that can't re-compile. I was thinking about removing the cost stuff anyways. EdB's comment kind of solidified that thought, so I'm planning on pulling the cost stuff out.

  • Code otherwise looks clean enough even without comments (but access to comments would be nice  :) )

  • As far as updating to a14, easy changes include updating Widget class names. Lots of them just had the function name reversed for example LabelButton become ButtonLabeled. Also ThingDefOf.Components became ThingDefOf.Component

  • Where my understanding fails and where the work really needs to be done is with the removal of the following classes from Rimworld: Verse.MapInitData and Verse.DialogUtility.
    DialogUtility doesn't have much in it so I'm sure I'll just have to look more to see where that stuff went. Getting around MapInitData is where the real work will have to be done getting this to work. If anyone has any knowledge of how that system has changed I'd love to learn how. 

As others have said, I consider this a must-have mod. That's the only reason I'm doing this. If someone else is more experienced and can figure this stuff out faster please keep us posted, otherwise I'll keep plugging away.

alaestor

Quote from: EdB on July 16, 2016, 05:17:20 PM
I've been debating what to do with the source code.  I don't like the idea that when I release the source code, probably two or three people are going to start working on it independently--unintentionally racing each other to see who gets a working version first.  It doesn't seem quite fair.  Sadly, since it hasn't been open-source all along, I'm not sure this can be avoided.  I'm curious what people think.


Release an open-source git project, appoint a project manager who is familiar with git and can police commits (or do it yourself). This will multiple individuals to work at solving bugs and update the mods, with focused effort and minimal friction. There may be some who will fork it but I think the majority of people will contribute to the main project.

OR appoint a single individual or team to be the maintainers and give them sole access to the closed source.

Either way negates the problem and solves the communities desires.

Nareese

As a long time heavy user and sideline observer of the Minecraft open source modding community that brucethemoose mentioned above, I can say with high confidence that the vast majority of the most popular Minecraft mods are fully open source and available on github, and that everything he mentioned about the way the open source development community for that game works co-operatively is completely correct.  Additionally, I have seen many cases where developers from completely outside a given mod will fork a repo, fix bugs, and submit a pull request back to the main repo.  I've even seen this happen with "amateurs" who would never undertake creating or maintaining a whole mod by themselves, but understand the code well enough to find and fix or develop new functionality for a single issue that is important to them.

Everything about the open source github based development model is a win for games of this type, and I would certainly encourage you and all the other modders in this community to embrace it fully.

Oh, and of course, as everyone else has said, thank you so much for your contributions to this point.  I didn't use PC, but I certainly did use the colonist bar and mod order, and ending up in core speaks highly to how important they were.

«Temple»

hey EdB is it alright if I try to update it then give it to you for you to upload?
Do you have any planned mods and will you continue your other mods?

EdB

Quote from: EdB on July 16, 2016, 05:17:20 PM
I'm curious what people think.

Thanks for all of the feedback.

To be honest, as I read through all of the posts today, I started second-guessing my decision yesterday.  I realize that the timing of it wasn't great, and it sort leaves people missing the mod just when they want to see it the most.

I still need to set the mod aside.  My interest is waning, and it feels more like a chore than anything else to do these updates.  That said, I actually was very far along in the Alpha 14 update when I had the epiphany that I didn't want to work on it anymore, so here's what I've done:

I've open-sourced it.  It can be found on github here:
https://github.com/edbmods/EdBPrepareCarefully
(Note that I've changed the license vs. previous distributions.  It's now the MIT license)

I also went ahead and finished a first-pass on an Alpha 14 version, which can be downloaded from github here:
https://github.com/edbmods/EdBPrepareCarefully/releases/tag/v0.14.0.1

EDIT: Get the latest release:
https://github.com/edbmods/EdBPrepareCarefully/releases

It's got bugs, but it mostly works.  As far as what happens next, I'm not sure.  If you want to try to contribute, I can try that for awhile, but I'm not sure that I'll want to do that long-term--certainly not past alpha 14.  If you want to fork the project and do your own thing, the source code is there for you--feel free.




CrazyChris

Fucking A, thank you for this little extra! I'm pretty sure you just made a ton of people happy.

123nick

Quote from: EdB on July 16, 2016, 08:22:02 PM
Quote from: EdB on July 16, 2016, 05:17:20 PM
I'm curious what people think.

Thanks for all of the feedback.

To be honest, as I read through all of the posts today, I started second-guessing my decision yesterday.  I realize that the timing of it wasn't great, and it sort leaves people missing the mod just when they want to see it the most.

I still need to set the mod aside.  My interest is waning, and it feels more like a chore than anything else to do these updates.  That said, I actually was very far along in the Alpha 14 update when I had the epiphany that I didn't want to work on it anymore, so here's what I've done:

I've open-sourced it.  It can be found on github here:
https://github.com/edbmods/EdBPrepareCarefully
(Note that I've changed the license vs. previous distributions.  It's now the MIT license)

I also went ahead and finished a first-pass on an Alpha 14 version, which can be downloaded from github here:
https://github.com/edbmods/EdBPrepareCarefully/releases/tag/v0.14.0.1

It's got bugs, but it mostly works.  As far as what happens next, I'm not sure.  If you want to try to contribute, I can try that for awhile, but I'm not sure that I'll want to do that long-term--certainly not past alpha 14.  If you want to fork the project and do your own thing, the source code is there for you--feel free.

a BILLION thanks! i was wondering if there was a way too get back too alpha 13, i didnt have a copy of it on my pc. but now, with a sorta-working version of EDB-prepare carefully available, i might just get back too playing rimworld yet again. also, you might wanna update the OP with links too the github and etc.

Grynnreaper

 ;D explodes with joy  ;D Thank you for this final gift, i shall put it to hoorible abusive use i promise. I solemnly swear i am up to no good.