Tiny Hero - Generating pixel characters with GANs

A tiny dataset for cool experiments with GANs and autoencoders.

Dataset TinyHero

Dataset TinyHero includes 64x64 retro-pixel character. All characters were generated with Universal LPC spritesheet by makrohn. Each character in the dataset was randomly generated including: sex, body type, skin color and equipment with LPC spritesheet with 4 different angles view.

Image sixeDataset sizeSourceDownload
64x643648 imagesLPC Spritesheetdata.zip
912 per class

According to the rules of the LPC all art submissions were dual licensed under both GNU GPL 3.0 and CC-BY-SA 3.0. Further work produced in this repository is licensed under the same terms.

CC-BY-SA 3.0: http://creativecommons.org/licenses/by-sa/3.0/ See the file: cc-by-sa-3.0.txt

GNU GPL 3.0: http://www.gnu.org/licenses/gpl-3.0.html See the file: gpl-3.0.txt

Pixel Character Generator - DCGAN

Based on the DCGAN pytorch tutorial: https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html

Example results

Conditional DCGAN

Conditional DCGAN that generates a pixel character seen from selected angle.

  • different learning rate for discriminator and generator
  • soft labels
  • added classification loss to the discriminator. Discriminator have to guess fake/real but also the character angle
  • generator is conditioned with embedding from trainable look-up table that gives the info about the character view angle

DC Autoencoder

Deep convolutional autoencoder. This autoencoder have the same architecture as DCGAN above. The only difference is the additional fully-connected layer at the top of the encoder, which projects output from convolutional layer to selected latent size.

  • embedding size = 40 is enough for a good-quality reconstruction
  • autoencoder have great denoising properties
  • easier and more stable to train then GAN's