Minecraft Blogs / Article

SSPBL Season 5 - Program Generated Skins

  • 850 views, 2 today
  • 44
  • 20
  • 8
Level 32 : Artisan League
SSPBL Season 5 - Program Generated Skins

SSPBL Season 5
Program Generated Skins


With over 100 skins being created for SSPBL Season 5 (all available in this collection) it seemed like a good opportunity to make something that combines all of the skins created.
I created a script that generates palette compliant skins using a combination of all the skins created for each week/round of this season.
By palette compliant, I mean that the skins generated are made using only the colors found in that week's palette (though gimmicks and color limits are not taken into account).

Here is a plain render of the skin representing each week of this season.
Back row: Prelim Skins, Week 1, Week 2, Week 3, Week 4
Front center: Week 5

SSPBL Season 5 - Program Generated Skins

These skins were generated by my script analyzing each pixel position on all the skin files for that week/round. It collects a list of what color was used by each skin for that pixel position and counts the frequency of that color being used. If multiple people used the same color for that pixel, it will use that color for that pixel in the generated skin.

If no color was used more than once, the script will default to a base skin's color for that pixel position. A secondary mode has been added to the script that allows you to entirely randomize which color will be the default, but this will produce mostly noise skins.

It becomes a lot clearer when looking at the skin file vs. the skins used to generate the skin. You can tell that the bottom right skin was used as the base default and various other colors were matched around it.
Click to view skin comparison

Generated Skin

SSPBL Season 5 - Program Generated Skins

Input Skins

Randomly selected pixels where no single base skin is used creates results such as this:
View Image

List of all palettes from this season and their generated skin:

Prelims (41 Skins)

Week 1 (34 Skins)

Week 2 (15 Skins)

Week 3 (7 Skins)

Week 4 (4 Skins)

Week 5 (2 Skins)

Downloads & Links

Download Skins -- ZIP file of the generated skin files and GIFs.
Python Script -- Python Script used to generate these files.

How To

The Python script provided requires the installation of the Pillow library. This will be hardest step when getting this to work.

You will also need to download all the skins you are wanting to use. I created a secondary script that allowed me to scrape PMC collections for all the skin files. However due to not wanting to place excessive loads on PMC, I will not provide this script and you will need to solve this yourself.

Below are the key fields that need to be configured to make the script work. The most important step is to have sub directories in the same location as where you are running your script. These sub directories will need to be entered into the target_folders list. If you are only using one folder, type:
target_folders = ["MyFolderName"]
# Global Vars
# Change this value to generate a new skin based on a folder's contents.
target_folders = ["Prelim", "Week 1", "Week 2", "Week 3", "Week 4", "Week 5"]
# This will cause the script to select a random color if no more than 1 is found at a pixel position. This setting overrides toggle_random_base_skin.
toggle_random_pixels = 1
# This will cause the script to randomly choose a base skin instead of defaulting to the first one loaded as it's reference for when no more than 1 unique color is found at a pixel position.
toggle_random_base_skin = 1
# This will cause the script to average colors instead of selecting the dominant color.
toggle_average_color = 0
toggle_alpha_rounding = 0
CreditEveryone who created skins for this season of SSPBL. This content was generated thanks to all of you and you all deserve credit in this.

Create an account or sign in to comment.

06/22/2022 5:00 pm
Level 30 : Artisan Theorist
Zibonzi's Avatar
Very cool, very funny. Even if sometimes, some of the skins that come out are pretty weird.
06/21/2022 4:46 pm
Level 76 : Legendary Button Pusher
DragonsDungeon's Avatar
The best thing about this is how clearly the hand shading stands out on essentially all the skins. Lovely work!
06/21/2022 4:54 pm
Level 75 : Legendary Gent
Zitzabis's Avatar
Yeah if I can refine this further, I really would be able to make AI generated skins. It would begin to learn how hands are usually shaded.
06/21/2022 3:59 pm
Level 41 : Master Nerd
Kefaku's Avatar
Pretty impressive work right there :D
06/21/2022 3:55 pm
Level 68 : High Grandmaster Paladin
LogMaiden's Avatar
Well this is pretty cool. Its funny how a few of the skins sorta have eyes.
06/21/2022 3:57 pm
Level 75 : Legendary Gent
Zitzabis's Avatar
That's what I love about this. Areas that people commonly used darker shades will commonly stay darker. Meaning the skins retain a certain level of common highlights and shadows.

This was one of the skins generated where your skin was selected as the base that it built off of.

06/21/2022 4:06 pm
Level 68 : High Grandmaster Paladin
LogMaiden's Avatar
Aye, that's neato! Almost all the second layer is gone, which is interesting.
06/21/2022 4:08 pm
Level 75 : Legendary Gent
Zitzabis's Avatar
Yep the parts of the second layer that were retained would have been where your skin and at least one other skin used the same colors at those pixel positions.
Planet Minecraft


© 2010 - 2024