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.
- MapFg.bmp / MapBg.bmp
-
Same as Map.bmp as defined above, except that foreground and background materials can be drawn separately. In Map.bmp, color indices greater than 127 will result in underground materials. In MapFg.bmp and MapBg.bmp, all color indices up to 255 can be used, and undergroup materials are simply specified by tunnel material in the background map.
- 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.
- Map.c
-
Script for dynamic generation of map. See map script documentation.
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__.txt
-
The description of the scenario. '__' must 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 first line of the file will be used as a heading.
Additional files
- ParameterDefs.txt
-
Contains custom scenario parameters that players can adjust like e.g. difficulty settings.
- 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.Just like the global sound file, scenario local Sound.ocg groups may contain any subfolders with .ocg extension to define sound namespaces. For example, a file Sound.ocg/Animals.ocg/Growl.ogg can be played back using Sound("Animals::Growl").
- Music.ocg
-
If the scenario contains music (*.ogg) 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.
- System.ocg
-
Scenarios can contain any number of script files (*.c). These can define or modify global functions, or append to loaded definitions. 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
- 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.
- Game.txt
-
This component is generated by the engine and stores runtime object data of a savegame.
- Objects.c
-
This component is generated by the engine if the game is stored as a scenario. Contains an InitializeObjects() function to recreate all objects placed during editing before. See Object saving.
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.