We love creature sprites like this image of Ivysaur:
![]()
Sprites show surprising levels of detail despite their small image sizes. However, under every beautiful sprite is a matrix of numbers. Sprite of this size, whether used in games, websites, or other forms of media, can be expressed with 96 x 96 x 4 x 255 values.
Since every sprite has a unique mathematical fingerprint, we wondered if we could discover new creatures in the vector space of such images. We were excited to get creative in the face of a daunting mathematical challenge.
We applied a one-way transformation to all of the sprites, reducing them to 96 x 96 = 9216 component vectors. With five color values for each component, this still left a search space of over five hundred quadrillion (17 zeros) possible vectors. Far too many for humans to look at individually.
We applied a slew of data mining, machine learning, artificial intelligence, and deep learning techniques in pursuit of new, never-before-seen creature sprites. Methods implemented include:
- Principle Components Analysis
- K-Means Clustering
- Logistic Regression
- Kernel Smoothing
- Genetic Algorithms
- Linear Optimization
- Generative Adversarial Neural Networks
- Recommender Systems
In our search, we uncovered many, many, many pixelated red herrings as well as a handful of new creature-like sprites. They are "rough around the edges" but born entirely out of mathematics and computer science.
We developed Jupyter notebooks and a website to share our findings. The results show intriguing clusters of creatures and curious mutations of prospective sprites. We also applied our sprite/vector transformation process to create a tool that allows users to search for sprites by drawing them. Come explore the data with us!
Built With
- flask
- google-cloud
- javascript
- jupyter
- numpy
- pandas
- plottable
- python
- scikit-learn

Log in or sign up for Devpost to join the conversation.