Vitruvian Studio - LPC Character Generator (proof-of-concept)

Vitruvian Studio - LPC Character Generator (proof-of-concept)

I would like to introduce Vitruvian (https://vitruvianstudio.github.io/) to you, a proof-of-concept aimed at exploring how to maximize the potential of existing sprites. Despite not being a pixel artist myself, I wanted to contribute to the community in this way.

To achieve this, I attempted to condense (almost) all sprites from Sanderfranken's Universal-LPC-Spritesheet-Character-Generator (https://github.com/sanderfrenken/Universal-LPC-Spritesheet-Character-Gen...) to a maximum of 6 shades per material. This allows users to select their desired color, and the spritesheets are instantly recolored. By requiring only one spritesheet per design (as opposed to one for each color), I managed to reduce the overall size of the sprites to under 20 MB (including credits and some specs). Currently, I am using Eliza's Liberated Palette (https://github.com/ElizaWy/LPC/wiki/Style-Guide#color-palette) for the recoloring process.

For sprites composed of multiple materials (e.g., Bicorne athwart admiral cockade from https://opengameart.org/content/lpc-pirates), it is possible to assign a unique color to each material, leading to 658,503 different combinations for the hat in this particular case. Presently, up to 4 materials are supported.

Additional features include:

- Displaying and playing animations
- Saving/loading settings (in the browser's LocalStorage; however, saved settings are lost after clearing the cache)
- Exporting/importing settings as JSON
- Exporting PNGs per animation as a single sprite or one sprite per layer

All of this functionality also extends to horses, based on (https://opengameart.org/content/lpc-horse-extended). The riding animation is not available yet, as I honestly haven't fully grasped it :)

Currently, not all colors are accurate, but this is, after all, a proof-of-concept. Some sprites are challenging to condense without compromising quality, and adjustments the Z-indices are still needed in some cases. Also I have to check if all credits are set correctly.

The original colors (except for a few exceptions due to the complexity of color settings) are not available, as Sanderfranken's excellent tool (https://sanderfrenken.github.io/Universal-LPC-Spritesheet-Character-Gene...) serves that purpose.

The source code is not yet available, as the code is still very dirty (and possibly buggy at some points) and could use some refactoring and optimization :) but the plan is to release the code soon.
The recolored sprites are pushed to GitHub: https://github.com/vitruvianstudio/spritesheets

I'm eager to hear your thoughts and welcome feedback to shape the future development of Vitruvian.

Best regards
napsio