Awesome
Nova(能叶)
基于Unity,对程序员友好的视觉小说(VN)/文字冒险游戏(AVG)框架
使用说明
git clone
,为了节约时间可以加上--filter=blob:none
- 将
ProjectSettings/ProjectVersion.txt
中的Unity版本号改为你的版本号 - 在Unity Editor中打开
Assets/Scenes/Main.unity
,运行游戏,把示例作品《Colorless》看一遍 - 把游戏中的教程看一遍
- 同时可以试着改一改脚本,脚本是
Assets/Resources/Scenarios/
文件夹下的tut01.txt
等文件 - 在章节选择界面按Ctrl可以看到更多测试用的脚本
- 同时可以试着改一改脚本,脚本是
- 如果你想修改Colorless的脚本,需要先删除英文版的脚本,否则中文与英文的脚本会对不上
Assets/Resources/LocalizedResources/English/Scenarios/
文件夹下是英文版的脚本,可以全部删除Assets/Resources/LocalizedResourcePaths.txt
用来记录英文版用到的文件,可以删除
- 其他资料可以参考GitHub Wiki
- 遇到问题可以在issue里提
常见问题
-
网上已经有很多视觉小说引擎/框架了,Nova与它们的差异在哪里?
这篇文章介绍了设计思路:https://zhuanlan.zhihu.com/p/272466277
-
支持什么版本的Unity、什么操作系统/平台?
支持Unity 2020到2022。Unity 6需要用兼容模式,迁移到render graph等我们有空的时候再搞。
支持Windows/macOS/Android/iOS平台,我们已经有作品在Google Play、TapTap、App Store等平台上架。
Linux版可以在Steam Deck上运行,但是不一定支持其他Linux发行版,因为Linux的图形界面太多了,如果遇到问题欢迎提issue。
WebGL/微信小程序可以参考linsyking/Nova-WXM,以及一个在线编辑器linsyking/Nova-online-editor。目前WebGL版的ToLua# native plugin还有一些问题,所以没有合并到master branch。
理论上可以用团结引擎编译到OpenHarmony,但是需要重新编译ToLua# native plugin,目前还需要更多测试。
-
可以把解谜/战棋等游戏加到Nova里吗?可以把Nova作为对话系统加到解谜/战棋等游戏里吗?
绝大多数Unity能做的gameplay都可以加到Nova里,但是把Nova加到其他游戏里会比较困难。目前Nova的定位是“框架/模板”,而不是“插件/扩展包”。
如果你的游戏不需要“随时跳到之前的任何一句对话”这个功能,那你可能并不需要Nova。为了保证这个功能,把一些gameplay加到Nova里也会比较困难。
-
可以自定义UI吗?
你可以用任何在Unity里做UI的方法来自定义Nova的UI。我们认为每部作品往往都需要根据自己的主题来自定义UI,所以Nova只提供了一套非常朴素的默认UI。
-
Unity已死,Godot万岁!
Nova2在做了,欢迎来帮忙!
版本说明
- v0.1:兼容《青箱》v1.1.0
- v0.2:兼容Unity 2019,重要的新功能包括异步的
GameState
、小游戏支持、新的脚本解析系统、新的存档系统 - v0.3:兼容Unity 2020,重要的新功能包括URP、新的立绘合成系统、Input System
- v0.4:
master
branch上滚动更新,重要的新功能包括新的对话框,预计的新功能包括Addressables
友情链接
- 我们的微博:@LunaticWorks
- 我们的QQ群:876212259,如果以后讨论程序的人多了可能会再开一个程序群
使用Nova的作品:
如果你用Nova做出了作品,欢迎来告诉我们,我们可以互相宣传一下
开发工具:
本框架的依赖:
也可以看一看其他的视觉小说引擎:
以及通用游戏引擎:
- SakuraEngine:为高性能而生的游戏运行时与工具箱
- PainterEngine:由C语言编写的跨平台图形应用框架
- EtherEngine:基于Lua的跨平台游戏接口
以及
- UniGal:为了解决各家视觉小说引擎的碎片化问题,而定义的通用脚本格式
- Yukimi Script:为描述视觉小说而设计的领域专用语言
- 语涵编译器:视觉小说的编译器框架
国内镜像(随缘更新):
国内的小伙伴也可以用各种GitHub镜像网站来访问这个repo