hngg

Compress All The Things!
Modder
Donor
Compressor
May 26, 2019
578
2,475
I've added links the "official" compressed version. It doesn't look too good, though, cause I used a PSNR-based compression, and it turned out a bit shit. Will recompress again, but a bit later.
...
I took a look. I'm happy to see you are tackling this, especially for the Android version.

For images:
I think if you are manually enabling PSNR optimizations you are way over thinking things. PSNR optimizations are old school and an outdated methodology. ;) The default psychovisual tuned settings are best for most situations. Applying a good quality de-noising filter can help reduce size without resulting in terrible blocking artifacts. Just go very light on the filtering otherwise the image will become too blurry.

Honestly, I haven't bothered with all of that and the quality is still decent with my version. I used xconvert(webp, Q70), but if you want to get things even smaller without noticeably loosing quality you could convert to PNG first then use cwebp.exe, as that is newer and has more quality tuning options(the [-af, -m 6, -alpha_q 80] switches can save an additional 10-15%). You can't use cwebp to convert webp-to-webp directly because it mangles transparency.

For Video:
Please try using VP9 for video; you will get both higher quality and smaller size.

For Audio:
You can save about 50MB by converting to OPUS audio. I recomend a bit rate in the 48-64kb/s range.

I look forward to my builds being made redundant. :D
 
Last edited:

Master of Puppets

Conversation Conqueror
Oct 5, 2017
7,515
9,999
That seems to be an issue with RenPy's video playback code. Or rather, with the video playback library used by RenPy. It just disappears after a couple of restarts most of the time.
It doesn't happen very often for me, but it is literally the only game I've seen it happen in. There must be something you're doing differently.
 

ZanithOne

A House in the Rift dev
Game Developer
Oct 2, 2018
532
4,966
For images:
I think if you are manually enabling PSNR optimizations you are way over thinking things. PSNR optimizations are old school and an outdated methodology. ;) The default psychovisual tuned settings are best for most situations. Applying a good quality de-noising filter can help reduce size without resulting in terrible blocking artifacts. Just go very light on the filtering otherwise the image will become too blurry.
Yeah, I just noticed that PSNR gave me a better fidelity and more consistent files sizes when doing a few test runs, but I obviously didn't test enough. It mangled lower-contrast images.

use cwebp.exe, as that is newer and has more quality tuning options(the [-af, -m 6, -alpha_q 80] switches can save an additional 10-15%). You can't use cwebp to convert webp-to-webp directly because it mangles transparency.
I am using cwebp already, with -m 6, -af and -sns, and I want to experiment with -pre and -hint to see if it'll do even better. I didn't bother with -alpha_q cause 99% of my images are opaque, but I guess it won't hurt.

For Video:
Please try using VP9 for video; you will get both higher quality and smaller size.
I've had horrible time with VP9 on just slightly older Android devices :( Like, mostly smooth playback with VP8, and one frame per 2 or 3 seconds on VP9. I don't know, I'll see what I can do.

For Audio:
You can save about 50MB by converting to OPUS audio. I recomend a bit rate in the 48-64kb/s range.
Ooh, yes, you're right, thanks. I totally forgot that some (most?) of my music tracks are 320kbps for no good reason.

I look forward to my builds being made redundant. :D
Will do my best :whistle:

It doesn't happen very often for me, but it is literally the only game I've seen it happen in. There must be something you're doing differently.
Well, I know for sure that many games store animations as frame sequences, literally. If other RenPy games with non-fullscreen webm movies don't do that, then I'm at a loss. SDK version, the way I switch clips (which is a simple call to a sub-label), who knows. There's only one way to init videos in RenPy, and it doesn't really accept any flags or anything besides "loop or no loop".
 

hngg

