VS Editor

Overview

The VS (Visual Script) Editor allows you to script complex gameplay features and AI behaviors without writing a single line of code.

How to Launch the VS Editor

  1. Open the Scene mode. 
  2. Find and click the button "Script" in Toolbar → Windows.  

The Underlying Idea

The main advantages of visual scripts include their simplicity and clear visual feedback to the user. Their logic is founded upon so-called events which are produced in the scripts by specific triggers, and further processing of these events.

Simplicity

VS structure amounts to a simple sequence: any logic starts from an event (T – trigger), the event passes through some conditions (L – logic), whereupon something happens (A – action) to some object (R – reference). Thus, almost every script contain the following sequence: T-L-A-R. For example, trigger (the player presses a button) – logic (once) – action (lamp illuminates) – reference (desk lamp_0000).

When working with a VS, a few simple rules should be observed.

Do not over-encumber the scripts by entering too many events into a single script and interweaving them. The VS Scripts sacrifice much of their flexibility when they contain too many VS blocks. To create many smaller scripts each of which handles a specific task (such as missions carried out by the player on a level, player navigation, random events, etc.) is a much better strategy. If a script is shaping up to be too long and complex (for example, a script controlling an NPC sidekick who follows the player through a level), try splitting it into a few smaller sections and implementing them as separate scripts. This would help you a lot with debugging. Also, by keeping the script visually simple, you can make sure that you and your colleagues will have an easy time figuring it out later.

Naming conventions and commentary

When working with references, please strive to give them names that make sense. It is much easier to understand a script which makes guard_airlock_1 follow a path named guard_herm_1_cover_path rather than tst23 follow a path named go_forward. You can also leave comments in the VS blocks which may help you dive back into them again at a later date to change something, if need be.

Simple structure

Once again, avoid over-encumbering the VS scripts with loosely related logic. Try to split your level into a chain of more or less interconnected blocks, each represented by a single or multiple VS scripts. This approach will make it much easier to work with the midpoint and the ending of the level – you will be able to switch unnecessary parts of gameplay off, if need be, and activate the ones you need.

Visual feedback

A remarkable advantage of VS is that they provide a way of seeing a huge section of logic at a glance. That’s why keeping to a simple script layout (up down or left right) is advisable. Please refrain from building circular structures or other overly complicated patterns. Don’t forget to provide visual underlays for certain logical parts of the script.

VS Structure

VS mechanics boil down to transferring a signal (event) through the VS blocks, from trigger to reference. All VS blocks have their own sets of inputs and outputs for generating, transmitting, and receiving events. The inputs and outputs will be described in the section dedicated to describing the VS blocks.

Visual packages

The VS scripts consist of four main types of visual blocks:

  • Trigger
  • Logic
  • Action
  • Reference.

Controlling the VS

To create a script, select an object (such as the visual script editor object or any other type, if you intend to place a script directly inside the object controlled by the said script), and press Ctrl + Enter.

To add a VS block, right-click on an empty VS field. Find the desired block in the categories of the appearing pop-up menu and click on it, adding it to the scene. 

When creating or editing a script (you can open a script for editing by pressing Ctrl + Enter on the selected object), the menu layout is as follows:

  • To the left – the field for adding script blocks.
  • To the upper right – the selected VS block's properties.
  • To the lower right ­– the list of all scripts on the current level.
  • Object List – the list of all objects on the current level (can be moved to the VS field by using drag & drop).
  • Block List – the list of all VS blocks in the current script, by category. You can quickly open any block by double-clicking it in the Block List.


On this page:

 






Exodus SDK © 2005-2023, 4A Games Limited. Developed by 4A Games®.
4A Games® is a registered trademark, and 4A Games Limited, Exodus SDK and their respective logos are trademarks of 4A Games Limited.
Published by Deep Silver. Deep Silver is a division of PLAION GmbH, Austria. Deep Silver and Plaion are registered trademarks of PLAION GmbH.
Metro Exodus is inspired by the internationally best-selling novels METRO 2033 and METRO 2034 by Dmitry Glukhovsky.
All other trademarks, logos and copyrights are property of their respective owners. All rights reserved.
By using this site, downloading or using the Exodus SDK or related content, you are agreeing to be bound by the terms of the End User License Agreement.


EULA