[MOD] {ALPHA 7} Eug.. Genetics - by JuliaEllie - (early release) (16.11.2014)

Started by JuliaEllie, November 16, 2014, 02:59:52 PM

Previous topic - Next topic

JuliaEllie



Hey everybody,

this is Eugenics my new mod. It adds colonist genetics and colonist breeding as well as genetic engineering.

Features:

Genomes - a whole new system - you can extract your colonists Genomes and alter them with a few machines. All those machines need some (500) power to operate and you need to man them (like turrets) to make them work. I added this to get some direct control over all this micro management. All Genomes spawn forbidden to add more control. If you want to forbid a machine (for now) you have to use the storage settings to toggle if a machine can take Genomes or not. I am currently looking for a way to make management easier.
Currently there is no research requirement for all this but I might add some requirements later.

Genome Extractor - extracts Genomes from colonists.

Genome Resequencer - copies a Genome.

Genome Splicer - recombines two Genomes to become a new Genome.

Genome Marker - marks random Genes in the Genome to become dominant (marked with an *) so when recombining Genomes this Gene will be prefered over the not dominant Gene. If both Genes are dominant no Gene is dominant.

Genome Incubator - breeds a Pawn from a Genome - at the moment this machine needs a corpse next to it in addition - a Pawn for a Pawn. This might change into a more sophisticated system later.


I understand that you need to get used to the micro management but Im working on a more direct command system for processing the Genomes but for now you need to micro manage with forbidding and storage settings. Please tell me what you think about it - all feedback is appreciated.

Have fun breeding your own Super Colonist.

Thank you very much Jabbamonkey for all those wonderful textures - you da real MVP

DOWNLOAD ME!!

Oh and.. the backstory thing is a bit broken because the bodyType is read from the backstory so I had to make it "unsaveable"

Reysuke


H_D

Human crafting, hell yeah. Now the only thing missing is some creative way to deal with excessive prisoners (because killing them for organs and skin is waste of potential) to finally create my perfect world from dreams.

Darkfirephoenix

Quote from: H_D on November 16, 2014, 04:48:28 PM
Human crafting, hell yeah. Now the only thing missing is some creative way to deal with excessive prisoners (because killing them for organs and skin is waste of potential) to finally create my perfect world from dreams.
Well you can kill them for the organs and THEN use them to make a clone!
"Welcome new prisoner! There is no need for you to tell your name, we will just take all your organs and use your corpse to make the perfect colonist. Well then: Have a nice day."

Cat123

Nice. Gonna have a look at how you did the code, seems very unusual to be able to copy skill #'s.

1) Is that *any* corpse? If it's any corpse, I can see people cloning 50+ 15+ skill colonists easily: possibly limit to a certain threshold of <damage>? i.e. only fresh, slightly damaged corpses can be used, not beat up mangled dog gnawed ones?

2) Is there no negative RNG factor at all? Balance wise, the higher the numbers of *dominant traits, the higher the % fail rate, surely? Needs a fail rate, otherwise it's an exponential curve to 20/20/20/20/20/20/20 colonists.

3) Um. Your sprites are very very sexy. Can I steal one? (with credit)? ...grrrrroah. In fact... I just want them all. (soo good).

JuliaEllie

Quote from: Cat123 on November 16, 2014, 04:59:29 PM
Nice.

1) Is that *any* corpse? If it's any corpse, I can see people cloning 50+ 15+ skill colonists easily
yes its ANY human corpse
2) Is there no negative RNG factor at all? Balance wise, the higher the numbers of *dominant traits, the higher the % fail rate, surely?
there is no negative rng factor but the "markers" wont be passed on to the next generation and marking is random so its a lot of grinding and splicing to get the exact set of dominant traits you want
3) Um. Your sprites are very very sexy. Can I steal one? (with credit)? ...grrrrroah. In fact... I just want them all. (soo good).
You will have to ask jabbamonkey he made them


oh and you dont want to look at the code.. trust me :D

Cat123

