Changes between Initial Version and Version 1 of Atlas_Scenario_Editor_DD


Ignore:
Timestamp:
Feb 23, 2008, 4:18:58 AM (16 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Atlas_Scenario_Editor_DD

    v1 v1  
     1'''Version History:''' (Updates from the previous version are in <font color=green>GREEN</font>; development notes are in <font color="blue">BLUE</font>)
     210/3/05 - !CheeZy - Made some corrections in the Index listing (7.4.3)
     3
     419/2/05 - !CheeZy - Updated the Table of Contents with a Priority Listing, Removed section 5.1.2 Biomes.
     5
     625th July 2004 - Stuart - Updated to comply with Nathanael's new index. Split into three separate topics (since it only references the first one).
     7
     821/06/04 - Added section 7.4.3 - Object Spawner tool - !CheeZy
     9
     1013/06/04 - updated all the triggers with Functions, describing what they do. - !CheeZy
     11
     1201/05/04: v0.97: Overview of latest changes, by Stuart. Proofread. Added hyperlinks and blue-text convention. Updated TOC. Restructured layout (eg inserted workspace manager, moved priority list to back). Added Atlas definition. Elaborated on various things like workspaces. Fixed some discrepancies. Added preliminary Territories attributes. Queried a few things. Rewrote sections like the Campaign Editor, Environment Editor.
     13
     1401/05/04: v0.96: First reliable game-ready version, by !CheeZy.
     15
     1613/03/04: v0.942: Added the Priority List (!CheeZy).
     17
     1807/03/04: v0.941: Minor changes by Bobby aka !CheeZy, updated section 7.4.2 Area Editor.
     19
     2004/03/04: v0.94: Restructure, UBB conversion, proofread, and programming input by Stuart aka Acumen.
     21
     2204/03/04: v0.93: First team release by Bobby aka !CheeZy.
     23
     24----
     25
     26<center>'''"ATLAS" SCENARIO EDITOR DESIGN DOCUMENT'''
     27'''v0.97'''</center>
     28
     29<center>''Atlas:
     30- n. A Titan featured in Greek mythology, kin to Prometheus.
     31- n. The Titan doomed to carry the weight of the world upon his shoulders.
     32- n. A pictorial reference of the world's terrain, used for navigation.''</center>
     33
     34----
     35
     36'''PRIORITY LIST'''
     37
     38Listed here are the features of the Editor sorted by Priority level � the level of which they should be done. This serves as something to create milestones for the development of the editor, and to guide the programmers into knowing what features to work on first.
     39
     40'''Level 1 Priority � Basic features relating to editing and placing objects on a map.'''
     41 * -  3.0-3.3, 3.5 GUI � The Graphical User Interface of the editor with its buttons, menus and windows. Try to set up as much of it as possible even if it won't work yet.
     42 * -  World Interaction up to par with the normal game (click and move units, etc)
     43 * -  copy and paste functionality beginning to be implemented
     44 * -  6.1 Edit Elevation
     45 * -  6.4 Brushes
     46 * -  6.5 Terrain panel
     47 * -  7 Object Editor
     48 * -  7.4 Place Object List
     49 * -  9.1 Lighting
     50
     51'''Level 2 Priority - Advanced features relating to editing and placing objects on a map'''
     52 * -  7.5.2 Object manipulation (rotate, scale, move units similar to AoM's editor)
     53 * -  6.3 Water
     54 * -  6.2 Cliffs
     55 * -  6.5.1 Randomise Terrain Palette
     56 * -  9.4 - Sky
     57
     58'''Level 3 Priority � map enhancing features, along with scripting and "data" enhancing features of the scenario editor, play support'''
     59 * -  5.0-5.2 Map Creation and load/save functionality
     60 * -  PLAYTEST SUPPORT � Ability to start and test a scenario ingame.
     61 * -  5.1-5.1.2 Map Creation Ability to load and test Random Maps
     62 * -  10 Player Editor
     63 * -  6.5.4 Map Copy
     64 * -  7.4.2.1 Object Manipulation Tool Window
     65
     66'''Level 4 Priority � Final features needed so that work on the Campaigns can begin.'''
     67 * -  8.0-7.5.3 TRIGGERS
     68 * -  7.4.0 Object Settings.
     69 * -  7.4.1 Edit Object
     70 * -  9.2-9.2.4 - Weather
     71 * -  9.3 Seasons
     72 * -  11 Civ Editor
     73 * -  12 Diplomacy Editor
     74 * -  15 Message Editor
     75 * -  14-14.1.2 Cinematics Editor
     76 * -  14.2 Cinematic Track Variations 
     77 * -  13 Playlist Editor
     78
     79'''Level 5 Priority � Supplementals and mod support and custom workspace creation.'''
     80 * -  6.2.1 Custom Cliffs
     81 * -  6.3.2 Custom Water 
     82 * -  6.3.1 Beautify Water
     83 * -  6.5.2 Beautify Terrain
     84 * -  18. Hotkeys � mapping out hotkeys for as many of the editor's functions as we can.
     85 * -  7.2 -Create Objects
     86 * -  3.4 Help Box/Library
     87 * -  13-13.3 Campaign Editor
     88 * -  4.0 - 4.2 - Workspaces
     89 * -  Search for bugs�
     90 * -  Anything else�?
     91 
     92
     93= OVERVIEW =
     94
     95The "Atlas" Scenario Editor is '''0 A.D.''''s "toybox", used to play with existing content by creating new maps, scenarios, and campaigns.
     96
     97 * Allows users to open, load, save, create, and edit maps (scenarios).
     98 * Allows users a wide selection of tools to shape and create their maps.
     99 * Allows users to use "triggers" to script events in their map.
     100 * Allows users to use Cinematics to create cutscenes and in-game movies for their map.
     101
     102<font color=blue>''NOTE: Some of the concept images still need to be updated to account for recent revisions. When in doubt, trust the text.''</font>
     103
     104== Functionality ==
     105
     106 * The Editor must be very sleek and easy to use, yet be very powerful and improve on current RTS editor standards.
     107
     108 * It must be extremely robust, capable of creating all the scenario content that will ship with the game, and suit the needs of designers in the Scenario Design Community.
     109
     110 * A large community will be built from our Editor and other features of game editing/moddability. Attention needs to be given not only for our needs but the needs of future modders.
     111
     112 * The player must be able to make use of hotkeys in the Editor. Hotkeys need to be assigned to most common tasks.
     113
     114 * Cut and Paste should be available for everything in the Editor (triggers, unit selections, etc) by pressing ctrl+c to copy and ctrl+v to paste.
     115
     116 * Almost every placeable object in the Editor should have support for custom user defined versions.
     117
     118 * We anticipate that the Prometheus Engine and Atlas Editor will be reused for development of '''The Last Alliance''', so it is important to develop a neutral Editor that doesn't only have '''0 A.D.''' in mind.
     119
     120 * Anything that can be stored in memory (triggers, camera tracks, random texture palettes, map copied data, lighting sets, elevation files) should be importable and exportable. Each of these features will have an import/export button in their section. Importing and Exporting is important for people who want to move over their work to another scenario, or make templates for designers. <font color=blue>This is really more up to the programmers to figure out what things can be exported/imported. Try to use it as much as possible. If you want to inquire about something ask Bobby/!CheeZy.</font>
     121
     122== Accessibility ==
     123
     124 * The Editor will be accessible through the main menu of the game.
     125
     126 * The Editor will be internal and displayed ingame, not external.
     127
     128 * Early development versions of the Editor can be external, but ultimately it will have to be integrated into the game.
     129
     130 * The Editor will need to be compatible with all supported OS platforms (Windows and Linux)
     131
     132= GAME WORLD VIEW =
     133
     134Like a game session, the majority of the screen is dominated by a view of the game map. The Game World view takes up most of the screen.
     135
     136= MAIN GUI =
     137
     138The Editor will have some very (very) simple GUI art such as borders and angles and buttons to help promote its style and be visually pleasing, making it comfortable to use.
     139
     140Territorial markers and gridlines over the Game World View will be toggleable on/off through the '''View''' section of the Editor <font color=blue>(which was tragically forgotten about in all the concepts, though it'll be there later on when the concepts are updated)</font>.
     141
     142The Editor GUI will have a '''Hide GUI''' button which removes unnecessary information and makes the opaque sections transparent, increasing visibility. Alternatively, he can use the alt+shift+ctrl+down/up hotkey. <font color=blue>A concept will drawn up on request of the programmers/GUI artists.</font>
     143
     144This is what a main editor screen should look like:
     145
     146[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/FINAL-CONCEPT.gif)]] Blank Main GUI
     147 
     148[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/concept-final-diagram.gif)]] Annotated Main GUI
     149
     150'''''Definitions'''''
     151
     152'''Section Menu'''
     153
     154Section Menus are static menus of the interface, as represented in concepts (such as the Trigger Editor or Map Editor). They can't be moved from their position, and only one can be open at a time. A Section Menu will appear for each main section of the Editor. That is where you can locate most tools you need for that section.
     155
     156'''Window'''
     157
     158Windows display information, or function as mini-menus: things that are too large to be placed on a Section Menu, but not big enough to be their own Section Menu (such as the Group Editor, or the Playlist Editor).
     159
     160A window is movable and minimisable. You can move it and minimise it into the bottom of the Editor UI much like the Windows task bar, just that the area will not be opaque. <font color=blue>Concept available on request</font>.
     161
     162An example of a Window:
     163
     164[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/create-custom-water-window.gif)]] Example Window: Create Custom Water
     165
     166A window has some standard icons, as shown, which function as follows:
     167 * '''New (Blank Page):''' Either brings up a browse menu to load a file, or wipes the screen blank. In this case of the Create New Water window, it wipes all the settings in the window and resets it to blank (after prompting you, of course).
     168 * '''Open (Open Folder):''' Loads up a browser in which you choose whatever you want to open. This is not used for importing since the thing you would be opening is already installed, and if it's already installed (in the proper folder) then the game recognises it and uses it.
     169 * '''Save (Floppy Disk):''' Saves the data to your harddrive, and will have the same purpose as "Create" if create is an option in the window.
     170
     171 * '''Close (X in top right):''' Has the same function as a Cancel button (closes window without saving any changes).
     172 * '''Help (? in top right):''' Brings up the Help Database window displaying information on whatever the window is for. Read the section on the '''Help Box''' for more info.
     173 * '''Minimise (_ in top right):''' Minimises the window to the bottom of the screen.
     174
     175== Menu ==
     176
     177This shows all the different menus (or sections) of the Editor ("File", "Map", "Objects", etc). They are positioned at the very top of the Editor interface. Each menu represents a section and lists options/features for that section.
     178
     179Clicking on a menu will produce a drop down menu with actions related to that section.
     180
     181Example for the File menu:
     182
     183[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/edmenu1.gif)]] File Menu
     184
     185From the File menu, the player can perform several important tasks, like saving the scenario in its current state, loading a different one in the current '''Workspace''', closing the Scenario Editor, or testing (running) the scenario.
     186
     187The drop down menu will list the sub-sections of the section and also the hotkey command to quickly access it.
     188
     189<font color=blue>(We can either show the hotkey commands by highlighting a letter in the menu option (eg '''S'''ave), or list the hotkey commands to the right (as demonstrated).</font>
     190
     191Clicking on an item in a drop down menu will open that item, whether it's a section menu or a window.
     192
     193=== Menu Options ===
     194
     195This section describes what option appears on what pull-down menu.
     196
     197<font color=blue>A concept image with all the drop down menu features is coming soon. Note that you <programmers> can put other stuff in the pull-down menus as long as they fit there, and most likely some things will be forgotten or new features will come up and you'll need to put them into menus yourself. Consulting Bobby (!CheeZy) is recommended when doing things outside of what's instructed in this document � just so that he can note the change and write it down.</font>
     198
     199== Toolbar ==
     200
     201Just like most Windows applications, this toolbar has little buttons that you can click on to open up whatever action they do. Toolbar buttons are static and will not change during use of the Editor.
     202
     203Not only will these be in the toolbar, but we'll have buttons elsewhere in the Section Menus, for example, taking you from the Cinematics Editor to the Trigger Editor.
     204
     205Note the up and down arrows on the right end of the tool bar. Clicking up will minimise the toolbar (drag it up and hide it).
     206
     207Clicking down will pull the toolbar down.
     208
     209[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/figure1.3.3.1toolbar.gif)]] Minimised Toolbar
     210
     211Clicking down again will pull down a second toolbar that displays custom shortcut buttons. These are defined through a hotkey editor. This will be separate from the Editor, done through our game options (for example, click Options from the start menu -> Game Options -> Editor Options).
     212
     213<font color=blue>If we don't have time to add a GUI hotkey editor, this can be done through an external configuration file.</font>
     214
     215[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/figure1.3.3.2toolbar.gif)]] Maximised Toolbar
     216
     217A maximum of 2 rows will be used for toolbar buttons as shown above.
     218
     219<font color=blue>A smooth sliding animation effect would be nice to have when you slide the toolbars up or down.</font>
     220
     221== Info Selections ==
     222
     223The Info Selections are a handful of (8-10) buttons that you can click to toggle a piece of statistical info that will be displayed on the GUI. The info will either appear in a window or directly on the screen depending on the function of the info you are viewing.
     224
     225 * Dev info.
     226 * World info (how many objects are on the map, average terrain used).
     227 * FPS/Technical info.
     228
     229<font color=blue>Ideas for Info that the Editor could display needs to be brainstormed. Concepts for each will also be made.</font>
     230
     231== Help Box ==
     232
     233The (semi transparent) Help Box displays helpful tips and context-sensitive information about the currently used section of the Editor (tip of the day about triggers when in the Trigger Editor, the tips for elevation when using elevation tools, etc).
     234
     235<font color=blue>The contents of the Help Box will be constructed by Bobby (!CheeZy) when the Editor's features are outlined and nearly finished.</font>
     236
     237The helpbox can be maximised into the Help Library which uses the Window form in our Editor. This entire library is all in-game, much like our in-game manuals. An XML markup system is preferred for making this library as it will mostly be text.
     238
     239== Mini Map ==
     240
     241The Mini-Map has the same function as that in a standard game session (and can be largely reused): showing the game world, and permitting rapid navigation around the map.
     242
     243However, the Editor's Mini-Map will be more compact (about 70%-80% of its size). It will also need to be on the right-hand side of the screen to provide easy access to controls on the left.
     244
     245<font color=blue>Nice to have: Holding down the left mouse button and then clicking the right button will maximise the minimap into a Window form and display interesting information, such as the highest elevation, most used terrain, # of units on the map, etc. The info displayed here will also be available to be accessed on the Info Selections area, though that one will not show the maximised minimap to save space on the screen.</font>
     246
     247= WORKSPACE EDITOR =
     248
     249== Definition of a Workspace ==
     250
     251'''Workspaces''' will be a unique way for us to greatly enhance functionality for Scenarios, Campaigns, and Mods. In fact, a '''Workspace''' doesn't make any distinction between them.
     252
     253It's likely that no one will really know what we mean by a '''Workspace''', since no other Editor has done something like this.
     254
     255In other RTSes, a Scenario is essentially a small library of files which contain unit data, triggers, unit placement data, map data, etc. When saved, all this data is compressed and compiled into a .scn file. Upon opening, all these files are decompressed and decompiled and loaded by the game engine.
     256
     257'''Workspaces''' take this a step further. A '''Workspace''' is a "wrapper" or "container" for custom content. It uses the same tree as the game's "official" data directory folders, and stores modified or new files in the same structure.
     258
     259It's a simple order of operations. The game first checks for files in any active '''Workspace'''. If it cannot find them, it uses the default ones in the official/ game pack.
     260
     261So, a Scenario will still reference the files in the official/ data and use them. However if a replacement file is found in the Scenario's '''Workspace''', the Scenario will use that file instead of the one found in the official/ data folders.
     262
     263A '''Workspace''' can contain any number of Scenarios and Campaigns, as well as any edited or additional data you want them to use, such as the mesh, texture, animation, sounds and attributes for a brand new unit, or a whole forest of higher-poly replacement oak trees.
     264
     265So, Scenarios and triggers and all the data that is created when working on a map are also saved in their appropriate folder in their '''Workspace'''. Want to use custom or modded units in your map? No problem, simply import them to your
     266
     267'''Workspace''' and you're done. The Scenario will now use the objects imported in the '''Workspace''' instead of the version of that object in the normal official/ folder.
     268
     269Makes sense? I tried my best explaining it.
     270
     271=== Local/Global Workspaces ===
     272
     273This is where it gets interesting. A '''Workspace''' can be put interchangeably in a subfolder in scenarios/, and be treated as a '''Local Workspace'''. Or it can be put in a subfolder in mods/, and it'll be treated as a '''Global Workspace'''.
     274
     275 * '''Local Workspace:''' Custom content in a '''Local Workspace''' is only used when running a Scenario contained in it.
     276
     277So, you can use your hacked unit in your campaign, without permanently changing that unit for every other scenario in the game.
     278
     279This is typically used for distributed scenarios and campaigns.
     280
     281 * '''Global Workspace:''' Custom content in a '''Global Workspace''' (or "mod") is always used, as long as the '''Workspace''' has been "activated" (they can be enabled/disabled from an Autorun-like configuration menu before the game starts).
     282
     283So, you can make drastic changes like replace the title screen with a new image, modify the GUI, or introduce a new unit to the game that can be accessed by any '''Workspace''' without importing it.
     284
     285This is typically used for distributed mods or total conversions.
     286
     287=== Distributing Workspaces ===
     288
     289When you're ready to distribute your '''Workspace''' for others to enjoy, the mod tree can be compressed into a single file, which can be used simply by putting it in the right folder.
     290
     291'''Workspaces''' can also be split into multiple archives (if, for example, you want to keep the data for your special unit separate from the rest of the campaign to distribute it separately). They'll be treated as part of the same '''Workspace''' as long as they're in the same folder. If the same file is stored in two archives in the folder, then the first found version of the file is used in preference.
     292
     293=== Workspace Manager ===
     294
     295The '''Workspace Manager''' is the first thing you will see when you open the Editor. You must specify a '''Workspace''' (much like selecting or creating your Profile for an RTS game) in order to proceed, so that the Editor knows where to save any content you create.
     296
     297[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/Function_workspace.gif)]] Workspace Manager
     298
     299 * '''Workspace Name''': Click to specify a name for your '''Workspace'''. Default names like "workspace1", "workspace2", etc, will be used unless changed by the user.
     300
     301 * '''Specify Source Folder''': Specify the folder where all the source data is stored. The "Source Data" is basically "the game". Usually it points to the official/ game pack. However, if you want to create Scenarios for someone's total conversion mod, you can point to that instead, and it'll use that as the source.
     302
     303 * '''Save as Scenario/Save as Mod:''': Select where the '''Workspace''' tree will be saved (under scenarios/ or mods/). "Save as Scenario" is the default, as people will typically start with '''Local Workspaces''' before moving onto ones that affect the whole game. See the distinction between '''Local''' and '''Global Workspaces''' for more information.
     304
     305 * '''Create''': Click to create a '''Workspace''' using the above settings, and add this '''Workspace''' to the list.
     306
     307 * '''Your Workspaces''': This is a browser that shows all the '''Workspaces'''. '''Workspaces''' will all be stored in data/mods/<workspace-name> or data/scenarios/<workspace-name>. When a '''Workspace''' in the list is clicked, it turns green to show it is selected. You can click the + button next to a '''Workspace''' to expand its contents, much like how Windows Explorer works.
     308
     309 * '''Rename''': The selected '''Workspace''' will be updated with a text cursor, allowing you to edit or change the name.
     310
     311 * '''Import to''': The selected '''Workspace''' will be imported to another '''Workspace''' or folder � which you have to specify in the window that pops up asking you to select which folder to import to. The contents of the selected '''Workspace''' will then be copied into the specified '''Workspace'''.
     312
     313 * '''Duplicate''': Makes a copy of the selected '''Workspace''', and adds "Copy of" in front of its name. So when you copy workspace1 for example, the duplicate's name will be "Copy of workspace1".
     314
     315 * '''Delete:''' Brings up a confirmation window asking you if you're sure you want to delete the '''Workspace'''.
     316
     317 * '''Load''': Load the selected '''Workspace'''. If there is a map in the '''Workspace''', then it will load the map. If there is more than one map in a '''Workspace''' it will load the map that was worked on last. If there is no map then it takes you to the "Generate Map" window � see the next section.
     318
     319 * '''Cancel''': Closes the Editor and takes the user back to the Main Menu.
     320
     321= MAP EDITOR =
     322
     323[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/Section_Map-Creation-menu.gif)]] Blank Map Editor
     324
     325[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/Section_Map-Creation-Diagra.gif)]] Annotated Map Editor
     326
     327These options are used to generate the most basic attributes of a new map.
     328
     329== Map ==
     330
     331=== Size ===
     332
     333 * '''Tiles Drop-Down:''' Drop-down box to pick a custom map size eg 208x208. Additional sizes can be specified in its XML file.
     334
     335 * '''Small, Medium, Large, Huge Buttons:''' Click these buttons to specify a preset size of grid tiles for the map.
     336
     337'''<u>''See Maps in the Game Design Document for accurate tile dimensions of these map sizes.'''</u>''
     338
     339=== Random Map ===
     340
     341 * '''Random Map Drop-Down:''' Choose a Random Map compatible with the selected Biome. Custom-scripted Random Map Scripts are also included in the list.
     342
     343Alternatively, the user can choose various types of blank terrain (eg "Blank Grass", "Blank Water", "Blank Rock"), which generates a flat map covered with this terrain type.
     344
     345The Editor will include some exclusive specialty Random Maps, such as "Light Mountains" that simply makes a random lightly varied elevation on the entire map, or "Grassy Rivers" that generates rivers on the map with varied grass terrain.
     346
     347 * '''Random Map Thumbnail:''' Displays a thumbnail associated with the currently selected Random Map.
     348
     349== Map Settings ==
     350
     351 * '''Players Drop-Down:''' Specify the number of players on the map.
     352
     353 * '''Settlements Drop-Down:''' Specify the number of neutral Settlements randomly generated on the map. "0" for no Settlements.
     354
     355 * '''Resources Drop-Down:''' How plentiful resources are on the map.
     356
     357<font color=blue>* '''Starting Phase Drop-Down:''' '''NOTE''': This has been omitted; ignore it in the concept. Starting phases will be specified in the Player Editor. (Good catch on that mistake, Stuart :P)</font>
     358
     359 * '''Territories Checkbox:''' Enable/Disable Territories.
     360
     361 * '''Build Distance Drop-Down:''' Number of tiles distance that a building must be from other buildings in order to be constructed (typically used when not using Territories). 0 means no Build Distance limit.
     362
     363 * '''Provinces Drop-Down:''' Number of Provinces per Territory. 0 means no Provinces.
     364
     365 * '''Attrition Timer Drop-Down:''' Specifies how long Territories are closed from an opponent. Timer of 00:00 means borders are immediately open.
     366
     367 * '''Attrition Damage Drop-Down:''' Specifies how much damage is inflicted per second when a unit is within an opponent's Territory while the Attrition Timer is active.
     368
     369<font color=blue>Pending�</font>
     370
     371 * '''Generate! Button:''' Generate a new map using the specified settings.
     372
     373 * '''Load Height Map Button:''' Click to load a heightmap (the elevation data) from an exported or internally made PNG heightmap. If the heightmap file is bigger or smaller than the existing map, the heightmap (or whatever part of it that can be shown) is generated anyway.
     374
     375 * '''Load Terrain Map Button:''' Similar to Load Heightmap, but this loads a terrain map (the terrain data). This along with the Heightmap feature will save designers loads of time in designing since they can load up a premade terrain or elevation sample, made either by themselves or other designers.
     376
     377= TERRAIN EDITOR =
     378
     379Once the basic map has been generated, the player will have a number of tools that he can use to tailor the terrain it to his liking.
     380
     381[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/terrain-menu-conceptfinal.gif)]] Blank Terrain Editor
     382
     383[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/terrain-menu-concept-diagra.gif)]] Annotated Terrain Editor
     384
     385== Edit Elevation ==
     386
     387'''''Inset Buttons''''' (only one active at a time)
     388
     389 * '''Modify Tool Inset:''' Use this tool to smoothly raise the elevation by left clicking to raise elevation and right clicking to lower elevation. Speed is adjustable. (as in AoM). This will be the standard way of raising elevation while the others are for fine-tuning.
     390
     391 * '''Smooth Tool Inset:''' Smoothes down the difference in elevation to create more natural inclines (as in AoM). Smooth intensity is adjustable.
     392
     393 * '''Sample Tool Inset:''' Click the Sample Elevation icon and right click a section of elevation on your map your brush will sample that elevation size.
     394
     395or
     396
     397Click and hold down the mouse on a tile of elevation to specify the level to level. Then drag the mouse around to level all nearby terrain to that level. (As in Sim City). This is a much quicker process.
     398
     399 * '''Intensity Slider:''' Used to specify the severity of whatever elevation tool is active at the time. Generally, this defines how fast the elevation will raise or be lowered based on the intensity setting.
     400
     401 * '''Roughen Tool Button:''' Roughens the elevation by creating elevation differences. Roughen Intensity is adjustable.
     402
     403 * '''Roughen Style:''' You will be able to select different styles of the Roughen setting, each with a different characteristic. Custom styles should be possible too, either within the Editor or outside it.
     404
     405 * Standard � roughens the terrain in a standard average way.
     406 * Bumpy � creates bumps.
     407 * Coarse � opposite of bumpy; create sharp jagged points.
     408 * Cliff - creates deformities on angled elevation, such as cliffs. Best used to roughen angled elevation.
     409 * Mountain � creates deformities that appear on mountains. Basically it's the Coarse effect but on a much larger scale.
     410 * Plateau � creates a series of flats and lows on elevation; like Bumpy but the bumps are flat rather than round, and on a larger scale.
     411
     412 * '''Scale:''' This is how big the selected roughen style will be (the overlay of roughness commands on the elevation).
     413
     414Familiar with Photoshop? If you've used the texturiser you can pick a scale for the texture overlay. This is the same thing.
     415
     416If you make the scale bigger under the "Bumpy" setting, then the bumps will be bigger.
     417
     418 * '''Power:''' This is like "Contrast". That's the best way to describe it. The more power there is, the more contrast there will be in the Roughen style selected. For example, in the Bumpy setting, the bumps will be taller and the spaces between them will be deeper. It simply creates a more acute and sharp effect. Technically, by multiplying the roughen data by whatever the input for "Power" is. If the Standard setting tells the game to lower the elevation by 1 tile every 2 tiles and raise the elevation by 1 every 3 tiles, then the power would multiply these values.
     419
     420 * '''Increment Tool:''' Type in a value for the elevation and the brush will be set to that value. Negative values make elevation under the ground level. So if you set the value to 3, then the elevation height for the brush is 3, thus when you click, all the elevation under the brush is set to 3 height.
     421
     422== Cliffs ==
     423
     424Select a cliff from the scrolling menu and click "Place Cliff" to activate the cliff placer. Select a point on the map and the cliff will be placed based on the specified cliff settings.
     425
     426 * '''Height:''' Defines the cliff's height.
     427
     428 * '''Angle:''' Defines the cliff's angle (in degrees). Angles range from 45 to 90 degrees.
     429
     430 * '''Smoothness:''' Defines the cliff's smoothness.
     431
     432=== Custom Cliffs ===
     433
     434Clicking the "Create Custom Cliffs" icon will open up the Custom Cliffs window, as shown in the concept above. Define the settings and click Create to make your new cliff. The cliff will be placed in the Cliff scrolling list.
     435
     436== Water ==
     437
     438Select a water from the scrolling menu and click "Place Water" to activate the water placer, using current height. Select a point on the map and the water will be placed based on the specified water settings.
     439
     440 * '''Depth:''' Deepness is adjustable. For example, 0 Depth will make the elevation directly under the brush turn to water without lowering the elevation. 1 Depth will place water under the brush but will also lower and smooth the elevation under it by 1 height. Depth values range from -10 to 40. The default value is 5, the standard depth for our water <font color=blue>(I guess?)</font>
     441
     442Yes, that's right. -10. That means you can actually raise water. Instead of deepening the elevation under the water, it raises it with the water still on top. This will allow designers to make "rapids" and cataracts and things like that, not to mention make waterfalls easier to make as well. This feature will not be used in the regular game (Random Maps) but is here to add diversity and creativity to players. You will be surprised at how quickly designers will find some insanely creative uses for this. Not to mention water like this has been requested since AoK.
     443
     444Support for this is highly requested. '''Under this method you won't be able to use a global water plane (such as making all elevation under 0 have a water surface), but rather it would be necessary to define the surface for each body of water.'''
     445
     446Usually it will be 0 (elevation height) but it's requested that we be allowed to change that.
     447
     448 * '''Colour:''' Specify the colour of the water by using RGB values. Click the block of colour to bring up a small window asking you to specify the new RGB colours (or better yet! Have a Windows style colour picker). Click OK to set the colour.
     449
     450I have no idea how we're doing water, but I'm hoping it'll have a surface texture and a water colour. If that's the case, you choose the surface texture (which also has a default colour) from the "water" list and thus, you edit the colour of the water through this.
     451
     452 * '''Smooth Radius:''' The area in tiles to smooth the edges of water shores.
     453
     454=== Beautify Water ===
     455
     456An excellent function of the AoM editor, it randomises the depth of the target water terrain, adding reeds, lillies, fish and accurate shorelines, making it a whole lot easier for the player.
     457
     458Clicking this button will bring up the Beautify Water window and will prompt you to select a body of water. Do so and then click the water again to Beautify it (which will place random objects/waves around the shoreline and in the body of water which are defined along with other settings in the Beautify Water window); concept coming soon.
     459
     460You will be able to select different Beautify Water Styles to beautify the water. Custom styles should be possible too, either within the Editor or outside it.
     461
     462 * Standard � this will place the normal generic rocks and weeds around a body of water.
     463 * Ocean � this places sand/beach related items on the water and shoreline.
     464 * Beach � same as ocean but has a lot more beach related items and vegetation on the shoreline.
     465 * River � places rocks and bits of grass that are on a river's edge.
     466 * Pond � places water lilies and things that appear on ponds.
     467 * Lake � places objects that appear on lakes.
     468
     469<font color=blue>More Tragedy; I forgot to put this feature in the concept too. Hopefully you can guess how it will look without need of a concept. It'll just be another pull-down menu where you select what style to use.</font>
     470
     471=== Custom Water ===
     472
     473Click the Custom Water button to bring up the Create Custom Water window. Define the settings and click Create to make your custom water which will be placed in the Water List. This is just like the Create Custom Cliffs tool, but for water.
     474
     475[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/create-custom-water-window.gif)]] Create Custom Water Window
     476
     477== Brushes ==
     478
     479All our brushes are scalable through the brush size slider to the left of the Mini-Map, and a hotkey system should be made to quickly change brush sizes (alt+click+drag to define the length and width of the brush).
     480
     481Our brushes are:
     482
     483 * Circular � A brush in the shape of a circle.
     484 * Square � A brush in the shape of a square. Note this can also be turned into a rectangle through scaling.
     485 * Hollow � The Square brush but with a hollow centre, one tile thick perimeter. Thickness can also be changed, either through the interface or a hotkey.
     486
     487== Terrain Panel ==
     488
     489The player can choose a terrain texture from the list, and simply paint it onto the mesh using the current brush size. A small square in the terrain placement bar previews the texture selected.
     490
     491For ease of access, the player can choose from several subdivided alphabetised categories of terrain textures, such as Grass, Road, Rocky, Marsh and All (entire list).
     492
     493For the full list of terrain textures, see the '''<u>''Terrain section of the Design Document'''</u>''.
     494
     495To switch to Biomes press "ctrl+alt+b". By default, Biomes will only be used in RMS. However a user can choose to place terrains through Biomes to increase performance.
     496
     497When using Biomes, the tabs on the top of the terrain list will change to show tabs for the predefined Biomes in the game. So instead of the tabs saying "Grass, Road", etc, it'll say "Temperate, Alpine", etc, Clicking the tabs will show a list of all the terrains in that Biome, sorting them each as "Primary", "Secondary", etc. See the '''<u>''Biomes section in the Design Document'''</u>''.
     498
     499=== Randomise Terrain Palette ===
     500
     501You do this directly on the Terrain list. Select up to 10 terrains and assign them a number value (do so by left clicking to raise their value and right clicking to lower). The brush will then randomly place the selected terrains in the order of the ones with the highest number appearing the most, and the ones with the lowest number appearing the least (as in Cossacks).
     502
     503This is an excellent tool for easy terrain mixing.
     504
     505Note that normal terrain placement uses this rule. When you click on a terrain to place, a number 1 value appears on the selected terrain. Since no other terrains are selected, the terrain has a 1 of 1 percentage chance (100%) of being placed. If you have 2 terrains both with 1 as their value, then they each have a 1 of 2 percentage chance (50%) of being placed.
     506Makes sense?
     507
     508==== Randomise Terrain Palette ====
     509
     510This a simple pull down menu in the Randomise Terrain Palette Window that shows a bunch of premade palette mixes. The data is stored in XML (along with the priority numbers) for the terrains in the palette mix. You can save and load premade palettes made by yourself or others.
     511
     512=== Beautify Terrain ===
     513
     514Clicking this button enables terrains to automatically place sprites or other terrain-enriching objects. The Beautify settings are predefined in an XML database somewhere which says what objects to place for what terrain.
     515
     516=== Map Copy ===
     517
     518[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/map-copy-window.gif)]] Map Copy Window
     519
     520<font color=blue>Yet another Tragedy; this didn't make it into the concept for some reason, I think I ran out of room. Anyway, you can put a "Map Copy" button under the Terrain previewer and have it open up the Map Copy Window. Concept coming soon.</font>
     521
     522This tool allows the player to copy a section of the map into memory, and paste it at another point on the map. There are also buttons to rotate this copied section left or right, and mirror up or down.
     523
     524You can also export and import Map Copy instruction sets.
     525
     526Note that unit and other object data are not included in Map Copy. Only elevation and terrain. Remember that Objects can be copied and pasted simply by selecting them and pressing ctrl+c to copy and ctrl+v to paste. These are global hotkeys.
     527
     528= OBJECT EDITOR =
     529
     530[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/section-menu-Object.gif)]] Blank Object Editor
     531
     532[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/section-menu-Object-diagram.gif)]] Annotated Object Editor
     533
     534This section allows the player to place player-controlled objects from an Object List, and specify their attributes.
     535
     536== Object Filters ==
     537
     538There are several category buttons that can be used to filter the list:
     539
     540 * All.
     541 * Buildings.
     542 * Military.
     543 * Flora (Plants, trees, etc).
     544 * Eye Candy (Bridges, statues, etc).
     545 * Units (all units).
     546 * Nature (Fauna, rocks, etc).
     547
     548== Create Object ==
     549
     550This button opens up the Object Editor Window. <font color=blue>Details and concepts for this window that allows you to create/import new objects will be added soon.</font>
     551
     552== Place Object List ==
     553
     554This shows a scrollable list of the objects, alphabetically listed. The selection can be further defined through a few additional controls:
     555
     556 * '''Player List:''' Indicates the number and colour of the player which will have control of this unit once placed (includes an entry for Gaia).
     557
     558 * '''Civ Sort Drop-Down:''' Indicates which civilisation's units will be displayed (All, Celts, Persians, etc). This allows a player to be assigned units that it cannot train. By default, it is set to the current player's civilisation. Trees and animals default to Gaia.
     559
     560 * '''Show Drop-Down:''' This has the same entries and functionality as the Object Filters. Experienced users will tend to use this instead.
     561
     562In the unit placement list, pressing a letter (like A) will take the player to the first unit starting with A in the list.
     563
     564The text entry for the currently selected unit is displayed in green.
     565
     566== Object Settings ==
     567
     568Upon selecting a unit, the bottom bar of the Section Menu is updated to show its properties (name, portrait, civilisation, player, hitpoints, attack, armour, etc), similar to those in a standard game.
     569
     570The bottom half of the section menu (the Animation Viewer) also displays a live rendering of the selected unit in its default animation. The drop-down box below it lists the animations available to this unit, and allows the player to select which animation to view.
     571
     572=== Edit Object ===
     573
     574Click the Edit Stats button to open a window where the unit's statistics can be modified and saved (as shown in the concept above).
     575
     576Editing Stats through this and triggers for individual units is '''VITAL'''; This has to be done, no matter how hard or performance compromising, to have a good editor. We cannot settle for AoM's way in which its stat editing triggers would change the stats for the entire object class (all objects of that type). For this reason AoM's editor was considered inferior to AoK's even though it was better in all other aspects.
     577
     578If AoK could do this (individual unit stat editing) then we can too. We will accomplish this by making the Editor derive a new custom entity when editing a unit, and have this individual point to this entity for his stats. This maintains the efficiency of an entity system while achieving the desired effect.
     579
     580=== Object Manipulation ===
     581
     582The user can manipulate a selected object in the Game World View using the following hotkeys (no matter what menu is currently active):
     583
     584 * '''Move''' it, by dragging a selection box around it, and then clicking and dragging it on the map.
     585
     586This allows the user to move the object anywhere on the map, even if the unit cannot function there, such as cliffs, underwater, inside other units, etc. Complete freedom.
     587
     588 * '''Position''' it, by selecting the object and pressing alt+up arrow or alt+down arrow to move it up or down on the map (make it float or sink in the ground).
     589
     590 * '''Rotate''' it, by selecting it and pressing ctrl+left arrow or ctrl+right arrow to rotate it in that direction (Z axis).
     591
     592Additionally you can rotate it on an axis by pressing ctrl+up to rotate it upwards, ctrl+down to rotate it downwards (Y axis), ctrl+alt+left and ctrl+alt+right to rotate it sideways (X axis).
     593
     594 * '''Scale''' it, by selecting it and pressing alt++ and alt-- to scale it up or down.
     595
     596==== Object Manipulation Tool Window ====
     597
     598This window <font color=blue>'''<CONCEPT AND ACCESS METHOD STILL PENDING>'''</font> can be opened up to access a number of settings and commands that can be enforced on a unit, many of which mirror the manipulation hotkeys.
     599
     600These controls include:
     601
     602 * '''Direction:''' The angle in which the unit will be pointed when placed. The default is 135 degrees � the unit is facing south east.
     603
     604 * '''Group Drop-Down:''' The unit will be automatically placed into the specified trigger group (if specified) when placed.
     605
     606 * '''Stance Drop-Down:''' Default stance for the unit (Aggressive, Defensive, etc) when placed.
     607
     608 * '''Move Button:''' Moves the selected object when active.
     609
     610 * '''Spawn Button:''' With Spawn active, the player can select an object, then click and hold down the mouse button.
     611
     612Dragging the mouse will fill every tile that the mouse moves over with an instance of this unit. Much faster than clicking a ton of times to place a unit.
     613
     614 * '''Scale Button:''' With Scale active, click a unit, then hold down the left mouse button and drag it up or down to smoothly scale the size of the unit.
     615
     616This window also has controls to display info on the unit's grid tile, toggle a display of the units' LOS, <font color=blue>and many more interesting goodies that we can come up with (programmers permitting).</font>
     617
     618<font color=green>
     619=== Object Spawner Tool ===
     620
     621This tool will be used to primarily to place forests on the map. However With a step up in power and functionality this becomes a much more powerful tool, and thus needs a name not specific to forests.
     622
     623The Object Spawner tool takes the form of a window which looks like this:
     624
     625[[Image(http://www.wildfiregames.com/~gamedesign/editor/object-spawner.gif)]]
     626
     627The top left list shows the available forests available to you, and the top right list shows other �spawn classes� that you can paint on the map.
     628
     629Here is an example of what the Object Spawner would do. Firstly, it can paint forests on the map. Just like in any other RTS game, you select your forest and you paint it on the map with your brush. However, in 0AD, the same method applied to placing forests can also be applied to any other object � infact, you can make your own �spawn class� of objects that you want randomly painted on the map. This will help you design and detail your map very quickly. To take advantage of this system, the user will be able to make their own forests or spawn classes for their own use.
     630
     631Clicking on the �Custom� button under each list will bring up the �Create Custom Spawn Class� window, which will let you configure your spawn class and then save it to your workspace.
     632
     633==== Placement Settings ====
     634
     635The Placement Settings section of this tool allows you to fine tune the settings and parameters for painting your forests or spawn.
     636 * '''Density''': - Adjusts the density of the spawn being painted by a percentage value (which isn�t shown but represented through the scroller adjuster). For example if the density scroller is in the middle (representing 50%), then only 50% of the area being painted will have spawn objects appear on it.
     637
     638 * '''Bias''':  - This adjusts the Isolation/clumping togetherness off spawn objects. If the bar is at 50 (50%) then half of the objects being painted will be painted closer to another object rather than at an equal tile distance. This setting is needed to give the painted objects a more natural look with variations in density, rather than a 1 object per 1 tile thing.
     639
     640 * '''Scale Difference''': - This will randomly scale the objects being painted by the specified scale values. A value of 0.8 to 1.2 means that the objects being painted will be between 80% and 120% of their original scale (a value of 1.0 = 100% = original scale).
     641
     642 * '''Rotation''': - Similar to Scale Difference, this will randomly rotate the painted objects between the specified value. First of all click the little circle thing to enable Rotation, meaning that the objects will be randomly rotated apon placement. Then specify a value in Degrees. In this example, 0 to 360 degrees means that the objects being painted will randomly be bearing between 0 and 360 degrees.
     643</font>
     644
     645= TRIGGER EDITOR =
     646
     647== Trigger Introduction ==
     648
     649Triggers are used to script existing commands as condition-effect events (if <something> happens, then <something else> happens as a result). (They are basic If -> then logic statements.)
     650
     651There will have to be considerable triggers available in order to create the scenarios we require, from displaying dialogue text (relative to a specific unit), to changing ownership of soldiers, to winning or losing a game under certain conditions, to complicated events like letting the amount of gold you hoard influence the strength of your army.
     652
     653The trigger system will also have to be capable of incorporating new conditions and effects created by the player through independent scripting.
     654
     655This is what will make our Editor truly excel over others, our triggers. The most powerful triggers in the Editor will result in the most powerful Editor yet, and that is our goal.
     656
     657<font color=blue>Nice-to-have: If we could, it would be nice to get more advanced and have triggers able to call in or use script commands.</font>
     658
     659== Text Formatting in Triggers ==
     660
     661Some sort of formatting code should be devised (like simple HTML) for formatting in messages.
     662
     663UI graphics and textures referenced with this formatting. <font color=blue>'''Bobby, sorry, I don't follow. Could you elaborate on that sentence? - Stuart'''</font>
     664
     665Also basic commands like < center > should be available as well. Some of our own invented commands could be `< color=<r>,<g>,''' >` (where RGB equals an RGB colour value) to specify a colour, < size > to make a size, and so on.
     666
     667== Trigger Editor ==
     668
     669[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/trigger-menu-concept.gif)]] Blank Trigger Editor
     670
     671[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/trigger-menu-concept-Diagra.gif)]] Annotated Trigger Editor
     672
     673All these entries (triggers, conditions, effects, groups, clumps) can be renamed. When first created, they use a name that consists of its type and the next available number suffix eg Group1, Trigger3.
     674
     675To rename a trigger, click the title box (which is shown where the effect settings are in the concept) and type in the new name. Concepts coming soon for this and the conditions settings..
     676
     677=== Trigger List ===
     678
     679A trigger must be created before condition-effects can be applied to it. Triggers are created, named, deleted and listed in the trigger list in a hierarchical format as shown.
     680
     681Organise triggers by clicking and dragging them into a new order or into a group or clump.
     682
     683Conditions and Effects that ask you to specify a trigger can also be assigned a group or clump, allowing the user to ensure an effect is applied to all triggers in a specified group.
     684
     685 * '''New Button:''' Creates a new, empty trigger. This is a basic command; the player cannot make conditions or effects without triggers. New triggers placed on the list are automatically selected. Selected Triggers are green in colour.
     686
     687When a Trigger is selected its trigger menu appears. Each trigger will have a few definable parameters:
     688
     689[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/trigger-menu-triggers.gif)]] Triggers Menu
     690
     691 * '''Name''': Click to specify a name. Changes to a name are made live, so whatever you type, that will be the name; there is no confirmation or need to press Enter to accept the name. If the name for the trigger is already taken, or the name can't be used (due to incorrect characters maybe?) then a window appears saying "name in use, please specify a different name" or
     692"invalid characters, you may only use the characters <blah blah blah>".
     693
     694 * '''Active''': Specify whether the trigger is active or not. If it's not active it will need to be Fired (Activated) by another trigger.
     695
     696 * '''Loop''': Select to Loop the trigger. Loop the trigger for infinite. <font color=blue>I'm still pondering whether this should have a timed loop or an interval like the Effect loop. I'll have to actually use some of the triggers to see if that would be useful or not.</font>
     697
     698 * '''Priority''': Give a priority to the trigger. This is simply to be able to optimise performance. There are four available levels (Low, Medium, High and Maximum). Triggers set to Maximum ignore the queue rules and just fire as fast as they can, without waiting in queue.
     699
     700We need to establish a limit to the number of triggers that can fire per second. Triggers in 3D games tend to be extremely performance demanding, and too many could even crash the game. A priority system would be a way to work around that.
     701
     702<font color=blue>By the way, the "attack plan" for this is up for grabs, but here's my idea. We run some tests to see what the maximum amount of triggers can run on a 1ghz system or whatever our minimum requirement PC will be. When we see the performance take a sharp spike down, we check how many triggers the game was doing. Whatever that number is will be the maximum.</font>
     703
     704Whatever limit is chosen, it would be preferable if we didn't hardcode it, so that we could increase the value as hardware evolves to cope.
     705
     706Let's assume the limit is 12 triggers per second. The triggers with priority will "queue up" in a line so that only 12 triggers will be used at a time. Let's say that 6 triggers on maximum priority can fire, 4 triggers on medium priority, and 2 on low priority. If the trigger list is using triggers that are spread all over the spectrum (maximum to low) and more than 12 want to fire per second, it would queue them up in this way.
     707
     708Let's say that you have some triggers only on high and only on medium priority. Then the slots in the line that go for the Low priority triggers will instead be divided out to the High and Medium priority triggers. So then we'd have 6 high priority ones and 6 medium priority ones. I hope this makes sense.
     709
     710Now you might ask the question: "Why can't we just make it so that high priority triggers fire before medium ones, and medium ones before low ones?"
     711
     712That's what Ensemble Studio did with AoM. It turned out to be very annoying since so many high priority triggers would fire, that anything under high would take 5-12 seconds to fire and it was incredibly annoying for designers. The above alternative will be most efficient I think, and the only delay would be 1-5 seconds for stuff on low priority.
     713
     714 * '''Copy Button:''' Copying an entry will create a duplicate entry in the format "Copy of <copied-entry>".
     715
     716 * '''Cut Button:'''
     717
     718 * '''Paste Button:'''
     719
     720 * '''Delete Button:''' Deletes the selected entry. No prompt window for this because it's incredibly annoying when it asks you 20 times if you want to delete 20 triggers. Instead, the user can press the universal Undo command (ctrl+z) to undo the delete and restore the trigger.
     721
     722 * '''Group Button:''' Creates a new trigger group. A trigger group is a group that can house triggers; the player can name the trigger group. By default, there is only one group unless you make more.
     723
     724Trigger groups are created to put related triggers into sensible order (since the list can get messy), and to control a group of triggers.
     725
     726The player can copy triggers from the trigger list into a trigger group, or vice versa, using the standard cut-copy-paste commands above.
     727
     728 * '''Clump Button:''' A clump is a trigger group within a trigger group (a sub-group).
     729
     730<font color=blue>From Bobby aka !CheeZy: "'''NOTE''': In the concept, I had another copy button under the Group and Clump button.
     731
     732Originally that was there to copy the group or clump, but there's no reason why the other Copy button shouldn't apply for the groups and clumps. There won't be a Copy button under Clump in the real version, so don't put that in. I'll update the concept later."</font>
     733
     734=== Conditions & Effects List ===
     735
     736Below the Trigger List is a similar area which lists all conditions and effects attached to the currently selected trigger.
     737
     738Functionality is virtually identical to that for the Trigger List (ability to drag, delete, rename, cut, copy entries; so we won't repeat them here unless they differ).
     739
     740If no trigger is selected, this list is blank. If a trigger is selected (colour changes to green), then this area shows the conditions and effects assigned to this trigger.
     741
     742It is split into two tabs, one for Conditions and one for Effects.
     743
     744Here is a basic rundown of the layout for the GUI for Conditions and Effects: [[Image(http://0ad.wildfiregames.com/~gamedesign/editor/trigger-menu-effects.gif)]] Effects Menu
     745
     746 * '''Condition Button:''' Creates a new condition and adds it to the Conditions list.
     747
     748A condition is not mandatory for a trigger to function; a trigger without a condition simply starts straight away.
     749
     750Conditions are requirements that must be met before the associated effects can be triggered (such as timer, object exists, accumulate stockpile).
     751
     752A trigger can have multiple conditions.
     753
     754When a Condition is selected it updates the menu (in the Horizontal bar area) to the Conditions menu.
     755
     756Concept:
     757
     758[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/trigger-menu-conditions.gif)]] Conditions Menu
     759
     760 * '''Name''': Click to type in a name, just like in the Trigger Menu
     761
     762 * '''Condition''': Click to select a Condition from the drop down list (a full listing with descriptions is available in the '''<u>''Conditions Master List'''</u>'' section).
     763
     764 * '''Logic � "Not" and "Or"''': Each condition can have a logical bridge to chain them together: either '''"or"''' or '''"not"'''. The "and" logic is already used by default. If there is more than one condition in the list, that's an '''automatic''' "and" logic (the trigger needs both conditions to be met for the trigger to fire).
     765'''- Not''': If the conditions specified in the Condition are NOT met, then the Trigger will fire.
     766'''- Or''': If either of the Conditions specified are met (this requires 2 Conditions), then the Trigger will fire. For example. If "Condition timer" or "Condition Resources" is met, then the effect will fire.
     767
     768 * '''Effect Button:''' Creates a new effect and adds it to the Effects list.
     769
     770A trigger '''must''' have at least one effect.
     771
     772As for conditions, effects can be bridged using the same and/or/not dynamic.
     773
     774Effects range from declaring victory for a player, to the alteration of unit stats like attack, to another player declaring war against the player.
     775
     776'''Multiple Selection �''' You will be able to select more than one object/thing by shift+clicking or shift+dragging (to select) objects for all object related triggers (that want you to select objects).
     777
     778'''Effect Timers �''' Although our trigger structure will not be similar to that of Empire Earth's, we will have '''Effect Timers'''. This will allow designers to fine-tune events without having to make tons of timer triggers. Instead, a user can create one normal timer condition, which will then fire the effect. Let's say effect one has no timer. It fires as soon as the condition is met, but then effect 2 has a timer, meaning that it won't fire until after the timer expires after it is "fired".
     779
     780 * '''Script Button:''' <font color=blue>Ignore this for now, this needs to be discussed in a programming meeting.</font>
     781
     782== "String"-based Materials ==
     783
     784The Editor will need to be able to "tag" objects; give them an ID string, for use in triggers. In particular, two features that the Trigger Editor must be capable of is stringing groups of units and stringing areas on the map.
     785
     786=== Unit Group Editor ===
     787
     788The Unit Group Editor, or just Group Editor for short, allows you to tag multiple objects into a group, thus enabling them to be referred to as an entire group. This is useful to designers in Triggers since they can define all their units, and then have a trigger create an effect for all of those units instead of having to make a trigger per unit
     789
     790The Group Editor appears in a window, accessible by clicking the "Unit Group Editor" button in the Trigger Editor Section Menu.
     791
     792Options in the window are as follows:
     793
     794 * '''New Unit Group:'''
     795
     796(Note: You can set a unit group instead of a unit for every trigger that asks for a unit.)
     797
     798Groups will be made and controlled much like normal triggers. Click this button (New Group) to create a new (blank) group.
     799
     800Give it a name (which will be used as the string), and select the objects on the map to be included in this group. Click the '''Update''' button (while your objects are selected) to create the group.
     801
     802 * '''New Ghost Group:'''
     803
     804This is a tricky one. This will create groups for objects that are not yet on the map, meaning that the units will be created or added later.
     805
     806Click '''New Ghost Group'''. Give the group a name (which will be used as the string). From the pull down menu, select what object will be in the group. (and) will appear. Click it to open up another slot to choose another object, etc. (and) will continue showing up with a new slot to include each time it is clicked.
     807
     808Under each slot, specify the number of units to include in the group. To group all units (there's no limit), leave the number blank.
     809
     810Check the box saying "group in area". This will unshade (make available) the Area Selector. Select an area on the map where you want these ghost units to be grouped (if they are created in that area). The selection method will be the standard click-and-drag over a bunch of tiles method, in which it just creates a rectangular/square area.
     811
     812<font color=blue>Nice-to-have: If feasible, a "connect the dots/polygon" way would be preferred, in which rather than selecting tiles, you put points on the map which the game then connects with a line. Anything inside this polygon that you just made would be your area.</font>
     813
     814 * '''Delete Group:''' Deletes the group.
     815
     816 * '''Copy Group:''' Makes a copy of the group.
     817
     818 * '''Cut Group:''' Removes the group and puts it on the clipboard (temporary storage).
     819
     820 * '''Paste Group:''' Pastes the cut group. Can only be pasted in the Group Editor.
     821
     822=== Area Editor ===
     823
     824This is similar to the Group Editor, but instead of defining units, this defines Areas. You will be able to select areas on the map and define that as an area. The advantage of this is that areas can be reusable in triggers so that you won't have to specify the same area again and again, rather you just select it from a drop down list. Also this lets you define an area in a much more precise way.
     825
     826Just like the Object-Group relationship, area strings will work the same way. An option will be available in every trigger that asks to define an Area to select the predefined area from a list.
     827
     828Some Areas will already be created by default. For example, all of the Territories and Provinces on the map will be pre-defined as Areas, which are then accessible to the user through this list.
     829
     830 * '''New Area:'''
     831
     832Just like creating a new Trigger, this will create a new area.
     833
     834You will have three ways of defining an area: Polygonal Selection, (Standard) Shaded Box Selection, and Radius Selection.
     835
     836'''Polygonal Selection:'''
     837Click a bunch of points on the map. The game will "connect the dots" between those points, the area formed between the lines is the area.
     838
     839This method of selection allows for very precise areas, in which you are not limited by tiles.
     840
     841Command and Conquer General's editor has an excellent way of doing this and gets it right on. If you have the game I suggest you try out their Area definer, if not, look at these images.
     842
     843[[Image(http://0ad.wildfiregames.com/~gamedesign/editor/c&c_ref/area1.jpg)]] Command & Conquer: Generals Area Definer Example
     844
     845Beautiful, exactly what I want. You click to create a point, and then click again to create another, and so on and so on, to end the shape you simply connect the last line to the starting point to close the polygon.
     846
     847You should also be able to delete a point from the polygon and have it snap to a full shape (so it's still a polygon). You should also be able to manipulate the points and move them around.
     848
     849To demonstrate this in action (pictures can only show so much) download this movie of General's polygon tool in action. This same functionality should go into our Polygonal Selection Area Creator.
     850
     851http://0ad.wildfiregames.com/~gamedesign/editor/c&c_ref/areacreator.avi Command & Conquer: Generals Area Definer Movie (426KB)
     852
     853''' "Standard" Shaded Box Selection''':
     854Just like in AoK, select an area by clicking on the map and dragging a box which will shade all the tiles underneath it, showing that they are selected.
     855
     856'''Radius Selection'''
     857This last alternative is more friendly to moving objects on the map. Specify a point on the map as the center, and then a length of the radius. The area created is a circle with a radius (distance from the center point) of whatever you defined.
     858The advantage to this system is that you can have any unit be the centre point, even moving units.
     859
     860 * '''Delete Area:''' Deletes the area.
     861
     862 * '''Copy Area:''' Makes a copy of the area.
     863
     864 * '''Cut Area:''' Removes the area and puts it on the clipboard (temporary storage).
     865
     866 * '''Paste Area:''' Pastes the cut area. Can only be pasted in the Area Editor.
     867
     868== Conditions Master List ==
     869(functions listed under each trigger)
     870
     871Note: Universal Functions.
     872Effects � Player (for which player will the effect work on), Loop (on or off), Loop duration (how long the loop lasts) Delay � (functions just like a timer, the time the effect delays before firing after the condition is met). If Delay is used with Loop, then the delay value will function as an interval for the loop. For example if the Delay is on 3, and the effect is looping, then it will fire very 3 seconds. If the delay is on 5, then it will fire every 5 seconds etc.
     873
     874Conditions: Player, Not*, Or*
     875
     876 * See section 8.3.2 for info on the Condition Logic.
     877
     878''' AI signal''' - Determines if the AI has made a signal.
     879
     880Select AI
     881Select Signal (enter the signal name)
     882
     883''' Aborted cinematic '''- When the cinematic mode is turned off.
     884
     885Select if on or off
     886
     887''' Accumulate attribute''' - Checks if a certain player accumulated so much of a certain attribute, such as kills, or food etc.
     888
     889Select attribute (from a list)
     890Set Delta (change) +, -, and then a value
     891Set Operator (<, <or=, ==, =or>, >)
     892
     893
     894''' All buildings dead''' - When all buildings have been destroyed.
     895
     896
     897''' All units and buildings dead '''- All units and buildings are destroyed.
     898
     899Check if all units and buildings of a player are destroyed
     900
     901''' All units dead''' - All units have been killed for the specified player.
     902
     903Check if all units of a player are destroyed
     904 
     905''' Captured object '''- when its ownership changes from the old player to the owner player.
     906
     907Select object(s) or group(s) to be captured
     908Select Area(s) or Territory(s) (optional)
     909Select Owner player (the player who owns the relic)
     910 
     911''' Captured Relic '''- Checks if a relic is captured.
     912
     913Select Relics or Treasures to be captured
     914Select Area(s) or Territory(s) (optional)
     915Select Owner player (the player who owns the relic
     916
     917''' Chat contains '''- Checks to see if the last chat message contains a certain string. Can be used for yes/no questions.
     918
     919Check Chat Field (enter the chat to be checked)
     920All? Check this to check for any cheats.
     921
     922''' Cheat Entered''' - Detects of a cheat has been entered.
     923
     924Cheat (select from list, all is also available to check for all cheats)
     925
     926''' Choice Chat Answer '''- Checks if a choice from the Send Choice Chat effect has been selected.
     927
     928Enter a choice to check.
     929
     930''' Condition chance '''- Gives the condition a percentage chance to fire.
     931
     932Set Chance (in percentage)
     933
     934''' Destroyed object''' - Checks if a certain object was destroyed.
     935
     936Specify Object(s) or Group(s)
     937
     938''' Difficulty level '''- Checks the difficulty level.
     939
     940Specify the Difficulty level from the drop-down list
     941
     942''' Diplomacy change''' - Occurs when the specified diplomacy change has occurred.
     943
     944Specify which diplomacy change to check for (ally, neutral, enemy)
     945Specify the source and target player
     946Or� Check the All box to look for a change of diplomacy from any player.
     947
     948''' Distance to point '''- The selected unit is a certain distance to a point.
     949
     950Specify Object(s) or Group(s)
     951Specify the Area(s) or Territory(s)
     952Or Specify a point on the map by choosing radius, tile, or polygon selecton while you do so.
     953
     954''' Distance to unit '''- The selected unit is a distance to another selected unit.
     955
     956Specify Object(s) or Group(s)
     957Specify the target Object(s) or Group(s)
     958Set the Radius of the target area around the unit.
     959 
     960''' Log Compare '''- Compares up to 4 logs (using =, <, > <=, >= operators).
     961
     962Specify an existing log�s name
     963Specify the operator.
     964Up to 4 logs can be checked.
     965
     966''' Log Check '''- Checks a log for a value (specify the name of the log and the value to be checked).
     967
     968Specify a Log
     969Specify the Delta and it�s value
     970Specify the Operator (<, <=, ==, =>, >)
     971
     972''' Variable Check''' - Checks a variable.
     973
     974Specify the name of a variable
     975Specify a Delta and it�s Value
     976Specify the Operator (<, <=, ==, =>, >)
     977
     978''' Variable Compare '''- Compares a variable with another (like if Variable-X is 1 < than Variable-Y).
     979
     980Specify 2 Variables to check.
     981Specify a Delta and it�s value
     982Specify the Operator (<, <=, ==, =>, >)
     983
     984''' Interactive Object''' - This condition will fire an effect when the Interactive Object can be "interacted" with. I.e. a chest has been "interacted" with, when it is opened. A chest is opened when you task an object on it and the object walks over and opens the chest. When the chest is "opened" it "Dies". This condition is basically a renamed "Object is dead" condition that only applies to interactive objects. This condition (and trigger) is automatically generated when an Interactive Object is placed. Condition and Effect is already set up to defaults when Interactive Object is placed.
     985
     986Specify the Interactable Object(s)
     987Specify the Operator (<, <=, ==, =>, >) (of the interactable object being operated or not)
     988
     989''' Is alive''' - The specified unit is alive.
     990
     991Specify Object(s) or Group(s)
     992
     993''' Object visible''' - (currently visible on screen) Checks if a certain object is visible to a certain player..
     994
     995Specify Player(s)
     996Specify Object(s) or Group(s)
     997Specify amount (how visible it has to be in order for the effect to fire. Negative values also work. For example if the value is 2, then the unit would have to be 2 �tiles� inside the player�s LOS for the condition to fire.)
     998
     999''' Objects in area '''- Checks if objects are in a specified area (or territory).
     1000
     1001Specify Object(s) or Group(s)
     1002Specify area(s) or territory(s)
     1003
     1004''' Object Selected '''- Checks if a specified player has clicked a specific object.
     1005Specify the player(s)
     1006Specify Object(s) or Group(s)
     1007Or Specify Object by Type
     1008
     1009''' Own objects''' - Checks if a certain player owns a specific object.
     1010
     1011Specify Object(s) or Group(s)
     1012
     1013''' Own fewer objects''' - Checks if a certain player owns less than a specified amount of a certain unit.
     1014
     1015Specify Object(s) or Group(s)
     1016Specify Delta
     1017Specify Operator
     1018
     1019''' Object active''' - Check which options define "active", such as "is attacking, is moving, is building" etc.
     1020
     1021Specify Object(s) or Group(s)
     1022Define the Active Field (attacking, moving, idle, building, repairing, patrolling, guarding, farming, hunting, mining, etc etc).
     1023Define the Operator (<,<=, ==, =>, >)
     1024
     1025
     1026''' Object Changed '''- Check which options define "Change", such as "attack change, armor change, moved, unit count" etc. The effect will fire when the condition detects a change in the group.
     1027
     1028Specify Object(s) or Group(s)
     1029Define Change (attack stat, armor stat, P armor stat, range stat, motion state, position state, health, total count etc, Basically almost every stat that can be counted and applied to a unit.
     1030Define the Delta (Change), + or -, and then a value (if applicable). Leave blank to check for any change in value.
     1031
     1032
     1033''' Objects garrisoned''' - Checks if certain units are garrisoned inside a certain object.
     1034
     1035Specify Object(s) or Group(s)
     1036Specify amount
     1037Specify Operator
     1038 
     1039
     1040''' Percent complete''' - The specified unit (mainly building) is a certain % complete from being built.
     1041
     1042Specify Object(s) or Group(s)
     1043Specify percent complete delta
     1044Specify the Operator
     1045
     1046''' Percent damaged''' - The specified object has been damaged to this percent.
     1047
     1048Specify Object(s) or Group(s)
     1049Specify percent damaged delta (or HP lost)
     1050Specify the Operator
     1051
     1052''' Player active''' - The specified player is active.
     1053
     1054Is Active, meaning they have not resigned or been destroyed.
     1055 
     1056''' Player at pop''' - The specified player is at the specified population.
     1057
     1058Specify the player(s)
     1059Specify the Delta
     1060Specify the Operator
     1061
     1062''' Player defeated''' - The specified player has lost.
     1063
     1064Specify the Player(s)
     1065Specify if they are defeated, or resigned, or both (checkboxes)
     1066
     1067''' Player distance to point''' - This would detect if any of a player's units were a certain distance from a point.
     1068
     1069Specify the Source Player(s) and the Target Player(s)
     1070Specify the amount for the distance. Negative values also aply.
     1071
     1072''' Player distance to unit''' - This would detect if any of a player's units were a certain distance from a unit.
     1073
     1074Same as above, but with units. Bah.
     1075
     1076''' Player is building''' - The player is currently building the specified object.
     1077
     1078Specify the player(s)
     1079Specify the Object(s) being built. Any is also selectable (for anything being built, not a specific object)
     1080 
     1081
     1082
     1083''' Player unit count''' - The player's unit/building count has reached a specified amount.
     1084
     1085Specify the subject to be counted (Units, Animals, Lumberjacks, Fisherman, Buildings, Military Buildings etc)
     1086Specify the Delta
     1087Specify the Operator
     1088
     1089''' Research tech '''- Checks if a certain player can research a certain technology.
     1090
     1091Specify Tech
     1092Specify Operator
     1093Specify what to check (not researched, available, unavailable, is researching, researched)
     1094 
     1095''' Timer''' - A timer in seconds.
     1096
     1097Timer
     1098
     1099''' Timer ms'''  - A timer in milliseconds.
     1100
     1101Timer (ms)
     1102 
     1103
     1104== Effects Master List ==
     1105
     1106'''AI script goal''' - Activates a goal for an AI file.
     1107
     1108Specify the Goal�s name (or ID)
     1109
     1110'''Activate trigger''' - Activates another specified trigger.
     1111
     1112Select an existing trigger from the list.
     1113
     1114'''Advance campaign''' - Advanced to another campaign.
     1115
     1116Specify the campaign
     1117
     1118'''Advance campaign progress''' - Advances to the next specified scenario or transition cinematic.
     1119
     1120Specify the next scenario to transition to.
     1121
     1122'''Area Territory Change '''- Adds (or subtracts) areas. Define what areas to change and the new area's name.
     1123Specify a beginning area
     1124Specify a target area
     1125Specify the change (Add, Subtract)
     1126
     1127'''Become hero '''- Can make any unit a hero, with self-healing availability. The unit stays the same but has hero status.
     1128
     1129Specify the Object(s) or Group(s)
     1130Specify the statistic(s) of the unit (statistics = the unique Hero abilities)
     1131
     1132'''Blockallambientsounds '''- Blocks out all of the ambient sounds (unit click noises, swords clashing etc).
     1133
     1134Specify if it�s on or off
     1135
     1136
     1137'''Blockallmusic''' - Blocks out all music and music sounds.
     1138
     1139Specify if it�s on or off
     1140
     1141'''Blockallsounds''' - Blocks all of the sounds.
     1142
     1143Specify if it�s on or off
     1144
     1145'''Camera cut '''- Changes the camera view.
     1146
     1147Specify the view (position the game�s view, and click set view)
     1148
     1149'''Camera track''' - Performs a camera track. Note, you need to create a camera track first.
     1150
     1151Choose the existing camera track from the list
     1152
     1153'''Change diplomacy '''- Changes a certain player's diplomacy towards another certain player.
     1154
     1155Specify the source player
     1156Specify the target player
     1157Specify the diplomacy (ally, neutral, enemy)
     1158
     1159'''Change elevation '''- Changes the elevation in a certain area to a certain height, with a smooth (raises smoothly) or rough (raises instantly) option. Intensity (smoothness of elevation is adjustable).
     1160
     1161Specify the target Area(s) or Territory(s)
     1162Specify which style (smooth or rough)
     1163Specify the height
     1164Specify the Edge smoothness
     1165Specify the Intensity
     1166Specify the duration (how long it will take for the elevation to reach it�s defined height)
     1167
     1168'''Change ownership''' - Changes the ownership of a certain unit or units, like a unit tribute.
     1169
     1170Specify the Object(s) or Group(s)
     1171Specify the Owner Player (who the unit�s ownership will change to)
     1172
     1173'''Change ownership Area '''- Changes the ownership of a unit or units, within an area
     1174
     1175Specify the original owner player
     1176Specify the Area(s) or Territory(s)
     1177Specify the Object(s) or Group(s) type, or select all for any of that players units to be converted.
     1178Specify the Owner Player (who the unit�s ownership will change to)
     1179
     1180
     1181'''Change terrain '''- Changes the terrain in a certain area (or territory) to another terrain, such as grass to dirt.
     1182
     1183Specify the Area(s) or Territory(s)
     1184Specify the terrain type to change too.
     1185Specify the Fade Duration (the time it�ll take for the terrain to completely fade into the new terrain, in seconds)
     1186 
     1187'''Chat on/off''' - Turns the chat on or off.
     1188
     1189Choose On or Off
     1190
     1191'''Cheats on/off '''- Define Cheats as on or off. Disables all cheats besides the reveal map cheat.
     1192
     1193Choose On or Off
     1194
     1195'''Cinematic mode''' - Enters cinematic mode. Warning, you must have another trigger exiting cinematic mode (by clicking the on button to off) or you will be stuck in cinematic mode and unable to exit the game.
     1196
     1197Choose On or Off
     1198
     1199'''Clear Chat''' - Clears all chat messages on the screen.
     1200
     1201
     1202'''Clear UI''' - Clears any information or text on the screen, including chat.
     1203
     1204
     1205'''Counter add Value '''- Adds a numerical value at the end of the timer (Plus 5 seconds for example).
     1206
     1207Specify the Counter Name
     1208Specify the Delta and it�s Value
     1209
     1210'''Counter stop '''- Stops the counter. Note that counter effects will work for any counter, fake or not.
     1211
     1212Specify the Counter Name
     1213
     1214
     1215'''Counter timer''' - Adds a counter to the UI with a phrase, i.e. "Time until attack". When the countdown reaches zero a specified trigger fires.
     1216
     1217Specify the Name for the Counter
     1218Specify the Counter Phrase
     1219Specify the Counter Value
     1220Specify the Counter value type (<game>years, minutes, seconds, etc)
     1221Specify the Trigger to fire when the counter runs out. Leave blank for the counter to do nothing when it runs out.
     1222
     1223 
     1224'''Create Water '''- (IF POSSIBLE) Creates water over an area. Specify water type and depth value.
     1225
     1226Specify the Area(s) or Territory(s)
     1227Specify the Water Type
     1228Specify the Depth
     1229Specify the Smoothness
     1230Specify the Fade duration (for the water to rise up into the specified area, or for it to be created.)
     1231
     1232'''Deactivate trigger '''- Deactivates another specified trigger.
     1233
     1234Specify the Trigger
     1235
     1236'''Declare victory '''- Declares victory for a certain player or players, if there is an alliance.
     1237
     1238Specify the Player.
     1239
     1240'''Display instructions''' - Displays in-game instructions to all players.
     1241
     1242Specify the Instruction ID
     1243Specify the Instruction Number
     1244 
     1245'''Enable disabled unit '''- Unforbids and enables a specified disabled unit.
     1246
     1247Specify the unit(s) to Unforbid.
     1248
     1249'''Fade to colour''' - Fades the camera to another colour. Warning, you need to have it also fade out (by clicking the in button to out) or the camera will be stuck on the faded colour.
     1250
     1251Specify Fade in or Fade Out
     1252Specify the Colour (RBG Values, or a color picker would be nice)
     1253Specify the Fade Length (how long it takes to fade)
     1254
     1255'''Fadeoutallsounds '''- Fades out all of the sounds. Specify a Fade length.
     1256
     1257Specify On or Off (Off fades sounds back in)
     1258Specify Fade Length
     1259
     1260'''Fadeoutmusic '''- Fades out the music. Specify a Fade length. 
     1261
     1262Specify On or Off (Off fades music back in)
     1263Specify Fade Length
     1264
     1265'''Flare minimap''' - Flares a spot on the map and minimap.
     1266
     1267'''Flash Area''' � Flashes or Highlights a specified area on the map
     1268
     1269Specify to Flash or Highlight the area.
     1270Specify the Area(s) or Territory(s) to flash
     1271 
     1272'''Flash objects '''- Flashes or Highlights objects on the map.
     1273
     1274Specify to Flash or Highlight the unit.
     1275Specify the Object(s) or Group(s)
     1276OR Specify the Area(s) or Territory(s) to flash objects in.
     1277
     1278'''Flash Objects on Minimap '''- Flashes the object�s dot on the minimap.
     1279
     1280Specify to Flash or Highlight the unit.
     1281Specify the Object(s) or Group(s)
     1282OR Specify the Area(s) or Territory(s) to flash objects in.
     1283
     1284'''Game Speed''' - Changes the speed of all unit animations and objects, and gather rates, etc. <THIS IS LOW PRIORITY, unless it�s easy to do>
     1285
     1286Specify the game speed, where 1.0 = default speed.
     1287
     1288'''Go to main menu '''- Exits to the main menu.
     1289
     1290'''Group Change''' - adds (or subtracts) one group to another, define what groups to modify and what the new group name will be.
     1291
     1292Specify the source Group
     1293Specify the Modifier (Combine, Subtract)
     1294Specify the Modifier Group (the group that is combined or subtracted)
     1295
     1296'''Grant '''- Grants a player a resource (Food, Wood, Stone, Ore).
     1297
     1298Specify the Player(s)
     1299Specify the Grant (Resources, Population limit, any other physical number value in the game)
     1300Specify the amount.
     1301
     1302'''Heal unit '''- Effect which can add to a unit's current HP.
     1303
     1304Specify the Object(s) or Group(s)
     1305Specify the amount HP to heal.
     1306
     1307'''Hide score''' - Hides the score. To permanently remove it, make the trigger loop.
     1308
     1309Specify On or Off
     1310 
     1311'''Kill object''' - Kills a specified object.
     1312
     1313Specify the Object(s) or Group(s)
     1314
     1315'''Kill objects in area''' - Kills the objects in the selected area.
     1316
     1317Specify the Object(s) or Group(s) (leave blank to kill any objects in the area)
     1318Specify the Area(s) or Territory(s) to kill the units in.
     1319
     1320'''Lock all gates''' - Locks all gates belonging to that player. Specify the effect as either on (to lock) or off (to unlock).
     1321
     1322Specify the player
     1323Specify if they are Locked or Unlocked.
     1324
     1325'''Lock gate '''- Locks a specified gate. Specify as either on (to lock) or off (to unlock).
     1326
     1327Specify the Gate(s)
     1328Specify if they are Locked or Unlocked.
     1329
     1330'''Log''' - Specify a log name and a log value (number) which the game will write and save. Call on this log later on in the scenario or in future scenarios. This will allow the game to "remember" what you did by making a note of it in a log. All Logs will be stored in the /scenarios/workspaces/logs/<scenario name> folder
     1331
     1332Type in the Log�s name (default names are Log1, Log2, Log3 etc)
     1333Specify the log�s value.
     1334
     1335'''Log Change''' - Change a log by adding or removing a number value.
     1336
     1337Specify the Log�s name
     1338Specify the Modifier (Add, Subtract)
     1339Specify the Value (the value to add or subtract)
     1340
     1341'''Modify Object''' - This is where all kinds of unit stats can be modified (range, attack, speed, all of those).
     1342
     1343Specify the Object(s) or Group(s)
     1344Specify the Stat (all unit stats go here, speed, attack, armor, hitpoints, everything)
     1345Specify the Modifier (Add, Subtract)
     1346Specify the Value
     1347
     1348'''Modify Unit Ability''' - Changes what the unit can and can't do, i.e. gather resources, build, move on water etc.
     1349
     1350Specify the Object(s) or Group(s)
     1351Specify the Ability (all unit Abilities in the game go here)
     1352Specify the Modifier (Add or Subtract the Ability)
     1353
     1354'''Modify Object Icon''' - Change the Object's icon.
     1355
     1356Specify the Object(s) or Group(s)
     1357Specify the new Icon (choose it from a list, or if we can�t do that, then manually specify where it�s located from the texture folder)
     1358
     1359'''Modify Object Name''' - Change an Object's name.
     1360
     1361Specify the Object(s) or Group(s)
     1362Specify the new Name
     1363
     1364'''Modify Resource value''' - Effect which can change an object's values, such as the amount of food on a deer, the amount of wood on a tree. It would be interesting to have this be applyable to normal units, so when you kill a unit you get the resources it has in it.
     1365
     1366Specify the Object(s) or Group(s)
     1367Specify the Resource (Food, Wood, Ore, Stone)
     1368Specify the Modifier (add, subtract)
     1369Specify the Value
     1370Specify the Gather Rate
     1371
     1372 * Note that units can only have one resource value, or else the trigger won�t work (I�m assuming?)
     1373
     1374'''Move Object in area '''- Effect where you can select the area from which to move units to a point.
     1375
     1376Specify the Source Area(s) or Territory(s)
     1377Specify the Target Area(s) or Territory(s)
     1378Specify the Object(s) or Group(s) to move.
     1379
     1380'''Music file''' - Plays a music file.
     1381Specify the Music track
     1382Specify the fade in duration.
     1383 
     1384'''Music play''' - Plays music (stops any currently playing music and plays the specified music).
     1385
     1386Specify On or Off
     1387Specify the Fade-in Duration.
     1388
     1389'''Music stop '''- Stops music. Specify a fade timer.
     1390
     1391Specify On or Off
     1392Specify the Fade duration
     1393
     1394'''Object Actor '''- Loads/replaces a Unit�s Actor file. The idea behind this is to replace the props for a unit or change it�s idle animation, etc.
     1395
     1396Specify the Object(s)
     1397Specify the new Actor File to load. (select it from the actors folder)
     1398 
     1399'''Object Animation''' - Specify which animation to change (I.e. change the idle animation to___. The moving animation to___). Check the override all animations to have that animation be used for all animations. Check the Back to Default box to restore default animations.
     1400
     1401Specify the Object(s) or Group(s)
     1402Specify the Source Animation (the animation to be replaced)
     1403Specify the New Animation (the animation that will replace the source)
     1404<checkbox> override all, on or off.
     1405
     1406
     1407'''Object Change Type '''- Changes the unit type. For example, you can change a hoplite to a spearman, a rock to a tree etc. The characteristics from the source object are applied to the target object, though it�s appearance is the same.
     1408
     1409Specify the Source Object(s) or Group(s)
     1410Specify the Target Object(s) or Group(s)
     1411
     1412'''Object Create '''- Creates a certain object at a specific place.
     1413
     1414Specify the Area(s) or Territory(s)
     1415Specify the Object(s) to create.
     1416
     1417'''Object Damage'''- Deal damage to a certain object.
     1418
     1419Specify the Object(s) or Group(s)
     1420Specify the Damage Amount (Value to be subtracted from their HP)
     1421
     1422'''Object Damage in Area''' - Deal a certain amount of damage to a type of object or to all objects in an area.. Can be player-specific or to all.
     1423
     1424Specify the Area(s) or Territory(s)
     1425Specify the Object(s) or Group(s)
     1426Specify the Damage Amount (Value to be subtracted from their HP)
     1427 
     1428'''Object Freeze '''- Freezes a unit exactly how it is and stops any idle animations on it. Set if the unit is functional (can be attacked, healed, etc) while it is frozen.
     1429
     1430Specify On or Off
     1431Specify the Object(s) or Group(s)
     1432<checkbox> if functional or not (can be attacked, healed, etc while it�s frozen)
     1433
     1434
     1435'''Object Heading''' - Makes designated units face a certain direction (in degrees).
     1436
     1437Specify the Object(s) or Group(s)
     1438Specify the Heading (in degrees)
     1439
     1440'''Object In Area Move '''- All units in the given area will be moved to the target area.
     1441
     1442Specify the Source Area(s) or Territory(s)
     1443Specify the Target Area(s) or territory(s)
     1444Specify the Object(s) or Group(s)
     1445
     1446'''Object Scale '''- You can make units grow or shrink for a set time and size. Specify the time for it to fade to scale, and specify the X, Y, and Z scale of the object. Check the option "fade" to have the unit smoothly scale to the specified scale (I.E. visually grows).
     1447
     1448Specify the Object(s) or Group(s)
     1449Specify the Scale Modifier (grow, shrink)
     1450<checkbox>X, Y, Z axis, check the checkboxes to turn the scaling on for those dimensions.
     1451Specify the scale value (where 1.0 = original scale)
     1452Fade Duration, the time it will take for the object to fade from it�s original scale to the specified scale.
     1453
     1454'''Object Stop '''- Makes the Object stop and be idle.
     1455
     1456Specify the Object(s) or Group(s)
     1457
     1458'''Object Task''' - Specify a target area or Object. This has the same function as right clicking to assign a task. If an Object is tasked on a relic, it'll pick up the relic (if it's function is allowed), if it's tasked on an enemy unit it'll attack the unit, etc).
     1459
     1460Specify the Object(s) or Group(s)
     1461OR Specify the Area(s) or Territory(s) to task objects in
     1462Specify the Target Object(s) or Group(s)
     1463OR Specify the Target Area(s) or Territory(s)
     1464
     1465'''Patrol''' - Causes a certain unit or units to patrol from a set path. (ctrl+click to create patrol points, just like in gameplay).
     1466
     1467Specify the Object(s) or Group(s)
     1468
     1469'''Pause game '''- Pauses the game.
     1470
     1471Specify On or Off
     1472
     1473'''Pause in objective window '''- Pauses the game when the objectives are viewed. (effect defines if active or not).
     1474
     1475Specify On or Off
     1476 
     1477'''Place foundation''' - Places a foundation of a certain building.
     1478
     1479Specify the Object foundation to place. The unit will only be placed if it has a foundation.
     1480Specify Foundation HP (the amount it�s been built, for example, if you�re placing a foundation for a house and it�s foundation HP is 30, then the foundation will be placed with 30/XXX HP already built)
     1481
     1482'''Play Dialogue''' - Plays a dialogue during a cinematic mode.
     1483
     1484Specify Dialogue Length (time it stays on screen)
     1485Specify an Icon (the icon that shows up for whatever unit is talking)
     1486Specify the Dialogue (type in the dialogue)
     1487
     1488NOTE: The Dialogue model for our game will be based on that of Empire�s
     1489
     1490'''Play Dialogue Choice '''- Presents the player with a Question and (up to) 4 answer choices. Select an answer choice and tell it what trigger to fire if it is selected.
     1491
     1492Specify Dialogue Length (time it stays on screen)
     1493Specify an Icon (the icon that shows up for whatever unit is talking)
     1494Specify the Dialogue (type in the dialogue)
     1495Specify Choice A, B, C, or D (checkbox for on or off)
     1496Specify the Target Trigger for each choice (the trigger that will be fired if that choice is selected)
     1497
     1498'''Play RPG Dialogue '''- Specify the object talking, type in what the object says, specify !FlashUnit (Flash or Highlight the unit talking) Specify Control (If the unit talking is controllable or not) Specify text speed (the speed at which text "appears" as the unit is talking). When the object "talks" the text will appear above the unit in a semi-transparent
     1499shaded box, The box moves along with the unit, if the unit is moving. RPG lovers will forever love us for including this trigger. ;-)
     1500
     1501Specify the Object talking
     1502<checkbox>Flash or Highlight
     1503<checkbox> Controllable or not
     1504Specify the Text Speed (through a scroller with settings of Slow, Medium, and Fast)
     1505Specify the dialogue (type in the dialogue for the unit to say)
     1506Specify the Dialogue Length (how long the dialogue box stays on screen)
     1507 
     1508'''Play sound''' - Plays a specified sound from the /sounds folder.
     1509
     1510Choose the Sound to be played
     1511
     1512'''Player destroy all buildings '''- The selected player's buildings all get demolished.
     1513
     1514Specify the Player(s)
     1515
     1516'''Player destroy all units '''- The player's units all die.
     1517
     1518Specify the Player(s)
     1519
     1520'''Player LOS change''' - Allows a player to see another player's line of sight. You can also not allow them to view it.
     1521
     1522Specify the Source Player(s)
     1523Specify the Target Player(s)
     1524Specify the Modifier (LOS enabled, Disabled)
     1525
     1526'''Player reset black map''' - Resets the black map (unexplored area) over the area or territory on the map for the specified player.
     1527
     1528Specify the Area(s) or Territory(s)
     1529
     1530'''Player reset black map all''' - Resets all of the explored map for the player into unexplored.
     1531
     1532
     1533
     1534'''Player set active '''- Sets a player�s AI to be active after being defeated. Useful for making a defeated player appear to be still playing.
     1535
     1536Specify the Player(s) to be active.
     1537(Active means that their AI still works after they have been defeated, rather than have all their units stand around doing nothing and looking dumb, which is unrealistic)
     1538
     1539'''Play next music track '''- Plays the next music file in the Playlist
     1540
     1541
     1542'''Rate construction''' - Sets the rate of construction. So you can make building be built slower, or faster.
     1543
     1544Specify the Object(s) or Group(s)
     1545Specify the Construction rate (where 1.0 = default)
     1546
     1547'''Rate research''' - Sets the tech research rates. So you can make them be researched slower or faster.
     1548
     1549Specify the Tech
     1550Specify the Research Rate (where 1.0 = default)
     1551
     1552'''Rate training''' - Sets the unit training rate.
     1553
     1554Specify the Object(s)
     1555Specify the Research Rate (where 1.0 = default)
     1556
     1557'''Rates normal''' - Sets all of the rates back to normal.
     1558
     1559
     1560'''Record Resources''' -  Effect that records a player�s resources into a file which can then be loaded into another scenario. Used to transfer Resources amounts between scenarios.
     1561
     1562Specify the Record filename (the name of the file that�ll have the recorded data)
     1563
     1564'''Record Resources  Load''' � Loads recorded resources data.
     1565
     1566Specify the Record filename to load.
     1567
     1568'''Record Unit Stats''' � Specify a unit�s stats to record for use in another scenario
     1569
     1570Specify the Record Filename
     1571Specify The Unit(s) or Group(s) whose data to record
     1572
     1573'''Record Unit Stats Load''' � Loads recorded stats for units. Used to transfer unit stats into another scenario
     1574
     1575'''Specify the Record Filename to load'''
     1576Specify The Unit(s) or Group(s) to load the data on. Will only work if the unit is the same as in the previous scenario.
     1577 
     1578'''Remove object''' - Removes a certain object from the map. (doesn�t kill it, it just disappears)
     1579
     1580Specify the Object(s) or Group(s)
     1581
     1582
     1583'''Remove objects in area''' - Removes all objects from a certain area. Can be player specific.
     1584
     1585Specify the Area(s) or Territory(s)
     1586Specify the Object(s) or Group(s)
     1587 
     1588'''Render sky''' - Renders the type of sky shown during ground-view cinematics or camera angles.
     1589
     1590'''Render Weather '''� Specify a Weather Set (which is made in the Environment Editor) to apply on the map at a specified area. This is used to render weather effects like snow, rain, fog, etc on the map.
     1591
     1592Specify the  Area(s) or Territory(s)
     1593Specify the Weather Set to use.
     1594
     1595'''Reveal map''' - Reveals the whole map.
     1596
     1597<checkbox> Unexplored on of off
     1598<checkbox>Fog of War on or off
     1599
     1600'''Send chat '''- Effect that sends a chat. Can be player-specific.
     1601
     1602Specify Chat (type in what will appear in the chat)
     1603
     1604'''Send choice chat''' - Asks the player a question, the player types an answer
     1605
     1606Specify the Chat Question (the question that the player will ask)
     1607Specify Target Player (to whom the question is being asked to )
     1608Specify answer(s) (The chat that the target player enters as an answer.)
     1609Specify Trigger(s) (specify a trigger that will be fired for each answer)
     1610
     1611'''Set playlist''' - Loads a playlist from the playlist editor. Specify a fade length for the current audio (playlist or not) to fade out and the new playlist in.
     1612
     1613Specify the Playlist t play
     1614Specify the Fade Duration.
     1615
     1616'''Set lighting''' - Sets the lighting for the map. Do so by choosing a pre-made lighting file.
     1617
     1618Specify the Lighting Set (made in the Environment Editor)
     1619Specify the Fade duration
     1620
     1621'''Set Objective''' - Adds a new objective to the objectives menu. Objectives are made in the Objective Editor. Specify an Objective and a Mission (Missions are sub-objectives in an objective)
     1622
     1623Specify Objective ID (Objective, 1, 2 , 3 etc)
     1624Specify Mission ID (mission 1, 2, 3 etc)
     1625
     1626'''Set Hint''' - Works the same as Set Objective, but with Hints.
     1627
     1628Specify Hint ID (Hint 1, 2, 3 ,etc)
     1629
     1630'''Set player defeated''' - Defeats the specified player.
     1631
     1632
     1633'''Set player won''' - The specified player wins.
     1634
     1635
     1636'''Set Unit Outlines''' - Sets unit outlines (that show when they're behind an object) on/off. You'll want to use this trigger for cinematics.
     1637
     1638Specify On or Off
     1639
     1640'''Scramble''' - Units would be tasked in random directions (with a definable radius) and continue moving around in those directions - good for big city scenarios to make things look livened up more.
     1641
     1642Specify Object(s) or Group(s)
     1643Specify Area(s) or Territory(s)
     1644Specify Scramble on or off
     1645
     1646
     1647'''Shake camera''' - Shakes the camera.
     1648
     1649Specify Durration
     1650Specify Strength (how hard the camera shakes)
     1651   
     1652'''Tech Status''' - This effect sets the status for our technologies in-game. Pick a technology from the list and set its status as either Researching (is currently being researched � specify a percent next to the box that shows up), Active (tech has been researched and is active in the game) Inactive (Not yet researched) Disabled (not there, disabled) or Enabled (enables disabled techs, this includes the ones disabled through the Civilisation Editor).
     1653
     1654Specify tech(s)
     1655Specify status (researching <specify percent complete>, active, inactive, disabled, or enabled.
     1656
     1657'''Teleport units''' - Instantly teleports units from one spot to another.
     1658
     1659Specify Object(s) or Group(s)
     1660Specify Target Area or Territory
     1661   
     1662'''Tribute resources''' - Tributes a specified resource from one player to another. Can do multiple resources per effect, thus eliminating the need for a trigger per resource.
     1663
     1664Specify Source Player
     1665Specify Resource(s)
     1666Specify Amount(s)
     1667 
     1668'''Unblock all sounds''' - Unblocks all of the sounds (if you blocked them). 
     1669
     1670
     1671'''Unload''' - Performs an unloading or ungarrisoning of units from an object.
     1672
     1673Specify Unit(s) to unload from.
     1674
     1675'''Unit Build''' � Tells a unit to build a building.
     1676
     1677Specify Unit(s) or Group(s)
     1678Specify what building to build
     1679Specify the Target point (to build the building at).
     1680 
     1681'''Unit work''' - Makes units go and work at the nearest work souce (mine gold, pray at a temple, trade, etc).
     1682
     1683Specify the Unit(s) or Group(s)
     1684
     1685'''User controls''' - Allows you to turn on or off user controls. When off, the player can't do anything. When on, they can do anything as normal.
     1686
     1687Specify on or off
     1688
     1689'''Win/loss message''' - Sets the winning and losing messages. (that appear when the Victory, or You have been Defeated message shows up)
     1690
     1691Specify Win message
     1692Specify Loss message
     1693 
     1694'''You lose''' � You lose.
     1695'''You win''' - You win.
     1696
     1697
     1698<font color=blue>That's quite a list indeed. If you're clueless as to how to organise an effect or condition layout, you can request a concept from Bobby aka !CheeZy. Be nice though, since it takes anywhere from 15 minutes to 6 hours to create the concepts you see in this document.</font>
     1699
     1700= ENVIRONMENT EDITOR =
     1701
     1702This section sets up the environment and weather settings for the map, such as weather effects, seasons, and lighting.
     1703
     1704== Lighting ==
     1705
     1706The user will be able to set the lighting values by providing RGB colour values for global (sun) light, and set the angle and inclination of the sun. Additionally the user can save these settings to use them later on, or select pre-configured settings from a drop down list.
     1707
     1708== Weather ==
     1709
     1710Weather effects are controlled from this section.
     1711
     1712From a drop down list, choose which kinds of weather effects you want. There may be up to 3 Weather effects going on at the same time (due to performance concerns? We could change the number later, or not have a limit at all).
     1713
     1714See the '''<u>''Weather'''</u>'' section of the DD for descriptions of the various weather effects.
     1715
     1716=== Rain ===
     1717
     1718In the Editor, specify the density of rain (in which areas it will appear). At 50%, rain will only appear over half of the map (the areas are generated randomly). 100% will rain over the entire map.
     1719
     1720You can also specify the amount of rain, between 1 and 45% - which shows what percentange of the screen will be covered in rain sprites.
     1721
     1722The scale of the rain drops sprites can be adjusted, along with their velocity (how fast the rain drops will fall down).
     1723
     1724Also you can specify a contrast level for the game's lighting to fade to during rainfall. This is optional.
     1725
     1726=== Snow ===
     1727
     1728The user can choose to enable decals or not from the editor when he's setting up the environment (0%), or choose several
     1729
     1730levels of decals: 25%, 50%, 75%, and 100%. At 25% and above, buildings and terrain will get snow decals. At 50% and above,
     1731
     1732the atmosphere will get slightly "foggy". When the terrain decals are at 75%, the building and tree and other unit textures will get snow decals too.
     1733
     1734In the Editor, the user can also adjust the velocity, scale, density, and amount of snow, and specify the fog level and colour.
     1735
     1736=== Fog ===
     1737
     1738In the Editor, you can specify the amount of fog (how thick it is), the colour of fog, its density, and if you want it to create fog objects or not.
     1739
     1740=== Storm ===
     1741
     1742In the Editor, specify the settings similar to those for Rain, plus the density of lightning and thunder claps, and a value for how long the intervals are for lightning and thunder.
     1743
     1744== Seasons ==
     1745
     1746Specify the season � Spring, Summer, Autumn, or Winter. The default is Spring.
     1747
     1748Mainly the season determines which textures to use for objects. For example if it's Winter, trees will use their "snow" texture versions. For more information on Seasons, see the '''<u>''Seasons'''</u>'' Design Document.
     1749
     1750In the Editor, simply check if you want to enable seasons/season effects, and then select the season for your map.
     1751
     1752== Sky ==
     1753
     1754Specify the texture for the skybox. A decent selection should be available such as sunset, night, sunny day, cloudy, and stormy.
     1755
     1756= PLAYER EDITOR =
     1757
     1758This tab allows the player to specify the attributes of each player on the map, such as their starting conditions.
     1759
     1760Use the Current Player drop-down list to select the currently selected Player (eg "Player 1") from the available player names (which includes the Gaia player).
     1761
     1762The following attributes can then be specified for this player:
     1763
     1764 * '''Player Name:''' Allows the player to specify a name for this player, which might be more appropriate to the scenario.
     1765
     1766If left blank, the game will automatically pick a name for the player civilisation when the game loads.
     1767
     1768 * '''Player Colour:''' Pick a colour for the player from the list, or specify a custom colour using a popup Colour Picker.
     1769
     1770 * '''Player Type:''' Specify the possible controllers of this player (a human player or computer player). Options are "Either", "Computer", or "Human". A scenario could conceivably be set to use all Computer players without human intervention, and therefore function autonomously, to test the AI or demonstrate the game.
     1771
     1772 * '''AI Personality:''' If the Player Type is not Human, this option is available, and allows the player to specify the type of AI to be used, such as Aggressive, Defensive, Standard, Passive, or Idle. AIs that are custom-scripted by the player will also be available from this list.
     1773
     1774 * '''Civilisation:''' Select the player's civilisation (eg: Persians) from the list. Note that if custom civilisations are added to the game, they will also need to be available from this list.
     1775
     1776 * '''Starting Civ Centre Phase:'''  Choose from Village, Town or City for this player.
     1777
     1778 * '''Set Resources:''' Editable text boxes containing the number of units of Food, Wood, Stone and Ore the player will have in his Resource Pool when the game begins, as well as his population cap.
     1779
     1780 * '''Set View:''' Set this player's starting view (default is at the player's Civ Centre or comparable building, and if none present, on his units).
     1781
     1782 * '''Starting Units:''' Specify the number of starting units the player has when he first begins the game. A value of 0 means he begins with no starting units.
     1783
     1784= CIVILISATION EDITOR =
     1785
     1786This tab is used to specify everything that can be researched, built, and trained by the current player.
     1787
     1788A tree of portraits representing the player's technologies, buildings, and units is displayed, similar to the tech tree viewable in-game in AoK and AoM, except it shows *all* civilisations' goodies.
     1789
     1790Click any icon in the tree to enable (coloured) or disable (grey) it. Note that if a tech unlocks another tech, any sub-techs will also be disabled.
     1791
     1792A drop-down list is used to select a preset selection of blocked entries. By default it is set to the Civilisation preset, which means that only the assets for the player's civilisation are enabled. Other presets are things like All (enable everything), None (disable everything), Village, Town, or City, Tech Level 3, and so on. As always, custom presets can be created.
     1793
     1794= DIPLOMACY EDITOR =
     1795
     1796The diplomacy tab is used to establish starting alliances between players.
     1797
     1798Select a player, and a table will be generated, showing the other players as columns, and a button beneath each one. Press this button to toggle between Ally or Enemy for the other players.
     1799
     1800= PLAYLIST EDITOR =
     1801
     1802Lists the music files to be played in the background during this scenario, and the sequence in which they will be played.
     1803
     1804Once the end of the playlist is reached, it will loop back to the beginning of the playlist. The playlist can use custom sounds/music.
     1805
     1806By default, a playlist will be generated based on the player's civilisation (Hellenistic tracks for a Hellenistic civilisation, etc).
     1807
     1808The player can specify new music files to add to his selection (either from other culture sets, or custom music files placed in the appropriate folder), adjust the sequence of the playlist, or remove files from the playlist.
     1809
     1810The playlists generated in the playlist editor are sequences which can be controlled by Triggers. So for example you can fade a playlist and start another, or start a different sequence, etc.
     1811
     1812= CINEMATICS EDITOR =
     1813
     1814The Cinematics Editor will create cinematic tracks for use in in-game cinematics. Cinematics tracks, along with Cinematic mode will be controlled through Triggers, similar to AoM's theme.
     1815
     1816The player will use the camera tools to setup a camera track, which is a series of waypoints in which the game's engine moves the "camera" during the specified time and variational values.
     1817
     1818== New Track ==
     1819
     1820This will create a new, and blank camera track.
     1821
     1822To create a waypoint, the player will move the view (current camera) to a position on the map, and click '''Add Waypoint'''
     1823
     1824or '''Update Waypoint'''. Then he will move the camera again to a different view and add another waypoint. Specify a duration and you have a camera track. When the camera track is played the camera will move from Waypoint 1 to Waypoint 2.
     1825
     1826There is no limit to how many waypoints you can have.
     1827
     1828== Track Variations ==
     1829
     1830These values can be set for each waypoint, and they will be evaluated in the Camera's transition between waypoints. We will have the following variations:
     1831
     1832 * '''Amplification -''' The camera transition is exaggerated, making a shaky and jittery transition. Positive values will increase the Amplification, while negative values lower it (dull, slowly responsive transition).
     1833
     1834 * '''Smoothen -''' Smooths the transition, making a smooth cinematic effect. Positive values increase the smoothness, and negative values decrease it (so it goes straight from point A to B rather than doing a nice curved path from A to B.
     1835
     1836 * '''Continuity -''' Continuity determines how long the camera stays in one direction before transitioning to the next. Also if the camera is turning, it will turn for slightly longer. Positive values increase the continuity, and negative values reduce it (the camera turns early).
     1837
     1838 * '''Bias -''' Bias is hard to explain; what it does is "loosen" the transition, so it doesn't follow the exact curvature path.
     1839
     1840 * '''Speed -''' This will determine the starting speed of the transition. If it's a negative value the transition will be slow and then speed up as it approaches point B. If it is high it will be fast and slow down as it approaches point B.
     1841
     1842Use AoM as an example of these, though it doesn't have the same variations as we do.
     1843
     1844= MESSAGE EDITOR =
     1845
     1846This tab allows the designer to write instructions, hints, and scenario description for the current scenario. He can choose one of the sub-sections below and write its text in a large message window. He can use standard HTML tags to control the
     1847
     1848format of the text. Links to texture files or pictures in our texture library, or a custom texture library can also be formatted.
     1849
     1850 * '''Description''': The description for a scenario is displayed when it is selected from the Custom Campaign or Custom Scenario selection screen.
     1851 * '''Instructions:''' Upon playing the scenario, the instructions will appear first. Instructions give a short description of the situation, as well as a short overview of the actions the player has to undertake.
     1852 * '''History:''' The history sections contains the history (real or not) of the scenario's situation.
     1853 * '''Hints:''' These are tips provided by the designer to aid the player.
     1854 * '''Victory:''' This is the text that will appear upon winning the scenario.
     1855 * '''Defeat:''' This is the text that will appear upon losing the scenario.
     1856
     1857 * '''<X> Achievements Tick-Box:''' If ticked, the Achievements (Aftermath) screen is displayed when the scenario ends, displaying statistics about the session. If unticked, this stage is skipped. Ticked by default.
     1858
     1859= CAMPAIGN EDITOR =
     1860
     1861The Campaign Editor consists of two components: the Campaign Sequence Editor (which is used to chain scenarios into campaigns), and the Campaign Screen Editor, which is used to define the Campaign Screen for the selected campaign.
     1862
     1863== Campaign Sequence Editor ==
     1864
     1865Scenarios can either run as stand-alone maps, or be integrated into multi-scenario custom campaigns. The Campaign Sequence Editor is used to string scenarios together into complete campaigns.
     1866
     1867Once created with the Campaign Sequence Editor, these campaigns are then available from the Custom Campaigns section in the shell interface.
     1868
     1869Obviously, if a campaign is created that references scenarios stored in another Workspace, that Workspace must be distributed with it or it will fail to find the file(s) it needs.
     1870
     1871The Campaign Sequence Editor consists of the following panels:
     1872
     1873 * '''Campaigns Panel:''' Lists all campaigns (.cpn) stored in the current Workspace. Select a campaign from this list, and its sequence is displayed in the Campaign Sequence Panel.
     1874
     1875 * '''Campaign Sequence Panel:''' Lists all the scenarios that make up the currently selected campaign. When playing the campaign, scenarios will be played in this sequence.
     1876
     1877 * '''Custom Scenarios Panel:''' The Editor scans the folders where custom scenarios (.scn) can be found (all loose and packed Workspaces in mods/ and scenarios/) and lists them here.
     1878
     1879=== Campaign Sequence Editor Commands ===
     1880
     1881'''To create a new, empty campaign:''' click the '''Create Campaign Button''', and a new entry will be added to the Campaigns Panel. You will be instructed to name the campaign.
     1882
     1883'''To select a campaign:''' Click a campaign entry in the Campaigns Panel to select it. Its sequence will be displayed in the Campaign Sequence Panel.
     1884
     1885'''To add a scenario to a campaign:''' Select the scenario you want to add from the Custom Scenarios Panel by clicking it.
     1886
     1887Select the position in the Campaign Sequence where you want the scenario to be inserted by clicking at that position in the Panel (by default, the cursor moves to the bottom of the list when a scenario is selected). Then click the '''Add
     1888
     1889Scenario''' button to insert its name at this position in the sequence chain.
     1890
     1891Note: If a scenario has been placed in the Campaign Sequence Panel that includes a '''sequence trigger''', the identifier for that trigger is automatically added to the list directly below the added scenario.
     1892
     1893A sequence trigger, when fired in a scenario, tells the game to not move to the next linear position in the Campaign Sequence, but instead skip to the position of the trigger identifier.
     1894
     1895For example, the user has linked a sequence trigger to a wonder building in the scenario. He wants the game to move the player to a different scenario than the next one in the list if the wonder is destroyed.
     1896
     1897The trigger identifier is used to indicate where the campaign will pick up again if the trigger fires.
     1898
     1899So, adjust the sequence trigger entry to a position before the scenario that you want to use as the branch. If the trigger is fired during the scenario, the campaign will continue from this point, allowing for dynamic campaign trees.
     1900
     1901'''To remove a scenario from a campaign:''' Click the entry in the Campaign Sequence Panel that you wish to remove, then click the '''Remove Button'''. ''Note that adding and removing entries does not harm the actual files. The player is simply listing the sequence in which scenarios will be executed.''
     1902
     1903'''To adjust a scenario's position in the Campaign Sequence Panel:''' Click on the entry in the Campaign Sequence Panel, and press the '''Up Button''' to shift it up a row or the '''Down Button''' to shift it down a row.
     1904
     1905== Campaign Screen Editor ==
     1906
     1907The player can use this section to customise the layout of the current custom campaign's start screen. To gain access to these options, select a campaign from the Campaigns Panel, then click the '''Campaign Screen Button''' to open a secondary window with these controls.
     1908
     1909Each campaign has its own screen which displays the list of unlocked scenarios, and a description of each. Description for each scenario is derived from its Scenario Description, defined in the scenario's Message Editor.
     1910
     1911 * '''Menu Style''': Choose a layout for the Campaign menu. Pre-made styles are available, but the user can also use custom styles that he has made or downloaded externally. The style consists of a background image, button textures, window borders, and so on.
     1912 * '''Campaign Description''': Specify a description for the Campaign.
     1913 * '''Story''' (optional): Type dialogue or text that will appear over the main background of the campaign. Dialogue scrolls up automatically until there is none left on the screen.
     1914 * '''Scroll Rate''' (optional): Adjust the slider to specify the rate that text scrolls up the screen (control only appears if Story isn't blank).
     1915 * '''Audio''' (optional): Provide the path to an audio (.ogg) file which will be played during the Campaign Screen (such as background music or narration for the scrolling text).
     1916 * '''Loop''' (optional): Toggle whether the Audio loops indefinitely, or only plays once (control only appears if Audio isn't blank).
     1917
     1918= MOD STATION =
     1919
     1920<font color=blue><insert special mythology related name?></font>
     1921
     1922This is actually an external editor that condenses all Editor and game modifying tools into one section. Additionally it has a lot of features that cannot be used anywhere else in the Editor.
     1923
     1924The Mod Station is a place where we (the developers) will use tools to build the game libaries and setup civ classes, and where the end user modders will use tools to create mods for the game.
     1925
     1926Why is this external? I've decided that it would simply be much easier to work in an OS environment. It means that we don't need to have support for a lot of stuff that is already in an OS. Additionally the Mod Station is in windowed form so that users can hop between programs while working on mods, something essential. Modding within the Editor is restrictive because the environment is solely for designing maps, not updating game data libraries or creating new units.
     1927
     1928The Mod Station will have a separate DD that I'll type up later, and it will be a separate feature from the Editor. It will also use a similar "Workspace" structure as the Editor.
     1929
     1930= HOTKEYS =
     1931
     1932<font color=blue>I'm ''still'' waiting to update this section later on, when we have an actual Editor with hotkey functions to map.</font>