v1.0.6 update notes - character sprite resolution patch


v1.0.6:

This is somewhat of a sudden patch which has been foreshadowed before. When I happened to boot up my VN on my 23.8 inch pc monitor, I noticed that the character sprite looks off compared to what I saw on my drawing tablet! There are a lot of jaggies in Evelyn's hair and her face is somewhat blurry. These are probably issues that are more noticeable when the screen is large. Basically I don't have a nice set-up where I can plug both my drawing tablet and pc monitor simultaneously, and eh, the only time I really look at my VNs is during development as this overlaps with when I'm making the art assets. This tweet describes it in more details and it even got the attention of Ren'Py Tom who is kind enough to look into it: https://twitter.com/Gaming_V_Potato/status/1653478044143632421

The conclusion was basically, my art style has too many thin angled lines which don't match well with the in-built bilinear filtering. Nevertheless I'm stubborn and wanted to test if code-wise it can change the look a little bit.

Sprite characteristic: The character art asset is at 3840x2160 (twice the height and length of 1920x1080). It's mostly transparent space, because the character is sitting at the centre and will never move away from her position.

  • Android build is still on v1.0.5 because this issue is not very noticeable on smaller screens.
  • Attempt on fixing issue with Evelyn's sprite resolution: I redid the image definitions code, while the sprite assets remained exactly the same. Since I updated to Ren'Py 8, the project size seems to be actually even smaller for PC and Linux in v1.0.6 compared to v1.0.5.
    • Using oversample when defining image: The actual method I've tested first is with defining images by setting a oversample value to it, because I was really curious what this oversample parameter did which I believe is newly added to Ren'Py. I'm fully aware it's intended to upscale a low-res image to be larger, but there's no harm downscaling an image either. ๐Ÿ˜†
      • So I went ahead and spent an entire evening redoing and debugging the game. So in the end there are two definitions for the layered images, one that is made up from 'smaller' images (resized programmatically instead resizing it in the art program), and the other layered image uses the images at their original size. Setting oversample at 2 is comparable to zoom 0.5. I won't go in depth about it despite it's actually what is used in this build, because I don't actually recommend this method. But I wanted to roll out a patch as quick as possible the moment I debugged it to work. As for initial results go, it already looks better than the original build.

    • Using zoom: It's only later today that I spent some more messing around with values that I discovered that the good ol' zoom was just a possible solution that in some ways look even better. ๐Ÿ˜ฉ The reason I retried the tests is because I actually didn't settle with oversample 2, but found the results to be nicer when it's at 1.996 (the sprite in new build is slightly larger than old build for this reason). And when I saw some other results with a different zoom value today which I hadn't tested yesterday, I regret not branching out trying out different methods at once. ๐Ÿ˜‘ It's human nature to pick the mathematical value that makes most sense in your head (zoom 0.5), but sometimes you can experiment with a slightly off float number and the results suddenly look different. I found out that using zoom 0.502 yields a result that looks very similar to the current build (while 0.501 wasn't an improvement at all), and it would have been literally a few minutes work if I knew that it could work. To sum it up: If you ever need a quick fix in case you accidentally made ill-fitted art assets, you can try out a zoom value with some extra decimals to make it less round, and see if it helps.
  • Random quiz: For the first I've also counted the amount of expressions Evelyn has... let's turn this into a pop quiz and you can test yourself if you can guess close to it. For this VN an expression is considered the entire face layer image. I would lose track even more if I had separate eye and mouth parts, and here I tend to have a mouth closed and open version for most of the common emotions (for example sad and sadspeaking would count as 2 expressions).
    Click to see answer21... and I had planned more, if only I wasn't getting a strain on my hand for drawing for a too long duration and normally I draw very slow to avoid this, but I was short on time. Some of these expression you also only see once, oh well.
  • Web build loading screen: the web build is not using Ren'Py's default image anymore. I edited the bonus art from my previous DevLog and turned this into a loading screen where only Evelyn is depicted.
  • What's not included because it didn't work - executable icon: Bit of a bummer but somehow it's not working for me this time. Can't remember the exact specs for it even if I looked up online for the most recent posts on this topic. In the past I've made it work for "The Snowperson", so it isn't that have done it before. Not the end of the world, especially when this is just a short jam game you probably wouldn't have noticed it.

Comparisons at fullscreen (1920x1080):

Open the images in full size/new tab to see the differences.

v1.0.5 and before - zoom 0.5:


Unused - Redone art assets in CSP:


v.1.0.6 (newest build) - oversample 1.996:


Unused - zoom 0.502:


Files

FacelessDate-1.0.6-web.zip Play in browser
Jun 17, 2023
FacelessDate-1.0.6-win.zip 43 MB
Jun 17, 2023
FacelessDate-1.0.6-mac.zip 48 MB
Jun 17, 2023
FacelessDate-1.0.6-linux.tar.bz2 35 MB
Jun 17, 2023

Get Faceless Date

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.