Giter Club home page Giter Club logo

Comments (2)

Kade-N avatar Kade-N commented on May 18, 2024 1

Forgot to update this thread with more accurate info. Copying this from discord:

Technically, the complexity of a creature, as it appears in the editor, has no bearing on whether or not it can be saved. The complexity meter is, for this purpose, a made-up concept, and has nothing to do with the technical side of things.

Spore PNGs are always 128x128. Because of how the data is stored, each pixel is capable of holding 4 bits of data. This gives a total of 65536 bits, or 8192 bytes (aka 8 KB). This space is used to store two things: a metadata header (creation name, author, ID, etc...), and an XML document that holds the model (parts and paints).

The XML document is produced when a creation is saved. Before embedding it in the PNG, it is compressed, to reduce its file size.

Since we're limited to 8 KB of space, the XML document (after compression) must be smaller than this. In most cases, it is, and therefore the PNG works fine.

However, if, after compression, the XML doc is still larger than 8 KB, the game will put the first 8 KB of the document into the PNG. The rest? It can be found in your game save files, but there is currently no easy way to extract this data, nor is there any way to share it.

So you end up with only a portion of the creation in the PNG. The rest is stuck in your save files.

Once again - the complexity of the creation has no bearing on this whatsoever. Everything comes down to how well it can be compressed. It is standard deflate (gzip) compression. I am not familiar with the format, but generally speaking, duplicate data can be more easily compressed than unique data. So, using the exact same part will generally take up less space than using a bunch of unique parts - and therefore increase the chances it will compress small enough to fit the PNG.

Tl;dr: A million knurldowns is probably smaller than a hundred unique parts

from png-decoder-netcore.

cpoftea avatar cpoftea commented on May 18, 2024

Spore doesn't save all the required data in the PNG

I didn't hear it. More-fore, Spore can open complex creation which data not stored in official Sporepedia or it was created with mods.

from png-decoder-netcore.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.