ADV/AVG 游戏引擎介绍

  • 吉里吉里: C++,老牌 AVG 游戏引擎,著名的 Fate/stay night 便是用其制作。但是上一个稳定版本已经是十年前,很久没有更新了。
  • Ren’Py: Python,代表作「心跳文学部」(我老婆的 Twitter),开源万岁,并且直到现在更新也很活跃,如果喜欢 Python,是个不错的选择。不过需要预编译,剧本与程序未分离。(定位于浏览器端的话,JS 更有优势。)
  • NScripter: C++,非商业免费,Windows 平台,代表作「寒蝉鸣泣之时」,上一个稳定版本发布于 2015 年。
  • AVG32、RealLive、SiglusEngineVisual Art’s 公司开发,Key 社游戏「CLANNAD」等均用此开发,但很明显这种商业级咱接触不到。
  • BKEngine: C++,面包工坊,非商业免费、跨平台,但是制作工具不跨平台(只有 Windows)。
  • AVG.js:JavaScript,开源,基于 Pixi.js 与 React,Web 端运行。但是作者 Icemic 是个大 🐦,所以已经几年没有更新了。(不过作者也在 BKEngine 的面包工坊。)
  • Librian: Python,开源,跨平台,Galgame | Visual Novel 引擎,作者 还有在做 Vtuber,可惜是个变态。
  • 橙光制作工具:免费易操作,只有 Windows 平台,但是因为 如何看待橙光游戏签约合同中版权永久属于橙光,而作者仅保留署名权?,好感直线下降。
  • Nova:基于Unity、对程序员友好的视觉小说框架,可以做出丰富的演出效果,并且免费开源。

参考链接:

ADV 游戏引擎计划

我们自主研发的文字AVG框架Nova(能叶)现已免费开源发布

BKEngine学习笔记

1.常用全局变量

tf 临时全局变量
f 存档相关全局变量
sf 存档无关全局变量
global.xxx 不属于上面三个类型,不过类似于tf

补充一些TJS中的说明:

以 f. 开头的变量,为游戏变量。该类变量将随着进度存档被保存。这类变量用于和游戏进度相关的数据。

以 sf. 开头的是系统变量。该类变量将在系统存档中被自动保存,在正常且没有改动的情况下将一直保持。这类变量用于与系统设置及游戏全局变量相关的数据。

以 tf. 开头的是全局变量。该类变量不会被保存,一旦程序退出就将丢失,用于临时使用的数据。

以上这三类变量将在第一次使用时被自动声明。不需要单独的声明或者定义。

global 表示“全局”(global)这个对象。在所有的代码段之外声明的变量、类、不属于类的成员的函数等都可以通过这个对象来操作。

2.类继承

.类方法不支持重名

.构造子类时,会强制调用父类的构造方法,不可以手动调用

在创建对象时,推荐使用Create方法来创建对象。

详细例子:

##
class A{
    function Create(a){
        log("A:"+a);
        return this;
    }
}
class B extends A{
    function Create(a,b){
        super.Create(b);
        log("B:"+a+"_"+b)
        return this;
    }
}
var b = B().Create("a","b");
##