This is the story of how I (eventually) succesfully wrote a program that generates
Digimon sprites on its own.
A few days ago I decided, on a whim, to try my hand at procedural sprite generation
after reading a blog post on Gamasutra. I decided since I'm a somewhat-novice to
programming, I'd use Microsoft Small Basic. Its easy to use, and gave me enough
power for what I was doing.
I chose the original Digimon sprites as seeds because each of them are 16x16, and
they're all in black and white. (And I like them :)
My first iteration was to check each pixel, and randomly decide which parent
Digimon to take the pixel from. It usually just made random pixels floating about,
but it was more of a test to see if I could get something like this to work.
My second iteration was smarter, but ended up looking worse than the first ones.
It chose one of the parent Digimon, and picked a "part" from it and put it in the
same place on the new Digimon. A "part" was any connected group of pixels.
My third iteration was only slightly different from the second. The main mechanics
worked the same, except if it found a spot that it thought needed a pixel, it would
put one there. This worked slightly better, but ended up with mostly the same
My fourth and last iteration was a complete overhaul from the third. It finds the
common black pixels in both of the parents, then assigns a color to each group of
them. Then those color groups expand until the entire sprite is completely covered
in red and blue pixels. It then replaces each of the color paches with parts from
the corresponding parent Digimon.
This iteration is the only one I'm satisfied with. I think it turned out great for
what it is, even though only one in a handful look okay.
Anyways, thanks for reading! :D
I'm interested in feedback, if you would be so kind!