So I’ve took a quick look at Zigzag Penguin game, and here are some takaways looking at assets:
Some background images, like BG_stage.png is 331Kb, surely it can be way smaller as jpeg.
Throw images through ImageOptim or some other alternative image optimisation software, it will make them smaller. You can save 10%-20% in size on all images, which can be up to 500kb.
You have skybox which has 6 faces, in total around 800kb, if you prefilter them, and unmark faces from being loaded, it will load only prefiltered data, that might be smaller.
Music can be not preloaded by default, that will make it load in async as game goes, and once it is loaded it will play. That will make game to run 500kb earlier.
You have jquery loaded twice
bg2.png is tiled horizontally, surely you can cut the image, and tile it using tiling on material, or background-repeat in css (if using within dom).
You load physics library, is it really necessary? It is 1.3mb, and it does not perform well on mobile.
Your servers do not gzip stuff - this can save for up to 2-3mb of data transferring.
Those are tips that will make games smaller and load faster, this affects directly how many people wait till game is fully loaded. This is generally important practice around the web to keep your interactive content as tiny as possible.