Thank you! These things are always useful for fellow devs <3
Runtime Sprites: Or How I Learned to Stop Worrying and Love the Moo
Hello, boys and girls.
This will be a quick one. Recently our programmer and artist, nanoff, wrote a guide on how he implemented our sprite management system on ren'py.
A little bit of context: quite often visual novels export a number of files — the character in all his expressions with all his clothing variations —- and put them on a folder. This sounds good enough at first but it gets complicated when there are too many files, plus it makes the game take up more memory.
Minotaur Hotel is different because we wanted the player to be able to customize Asterion. Exporting all these sprites one at a time for every possible variation is not doable. What nanoff did was separate the sprites into layers which get put together as the game goes. This means we can have an absurd number of combinations while not taking up much space -- if you want to take a quick look on what that means, check this DevLog where we go over it.
So, nanoff wrote the guide. This was done during a conversation with other developers, mainly George from Team Echo, currently working on The Smoke Room. We hope other devs might find it useful.
Disclaimer: This document assumes you have a basic to moderate grasp on Ren'py and Python. It is aimed for developers and aspiring devs with some technical proficiency. If you are a player then chances are you won't have much fun reading this.
Here's the document:
Unfortunately Itch.io doesn't support uploading .pdf files, which is what we would have preferred. This link will take you to a Google Doc where you can read and download it. If you are privacy-conscious I recommend you access the file via Incognito Mode and download it, so you can read it offline.
This whole thing got me thinking and we might start writing more elaborate guides from now on. I'm accepting suggestions. I already have a guide on some cool Itch.io features in the works.
If you have any questions, post them below and I'll bring nanoff over.