[...]
Also you'll notice that the download is substantially smaller now. About a 1/3rd of the size. This is due to me compressing and converting the image files to a much more compact format. I don't notice any obvious loss in quality. This was important as when I include additional characters I don't want the game to become too large to download easily.
[...]
converting the blurry background images to fairly low quality webp isn't an issue, but maybe you should increase the the bitrate some for the overlaid character cutouts.
although webp lossy really isn't a good image compression format.
just using a png optimizer could save quite a bit of space.
suggest trying out oxipng. i run it on all my png files in the current directory with gnu parallel like so:
find . -type f -ipath "*?.png" | parallel "oxipng -o max -p -s -a -i 0 -q --fix -D -t 1 {} ; oxipng -o max -p -s -a -i 0 -q --fix -t 1 {}"
the way you use transparent images of the characters over a separate background is the perfect use case for lossless webp. the extra bits you spend there will be seen repeatedly, every time you use that pose/expression you get better return on invested filesize.
recommend using the libwebp encoder (as in cwebp standalone, or webp library in ffmpeg etc.) with options
cwebp -z 9 -alpha_filter best -o OUTPUT.WEBP INPUT.PNG
or
ffmpeg -i INPUT.PNG -c:v libwebp -lossless -compression_level 6 -q:v 100 OUTPUT.WEBP
anyways, nice game so far, keep it up!