A person I follow on Medium developed a Generative Adversarial Network (GAN) that automatically creates pokemon using old pictures of pokemon. I wanted to do a similar concept with Yu-Gi-Oh cards.

What it does

The program generates new Yu-Gi-Oh artworks which can be implemented into new cards.

How I built it

I based my model on Yvan's model for a GAN and made edits to the project until it worked on my machine. Then I found Yu-Gi-Oh images, processed them so that they were easier for the machine to deal with, edited small portions of the algorithm to ensure that it works, and then ran the network which took about 1 hour for all runs.

Challenges I ran into

The biggest problem was at the start, where I had to install many packages in order to make the system work. Using a virtual machine was more difficult than I had anticipated and I had to change platforms. I also had a lot of homework that I needed to work on that I finished. Within the actual network itself, there were many parts of it that I did not understand and tutorials online did not make much sense to me, so I hope to learn more about it on my own time in the future.

Accomplishments that I'm proud of

Getting my environment set up to do everything, actually running the program to generate some cool stuff, doing some great things at the end to make it more visually appealing.

What I learned

How to do preprocessing to improve the output of the model, how to create a GAN, what each of the layers in the GAN do, how to load in data in pytorch.

What's next for Yu-GAN-Oh

Adding more ways to influence the output, making better images by using higher resolutions, performing my own RNN on card text to create new cards, making a template to automatically make cards in, creating a way for more interaction with the inputs.

Share this project: