To mod or not to mod ? [About what can be moded]

Started by Slan, April 20, 2014, 03:41:17 PM

Previous topic - Next topic

Slan

Hi,

RimWorld is a game that i love a lot, and more than playing, i think i might mod it for the community. But i wonder if my idea can be done or not, and what can be moded or not. Actually, i don't know anything about moding the game but i use to code in different language and most of the time after a few days all language looks like each other.

My questions are : Can we mod it or no ? if yes, in xml or dll ?
  • Can we create a pawn ? (i mean by trigger)
  • Can we change pawn speed, hunger, sleep, carryingcapacity, maxlife ?
  • Can we change pawn skill, block skill, skill priority and avoid skill raising ?

Thanks a lot.

longbyte1

From what I've seen in the core's XML files so far...

  • Yes; you can make a new pawn using only XML (to an extent), but new behaviors will have to be implemented via an external assembly (DLL).
  • Yes, just using XML (walkSpeed, hungerThreshold, maxHealth), but I'm not sure about carrying capacity.
  • Yes.

Tynan

It seems like you have a specific idea in mind, maybe you can tell us what that is and we can talk about feasibility and development methods?
Tynan Sylvester - @TynanSylvester - Tynan's Blog

Slan

#3
Thanks for your answers.

Most specificaly, i want to made a mod about "Robot". For what i see, it would be easier to make pawn look like robot than item "robot" to act like pawn. Why doing this ? This is a Sandbox game, having hard/high level content is always pleasant.

  • In a first try, i want to "create" a pawn with a receipe, with specific value, name, skill, and so.
  • The second part will be to "robotise" my pawn. Sleep will be "Energy level" that need to be charge in a charging pod. Food will be "Battery usage" that could be repair "eating" uranium. I need to adapt the lost, gain, way to loss and gain. Also i need to set a few event like the lost of all energy in solar flare, the special incapacited when 0 energy. No combat mode, no skill gain.
  • The third part will be to create a way to modify my robots. A way to stop them, and some "task" that enginer can do on the robot to modify it. Basicaly, consuming an item, and then change robot ability (this could be a new motor to make them faster or a data-card to gain some skill points)
  • The last part will then be the most simple and longer. Creating dozens of items, receipe, task, workstation, research, to make this balanced. And of course the mod will just be some "cheat" before this part.

I will try this week to make a first step in the first part, but i need some time to learn basics and transform my computer in a workstation.
If you think you can help me gaining some time (Links, advices, documents)

If i succeed, this mod will not be an "easy" mod. Tons of researchs, and for exemple, you can't upgrade a robot from 1 to 13 in a skill once, you have to make a data-card for 2, 3, 4 and place it one after another.

Again, thanks a lot.



Sorry for my very bad english.


WorldOfIllusion

please do this. Sound's like something that could be really really great. I'm happy to lend my extremely limited knowledge on rimworld modding (but I'd suggest you get help from someone with more knowledge, I know Architect was really helpful answering some questions for me earlier).
Artistically challenged modder seeking artistically talented texturer's help. Please, please, PM me :)

Slan

After a few hours looking at documentation and web, i don't see a way to "trigger" a custom pawn with a receipe in a workstation. It's easy to create a new item, but i don't see how to create a villager. Any help ?

Architect

Quote from: Slan on April 23, 2014, 05:13:49 PM
After a few hours looking at documentation and web, i don't see a way to "trigger" a custom pawn with a receipe in a workstation. It's easy to create a new item, but i don't see how to create a villager. Any help ?

If you have any knowledge of creating DLL's, my best suggestion would be to have an item that can be made as a thing with the code to instantly destroy itself when made and create a pawn, at least this is the method I currently have in the works. Though without C# knowledge, I fear you may be scuppered on that front.
Check out BetterPower+ and all its derivatives by clicking the picture below.

It adds many new methods of power generation and uses for it, as well as other things such as incidents.


Slan

I have no knowledge of dll/c, but i used to code in javascript, php, mysql, sphere (special language for ultima online there is 15 years old), and some other. So i may learn a little if i just need a few to make this. But if i need to work totaly in C, it may be over my skill. I'am going to have a look about C# and dll, have you some webpage/link to help me begin ?

Architect

Quote from: Slan on April 23, 2014, 05:39:56 PM
I have no knowledge of dll/c, but i used to code in javascript, php, mysql, sphere (special language for ultima online there is 15 years old), and some other. So i may learn a little if i just need a few to make this. But if i need to work totaly in C, it may be over my skill. I'am going to have a look about C# and dll, have you some webpage/link to help me begin ?

I'm afraid I don't, but the good thing about modding is that the super complicated stuff is done for you :P This is where I would send you off first of all, followed swiftly by getting a program called ILSpy and taking a look at the C# assembly for RimWorld. For a proper understanding of pawn creation code, try looking at the IncidentWorker_RefugeePodCrash class, and work your way up from there.

That's a really whistle stop tour of what you need, so if you have any questions for more detail on anything I have said here, feel free to drop me a message or ask here and I'll do my best to answer your questions :P
Check out BetterPower+ and all its derivatives by clicking the picture below.

It adds many new methods of power generation and uses for it, as well as other things such as incidents.


Slan

After a quick look a t the code, it look that we need not only to understand the language, but a great part of the game code itself to consequently mod the game (other than with some dupe item). I think it's possible but at the cost of a great effort and if i applause people that have done this like you, i just not have such time with a 8 month old baby. Thanks a lot for your help, i will continue enjoying the game as it and with your mods.

Maybe, in a few, if game odding become friendlier, i will have a try.

Architect

Fair enough :P My offer of help still stands if you want to take me up on it at a later date though :)
Check out BetterPower+ and all its derivatives by clicking the picture below.

It adds many new methods of power generation and uses for it, as well as other things such as incidents.