Plot Plugin - 剧情插件
为了让类似《隐形守护者》 这类“视频驱动、选择影响剧情”类型的游戏开发变得更加高效便捷,我基于 cherrdev 的 Node Based Dialog System 改造并开发了一款剧情插件。借助该插件,开发者无需编写代码即可制作选择驱动型游戏。他们只需准备好视频素材,并整理视频之间的顺序与逻辑关系。通过搭建节点并在节点之间连线,即可直观地构建剧情分支结构,从而以更高的效率完成游戏制作。
To make video-based choices matter games like Love Is All Around, As Dusk Falls, and The Invisible Guardian, easier and faster, I made a plot plugin that was adapted from Node Based Dialog System by cherrdev. With this plugin, developers can create a choice-matter game without programming. They only need to create videos and organize the sequence and interrelation of the videos. By building nodes and drawing lines among them, developers can make the game with high efficiency.
Nodes 节点
句段节点:“Sentence” 用来表示游戏中的具体内容节点。由于没有找到更合适的名词,我沿用了原名称。该节点封装了两个核心元素:Name 和 Video Clip。同时,这个 Scriptable Object 还会记录其父节点(parent node)和子节点(child node)。其中,节点 A 作为游戏的起始节点,因此没有父节点。当系统指针运行到该节点时,会自动播放其所绑定的 Video Clip 内容。
Sentence Node: The sentence means the content of the game. I did not find another appropriate noun so its original name was keepen. It encapsulates a Name and Video Clip. This scriptable object also records its parent node and child node. Given that Node A stands as the game’s initial point, it lacks a parent node. Upon the system’s pointer reaching this node, the Video Clip’s content will be automatically played.
回答节点:当系统指针运行到该节点时,会为玩家提供最多四个可选项供其选择,每个选项都可能将剧情引导至不同的分支。该节点包含两个关键列表:Answers List 和 Child Sentence Nodes List,其中 Answers List 用于存储显示在选项按钮上的文本内容,而 Child Sentence Nodes List 用于记录每个选项所对应的后续子节点,即玩家做出选择后将跳转到的剧情节点。通过这两个列表的配合,系统能够实现清晰且易于扩展的分支叙事结构。
Answer Node: As the system’s pointer arrives at this node, it will provide four or fewer options for players to choose from. Each option may lead the plot to a different branch. The system features two key lists: an ‘answers list’ and a ‘child sentence nodes list.’ The answers list stores the text displayed on option buttons, while the child sentence nodes list keeps track of the subsequent child nodes that each option will lead to.
跳转节点:该节点用于在叙事逻辑结构中引入循环机制。当系统指针运行到此节点时,会根据所设置的 Jump Target 名称跳转至指定节点。该节点的主要作用是优化剧情结构,简化逻辑关系,从而使整体故事流程更加清晰、有序。
Jump Node: It is designed to introduce loops within the narrative’s logic structure. When the system’s pointer reaches this node, it redirects to the node specified in the Jump Target by name. The purpose of this node is to streamline the plot logic, ensuring clarity and organization within the story’s flow.
Plot Logic Map 剧情逻辑图