Thursday, April 26, 2012

Temporary vs Placeholder

So during early development you will often find yourself needing some quick and dirty assets for use in your game.  These may be the beginnings of a final asset or just a simple primitive you imported to appease the programming gods.  These assets typically fall into one of two categories: Placeholder and Temporary.

Placeholder assets are initial versions of permanent assets.

Temporary assets are imported and meant to be deleted before release.

Example 1:

A level designer needs to place a bunch of assets in a level but they aren't built yet!  You quickly throw together a couple of quick extruded primitives to sort of mimic what the houses and such may look like, then you get them into the engine and let him know.

He now places those objects throughout the level and later on you come back and update/replace those same meshes with the final products and the level is automatically updated with your new meshes.

The original meshes were Placeholders for the final assets; by getting him the assets quickly he could start doing his job and then later on you just imported the new assets onto/over the old placeholder ones, thus keeping the references intact.

Example 2:

A programmer needs some randomly sized/shaped meshes to test out some coding voodoo system you know nothing about.  Since these have no real purpose in the game, you just import some random meshes named something arbitrary like "Mesh1", "Mesh2", etc.  The programmer gets his system figured out and then no longer needs the random meshes you made.

This is an example of Temporary assets.  They filled a need quickly but were never planned to be a permanent asset.  Any role they filled was generic or not really planned out enough to have a clear goal.

Final thoughts:

Placeholder assets should be imported with the final asset names in properly setup packages/folders.  Treat them like they ARE the final asset.  Try to mimic the final asset as much as you can and go ahead and set up materials and placeholder textures, etc.

Temporary assets should follow a standard naming convention such as adding a prefix to them: "TEMP_Mesh1" or "DELETEME_Mesh2" to easily find them later for removal/dereferencing.  Sometimes it is hard for someone to know if a temporary asset is ready to be deleted so I often add a signature or initials to it "TEMP_BRYCE_Mesh1".  Try to avoid ever referencing temporary assets from any permanent assets.  This prevents a lot of fuss removing those references later on or your temporary asset becoming a poorly thought out permanent asset.

This idea is crucial for maintaining nice package/folder structures.  It really sucks when someone imports an asset called "TempThingie" into a package called "TempPackage" and it ends up being referenced throughout the game or having to go through every reference to that object and replace it with the new permanent asset you just imported.

No comments:

Post a Comment