Generate OMORI character sprite with Generative Adversarial Networks (GAN) using PyTorch Lightning.
Spoiler warning: Example of generated sprite
Sunny hiding his hands
Kel with different uniform
New NPC?
Sample of generated image during GAN training
Example of generated sprite from https://ilos-vigil.github.io/OMORI-GAN
All code in this repository only tested with Python 3.8 on Debian-based Linux distribution. I assume you already install CUDA, cuDNN and other library/driver required to run PyTorch. If you use RTX 3000, you may need head to https://pytorch.org/get-started/locally/ and install PyTorch with Compute Platform CUDA 11.3 or 11.6.
git clone https://github.com/ilos-vigil/OMORI-GAN
cd OMORI-GAN
python3.8 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
More specific setup or manual is available on each directory!
preprocessing
contain script to decrypt and preprocess data from OMORI game.gan_model
contain code to train DCGAN model. Some model weight and run history also included.other_experiment
contains report of creating GAN model using different ready-to-use model.docs
contain source code of static webpage which generate OMORI character sprite. Visit https://ilos-vigil.github.io/OMORI-GAN for live demo.
Here's description from OMORI official site
Explore a strange world full of colorful friends and foes. Navigate through the vibrant and the mundane in order to uncover a forgotten past. When the time comes, the path you've chosen will determine your fate... and perhaps the fate of others as well.
P.S. It's strongly recommended to play the game blindly (without looking for any article, video or review).
This project is licensed under the terms of the MIT License. But i do not claim any ownership of any generated image.
OMORI GAN makes use of the following project and article.
- Machine Learning with PyTorch and Scikit-Learn Book Chapter 17 Part 2 for WGAN-GP and small part of DCGAN implementation.
- mv_decoder.py by kin-kun. Take note the author doesn't include or mention any license on either source code. It's included on this repository for archival purpose.
- DiffAugment with small modification to remove warning message on PyTorch 1.12.1.
- Deconvolution and Checkerboard Artifacts for upscale-convolutional approach.