CryENGINE Game Programming with C++,C#,and Lua
上QQ阅读APP看书,第一时间看更新

A tour of the Flowgraph Editor

Flowgraphs are saved on the disk as XML files, but can be parsed and edited by the Flowgraph Editor in order to provide a visual interface to the process of creating game logic.

A tour of the Flowgraph Editor

Components

This section of the Editor contains all the flownodes in your project, organized into neat categories. Let's take a quick look inside this, open up the Misc folder. You should be presented with a set of nodes, assigned to categories:

Components

Terminology

  • Graph: This refers to a context containing a set of nodes linked to each other.
  • Node: This is a visual representation of a class that can receive data and events from its input ports, as well as send data via its output ports. It is connected to other nodes in graphs to create logic.
  • Port: This is a visual representation of a function. Nodes can specify multiple input and output ports, and can then send or receive events from them.

Component categories

You may be missing the node marked as Debug here; CryENGINE assigns categories to nodes as a way of indicating where it's appropriate for them to be used.

  • Release: This node is suitable for use in production
  • Advanced: While this node is suitable for use in production, it may have complex behavior in certain situations
  • Debug: This node should only be used for internal tests
  • Obsolete: This node should not be used, and this node will not be visible in the components list

For example, while working on a level that's intended to be shipped to the public, you might not want to accidentally include any Debug nodes! We can enable or disable the viewing of the first three categories inside the Flowgraph Editor via View | Components:

Component categories

Flowgraph types

Before creating a new flowgraph, we'll want to know of what type our purpose is most relevant to. Different flowgraph types allow for specialization, for example, to create UI graphs that handle the layout and drawing of the player's user interface.

Flowgraph types

AI Actions

These are flowgraphs you can create to wrap up AI behaviors into convenient nodes that can be reused elsewhere. We'll address these later when you learn about Artificial Intelligence (AI).

UI Actions

CryENGINE allows you to script your user interfaces and in-game heads-up-displays using flowgraphs, via a system of UI events. We'll discuss these in Chapter 7, The User Interface.

Material FX

CryENGINE supports convenient designer-editable flowgraphs to control how material events are handled, for example, spawning a dirt particle and obscuring the player's screen with a layer of dust when the ground is shot nearby.

FG Modules

You can package up flowgraphs into handy modules for reuse across different situations. We'll describe these in depth later.

Entities

This is where we'll spend most of our time in this chapter! 90 percent of the time,a flowgraph is assigned to an entity, otherwise known as the graph entity, and this logic takes place in the game world.

Prefabs

CryENGINE supports prefabs, a collection of entities packaged into a single convenient file for reuse. Any entity flowgraphs inside a prefab will be displayed in this folder.