Game Development Reference
In-Depth Information
5
Persistence Management of
Asset Metadata and Tags
Jaewon Jung
5.1 Introduction
Game development has to deal with a gigantic number of assets; more than ten
gigabytes of data are not uncommon. If one considers not-yet-optimized-for-release
assets, which are required while developing, it can be even more. Accordingly,
tools for game development should also be able to deal with a huge volume of
assets effectively and offer developers a way of quickly pinpointing a specific asset
they want, by whatever criteria, among this pool of assets.
Each asset can have many associated metadata, for example dimensions, format,
and mip count for image and triangle count, and vertex count and LOD informa-
tion for geometry. Usually, developers want to sort and search assets based on these
metadata. The metadata for a huge number of assets can also be quite large, and it
requires some time to gather all the metadata for every asset. As the development
proceeds, assets are frequently added, removed, and changed. Therefore, persis-
tently keeping the metadata for assets across runs and being able to selectively
update them when needed, only for changed assets, become must-have features for
a level editor.
A tag-based management of data has many advantages over a traditional
hierarchy-based management, which has been extensively used in the folder-based
file system and the web browser bookmarks. Tags can also be considered one of
metadata for the asset, but it is external data, not intrinsic data embedded in the
asset data itself. This method requires a somewhat different approach from other
metadata.
In this chapter, I'll describe considerations and issues one encounters while im-
plementing this kind of asset metadata management system. Specifically, I'll focus
on how one should design and structure the persistence system of asset metadata
in order to minimize blocking the user while dealing with huge assets.
53
Search WWH ::




Custom Search