Compress All The Things!
Modder
Donor
Compressor
May 26, 2019
578
2,475
I am using cwebp already, with -m 6, -af and -sns, and I want to experiment with -pre and -hint to see if it'll do even better. I didn't bother with -alpha_q cause 99% of my images are opaque, but I guess it won't hurt.
Another hint: In my own testing any alpha_q value of 80 or above doesn't result in any major impact to image quality. Lower values start giving banding artifacts like a PNG in 256 color mode.
I've had horrible time with VP9 on just slightly older Android devices :( Like, mostly smooth playback with VP8, and one frame per 2 or 3 seconds on VP9. I don't know, I'll see what I can do.
...
Yeah, VP9 is hard on the CPU. That's why I limited resolution to 540p(1/4 res) on mobile. Modern phones have Hardware VP9 decoding but I disable HW playback on my builds for compatibility, I don't know if you do the same(config.hw_video = False). My ZTE Axon 7(circa 2016) wasn't able to handle 1080p but could play 540p just fine. I couldn't tell a difference in quality on a screen so small.
 
Last edited:
  • Like
Reactions: ZanithOne

Master of Puppets

Conversation Conqueror
Oct 5, 2017
7,515
9,999
Well, I know for sure that many games store animations as frame sequences, literally. If other RenPy games with non-fullscreen webm movies don't do that, then I'm at a loss. SDK version, the way I switch clips (which is a simple call to a sub-label), who knows. There's only one way to init videos in RenPy, and it doesn't really accept any flags or anything besides "loop or no loop".
Most that I've seen only use frame sequences for low 2-3 fps animations, not 30fps+ videos. Maybe it's the call thing? I thought that videos just used scene or show like with any other displayable.
 

Master of Puppets

Conversation Conqueror
Oct 5, 2017
7,515
9,999

Vrijgeest

Engaged Member
Jun 16, 2019
3,332
3,179
It is not a grinder? Just love these people who just shove up a face palm without any comment.
If it is not a sandbox what is it? This one is really bad.
 

EZ8lt

Engaged Member
Dec 24, 2019
2,495
5,563
It is not a grinder? Just love these people who just shove up a face palm without any comment.
If it is not a sandbox what is it? This one is really bad.
It's not a grinder. You have barely any stats, they are easy to raise, tied to new events, and there's only 3-4 points for them. Other than that, sandbox here is about to roam freely and choose who with you progress with. I could show you a few grindfest games, this isn't one of them. Sandbox originally was supposed to about the freedom of movement anyway, but for some reason (mostly Big Brother in my book) developers think they all need to be boring grindfests.
 

Rockbrauni

New Member
Jul 10, 2019
5
7
The rum should be next to the table Naomi sit at the evening as to when you should look for it im not 100% sure as i found by "accident" but it should be either morning or evening(in both times Naomi can't be in the kitchen)....I hope this helps
For the bottle to appear you have to have had a bottle of whiskey with Naomi the day before, it will appear by the left most stool on the kitchen.
 
  • Like
Reactions: ZanithOne

Terut

Member
Nov 16, 2017
471
551
So uh...how long is Caitlin going to forget to bring a towel when she helps you in the morning, lol? It's been quite a long time now. Does she have early-onset alzheimer's? Also how is she still mad when you don't warn her now that there's an event where you serve her some in her cereal.

I just think that event needs to get an update. Great game either way.
 

Johnathan_D123

New Member
Feb 3, 2019
8
16
For the bottle to appear you have to have had a bottle of whiskey with Naomi the day before, it will appear by the left most stool on the kitchen.
You don't really need to have a drink with her...she just has to be in the kitchen in the evening and than you can find that bottle throughout the whole next day
 
  • Like
Reactions: ZanithOne

Master of Puppets

Conversation Conqueror
Oct 5, 2017
7,515
9,999
It is not a grinder? Just love these people who just shove up a face palm without any comment.
If it is not a sandbox what is it? This one is really bad.
Because if you think sandbox is equivalent to grind, you clearly don't know what one of these words means.
 
4.70 star(s) 327 Votes