# Scenarios

Scenarios
Scenarios are the playing worlds which the player can select and start from the menu. With their components the scenario designer can adjust freely everything from the landscape, the goals and rules, the available objects and materials to the look in the menu.
Basic contents

Scenario.txt
  Contains most scenario settings.
Script.c
  The scenario script.
Map.bmp
  Static landscapes are stretched by factor MapZoom defined in Scenario.txt to the size of the actual landscape in the game. The colors used in Map.bmp correspond to materials and textures as defined in TexMap.txt.
Landscape.txt
  Advanced scenario designers can use this component to define highly complex, fully random generated dynamic landscapes. This does require certain mathematical skill and some patience, however.

Title, description and illustration

Title.txt
  For language dependent titles you should create a Title.txt component with the appropriate contents:
  `DE:Angriff der Killerwipfe US:Attack of the Killer Wipfs` Important: No quotation marks and special characters should be used.
Title.png
  The title picture of the scenario in png format. Size: 200x150 pixel.
Icon.png
  The icon of the scenario in png format. Size: 24x24 pixel.
Desc__.rtf
  The description text of the scenario in rich text format (rtf). '__' is to be replaced by the two digit language code, e.g. DE for German and US for American English. Multiple descriptions for several languages can be contained in a scenario file of which the game will automatically load the one appropriate for the configured language.
  The font of the description text is set internally on display. The character size in the file should be 10pt for headings and 8pt for text. Images or other rtf tags are ignored.
  It is recommended to edit this file using a small scale rtf editor such as WordPad.exe in Windows and not a full-blown word processor such as Word as these will stuff kilobytes of unneeded extra information into the rtf file.

Additional files

Teams.txt
  Contains the Teamsettings for multiplayer scenarios.
*.ocd
  Scenarios can contain local object definitions which are then available in that scenario only.
  The engine will also search all parent folders (ocf) of the scenario for additional local object definitions. In this way, a scenario folder can contain object definitions which are then available in all its contents scenarios.
Sound.ocg
  Scenarios can contain any number of sound files (*.ogg or *.wav). These can be played back by script during the game. Scenario local sounds are loaded dynamically on demand which might cause delays with large scenario files. The sounds should be stored in a local sound group.
Music.ocg
  If the scenario contains music (*.ogg or *.mid) files, these can be played back during the game in random order. Also see the script command Music(). Local music files should be stored in a local music group.
Material.ocg
  Scenarios can contain local material definition groups. See overloading rules.
Graphics.ocg
  Scenarios can overload individual entries of the global Graphics.ocg group as well as add new content like a sky background image or loader graphics (*.png or *.jpg). Sky graphics should either be tileable or big enough that it won't even tile if the player zooms out very far. Loader screen are displayed while the scenario is loading. If multiple files are present (Loader1.png, Loader2.png, Loader3.png...), one is selected randomly. You can optionally specify which loader to use in Scenario.txt. Loader image files located in parent scenario folders are also used.See overloading rules.
Names.txt
  These names are used for clonks created in this scenario.
Info.txt
  Here an author can store additional information about the development of his scenario, his email address, or other information he wants to share with other developers.

Additional files created for saved games or scenarios

Landscape.png
  Full size map for exact landscapes. This is mainly used in savegames to store the exact terrain including transparent materials and their texture. Exact landscapes consume an extreme amount of memory and should not be used for regularly distributed scenarios.
MatMap.txt
  Stores the material table used in this scenario. The materials listed here are used by the exact landscape and have to be available in the loaded Material.ocg group.
Objects.txt
  This component is generated by the engine and stores runtime object data of a savegame.

Overloading Rules
Various system components (graphics, loader screens, materials, music, or objects) can be overloaded in scenarios. In doing this, parent scenario folders (ocf) are searched. Also, components located in child groups will always overload the same components located in parent groups.
Sven2
2002-04
matthes
2004-06