What is a comfortable/safe number of server calls?I think you're asking the wrong question here. There's no magic number that guarantees you a good player experience. Instead, think in terms of milliseconds. What is an acceptable wait time for...whatever it is you're doing? 100ms? 500ms? Maybe it's five seconds.
Next, find out how long each server call actually is. Without going into too much detail, this will depend on (a) round-trip-time AKA latency, which varies a lot and
depends on geography; and also (b) the amount of data that needs to be loaded and the end-to-end throughput (player's carrier, your uplink, or any bottlenecks in between can crush this). No amount of file concatentation will help if you have gobs of megabytes in the first place. Luckily, Chrome's dev tools (or any modern browser, really) allow you to collect really juicy information on exactly how long your server calls are taking, how many there are, and why. Look there first.
Remember, conserving bandwidth is a form of optimization, and the first rule about optimization is to
measure it first.
When your dealing with multiple sprite sheets, is there a way to wrap multiple sprite sheets into one file? Not one big sprite sheet.There are so many ways to do this; in some cases I think HTTP will even do it for you (transparently). You can always zip or lzma "manually" but that's extra code to worry about, and then you're consuming CPU instead of bandwidth, not a real improvement. The
best way really depends on the specifics of your scenario. How many files do you have? Are they all png? Etcetera, etcetera.