Pixi’VN 是一款基于 JavaScript/TypeScript 和 PixiJS 构建的开源、现代化 2D 游戏引擎,专注于视觉小说(Visual Novel / Galgame)及其他 2D 游戏的开发。与传统的独立引擎不同,Pixi’VN 本身是一个 npm 包(@drincs/pixi-vn),可以无缝集成到任何 JavaScript 项目中。

基本信息
| 项目 | 内容 |
|---|---|
| 名称 | Pixi’VN(Pixi-VN) |
| 开发者 | DRincs Productions(主要维护者)、rheartillyf8 |
| 类型 | 2D 游戏引擎 / 视觉小说引擎 |
| 编程语言 | JavaScript / TypeScript |
| 渲染引擎 | PixiJS |
| 许可协议 | 开源(具体协议待查) |
| npm 包名 | @drincs/pixi-vn |
| 官方网站 | https://pixi-vn.com |
| GitHub | https://github.com/rheartillyf8/pixi-vn |
| 项目状态 | 活跃维护中(最新版本 1.8.17) |
概述
Pixi’VN 的诞生源于对现有视觉小说或 2D RPG 制作系统“架构陈旧、弊端重重”的不满。其设计理念是将游戏开发流程向 Web 应用靠拢,充分利用 Web 技术的兼容性与云服务优势。
Pixi’VN 的目标是通过单一引擎整合各类 2D 游戏的开发流程,既可以用来制作视觉小说,也可以制作点击式冒险游戏、RPG,甚至在 3D 游戏中仅使用其叙事功能,或在网站上展示一段动画。为了保持轻量,它只专注于核心功能,同时允许并鼓励开发者通过其他库来扩展能力。
核心特点
基于 PixiJS 的现代 2D 渲染
Pixi’VN 使用 PixiJS 作为其 2D 渲染引擎。PixiJS 是一款高速、轻量的 WebGL 渲染库,能够提供高性能的 2D 图形渲染能力。
npm 包架构,与前端框架无缝集成
Pixi’VN 本质上是一个 npm 包,而非一个完整的框架。这意味着它可以安装到任何 JavaScript 项目中,并与 React、Vue 等主流前端框架无缝集成。
-
UI 自由:Pixi’VN 不提供内置的游戏 UI 组件,而是鼓励开发者使用 React、Vue 或 PixiJS 自身来构建 UI。
-
组件库丰富:开发者可以使用 Material-UI、Bootstrap、PixiJS UI 等任何组件库。
核心功能
Pixi’VN 提供了视觉小说开发所需的核心功能:
| 功能 | 说明 |
|---|---|
| 叙事管理 | 管理游戏的故事流程与步骤 |
| 2D 渲染 | 基于 PixiJS 的高性能 2D 画面渲染 |
| 音效与音乐 | 播放音效和背景音乐 |
| 变量存储 | 设置和获取游戏变量 |
| 状态回溯 | 可保存每一个“故事步骤”的完整游戏状态,支持回溯功能 |
| 存档/读档 | 保存和加载当前游戏状态 |
轻量与灵活
-
无需 IDE:任何代码编辑器都足以胜任开发工作
-
不重复造轮子:Pixi’VN 整合了多个广受欢迎的库,并提供 API 供开发者直接调用
-
不绑定特定工具:Pixi’VN 是免费的开源库,永远不会被绑定到某个特定的 VN 编辑器或 Web 游戏编辑器
叙事语言
Pixi’VN 在叙事编写上提供了极大的灵活性。除了直接使用 JavaScript/TypeScript 编写叙事外,还支持多种叙事语言:
| 叙事语言 | 说明 |
|---|---|
| JavaScript / TypeScript | 直接使用引擎的底层语言编写 |
| Ink | Inkle 工作室开发的叙事脚本语言 |
| Ren’Py 语言 | 兼容 Ren’Py 的脚本语法 |
开发者可以同时选择一种或多种叙事语言来编写故事。
与 Ren’Py 的对比
Pixi’VN 官方 Wiki 中有一份与 Ren’Py 的详细对比,以下为关键差异:
| 对比维度 | Ren’Py | Pixi’VN |
|---|---|---|
| 编程语言 | Ren’Py 语言(Python 的超集) | JavaScript / TypeScript |
| 学习曲线 | 面向无编程基础的用户 | 可使用模板快速上手,但进阶需了解 JS/TS、Node.js、npm |
| 类型系统 | ❌ 无类型检查 | ✅ TypeScript 类型支持 |
| 调试器 | ❌ | ✅ |
| 包管理器 | ❌ | npm |
| 叙事语言 | Ren’Py 语言 + Python 语句 | JS/TS + 多种叙事语言(含 Ren’Py 语言) |
| 小游戏实现 | Ren’Py Creator-Defined Displayables | PixiJS 或其他库 |
| UI 实现 | Ren’Py 内置屏幕系统 | PixiJS、React、Vue 等 |
| UI 组件 | 基于图片的组件 | 可使用任何组件库 |
使用方法
快速开始
Pixi’VN 提供了多种项目模板,方便开发者快速上手:
npm create pixi-vn@latest模板选项
-
Visual Novel – React:基于 React 的视觉小说模板
-
其他模板涵盖点击式冒险游戏、RPG 游戏、游戏引擎等类型
基本开发流程
-
创建项目:使用模板创建新项目
-
定义角色:在
values/characters.ts中定义角色 -
编写叙事:创建
start标签作为游戏起点,编写对话 -
拆分叙事:将长叙事拆分为多个小标签,通过流程控制功能调用
-
运行测试:使用项目提供的命令启动测试
Markdown 与 Tailwind CSS 支持
所有模板均内置 Markdown 和 Tailwind CSS 支持,可直接用于叙事文本的样式编写。


评论0