Defs/recipeDefs is empty - intended?


And yes.... what XML reader do you use? You're suffering from horrible formatting issues ;)

JuliaEllie

Quote from: Cat123 on November 16, 2014, 05:12:17 PM
Defs/recipeDefs is empty - intended?


And yes.... what XML parser do you use? You're suffering from horrible formatting issues ;)
Yes thats intended - the magic of .dll modding
my xml parser is called editor.exe

Cat123

Quote from: JuliaEllie on November 16, 2014, 05:15:50 PM

Yes thats intended - the magic of .dll modding
my xml parser is called editor.exe

http://notepad-plus-plus.org/

Bad XML formatting drives people bonkers.

And yeah, if everything is locked to a .dll, it's very... opaque. Not sure why Rimworld has decided to plump with .dll stuff, especially if the XML is there to handle it. I'm not seeing any advantage at this point.


If anything, it makes vanilla 100% incompatible with most mods << recursively. Vanilla is never going to mix the .dlls with its code, but merging XML is piss easy. http://tortoisesvn.net/  << hint: all decent modders should be using this & tying to the main code base, but "whatever".

Odd odd choice.

In this case, with the stripping skill #'s it's probably needed: general thoughts though.

JuliaEllie

Because the xmls do nothing on their own. They are only config files for the .dlls. I only use them to declare very basic stuff or stuff Im too lazy to make in c#. Theoredically its possible to make things only declared by a Def type and DefName and do the rest in the .dll.

Cat123

Quote from: JuliaEllie on November 16, 2014, 05:25:07 PM
Because the xmls do nothing on their own. They are only config files for the .dlls. I only use them to declare very basic stuff or stuff Im too lazy to make in c#. Theoredically its possible to make things only declared by a Def type and DefName and do the rest in the .dll.


Yeah, I know that.

It's awful practice to have .dlls that aren't in the main branch used for mods though. Fucking terrible.

JuliaEllie

Actually its the best thing you can have because you can do whatever you like. You can make your own tools, libraries, features, you could even make a completely different game out of it. Absolute creative freedom - without this many mods wouldnt have been possible.

Cat123

Quote from: JuliaEllie on November 16, 2014, 05:29:23 PM
Actually its the best thing you can have because you can do whatever you like. You can make your own tools, libraries, features, you could even make a completely different game out of it. Absolute creative freedom - without this many mods wouldnt have been possible.

And why do we convert .dll functions into XML base on the main branch?

Hint: so that it's not repeated 1,000,000 times in each individual mod.

I'm not in the mood atm, but I'm fairly sure I know what your .dll does - it's stripping # off <skill> totals from <saved data> pawns, saving them elsewhere (temp), doing a bit of RNG to keep whichever ones and then copy/pasting them.

Now, you might use that for a cloning process. I see that as possibly being very useful for dynamic event procedural generation, where you're stripping (dead) pawns of damage stats, averaging it over time to weigh a "colony threat level" around their kill zone. Then saving it, and porting it into a RNG where I can weight that number against much more dangerous events (that would be totally unfair with smaller colonies).

See?

But since it's a .dll, fuck it.

JuliaEllie

well mainly because the game isnt open source I guess :D but anyone can call from another assembly/namespace just like we do it with the original rimworld assemblies. What you think about seems to be something like Forge I tried to arrange such a thing a few times but it seems like we all prefer to be hermits :D  New Recipe Nurse is the only standard we could decide on so far :D

Cat123

Quote from: JuliaEllie on November 16, 2014, 05:38:55 PM
well mainly because the game isnt open source I guess :D but anyone can call from another assembly/namespace just like we do it with the original rimworld assemblies. What you think about seems to be something like Forge I tried to arrange such a thing a few times but it seems like we all prefer to be hermits :D  New Recipe Nurse is the only standard we could decide on so far :D

Don't even get me started on why there aren't master Excel sheets used to export to XML instead of the current stuff (!).

Meh, I'm talking big without producing anything. I'll make my little mod, then see what the oldtimers think.