Author Topic: Fascinated by Something...  (Read 9842 times)

0 Members and 1 Guest are viewing this topic.

Offline Oshaberi

  • Asteroids Aficionado
  • **
  • Posts: 120
  • Logically.
    • View Profile
Fascinated by Something...
« on: July 18, 2008, 06:12:51 pm »
How on Earth do they fit all the information of a creature's build into a single PNG file? I don't claim to be any computer genius, and this has fascinated and puzzled me since I've started using the CC.

It's probably something insanely simple, but someone please fill me in.



Offline Ultramarine

  • Bungeling Bay Raider
  • *****
  • Posts: 3278
  • Whatever.
    • View Profile
Re: Fascinated by Something...
« Reply #1 on: July 18, 2008, 06:18:04 pm »
They design it to square the information down to about, lets say 1K.
I'm not a computer wiz myself so I'm not sure if my information is accurate.
Kid: Oh wow I'm being deflowered by a grown woman!
Mother: By the way I'm your mother
Kid: OH GOD NO

EDIT: That's where it becomes rape if you were wondering.

ヽ(`∇)人(∇`)人(`∇)ノ   (゚д゚; )

Offline macweirdo42

  • Microvision Master
  • *
  • Posts: 76
    • View Profile
Re: Fascinated by Something...
« Reply #2 on: July 18, 2008, 06:20:57 pm »
Procedural content - that's one of the big technological innovations of Spore.  Basically, instead of storing the model for the creature, Spore stores the instructions for how to build the model.  Here's a really simplified example.  Let's say that for some reason, I wanted to send you a sine wave.  Don't ask why, I just do.  Now, I could calculate the date for every point on that sine wave, but that would be a helluva lot of data to send.  So instead, I simply send you the formula y = sin(x), which you can use to generate the exact same sine wave.  Of course, in Spore, the creatures are much more complex than sine waves, and so the mathematical formulas are, too, but that's the basic principle.

Offline Wonderful Lizard of Oz

  • Pac-Man Maniac
  • ***
  • Posts: 263
  • Release the gecko!
    • View Profile
    • Hall of Rejected Universes
Re: Fascinated by Something...
« Reply #3 on: July 18, 2008, 06:21:23 pm »
It's easy.  I would say that if you already know all the parts, and how the basic system works, then there's very little information different from creature to creature, just like humans share over 90% of DNA with vegetables.
"And your little lizard too!"
-The Wicked Witch of the West



Error 658:There are lizards in your computer.

Offline smjjames

  • Out Run Speedster
  • *****
  • Posts: 5158
    • View Profile
Re: Fascinated by Something...
« Reply #4 on: July 18, 2008, 06:24:38 pm »
It's easy.  I would say that if you already know all the parts, and how the basic system works, then there's very little information different from creature to creature, just like humans share over 90% of DNA with vegetables.

You know what, that sounds alot like how DNA works, like DNA has instructions for the blueprint. Of course though, DNA is far more complex (and yet so simple) than the way 'spore DNA' is.

Offline HarvesteR

  • Akalabeth Addict
  • **
  • Posts: 179
    • View Profile
Re: Fascinated by Something...
« Reply #5 on: July 18, 2008, 06:25:42 pm »
well, from what i've read, it appears they're embedding the information into the image using a process called steganography
it appears that the first byte in every pixel of the .png file is related to creature info, and not the image itself

there isn't much creature data being generated by the CC, it basicaly contains every variable you can tweak in the game.... the rest is generated procedurally on load.

it truly is amazing... i was surprised when i first got my hand on the CC to find that the only file needed was the thumbnail of the creature
and i wonder why they did it this way... they could have included the creature data in the metadata section of the .png file... or created a proprietary file format... i guess they did it to reduce the server load... or to optimize file transfers... i don't know... i just know it's awesome  8)
« Last Edit: July 19, 2008, 03:23:43 pm by HarvesteR »

Offline Ultramarine

  • Bungeling Bay Raider
  • *****
  • Posts: 3278
  • Whatever.
    • View Profile
Re: Fascinated by Something...
« Reply #6 on: July 18, 2008, 06:26:20 pm »
Wasn't expecting so many complicated explinations >.>

*moving on*
Kid: Oh wow I'm being deflowered by a grown woman!
Mother: By the way I'm your mother
Kid: OH GOD NO

EDIT: That's where it becomes rape if you were wondering.

ヽ(`∇)人(∇`)人(`∇)ノ   (゚д゚; )

Offline vonboy

  • Centipede Crackerjack
  • ****
  • Posts: 772
  • the tiniest evil thing known to man and willosaurs
    • View Profile
Re: Fascinated by Something...
« Reply #7 on: July 18, 2008, 06:29:32 pm »
it just stores stuff like where the limbs, mouths, hands, and other object are on the creature, how long it is, how it's spine is shaped and sized, how the parts are sized, positioned, ect.

basically a bunch of instructions for how the creature was created instead of the actual creature.
Quote from: ilikedirt
your spores are wack

Fatal Error: You're creature is crap. You're computer will now explode.

