• We will be performing maintenance to upgrade some of our forum tools. During this time, the site will remain online, but you may encounter some errors until the maintenance is complete. The report and search functions will be unavailable until the maintenance is complete.

    Maintenance is expected to last up to 4 hours.

    The maintenance window will start on Thursday, 2024/07/04, at: 1:00 PM GMT / 3:00 PM CEST / 9:00 AM EDT / 6:00 AM PDT / 12:00 AM AEDT

    Thank you for your patience.

hngg

Compress All The Things!
Modder
Donor
Compressor
May 26, 2019
576
2,464
You don't have permission to view the spoiler content. Log in or register now.
Xvid is an extremely old codec that has poor compression efficiency, especially at HD resolutions. What is your intermediate format (the codec you export from renderer)? Do you render directly to xvid or do you render to PNG first then import as frames to an editor like Vegas?

I suggest you use to compress the videos. The x265 encoder set to its "medium" preset in handbrake will give you similar quality at half the size of xvid. If you can't get that to work you can try the vp9 encoder, which offers similar quality to x265 but takes longer to encode.

You don't have permission to view the spoiler content. Log in or register now.

Another tip would be to use image overlays instead of whole frames for animations like the lightning effect around the text or the "sack over the head" sequence. One of the largest videos currently, "113_sackide.mpg" could easily be 1/10th its size if you had the driving sequence be a lower resolution(480p) playing in the background and you placed a high resolution "sack" texture over the video during playback. Players would not notice the reduced video resolution because it would be blocked by the texture anyway, and the codec's motion prediction algorithm would be able to handle the video far better without the static texture messing with the motion vectors. You could even eliminate the video altogether and just reuse "105_divemov.mpg" behind the texture instead.

As far as images, Webp is the clear choice. You can use to convert from PNG to lossless Webp, which would bring a decent drop in size(maybe 30%) while not noticeably effecting quality. You could shrink it further if you went with Q90 lossy mode, which would still look pretty good.

Audio should be Opus format; unless you have golden ears Opus @ 128k sounds just like CD most of the time. Even 80k can sound good.
 
Last edited:
  • Like
Reactions: lionmc and Kalrotix

lionmc

Member
Game Developer
Mar 12, 2018
177
2,281
Xvid is an extremely old codec that has poor compression efficiency, especially at HD resolutions. What is your intermediate format (the codec you export from renderer)? Do you render directly to xvid or do you render to PNG first then import as frames to an editor like Vegas?

I suggest you use to compress the videos. The x265 encoder set to its "medium" preset in handbrake will give you similar quality at half the size of xvid. If you can't get that to work you can try the vp9 encoder, which offers similar quality to x265 but takes longer to encode.

You don't have permission to view the spoiler content. Log in or register now.

Another tip would be to use image overlays instead of whole frames for animations like the lightning effect around the text or the "sack over the head" sequence. One of the largest videos currently, "113_sackide.mpg" could easily be 1/10th its size if you had the driving sequence be a lower resolution(480p) playing in the background and you placed a high resolution "sack" texture over the video during playback. Players would not notice the reduced video resolution because it would be blocked by the texture anyway, and the codec's motion prediction algorithm would be able to handle the video far better without the static texture messing with the motion vectors. You could even eliminate the video altogether and just reuse "105_divemov.mpg" behind the texture instead.

As far as images, Webp is the clear choice. You can use to convert from PNG to lossless Webp, which would bring a decent drop in size(maybe 30%) while not noticeably effecting quality. You could shrink it further if you went with Q90 lossy mode, which would still look pretty good.

Audio should be Opus format; unless you have golden ears Opus @ 128k sounds just like CD most of the time. Even 80k can sound good.
Thanks, these all sound like great tips. It's gonna take a bit of research and some experimenting but we're definitely giving them a try (y)(and btw to answer your question, so far we have been creating our animations by rendering to png images, turning them into a lossless avi clip with After Effect and then convert to xvid with AVC converter)
 
Last edited:

hngg

Compress All The Things!
Modder
Donor
Compressor
May 26, 2019
576
2,464
Here's my compressed version.
The Mind Society [v0.4c] [Adventures in ENF] - Original Size: 1.28 GB

