Technical Discussion March 29 2012
  • The main discussion topic was storing information and save formats.
  • At first we discussed some of the more common techniques like XML, JSON and SQL.
  • Discussed storing large tile maps
    • Jordan recently had this problem and was looking for suggestions
    • A common technique is to compress the tile map using a simple string compression library.
    • Another suggestion was to consider techniques used by image formats like gif, taking advantage of clusters of similar tiles.
  • We discussed what kinds of information needs to be stored
    • for games like oblivion, pretty much everything is store, such as the position and orientation of every object
  • Perry explained how he reverse engineered the unity save format
    • he discovered that the save files were storing a header followed by data with all data values proceeded by their type and size.
  • We discussed the advantages/disadvantages of using procedural content to reduce the amount of stored data
    • Perry brought up something called Demoscene, where artists have created videos with a really small file size (<64kb) using entirely procedurally generated content
    • some of the members present were skeptical of this technique and strongly believed that some other trade off was being made that would make such techniques impractical in general. The trade offs suggested were load time, memory usage or processing power.
    • Another space saving technique involved storing multiple textures in a single image using different color channels.
    • On the topic of procedurally generated content Jordan mentioned a map generator he had read about a few days earlier that used voronoi polygons, rather than square tiles, to generate a very realistic looking map. The website includes a full walkthrough of the algorithm and sample code in several languages including actionscript, java/processing, C# and Unity.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License