You do realize its unplayable due to the resolution issues, right? Hardcoding that in isn't the best of ideas.
pixelkhaos
Recent community posts
Oh an another optimization could be to instead of using a full image per frame, you could use smaller separated images, for example for characters, in the SpriteManager. Then use those sprites with Layered Images for composition.
Having a spritesheet of character images, per character, would also help in the future where you might want to make changes, or support different outfits or such in an already existing scene, without having to render the entire scene :)
Spritesheets will be especially useful for UI elements or other extra resources
https://renpy.org/doc/html/sprites.html
https://renpy.org/doc/html/layeredimage.html
First off you may want to look at using smaller image/video formats, avoiding PNG and instead using jpeg where you can, or even webp for high quality but tiny size (). For video webm is a good choice but can be a bit difficult to get in good quality (mostly issues with high contrast).
ffmpeg, either command prompt version or a GUI version will be very useful to re-encode and compress! This is a mouthful, but it does cover some optimal commands for ffmpeg https://www.reddit.com/r/visualnovels/comments/7yq1wa/tutorial_how_to_save_space...
But the main thing from renpy is using build.archive and build.classify, as archiving does compress files into archives, but it's not necessarily super optimized on its own, which is why doing the heavier compression beforehand is better.
However, by not archiving, you are keeping the game open to run on future platforms, but not really something you'd need to worry about as it stands now.