# 介绍

星夜(StarNight Engine)是一款基于 Web 技术的视觉小说引擎。

# 优势特点

# 功能强大

真正还原了现有的 Gal 作品,一切功能完全对标,并将随着移植项目继续持续更新。

# 先进稳定

星夜自 2021 年建立项目,最初目的是移植和重制当前的 Gal 作品,并尽可能百分百的还原原作品的演出效果。

为了达成这个目的,开发速度快、扩展性好、表现稳定自然成为了星夜的开发目标,而到了现在,这些目标已经基本实现。

内核方面,星夜使用由 await 和 yield 实现的新一代状态机,遵循证明大于测试的原则,所有行为完全可预测。

界面方面,星夜使用由真实 dom 驱动的 solidjs,并使用专门简化的状态管理和组件结构,没有复杂的特殊概念,可以轻松上手。

# 易于扩展

经过长期实践,星夜针对视觉小说创作构建了优秀的解决方案。

程序简单直接,得益于响应式信号基础设施和状态演算内核,扩展新功能,如"动态改变文本颜色",最少只需两行代码。

命令可组合,每个命令都从最小的可组合单元构建出来,你可以根据自己的需求组合命令,如"不同角色发言文本颜色不同",就可以组合“对话”命令与“文本颜色”命令。

命令可插拔,每个命令都只实现自己的功能,所有代码集中在一个文件中,你可以轻松的添加或者移除一个命令,如果你想,也可以编写自己的命令预设集。

内核与界面完全解耦,内核通过事件驱动的方式工作,你只需要调用XxxEvent.publish(),其余都由你自己掌握。如果你需要完全定制,星夜可以应用于任何一个基于信号的 UI 框架,比如Vue

# 生态良好

星夜通过融入现有工业生态,降低创作者的学习成本并获得生产级别的良好支持。

星夜的剧本使用 JavaScript/TypeScript 编写,通过一些编译器技巧获得简洁语法与强大功能之间的平衡,你不需要学习某种专用的语法,而是直接使用一款主流编程语言,享受包括智能提示,自动补全等所有语言生态。

星夜的跨平台能力使用capacitortauri实现,一些通用配置已经预设好,你可以使用它们提供的插件便捷的自定义设置。

# 使用条款

# 交流与反馈