Jump to content




DNACraft - Work in progress


136 replies to this topic

#21 ETHANATOR360

  • Members
  • 423 posts
  • Locationyour hardrive

Posted 03 February 2013 - 05:44 AM

Can't wait for this to come out because I know a guy who actually programs for genetic research

#22 Mikeemoo

  • Members
  • 732 posts
  • LocationLondon, UK

Posted 03 February 2013 - 06:00 AM

View PostETHANATOR360, on 03 February 2013 - 05:44 AM, said:

Can't wait for this to come out because I know a guy who actually programs for genetic research

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 Skullblade

  • Members
  • 470 posts
  • LocationThe Big Apple, NY

Posted 03 February 2013 - 06:52 AM

That looks AMAZING! How will special traits be determined; such as the sheep's wool and the ocelots anti creeper ability. How will their path finding work...will somethings attack you? How is HP determined?
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 Zee

  • Members
  • 42 posts
  • LocationIndiana

Posted 03 February 2013 - 07:07 AM

This will be fun. Count me in as a beta tester. Also, following.

#25 Skullblade

  • Members
  • 470 posts
  • LocationThe Big Apple, NY

Posted 03 February 2013 - 07:12 AM

View PostDanJZ0404, on 03 February 2013 - 07:07 AM, said:

This will be fun. Count me in as a beta tester. Also, following.

View PostMikeemoo, on 01 February 2013 - 06:34 PM, said:

-snip-
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-
no beta testing yet

#26 Mikeemoo

  • Members
  • 732 posts
  • LocationLondon, UK

Posted 03 February 2013 - 11:30 AM

The very very very very start of the splicing system in action..



#27 digipenguin

  • Members
  • 15 posts

Posted 03 February 2013 - 11:49 AM

will it really be that hard to create just a few mutants?
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 Mikeemoo

  • Members
  • 732 posts
  • LocationLondon, UK

Posted 03 February 2013 - 12:17 PM

Mutants will mate with each other if their not too genetically different from each other, so you'll be able to breed them just as you would with cows, sheep.etc.

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 Mikeemoo

  • Members
  • 732 posts
  • LocationLondon, UK

Posted 03 February 2013 - 12:19 PM

Keep in mind that I was only using pork there, too. When using items like pork, seeds..etc.. you only get a fragment of DNA.

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 Mikee251

  • Members
  • 73 posts

Posted 03 February 2013 - 01:08 PM

Wow, it looks great , I will remember to check by here everyonce in a while

#31 Dlcruz129

    What's a Lua?

  • Members
  • 1,423 posts

Posted 03 February 2013 - 06:50 PM

View PostMikee251, on 03 February 2013 - 01:08 PM, said:

Wow, it looks great , I will remember to check by here everyonce in a while

Umm... Huge coincidence or alternate account?

#32 billysback

  • Members
  • 569 posts

Posted 03 February 2013 - 11:19 PM

This (already) is awesome!
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 Skullblade

  • Members
  • 470 posts
  • LocationThe Big Apple, NY

Posted 04 February 2013 - 07:04 AM

View Postbillysback, on 03 February 2013 - 11:19 PM, said:

This (already) is awesome!
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.
It would be cool to have some mutants that live for only a day or something because of bad genetics...

#34 ikke009

  • Members
  • 224 posts
  • LocationSliding between sunbeams

Posted 04 February 2013 - 08:11 AM

Wow this is awesome! xD
With some work this could be the biological version of the atomic science mod :D
One tip though for later on: try to keep things as realistic as possible whilst keeping it simple..

#35 Mikeemoo

  • Members
  • 732 posts
  • LocationLondon, UK

Posted 04 February 2013 - 08:16 AM

Working on re-doing the genetics system right now to mimic life a bit better. It wasn't right before.

It's.. very.. complicated. However, to the end user it should seem very natural and understandable.

A long way to go though! :)

#36 digipenguin

  • Members
  • 15 posts

Posted 04 February 2013 - 08:30 AM

If you want help, I can do some java coding.

If you don't mind my assistance, I'll try to find some free time to devote to this.

#37 Mikeemoo

  • Members
  • 732 posts
  • LocationLondon, UK

Posted 05 February 2013 - 01:32 AM

Ok, so I've been rewriting the DNA system. I've made it a bit more realistic, but not overly so. My first attempt was as realistic as I could make it, but I found it just didn't really work as well as I'd hoped, so I've pulled back the complexity a lot to make something a bit more playable.

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 Mikeemoo

  • Members
  • 732 posts
  • LocationLondon, UK

Posted 05 February 2013 - 09:39 AM



#39 TheOddByte

    Lazy Coder

  • Members
  • 1,607 posts
  • LocationSweden

Posted 05 February 2013 - 09:54 AM

This Seems SO AWESOME ALREADY! :D
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 FuuuAInfiniteLoop(F.A.I.L)

  • Banned
  • 435 posts
  • LocationThe left part of this post

Posted 05 February 2013 - 10:13 AM

Please on release make it MC1.4.6 compatible so i can have redpower too!





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users