用自己的规则创建您的世界,并从中产生一本小说。

为什么要使用新型发电机?
我找不到任何相关的小说或故事发生器。 实际上,我发现了两个有趣的项目:一个允许生成福尔摩斯这类的小说,效果很好,但仅适用于此类故事。 (https://github.com/myflyinglemur/NaNoGenMo2016)和另一个:https://github.com/Zarkonnen/SpaceGen,一种纸浆SF宇宙生成器。 这很有趣,但还不足以满足我的需求。 因此,从几年前开始,我就开始思考制作小说的原理。 简而言之:我需要一个世界和一个算法来处理故事。
原理:
这是新颖生成器如何工作的主要原理:

图形代表了故事的世界,小说是通过执行路径生成的,路径是随机选择的,但必须遵守用户设置的条件。 在某些方面,类似于专家系统,通过在验证条件时执行规则。
创造世界的工具
- 首先,用户通过制作有向图来创建世界。 每个节点可以是一个叙述事件。

- 用户定义节点之间的可兼容链接,以建立一个连贯的世界。 如果图形包含循环,则将是一个无限的故事。
- 在每个节点上,您可以修改全局内存,并为该全局内存设置一些条件。 例如:在一个节点中,您可以设置:内存添加:Money * 10在另一个节点中,您可以设置条件(Money> 5)以执行该节点。
世界故事可视化
如果您的世界随之而来,则可以导出到CmapTools,这是一个有用的免费软件。


语言方面
如果您的故事情有独钟,那么某些节点将是重复的。 因此,要描述同一件事,您需要改变词汇量。 “太阳升起/新的一天开始了”使用“ /”,程序将随机选择其中之一。 这将比使用两个节点更方便。 例如,您可以定义变量以模拟代词的使用。 您还可以添加章节关键字,该关键字将在程序进入的每个节点处自动增加章节。

新生代
建立世界后,您可以创作小说。 您首先选择一个起点,然后为您的小说设置最大长度:

然后生成一个故事,这意味着程序将选择您所在世界的路径。 您可以重置此路径以创建一个全新的故事,或者通过设置更长的长度来继续上一个故事。

目标,进度
主要目标是要有一个可以正常运行的可移植应用程序(Win / Mac / Linux),该应用程序可以执行先前详述的功能。 我想使一种新颖的生成器使用起来尽可能简单。 现在,我已经完成了第一个版本。 这是一个Java应用程序,因为我对这种语言很满意并且可以移植。 这个较早的版本可能不是非常用户友好,所以我正在研究它。 但是我可以使用它来创建世界故事,并使用CmapTools对其进行可视化并生成短篇小说。 因此,主要目标几乎已经提出。 但我还计划制作一个android版本,然后再制作一个Web门户版本。
它行得通吗?
我不是专业作家,我用法语设计我的世界故事,因此生成的小说都是法语。 我取得了一些好的结果,我生成了无限的故事,因为我在故事的图表中加入了一个循环。 您可以扩大自己的世界,并从最后一站继续创作小说。 您可以保存故事的进度。 您无需在每次发展世界时都重新启动新故事。 我认为这是能够可视化您的世界的最佳功能之一。 全局了解您的世界故事也很有用,因为它很容易迷路。 几个月前,我开始设计一个世界,然后停下来忘记了一切,然后我想继续下去。 通过查看世界图,它大有帮助。 您还可以看到没有链接,循环的节点……因此,总而言之,该原理似乎行得通。 但这不是魔术,而是一种工具,一个框架,可以从世界上产生独特的小说。

标准化
我提出了一种新颖的XML词汇表。 在XML文件中,您将了解世界的故事以及当前故事的进展。
