Demo: http://msfasr.com/WebGAL_Demo_Page/
https://github.com/MakinoharaShoko/WebGAL/releases/
如果下载速度过慢,请尝试通过蓝奏云网盘下载: https://www.lanzouw.com/iYjJpuu7ueb
现在,你可以直接运行WebGAL-win.exe即可开始调试你的视觉小说。如果遇到杀毒软件拦截或防火墙拦截等情况,请放行以允许该程序运行。
WebGAL理论上可以在任何浏览器上运行,但是由于浏览器的限制跨域访问机制,本地 JavaScript 脚本可能无法在浏览器上运行,因此,你需要在本地建立一个http服务器。你可以选择任何你喜爱的的http服务器,并通过本地http服务器访问index.html来开始游戏。如果你没有本地http服务器,你可以使用Node.js简单地搭建一个。
我在WebGAL发行版的根目录放置了一个app.js作为 Node.js 服务器脚本,在你安装了 Node.js 后,只需要通过以下命令:
npm install express
npm install open
node app.js
即可开始调试你的游戏。
现在,你应该已经运行起来了一个调试服务器,接下来让我来教你如何编写你自己的剧本
你应该能够发现,在解压后的文件夹下,有一个 WebGAL 文件夹,在 WebGAL 文件夹下,有一个 game 文件夹,那就是你的游戏资源应该存放的地方。
你的所有游戏剧本、图片、立绘都应该在放解压后目录的 WebGAL/game 文件夹下,目录对应的资源说明如下:
文件夹 | 存放的资源 |
---|---|
background | 用于存放背景图片、标题页背景 |
figure | 用于存放人物立绘 |
scene | 用于存放用户剧本 |
首先,程序会从初始脚本start.txt
开始运行,在后续的脚本编写中,我会告诉你如何跳转章节或设置分支选项。
编写剧本的方式非常简单,且与自然语言几乎无异。
首先,使用记事本或VS Code 、sublime 等文本编辑器,打开游戏资源目录下 scene 文件夹中的 start.txt,然后你就可以开始编写你的第一条对话了。
编写人物对话的方法非常简单,你只需要输入:
注意,每条对话的冒号、分号应当为英文字符!
人物:对话;
示例:
雪之下雪乃:请用茶;
由比滨:啊,谢谢;
小町:谢谢雪乃姐!;
一色:谢谢学姐。;
在每条对话/剧本后,使用分号作为结束。(如果不写分号有时候也行,但是作者还是建议加上分号以防止bug)。
要让 WebGAL 能够读取背景图片和人物立绘,你的背景图片应该被放在background文件夹内,而立绘图片则应该放在figure文件夹中。
接下来,你可以通过以下简单的语句来改变当前显示的背景图片和人物立绘:
changeBG:testBG03.jpg;//改变背景
changeP:testFigure02.png;//改变人物立绘
changeBG:none;//关闭背景
changeP:none;//关闭人物立绘
你有可能会发现,在你改变背景图片或人物立绘后,你需要再点击一下鼠标才能显示下一条对话,如果你希望在改变背景图片/立绘后立即执行下一条语句的内容,请使用:
changeBG_next:testBG03.jpg;
changeP_next:testFigure02.png;//改变人物立绘
一色:谢谢学姐!;
如果你这样做,那么在背景图片/立绘替换后,程序会立刻执行下一条语句。
在 Galgame 中,跳转章节、场景与分支选择是不可或缺的,因此,本游戏模组也支持场景跳转与分支选择。
你可以将你的剧本拆分成多个 txt 文档,并使用一个简单的语句来切换当前运行的剧本。
假如你现在写了两个章节的剧本,分别是 Chapter-1.txt 与 Chapter-2.txt ,在Chapter-1.txt 运行结束后,你希望跳转到 Chapter-2.txt 对应的场景,请使用以下语句:
语句:
changeScene:Chapter-2.txt;
示例:
(Chapter-1.txt)
......
......
changeScene:Chapter-2.txt;
接下来执行的就是Chapter-2.txt的内容了。
......
......
(Chapter-2.txt)
通过执行这条命令,你将切换游戏场景,并使接下来的剧情发展按照新的场景剧本运行。新的剧本会在下一次鼠标点击后运行。
如果你的剧本存在分支选项,你希望通过选择不同的选项进入不同的章节,请使用以下语句:
choose:{叫住她:Chapter-2.txt,回家:Chapter-3.txt};
你只需要将选项的文本与选择选项后要进入的剧本名称一一对应起来,就可以实现分支选择的功能了。