DNACraft - Work in progress
#21
Posted 03 February 2013 - 05:44 AM
#22
Posted 03 February 2013 - 06:00 AM
ETHANATOR360, on 03 February 2013 - 05:44 AM, said:
Heh, well it wont be THAT advanced
Anyways.. a few variations:
Clearly I need to disable a few things, like ender arms on bodies that are too small for it.
#23
Posted 03 February 2013 - 06:52 AM
I hope this doesn't sound negative i just am so curious about how this
Also would it be possible for you too mess up the mutating and create a super monster that is VERY powerful?
#24
Posted 03 February 2013 - 07:07 AM
#25
Posted 03 February 2013 - 07:12 AM
DanJZ0404, on 03 February 2013 - 07:07 AM, said:
Mikeemoo, on 01 February 2013 - 06:34 PM, said:
It's still a long way off needing any beta testing, but thanks. When it's nearing completion i'll post links here first.
-snip-
#26
Posted 03 February 2013 - 11:30 AM
#27
Posted 03 February 2013 - 11:49 AM
or could you then collect DNA from those few mutants and use it in the next generation?
it seems like a lot more work than I thought it should be.
#28
Posted 03 February 2013 - 12:17 PM
They'll get occasional mutations in their genomes, but it'll be quite rare.
How easy/hard it is to create mutants should be ignored for now, because I haven't spent any time at all (or put much thought into) the balancing.
In general though I do think i'll have it pretty hard to mutate, or have a setting that increases/decreases the difficulty to take into account how easy it could be to automate the system using other mods.
#29
Posted 03 February 2013 - 12:19 PM
There'll be a DNA sequencer machine where you can get the full DNA of another mob. You can then mix two DNA's together.
The sequencer will be expensive to use.
#30
Posted 03 February 2013 - 01:08 PM
#32
Posted 03 February 2013 - 11:19 PM
I just have one question, are you going to make it work with mobs added in mods?
could you not look through the mob list to look for their loot (if they have any) then if they do just use there random body-parts in the mutations.
Also, I don't think you should artificially block any combinations, I think there should be something in place to calculate the randomness of the body shape (like size of limbs compared to body etc.) and just make it die after a bit if it is too ridiculous. Or maybe just blocking them would be better.
#33
Posted 04 February 2013 - 07:04 AM
billysback, on 03 February 2013 - 11:19 PM, said:
I just have one question, are you going to make it work with mobs added in mods?
could you not look through the mob list to look for their loot (if they have any) then if they do just use there random body-parts in the mutations.
Also, I don't think you should artificially block any combinations, I think there should be something in place to calculate the randomness of the body shape (like size of limbs compared to body etc.) and just make it die after a bit if it is too ridiculous. Or maybe just blocking them would be better.
#34
Posted 04 February 2013 - 08:11 AM
With some work this could be the biological version of the atomic science mod
One tip though for later on: try to keep things as realistic as possible whilst keeping it simple..
#35
Posted 04 February 2013 - 08:16 AM
It's.. very.. complicated. However, to the end user it should seem very natural and understandable.
A long way to go though!
#36
Posted 04 February 2013 - 08:30 AM
If you don't mind my assistance, I'll try to find some free time to devote to this.
#37
Posted 05 February 2013 - 01:32 AM
The DNA system is a bit too complex for me to want to try to describe here. I've also used random names in my code that don't really line up with real life terms, because.. well, I'm not very good at biology!
I guess in simple terms it's like this:
A DNA is split into various genomes. Each genome describes a particular trait of the mob. For example, "head type", "body type", "offspring", "drop items", "drop count".etc..
Each genome has 40 genes. A gene is just an integer and a boolean. The integer refers to a particular trait (pig head, chicken head, 2 drops, 3 drops, wool, silk, whatever), and the boolean defines whether that gene is active or not.
So, a typical DNA (so far) looks a bit like this:
dt[2:1,3:0,3:0,2:0,2:1,2:1,3:0,2:1,3:1,3:1,2:0,3:1,3:0,2:0,2:1,3:1,3:1,2:1,3:1,2:1,2:1,2:1,3:0,3:0,3:1,2:0,3:1,3:0,2:1,3:1,3:0,2:1,2:0,3:1,2:0,2:0,3:1,3:1,2:1,3:1] da[1:0,2:1,2:0,2:0,2:1,1:1,1:1,2:1,1:0,2:1,1:0,2:0,1:1,2:0,2:1,1:1,2:0,2:0,1:1,2:0,1:0,1:0,1:1,2:0,2:0,2:0,2:1,1:1,2:0,2:1,2:1,2:0,1:1,2:1,2:0,2:0,2:0,2:0,1:0,1:0] tt[33:0,33:0,33:0,33:1,33:0,33:0,33:1,33:1,33:1,33:0,33:0,33:1,33:0,33:1,33:1,33:1,33:1,33:0,33:1,33:1,33:0,33:1,33:0,33:0,33:0,33:0,33:0,33:0,33:1,33:1,33:0,33:1,33:1,33:0,33:0,33:0,33:1,33:0,33:1,33:1] c[2:0,2:1,2:0,2:1,2:1,2:0,2:0,2:1,2:0,2:1,2:0,2:0,2:0,2:1,2:0,2:0,2:1,2:1,2:0,2:1,2:1,2:0,2:0,2:1,2:1,2:0,2:1,2:0,2:0,2:1,2:1,2:1,2:1,2:0,2:0,2:1,2:0,2:1,2:1,2:0] ht[33:1,33:1,33:0,33:0,33:1,33:1,33:1,33:0,33:1,33:0,33:1,33:1,33:1,33:1,33:0,33:0,33:0,33:1,33:1,33:0,33:1,33:0,33:1,33:0,33:1,33:1,33:0,33:1,33:1,33:1,33:1,33:0,33:0,33:1,33:0,33:0,33:0,33:0,33:1,33:1] a[0:0,0:0,0:1,0:1,0:0,0:1,0:0,0:0,0:1,0:1,0:1,0:0,0:1,0:1,0:0,0:0,0:0,0:0,0:0,0:0,0:1,0:1,0:1,0:0,0:0,0:1,0:0,0:1,0:1,0:0,0:0,0:0,0:1,0:0,0:1,0:0,0:0,0:0,0:1,0:0] at[33:1,33:0,33:0,33:1,33:0,33:1,33:0,33:0,33:0,33:0,33:1,33:0,33:0,33:1,33:0,33:1,33:1,33:0,33:0,33:0,33:0,33:0,33:0,33:0,33:0,33:1,33:0,33:0,33:1,33:1,33:1,33:0,33:0,33:0,33:1,33:1,33:1,33:0,33:1,33:1] o[1:0,1:0,1:1,1:0,1:1,1:0,1:0,1:0,1:1,1:1,1:1,1:1,1:1,1:1,1:1,1:0,1:1,1:1,1:1,1:1,1:0,1:0,1:1,1:1,1:1,1:1,1:1,1:1,1:0,1:0,1:0,1:0,1:1,1:0,1:1,1:0,1:0,1:1,1:0,1:0] lt[33:1,33:1,33:1,33:0,33:0,33:1,33:1,33:1,33:1,33:1,33:0,33:0,33:0,33:1,33:0,33:1,33:1,33:1,33:0,33:0,33:0,33:0,33:0,33:0,33:1,33:0,33:0,33:0,33:1,33:0,33:0,33:0,33:1,33:0,33:0,33:1,33:0,33:0,33:1,33:0] wt[33:1,33:0,33:1,33:1,33:0,33:1,33:1,33:1,33:1,33:0,33:0,33:1,33:1,33:1,33:1,33:0,33:0,33:0,33:1,33:1,33:1,33:0,33:1,33:1,33:0,33:0,33:0,33:0,33:1,33:0,33:0,33:0,33:0,33:1,33:1,33:0,33:1,33:0,33:1,33:0] bt[33:0,33:0,33:0,33:1,33:0,33:0,33:1,33:0,33:1,33:0,33:0,33:0,33:0,33:0,33:0,33:0,33:1,33:1,33:0,33:0,33:1,33:0,33:1,33:0,33:0,33:0,33:0,33:1,33:0,33:0,33:1,33:1,33:0,33:0,33:1,33:0,33:0,33:0,33:1,33:0]
In this one, the "dt" genome describes the drop types, where "2" refers to feathers and "3" refers to raw chicken. This is a pure chicken DNA.
If you splice two DNAs from two different mobs, it'll run through each genome on both the mobs and randomly copy the values of the genes into a new genome. It also copies the values of a gene independently, so:
Lets take the very start of the first line:
dt[2:1...
Lets pretend our other DNA is
dt[4:1..
there's a 50/50 chance of it being either a 2 or a 4, and a 100% chance of this gene being active in the new DNA.
You could have a situation where inactive genes become active:
dt[2:0...
dt[1:1...
the result could be:
dt[2:1...
Different traits of the animal depend on the active genes within the DNA. For example, for drops it'll use weighted randomness on any active gene in that genome. For color, it might use an average of all active traits. To decide which models to use for different parts of the bodies i'm using er.. weighted weights pow(1.7)!
As for DNA Fragments (which are extracted from organic material), if you splice a DNA fragment with a DNA, it'll copy a single gene from the fragment into your DNA (from a random genome). You currently have no control which gene gets copied across.
I might eventually make some advanced (expensive) tools, possibly CC peripherals too, to give players a bit more control over their dna.
#38
Posted 05 February 2013 - 09:39 AM
#39
Posted 05 February 2013 - 09:54 AM
Can't belive how awesome it will be when you release it.
How Long do you think it will be before you release it or let some beta test it?
Since I really wanna test this!
#40
Posted 05 February 2013 - 10:13 AM
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users