Download Win,Linux (328MB)
:
You don't have permission to view the spoiler content. Log in or register now.

I've used playb0y44's post in this thread as a template & my own modified version of PearlNecklaceProductions's modded version of bas's cruncher script (what a mouthful). The size is a little bigger than the other compressed version(0.4b) because I've used a higher bitrate to retain greater quality.
 
  • Like
Reactions: UraN82 and lionmc

hngg

Compress All The Things!
Modder
Donor
Compressor
May 26, 2019
576
2,464
Thanks, these all sound like great tips. It's gonna take a bit of research and some experimenting but we're definitely giving them a try (y)(and btw to answer your question, so far we have been creating our animations by rendering to png images, turning them into a lossless avi clip with After Effect and then convert to xvid with AVC converter)
That's good, that means you don't really have to change your workflow much, just replace AVC converter with Handbrake. Unfortunately it doesn't look like RenPy supports h.265, so you'll have to stick to VP9. Sorry if I misled you earlier.

I've got another tip for you though. It looks like you have a lot of duplicate files. For example: say anything.ogg, anything10db.ogg, and anything20db.ogg all seem to be the same thing, and yet they are all taking up precious space. There are others too, like the main theme shows up 2 or 3 times as well. It looks like you were trying to play the song with reduced gain but there is a better way. You can reduce the volume of a song during playback by using this command on the line before you call the file in the script:
Code:
    python:
        renpy.music.set_volume(volume=0.2, delay=0, channel='music')
You don't have permission to view the spoiler content. Log in or register now.
That way you can have just one copy of each song, which will clean up your file structure and save on space. :)
Just remember to set the volume back to 100% when you're finished with the song like this:
Code:
    stop music fadeout 1
    python:
        renpy.music.set_volume(volume=1, delay=2, channel='music')
Otherwise you will wonder why everything is so quiet later :p
 
Last edited:
  • Like
Reactions: lionmc

lionmc

Member
Game Developer
Mar 12, 2018
177
2,281
That's good, that means you don't really have to change your workflow much, just replace AVC converter with Handbrake. Unfortunately it doesn't look like RenPy supports h.265, so you'll have to stick to VP9. Sorry if I misled you earlier.

I've got another tip for you though. It looks like you have a lot of duplicate files. For example: say anything.ogg, anything10db.ogg, and anything20db.ogg all seem to be the same thing, and yet they are all taking up precious space. There are others too, like the main theme shows up 2 or 3 times as well. It looks like you were trying to play the song with reduced gain but there is a better way. You can reduce the volume of a song during playback by using this command on the line before you call the file in the script:
Code:
    python:
        renpy.music.set_volume(volume=0.2, delay=0, channel='music')
You don't have permission to view the spoiler content. Log in or register now.
That way you can have just one copy of each song, which will clean up your file structure and save on space. :)
Just remember to set the volume back to 100% when you're finished with the song like this:
Code:
    stop music fadeout 1
    python:
        renpy.music.set_volume(volume=1, delay=2, channel='music')
Otherwise you will wonder why everything is so quiet later :p
True, there are probably quite a few unused image files sitting in there too. We learned a lot on the job while building the game and some of the early mistakes are still there, just hidden under the carpet :oops: Before we publish our next version we'll have to spend quite some time tiding up the place, anyway thanks for all the tips and the work you've putting into this (y)

gifsignature60fr.gif
 

BarbarrossaNA

Active Member
Sep 10, 2019
934
1,589
The shortest body of work I've seen that deserves Patreon support and encouragement to become a large body of work. Short and to the point. :) 2 thumbs up.
 
  • Like
Reactions: lionmc

steverogers5

Newbie
Jan 1, 2018
30
24
Dear God, that was amazing! Incredible artwork, wonderfully curvy girls and mind control. Fantastic job all round! Loved it, and I'm looking forward to seeing where you take the story next. Personally I hope there's some interaction with that cheeky fit teacher somewhere down the line! :)
 

kenring

Newbie
Oct 28, 2017
30
18
This is incredible work and I just wish there was more! Once this has had a year or two of updates I have no doubt this will be one of the top rated games on this site.
 
  • Like
Reactions: Kalrotix and lionmc
4.40 star(s) 128 Votes