关于AVGPlus

AVGPlus是什么

AVGPlus 是一个跨平台、灵活、门槛低的文字游戏制作引擎,可以把游戏发布到 Windows、Mac 桌面平台下,同时还可以发布到 Web 浏览器, Android 以及 iOS 下。可以胜几乎任意类型的 Galgame, 包括有声小说、解谜游戏等。引擎拥有超多开放的游戏API,游戏作者可以很轻易从0到1开发文字冒险游戏,甚至可以基于更高级的插件机制开发定制化的游戏特性。
AVGPlus 可以做什么:

  • 带有开放性结局的恋爱游戏
  • 背包&道具、收集功能的冒险解谜游戏
  • 在游戏里实现和游戏角色聊天的功能
  • 在某个“场景”偶遇女主的功能
  • ……

转自AVGPlus作者@愤怒的泡面的知乎


以下是我写的AVGPlus体验版部署教程!

本文写于2020年3月,有效性不能保证(Avgplus依然在快速迭代更新)

截止2020年8月,Avgplus版本已经更新了5个小版本,本文方法依然能用(但是并不是最新的Avgplus)


本文基于windows10专业版64位及以上版本——

ps:虽然是小白向,但还是要懂点电脑知识的(比如
部署avgplus最麻烦的地方其实并不是搭建服务器而是跨域
所以本次教程选用了跨域最简单的node.js法
命令提示符:即cmd.exe
一、安装node.js
(已经安装过的可以跳过此步)
首先进入nodejs官网下载
下载链接
https://nodejs.org/dist/v12.14.0/node-v12.14.0-x64.msi
下载后双击安装node.js
同意条款b2075b6e-237e-4ffe-a0df-ce65049cfc6b-image.png
然后无脑下一步next就行
安装完成后,在Windows环境下,请打开命令提示符,然后输入°node -v°(请在命令提示符下输入),如果安装正常,你应该看到版本输出:ede33f78-84cc-465d-9352-11d7cfcdb18b-image.png
二、安装http-server
之前泡面dalao使用的是yarn安装,有兴趣的可以研究一下yarn,但这里就直接用node.js自带的npm了(安装完成后完全一样,只不过yarn需要安装yarn)
打开命令提示符,输入

1
npm install http-server -g

出现

1
+ http-server@0.12.0

即为安装完成
三、开启服务器
1、首先下载你从泡面dalao那里得到的引擎
这里贴出地址:
AVGPlus 引擎下载:avgplus-browser-alpha-0.1.zip
范例游戏工程下载:example-game-project.zip
下载后解压(解压!)到你准备的工程文件夹,例如我这里将引擎(avgplus-browser-alpha-0.1.zip)解压到了F:\avgplus,将工程(example-game-project.zip)解压到了F:\avgprogects
2、依旧是打开命令提示符(这里需要打开两个)
首先说引擎的部署
cd命令进入引擎所在的目录(我这里因为不同盘符所以添了一步

1
2
3
C:\Windows\system32>F:
F:\>cd avgplus\browser
F:\avgplus\browser>

然后输入

1
http-server -p 2333 --cors -c-1 ./

回车如果出现245e82bc-8af4-4d50-a163-66fb68e7bdd0-image.png
即为成功(此时不要关闭命令提示符!!!!
部署资源目录:
打开一个命令提示符窗口,cd命令进入资源所在的目录

1
2
3
C:\Windows\system32>F:
F:\>cd avgprogects\example-game-project
F:\avgprogects\example-game-project>

然后输入

1
http-server -p 2336 --cors -c-1 ./

回车593ce964-5910-4205-83ab-d6403eee4729-image.png 即为成功(此时不要关闭命令提示符!!!!
四、测试
打开浏览器,访问以下地址:
127.0.0.1:2333
或者localhost:2333
如果看到显示文本 欢迎使用 AVGPlus! 说明游戏已经成功运行!
五、Q&A
Q:为什么在开启服务器成功后不能关闭命令提示符?
A:因为node.js 的服务器是挂在命令提示符下的,如图907dc35d-c243-4868-9d95-93a94baa0803-image.png
如果你想要让http-server在后台运行的话
可以写一个vbs脚本来实现(引擎):

1
2
3
4
5
6
7
8
9
10
Set ws = CreateObject("Wscript.Shell")
Sub Print(text,timeout,title)
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Popup text,timeout,title
Set WshShell = nothing
End Sub
Print "正在启动http-server...",1,"Avgplus"
ws.run "cmd /c http-server -p 2333 --cors -c-1 ./",0,ture
WScript.Quit

新建个文本文件,然后将以上内容复制进去,保存为°ANSI编码°(否则会乱码)(记事本默认),将整个文本文件(包括后缀名)改名成start.vbe
将你刚刚写我start.vbe丢到引擎所在的目录(\browser)然后双击运行就行了,此时在任务管理器中它是一个独立的进程260071fd-61c6-4108-8380-c788dcec3222-image.png
如果想关闭服务器直接结束这个进程就行了
以上是后台运行引擎的http-server的方法,资源目录的话基本相同,将脚本中的

1
ws.run "cmd /c http-server -p 2333 --cors -c-1 ./",0,ture

改成

1
ws.run "cmd /c http-server -p 2336 --cors -c-1 ./",0,ture

就行(注意:双击start.vbe时是在当前目录打开服务器,所以运行资源目录的http-server时要将start.vbe复制一份并按上面修改,并且要资源目录和引擎的服务器同时开启才能进入游戏)
至于为什么要用.vbe这种vbs脚本的变种,是因为.vbe写的脚本会报毒的几率非常小,而且可以后台运行,不需要在前台显示黑洞洞的命令提示符(狗头)

、、
然后来说说我掉入的坑吧
我一开始是用的python的http.server来部署的
但由于搞了半天不成功不得已求助泡面dalao发现是跨域问题、、
网上搜了一堆没看懂(我:石锤真小白)
转而在engine.json中直接设置了本地目录,发现也不成功
吃完饭清了浏览器缓存(感谢大佬提醒)重试node.js法才成功、
然后我就转而研究怎么关闭这个逼死强迫症的命令提示符窗口耗费了好久
最后还是要等泡面dalao的一键部署包啊

写在最后:
原创,搬运请联系timpaik@163.com
感谢泡面dalao,有财力的可以去赞助一下:https://afdian.net/@avgplus
根据自己经历写的,大佬勿喷)

相关网站:

官网:https://avg-engine.com/

BBS社区:https://forum.avg-engine.com/

使用文档:http://docs.avg-engine.com/

演示demo:http://demo.avg-engine.com/
(第一次加载可能会慢)

在线编辑器试用:https://play.avg-engine.com/

Ps:AVGPlus的全图形界面化已经开始制作了!届时即使没有任何经验都可以制作你自己的游戏!(当然你得有钱)

本文同步发表于AVGPlus官方论坛,作者都是我)

End.