3D Archival For Games

Overview

I’ve always been interested in art history and preservation, especially as it applies to digital mediums, where it often seems that our creations (like video games) are all the more easily lost when servers are taken offline, old drives lost, or files corrupted.

In 2019, I started at 343 Industries as a 3D Asset Production Coordinator, brought on with the express purpose of creating an archive for the 20 years (and counting) of Halo 3D assets from games, commercials, and other media. Although I don’t have the background in Library Sciences often associated with archival work, I do have an understanding of video games and what needs to be included for archived assets to stand the test of time.

Preserving our work isn’t just important when a franchise is two decades old - as game developers we often find ourselves referencing previous work from game to game, DLC, commercial, toys, and more. When we don’t organize and preserve those assets as they’re made, continued work only becomes harder. Beyond that, we lose the history of our field as projects fade from the collective memory, and there are no files to reference, nor game to play.

What follows is an overview of the archival I did in my 2.5 years at 343, in the hopes that it may help others preserve their work as well.

 

Getting Started

Before setting up an archive there are a few questions whose answers will greatly influence exactly what your archive looks like:

What are you archiving?
What kinds of files? Entire games? Particular assets? Every category or only some, such as characters or weapons? Do you need in-progress files or only final versions?

What is the purpose of your archive?
Is it to have assets on hand to send to partners? For later internal use? To preserve your history?

What’s available to you?
What possible locations might assets be stored, and do you have access? Have any assets been collected already? Can you verify their source and contents?

 

Taxonomy and Tracking

Next, you need to determine how you will reference assets, and what data needs to be tracked. Ideally, this will be embedded as metadata in whatever tracking system you use. For help on getting started with metadata, I recommend checking out The Video Game Metadata Schema. Make sure any naming is consistent, and be prepared for future changes or additions to your schema.

In my case, the primary goal of my work was to have partner-ready packages that could be handed off as reference with minimal cross-checking. Because of this goal, I determined that a complete package needed to contain a copy of the original 3D file (maya/max), exports in the most common formats (.obj & .fbx), any textures used in-engine, reference images, plus notes about any known issues or how to make the asset match its in-game appearance. Due to the long history of the franchise, it was important that I track both the official names and development names of each asset, as well as data on what each package did or did not contain.

Every archive will be unique to your needs and franchise. For more details on what I specifically tracked, see the bottom of this page!

 

Assets

When it comes to collecting assets you’ll need to know all the possible locations in which a particular asset might come from (in my case, assets were often cross-stored in networked shares, traditional game depots, and even old hard drives). It’s best to have some way of verifying that the version of the asset you’ve found is the final, in-game version. Being able to open a file (and do so safely) is only part of that equation - devs often include works-in-progress and cut content even in the shipped game, so cross-referencing with gameplay or screenshots is ideal.

Finally, you can put together a package! I maintained a strict policy that no assets should be renamed - regardless of how useful, weird, or misspelled its name - as 3D file connections are dependent on maintaining original file titles. Below is an example of what a 3D archival package might look like in a folder structure.

An example folder setup for a 3D archival package.
 

Archival categories

Below is a list of every data point I tracked for any given asset package. Questions were answered with a Yes/No/Partial, statements each had a specific set of options.

  • PRIORITY

    Loosely, how important this asset is to the franchise, or how frequently it is asked for

    ASSET

    Public name of the object being archived

    DEV NAME

    Alternative names used for the asset

    CATEGORY

    Type of object being archived (ie. prop, level, character)

    GAME

    Which game this specific asset appeared in

    PROGRAM

    What program the source 3D was created in

    STATUS

    Whether archival has begun/is completed

    3D (game)

    Has the game-res asset been archived?

    3D (cinema)

    Has the HI-res asset been archived?

    FBX

    Is there an FBX export?

    OBJ

    Is there an OBJ export?

    MAT

    Are there textures?

    RIG

    Has a skeleton/rig been archived?

    VID

    Is there a video of the asset's animation?

    REN

    Is there a render or screenshot of the asset as it appears in-game?

    MESH PREV

    Is there a standardized preview image for the final package? (For a Digital Asset Management tool)

    TURN

    Is there a turnaround of the asset?

    CLRG

    Is there a color guide for the asset?

    NOTES

    Any notes/quirks with this asset

    LOCATION

    Where the asset is stored within the archive (folder, network, or depot address)