Shrinking Data for Fun & Profit by Dietmar Hauser
- Author: Michael Rabko (February 6, 2017)
- Tags: compression, shrinking data
- Track: GDC EUROPE 2016 – Programming
- Url: http://www.gdcvault.com/play/1023763/Shrinking-Data-for-Fun
- Speaker: Dietmar Hauser, Sproing
- Link: Summary
1 Summary of Talk
The talk is about how to shrink data and how game developer can benefit from it.
Why shrink data? It has multiple profit reasons to shrink data, but the main premise is money. It can save your money by reduce your bandwidth costs for initial downloads, updates and continuous connections. Also decreasing the loading times and smaller app size of your game will be achieved by shrinking data. So it can expand the reach of your game. The speaker mentioned some action reasons why it could be fun to shrink data. Two of the reasons are to find the next best data algorithm to reduce data size and to deal big data properly.
1.2 Data Compression 
Data compression is the process of encoding information using fewer bits than the original representation. It comes in two flavors, lossless and lossy. Lossless compression has no information lost. The compressed data is equal to the decompressed data. Unlike the lossy compression, it removes unimportant information. So the decompressed data will not be the same as the original data.
1.3 Reducing Network Traffic
Usually the HTTP (Hypertext Transfer Protocol) is used to send some data over the network. It has a built in compression. So it compresses automatically the outgoing data. But the outgoing data can also be compressed with some data treatments. For example, the omission of whitespace and comments in the data or to save a recurrent string only one time and replace it with an identification number. Another opportunity to reduce the network traffic is to use binary data formats. Binary data has a stronger compression speed and faster compression options. The talker mentioned some general hints, like always encrypt after compression and to make the compression configurable. Configurable in this context means, that the compression algorithm should be easily replaced with a newer or faster algorithm.
1.4 Shrinking Download Size
This section is about game asset downloads. Game assets are music, sound effects, 3D models, sprites and so on. This sort of data will be downloaded only once and it changes not so often. Therefore it is the best option to use the strongest compression algorithm. Also in this chapter the speaker gave some general hints. If game assets will be stored on the device, a user-friendly way would it be to save the files compressed. But never forget about the compression time of these locally saved files.
1.5 Compress App Packages
The created app packages from the developer environments are just simple zip files. The compression is not very good. So compress the app data before packaging.
The best way to compress textures is JPEG. JPEG is a method of lossy image compression. The most pitfall is to use PNG images, because the PNG file size is almost twice as large as the JPEG file size.
1.5.2 Geometry & Animation
Geometry and animation data is essentiel in a game application, but they are very format depending. Avoid to use tangents and binormals, because these vectors can be descriped by simpler curves to save some memory size. The best approach to shrink geometry and animation data is a lossy compression with an generic algorithm.
1.5.3 Sound & Music
For sound and music use a lossy compression, like MP3 or OGG.
2 Overview and Relevance
Shrinking data is very important in game development. In the speech were some future technologies mentioned, which are nowadays available, like the HTTP/2 from the „Reducing Network Traffic“ chapter. In my investigation I only found two new technologies. The first technology is Google’s RAISR for image compression, introduced in October 2016.  The second technology is the Zstandard algorithm. 
3 References and Further Sources
 Leslie Lamport, LATEX: a document preparation system, Addison Wesley, Massachusetts, 2nd edition, 1994.
 Mahdi, O.A.; Mohammed, M.A.; Mohamed, A.J., Implementing a Novel Approach an Convert Audio Compression to Text Coding via Hybrid Technique , International Journal of Computer Science Issues, 9 (6, No. 3): 53–59, 2013.
 Yaniv Romano, John Isidoro, and Peyman Milanfar, RAISR: Rapid and Accurate Image Super Resolution, https://arxiv.org/pdf/1606.01299.pdf, , 2016.
 Smaller and faster data compression with Zstandard, https://code.facebook.com/posts/1658392934479273/smaller-and-faster-data-compressionwith-zstandard/, , 2016.
 THE FUTURE OF DATA COMPRESSION IN UNITY, https://blogs.unity3d.com/2015/12/16/announcing-unitys-new-data-compression-team/, , 2015. 2