How to use Content

Use the ContentManager to upload content. 

The content system is the most important module of the Delta Engine. It is usually completely hidden from the programmer because he will just use the content, but all artists will use the Content Manager tool to get their content into the game.

Linking up a Content Project with your C# project is just a matter of starting your application and using any content (e.g. new Material(imageName) or new Sound(soundName)). The application will notice there is no content and will attempt to connect to the content server asking you which content project to use. You can also edit those settings in the local Settings.xml file under the Services section.

The following Content Formats are used in the Delta Engine: 

There are 30 Content Types
As you can see from the following list most content is created via some tool provided by the Delta Engine. Some content like Images, Sounds, Music and 3D Models are saved directly, but most other content like Shaders, Levels, Fonts, Effects, etc. is created and saved with the tools (ShaderEditor, LevelEditor, EffectEditor, etc.)

Image: Used for 2D and 3D rendering, artists should always use .png files. The content server will compress images to .dds, .pvr, .rgba, .etc, .atc, .rgba4, and many more formats depending on the platform and where the image is used. 2D UI images are often left uncompressed or use a less lossy format, 3D textures will always be compressed (dds, pvr, etc. which are very lousy). There are plenty of rules and things to consider for textures (because they usually make out 80-90% in size of all the game content).

Font: Fonts are generated and handled by the engine, if an artist wants to change a font, he can generate it in the Scene Editor and then overwrite the font texture with a custom image (there is a helpful Font_NoEffects.tif file).

Model: 3D files can be imported as FBX files, see Model Importing for details, you can use the ModelViewer to check out if everything is working and animations are hocked up correctly (see Model Exporting Guidelines for details on settings, etc.).

Sound: Sound effects are stored as .wav files, but need conversion for Xbox (.xnb). They are used for effects, actors, and level triggers mostly.

Music: Music files are usually .mp3, but will be converted to .wma and .xnb files for Xbox (similar to sound) because of the XNA framework. For OpenTK the .ogg file format is used.

Video: Video files currently need to be uploaded in all formats for each platform (720p .wmv for Xbox/PC, 320x480 .m4v (same as mpeg4) for iPhone/Android, 640x480 or 720p .m4v for iPad), see Audio Requirements and Video Requirements for details.

Shader: Shaders are created with the ShaderEditor, which must be used to create shaders from shader feature flags and later allows writing new shader nodes code and fallbacks for each platform!

Scene: Scenes are created with the SceneEditor (see 2D Graphics slide) and handle both 2D UI and 3D content plus videos, music and ambient sound effects. They are stored as .DeltaScene binary files.

Level: The LevelEditor is used to create 3D levels, which usually consist of many 3D models plus other 3D data (terrain, water, effects, etc.) mostly implemented as Actors (both neutral and interactive ones) or ActorGroups (to simplify setting the same group of monsters over and over again). Additionally levels have triggers and execute game actions automatically.

Effect: Effects are created with the EffectEditor and stored as .DeltaEffect files, which can be used both for 2D effects (ignoring Z) and 3D effects. They use Shaders, have sounds and are mostly placed in the level and model editors.

Xml: Custom data can be stored as xml files, for example Settings.xml


Related Pages