{"id":17267188,"url":"https://github.com/agamiko/pixel_character_generator","last_synced_at":"2025-07-24T22:04:45.782Z","repository":{"id":101298804,"uuid":"259598627","full_name":"AgaMiko/pixel_character_generator","owner":"AgaMiko","description":"Generating retro pixel game characters with Generative Adversarial Networks. Dataset \"TinyHero\" included.","archived":false,"fork":false,"pushed_at":"2020-05-24T12:21:40.000Z","size":21241,"stargazers_count":125,"open_issues_count":0,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T19:35:12.496Z","etag":null,"topics":["dataset","dataset-generation","dcgan-pytorch","deep-learning","generative-adversarial-network"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AgaMiko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-04-28T10:01:08.000Z","updated_at":"2025-03-29T21:13:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"31dd3142-156d-4a24-aa37-7ec7e2253234","html_url":"https://github.com/AgaMiko/pixel_character_generator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgaMiko%2Fpixel_character_generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgaMiko%2Fpixel_character_generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgaMiko%2Fpixel_character_generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgaMiko%2Fpixel_character_generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AgaMiko","download_url":"https://codeload.github.com/AgaMiko/pixel_character_generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248844195,"owners_count":21170530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataset","dataset-generation","dcgan-pytorch","deep-learning","generative-adversarial-network"],"created_at":"2024-10-15T08:09:50.203Z","updated_at":"2025-04-14T08:22:32.745Z","avatar_url":"https://github.com/AgaMiko.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pixel_character_generator\n Generating retro pixel game characters with Generative Adversarial Networks. Dataset \"TinyHero\" included.\n \n ![](images/58.png)  ![](images/58_2.png)  ![](images/58_3.png)  ![](images/58_4.png)\n ![](images/212.png)  ![](images/212_2.png)  ![](images/212_3.png)  ![](images/212_4.png)\n ![](images/584.png)  ![](images/584_2.png)  ![](images/584_3.png)  ![](images/584_4.png)\n\n ![](images/111.png)  ![](images/111_2.png)  ![](images/111_3.png)  ![](images/111_4.png)\n ![](images/585.png)  ![](images/585_2.png)  ![](images/585_3.png)  ![](images/585_4.png)\n ![](images/586.png)  ![](images/586_2.png)  ![](images/586_3.png)  ![](images/586_4.png)\n\n \n # Dataset TinyHero\n \n ![](images/random_chars.png)\n \nDataset TinyHero includes 64x64 retro-pixel character. All characters were generated with [Universal LPC spritesheet by makrohn](https://github.com/makrohn/Universal-LPC-spritesheet/tree/7040e2fe85d2cb1e8154ec5fce382589d369bdb8). Each character in the dataset was randomly generated including: sex, body type, skin color and equipment with LPC spritesheet with 4 different angles view. \n\n| Image sixe | Dataset size  | Source          | Download |\n|------------|---------------|-----------------|----------|\n| 64x64      | 3648 images   | [LPC Spritesheet](https://github.com/makrohn/Universal-LPC-spritesheet/tree/7040e2fe85d2cb1e8154ec5fce382589d369bdb8) | [data.zip](data.zip)|\n|            | 912 per class |                 |          |\n\nAccording 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.\n\nCC-BY-SA 3.0:\nhttp://creativecommons.org/licenses/by-sa/3.0/\nSee the file: cc-by-sa-3.0.txt\n\nGNU GPL 3.0:\nhttp://www.gnu.org/licenses/gpl-3.0.html\nSee the file: gpl-3.0.txt\n\n ![](images/587.png)  ![](images/587_2.png)  ![](images/587_3.png)  ![](images/587_4.png)\n ![](images/588.png)  ![](images/588_2.png)  ![](images/588_3.png)  ![](images/588_4.png)\n \n# Pixel Character Generator - DCGAN\nBased on the DCGAN pytorch tutorial: https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html\n\n  * Experimented with latent size (input for Generator) and feature map sizes \n  * Added soft and noisy labels\n  * Added Wasserstein loss which is a good solution for mode collapse\n    * Wasserstein loss - https://developers.google.com/machine-learning/gan/loss\n    * mode collapse - https://machinelearningmastery.com/practical-guide-to-gan-failure-modes/\n  * Added dropout in both generator and discriminator\n\n* [DCGAN Tutorial](https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html)\n* [Final notebook with modified DCGAN](https://github.com/AgaMiko/pixel_character_generator/blob/master/notebooks/3_DCGAN.ipynb)\n\n### Example results\n\n![](images/real_fake.png)\n\n# Conditional DCGAN\n\nConditional DCGAN that generates a pixel character seen from selected angle.\n\n* different learning rate for discriminator and generator\n* soft labels\n* added classification loss to the discriminator. Discriminator have to guess fake/real but also the character angle\n* generator is conditioned with embedding from trainable look-up table that gives the info about the character view angle\n\n![](images/CGAN.PNG)\n\n* [notebook with modified Conditional DCGAN](https://github.com/AgaMiko/pixel_character_generator/blob/master/notebooks/4_Conditional_DCGAN.ipynb)\n\n# DC Autoencoder\nDeep 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.\n\n* embedding size = 40 is enough for a good-quality reconstruction\n* autoencoder have great denoising properties\n* easier and more stable to train then GAN's\n\n![](images/DCAE.png)\n\n* [notebook with Deep Convolutional Autoencoder](notebooks/5_DC_Autoencoder.ipynb)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagamiko%2Fpixel_character_generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagamiko%2Fpixel_character_generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagamiko%2Fpixel_character_generator/lists"}