Package-level mipmaps and other PEOPLE-time optimizations


#1

It’s 2019, and it’s widely known that smartphones, which Apple® (the visionary) has kindly given to us, have reduced the human attention span to mere seconds. This means that all programs and games that are designed today must ideally work within the confines of this limitation. Here are some ideas:

  • Use package-level mipmaps: every package should contain low-fidelity versions of the packaged resources which get downloaded first. This way, it will be possible to let the player enter the game much sooner, and move the downloading of high-resolution resources to a background thread. Less people will leave when servers switch to large custom maps, and mappers won’t be discouraged from using non-standard resources in maps (more creativity).

  • Make it possible to chat while the map is loading.

  • Begin to load common resources in background immediately upon startup.

  • Stream background music so it can be played whilst being downloaded.

  • Resume incomplete downloads instead of starting from scratch.


#2
  • What if there was a mini game you could play while waiting for downloads?

  • While you are already playing a match on the server, you should be able to start downloading the anticipated next map before the current match is over.


#3

But can the Internet infrastructure be trusted with prioritizing packets as to not hamper the gameplay if a download is running in parallel with the actual game?


#4

I am under the impression that at least on Jeff’s Vehicle server on the game Xonotic, while playing you download the next background music track (if you don’t already have it), before the current background music track ends. I did not notice an interruption in the quality of the game play while that downloading was taking place. But I do have high speed internet (although not as fast as what is commonly offered in Europe), and that might be an issue in parts of the world that don’t have high speed internet.