check out my sporepedia page!
http://www.spore.com/view/profile/vonboy

Offline Ultramarine

  • Bungeling Bay Raider
  • *****
  • Posts: 3278
  • Whatever.
    • View Profile
Re: Fascinated by Something...
« Reply #8 on: July 18, 2008, 06:31:48 pm »
Than that data is reconstructed and carried out procedurally...

I got it from the beginning but I don't think that I could have explained it as well as all of you guys :D :P. Now I just feel silly, but this isn't about me, glad we could help Oshaberi.
Kid: Oh wow I'm being deflowered by a grown woman!
Mother: By the way I'm your mother
Kid: OH GOD NO

EDIT: That's where it becomes rape if you were wondering.

ヽ(`∇)人(∇`)人(`∇)ノ   (゚д゚; )

gec05

  • Guest
Re: Fascinated by Something...
« Reply #9 on: July 18, 2008, 06:44:51 pm »
Finding this data is as easy as examining it in Photoshop. The PNG is actually comprised of several layers. The foremost layer is visible which depicts the creature itself. This layer has no data. However, below that image are a couple more layers that look like snowy noise. These are actually black and white pixels that represent 0's and 1's in a sequence that contain the creature data. These layers are then set to a 0% opacity so that they are completely invisible.

Offline smjjames

  • Out Run Speedster
  • *****
  • Posts: 5158
    • View Profile
Re: Fascinated by Something...
« Reply #10 on: July 18, 2008, 06:46:25 pm »
very clever way of doing it.

Offline Oshaberi

  • Asteroids Aficionado
  • **
  • Posts: 120
  • Logically.
    • View Profile
Re: Fascinated by Something...
« Reply #11 on: July 18, 2008, 07:24:27 pm »
Woah, I leave for a while and get 10 replies. o.o

Thanks everyone, I understand now. I thought it'd be something simple like that, it was just hard to wrap my mind around; the examples with the sine wave and DNA and whatnot helped. xP

And Gec, can you seriously do that? Do you have to do something special first? I can't get anything out of it other than the creature pic itself...

Thanks again, it really is fascinating technology. =]

Offline DarkDragon

  • Final Fantasy Fanatic
  • *****
  • Posts: 6501
    • View Profile
Re: Fascinated by Something...
« Reply #12 on: July 18, 2008, 08:13:14 pm »
They store the information in the PNG using metadata, basically they close the info for the image and store the info for the creature after that so it doesn't affect the image (it's on another layer).

All it has to store is:

XYZ coordinates of every spine, their size and children (3D polyline)
XYZ coordinates of the limb joints, their size and parents/children.
XY coordinates on the 3D mesh where parts are attached, their size, slider values, parents/children and rotation angles

The CC/Spore do the rest, they start by making the main body then placing limbs and finally parts. A script then animates the creature based on the ragdoll model created by the spines and limbs.

PS: In programming parent means something belongs to it and should be affected by it in some way, child means that it belongs to something and should be affected by that something (its parent).
DarkDragon's Minecraft Survival Server (use this as the IP):

gamingsteve.dyndns.org

- The server uses a whitelist, if you're not on the whitelist (can't connect), PM me your minecraft name.

Offline HarvesteR

  • Akalabeth Addict
  • **
  • Posts: 179
    • View Profile
Re: Fascinated by Something...
« Reply #13 on: July 18, 2008, 08:24:58 pm »
They store the information in the PNG using metadata, basically they close the info for the image and store the info for the creature after that so it doesn't affect the image (it's on another layer).

actually... it's not on the metadata section...
apparently, the creature data is steganographically embedded in the image itself... it appears the first bytes of every pixel contain creature data, instead of image data...

there was a thread about this shortly after the CC came out... people were analyzing how creature data was stored... and found that the metadata section is not where the creature is stored... that is... as far as i know... maybe there has been some breakthrough there that i didn't hear about... in that case, my information might be outdated
« Last Edit: July 19, 2008, 03:23:23 pm by HarvesteR »

Offline DarkDragon

  • Final Fantasy Fanatic
  • *****
  • Posts: 6501
    • View Profile
Re: Fascinated by Something...
« Reply #14 on: July 18, 2008, 08:27:26 pm »
They store the information in the PNG using metadata, basically they close the info for the image and store the info for the creature after that so it doesn't affect the image (it's on another layer).

actually... it's not on the metadata section...
apparently, the creature data is stenographically embedded in the image itself... it appears the first bytes of every pixel contain creature data, instead of image data...

there was a thread about this shortly after the CC came out... people were analyzing how creature data was stored... and found that the metadata section is not where the creature is stored... that is... as far as i know... maybe there has been some breakthrough there that i didn't hear about... in that case, my information might be outdated

I looked at it with an HEX editor and unlike normal pngs which only have 1 section for data, these have 3. So I guess what people are seeing as random noise is just a side-effect of putting that extra data in there.
DarkDragon's Minecraft Survival Server (use this as the IP):

gamingsteve.dyndns.org

- The server uses a whitelist, if you're not on the whitelist (can't connect), PM me your minecraft name.