Media Repository Layout


This media repository layout is used for both working on media files and when distributing the media files. When media is distributed, the various source files and files with development notes and sketches are filtered out and only the actual release files are distributed. This can be done with a combination of filtering by file extension, filtering by patterns of expected file names and by manual filtering or some list of files to include/exclude in the release.


The media module contains the following directories:


Contains 3D models and textures, organized in templates that allows models and textures using the same template to be combined.

The 3d_objects directory has the following structure:

                 |                 |                  |         \>texture_name->template_set_name.png
                 |                 |                  |         \>other_texture_name->template_set_name.png
                 |                 |                  |
                 |                 |                  \>models->model_name->skeleton_name->mesh_set_name->mesh_name->template_set_name.cmf
                 |                 |                                     |              \>other_mesh_name->mesh_name->template_set_name.cmf
                 |                 |                                     |
                 |                 X                                     \>template_set_name.3ds

For example:

                 |         |      |         \>simple_brown_shirt->shirt.png
                 |         |      |         \>green_wool_shirt->shirt.png
                 |         |      |
                 |         |      \meshes->generic_humanoid->malebuilder->short_sleeve_shirt->shirt.cmf
                 |         |             |                 |            \>long_sleeve_shirt->shirt.cmf
                 |         |             |                 |            
                 |         |             |                 \>femalebuilder->short_sleeve_shirt->shirt.cmf
                 |         |             |                                \>long_sleeve_shirt->shirt.cmf
                 |         |             |
                 |         |             \>short_sleeve_shirt_on_ground->shirt.3ds
                 |         X             \>short_sleeve_shirt_hanging->shirt.3ds
                 |                   |         \>granite->stone.png
                 |                   |          
                 |                   \>models->boulder->stone.3ds
                 |                           \>hewn_block->stone.3ds
                 |                      |         |         \>stone_wall_top.png
                 |                      |         \>granite->stone_wall.png
                 |                      |                  \>stone_wall_top.png
                 |                      |          
                 |                      \>models->normal_wall->building_block.3ds
                 |                               \>door_wall->building_block.3ds               


Contains skeletons for 3D models and animations for the skeletons. Also contains character assembly files (.cal), linking skeletons and animations to media in 3d_objects.

The 3d_objects directory has the following structure:

                 |              \>skeleton.cmf                                  
                 |              \>animation_name.caf 

For example:

                                   |            \>
                                   |            \>


Contains game ready sprites for 2d clients like uclient and the original files used to create these.

Directory layout should make automated filtering of game media from originals possible.


Contains illustrations, clip art, artwork and sketches used as concept art on the web and in documentation or for in-game illustrations of different types.

Should not contain diagrams, graphs, web page border details or similar pictures that are not illustrations.

For example:

            \> moraf->glitterdark_forest.png


Media that is used as tools or resources when creating new media. For example, brushes for paint programs, image brushes for creating specific effects like stone, grass or noise textures that are useful for adding un-eveness or dust to other textures.

For example:



Sound effects ranging from ambient sounds to sounds produced by different kinds of activities and various creature sounds.


Contains a common instrument library, mod-based music using that instrument library and music in mp3 or ogg formats.

For example:



Icons for various generic purposes, such as map icons, spell icons, etc.

Should not contain theme specific icons as those are in themes/, nor application specific icons as those are stored with the application.


User interface themes for uclient and other clients.


The scratchpad is an area for various artists to work on personal and experimental projects that don't fit in any of the existing categories, but that could, never the less, prove to be useful for others. Each artist can create a directory under scratchpad named as their nickname, or named after the project if there's multiple people working on it. For example, media/scratchpad/pato/scene_setups/isometric_ground_tiles_jo.blend or media/scratchpad/syllus_comic/.


A collection of old material that is currently not used, and doesn't belong in any of the other categories. The junkyard is a place where you can dump things that are not needed but still are too good to throw away and where you can search for reusable parts. It differs from the scratchpad in that the material is not being actively developed by anyone and is usually old material that could not be placed elsewhere.

More examples

            stone                    // <- determines the name of the meshes and textures
                        stone.3ds    // <- named the same as the template directory

textures template // <- the textures/template/ directory contains a template texture that determines the texture layout. stone.png // <- named the same as the template directory, if there is only one texture. If multiple textures, each have an own name. granite stone.png


plants leaf fir_tree mushroom

creatures dipvira quadruped eye teeth

items building_element furniture sheet tool

clothes ...

humanoids ...

Version History

2003-03-11 zzorn: created by Hans H�ggstr�m (zzorn) using proposal by Munin and after discussion with Munin, Pato, Bear, Anubis and others.

2003-03-11 zzorn: Added scratchpad.

2003-03-12 munin: Moved doc to WorldForge Media section to make modifications easier, added some details.