绘制科技树图

软件推荐 免费 图表
2021-10-28 23:15:19

许多策略游戏都涉及研究技术,并且每种技术都有一套先决条件(起始技术除外)。这些可以线性排列(技术级别)或树(技术树)形式。

我正在寻找一个模组的技术树图,无论是来自虚构文明建设游戏的技术还是学位课程的课程列表。

如果有比“科技树”更好的术语,我完全赞成。我对类似的东西的搜索基本上导致了对文明 IV 或文明 V 的实际修改,以便让游戏本身生成科技树,但虽然这可能有效,但它似乎与我的处理方式完全相反。每次进行更改时,游戏启动都需要很长时间,而且查看它的唯一方法是打开游戏或拼接多个屏幕截图。当我修改游戏时,我通常有一个游戏计划,但在这种情况下,你似乎是在使用游戏来制定游戏计划?!

基本上,树上的每个节点都可以有任意数量的先决条件和并存条件。

我可以在 Visio 中将其映射出来,但是我必须手动安排所有内容。我希望它迭代节点的需求并自动链接它。

我可以使用 Visio、Photoshop、Illustrator 等工具,但感觉这些工具只会涉及大量手动工作,这些工作可能会自动化,并且会出现错误和以后的更改。

我想我自己可以用大约三个数据库表和一些 HTML/CSS 来完成这项工作,但我没有时间去研究另一个编程项目。在我朝那个方向冒险之前,如果知道是否有工具可以做这种事情,那就太好了。

要求:

  • 几乎可以在任何环境上运行,我个人有 Windows 8.1 x64,但我有不同配置的虚拟机可用。
  • 需要能够输出一些健全的格式,例如带有图像的 HTML、SVG 图像或 PDF。我不希望它输出为某种格式,例如 XML,如果不打开程序,我将无法展示给某人或查看。
  • 需要能够以本机格式(无论可能是什么格式)保存它,这样我就可以在不重建整个树的情况下对其进行编辑。
  • 需要有一组“节点”,每个节点都有一组先决条件

很高兴拥有:

  • 一些用于布局和配置节点的图形界面 (GUI)。我不想打入 XML 文件
  • 向每个节点添加描述性副本和图像(不仅仅是标题)

或者,如果在 Visio 中有一个很好的方法,我愿意接受建议。

3个回答

可以使用Graphviz自动排列树:

  • 免费和开源(Eclipse 公共许可证)
  • Windows/Linux/Mac
  • 许多输出格式,包括 SVG 和 PDF

例子: 在此处输入图像描述

由以下方式生成:

/* courtesy Ian Darwin and Geoff Collyer, Softquad Inc. */
digraph unix {
    size="6,6";
    node [color=lightblue2, style=filled];
    "5th Edition" -> "6th Edition";
    "5th Edition" -> "PWB 1.0";
    "6th Edition" -> "LSX";
    "6th Edition" -> "1 BSD";
    "6th Edition" -> "Mini Unix";
    "6th Edition" -> "Wollongong";
    "6th Edition" -> "Interdata";
    "Interdata" -> "Unix/TS 3.0";
    "Interdata" -> "PWB 2.0";
    "Interdata" -> "7th Edition";
    "7th Edition" -> "8th Edition";
    "7th Edition" -> "32V";
    "7th Edition" -> "V7M";
    "7th Edition" -> "Ultrix-11";
    "7th Edition" -> "Xenix";
    "7th Edition" -> "UniPlus+";
    "V7M" -> "Ultrix-11";
    "8th Edition" -> "9th Edition";
    "1 BSD" -> "2 BSD";
    "2 BSD" -> "2.8 BSD";
    "2.8 BSD" -> "Ultrix-11";
    "2.8 BSD" -> "2.9 BSD";
    "32V" -> "3 BSD";
    "3 BSD" -> "4 BSD";
    "4 BSD" -> "4.1 BSD";
    "4.1 BSD" -> "4.2 BSD";
    "4.1 BSD" -> "2.8 BSD";
    "4.1 BSD" -> "8th Edition";
    "4.2 BSD" -> "4.3 BSD";
    "4.2 BSD" -> "Ultrix-32";
    "PWB 1.0" -> "PWB 1.2";
    "PWB 1.0" -> "USG 1.0";
    "PWB 1.2" -> "PWB 2.0";
    "USG 1.0" -> "CB Unix 1";
    "USG 1.0" -> "USG 2.0";
    "CB Unix 1" -> "CB Unix 2";
    "CB Unix 2" -> "CB Unix 3";
    "CB Unix 3" -> "Unix/TS++";
    "CB Unix 3" -> "PDP-11 Sys V";
    "USG 2.0" -> "USG 3.0";
    "USG 3.0" -> "Unix/TS 3.0";
    "PWB 2.0" -> "Unix/TS 3.0";
    "Unix/TS 1.0" -> "Unix/TS 3.0";
    "Unix/TS 3.0" -> "TS 4.0";
    "Unix/TS++" -> "TS 4.0";
    "CB Unix 3" -> "TS 4.0";
    "TS 4.0" -> "System V.0";
    "System V.0" -> "System V.2";
    "System V.2" -> "System V.3";
}

您可以对节点进行分组

在此处输入图像描述

digraph G {

    subgraph cluster_0 {
        style=filled;
        color=lightgrey;
        node [style=filled,color=white];
        a0 -> a1 -> a2 -> a3;
        label = "process #1";
    }

    subgraph cluster_1 {
        node [style=filled];
        b0 -> b1 -> b2 -> b3;
        label = "process #2";
        color=blue
    }
    start -> a0;
    start -> b0;
    a1 -> b3;
    b2 -> a3;
    a3 -> a0;
    a3 -> end;
    b3 -> end;

    start [shape=Mdiamond];
    end [shape=Msquare];
}

yEd符合所列要求,功能强大且易于使用。它是免费软件并且跨平台运行(需要 Java)。

看它的特点

这是我用它制作的建筑树:

在此处输入图像描述

FreePlane是一个免费且简单的工具来创建树和思维导图。我用它来集思广益我几乎所有的编程项目。

  • 在 Windows、Mac 或 Linux 上运行
  • 可以导出为多种格式,包括 PDF 和 Latex
  • 以本机格式保存以*.mm供将来编辑
  • 有一个父/子节点系统
  • 提供在 GUI 或脚本中工作的选项
  • 支持图片+描述

以下是开发人员提供的几个示例:

在此处输入图像描述 在此处输入图像描述