Suika3:快速入门指南
欢迎使用 Suika3!本指南将帮助你通过几个简单的步骤,快速启动你的第一个视觉小说项目。
1. 安装
让我们先让引擎跑起来,亲眼见证奇迹的发生!
Windows
- 下载与解压
- 下载 Suika3-SDK-Full.zip 并解压到你偏好的文件夹。
- 启动
- 打开文件夹并运行
suika3.exe,即可开始游玩示例游戏!
- 打开文件夹并运行
macOS
- 下载与解压
- 下载 Suika3-full.zip 并解压到你偏好的文件夹。
- 挂载磁盘镜像
- 进入
SDK/macos/目录并打开Suika3.dmg。
- 进入
- 设置 App 包
- 将 DMG 中的
Suika3应用程序复制到与suika3.exe(以及数据文件夹)相同的文件夹中。 - 注意:App 包必须与你的游戏数据位于同一目录下才能正常工作。
- 将 DMG 中的
- 启动
- 双击
Suika3应用来启动示例游戏!
- 双击
Linux
- 下载与解压
- 下载 Suika3-full.zip 并解压到你偏好的目录。
- 安装 Flatpak 包
- 进入
SDK/linux/目录并打开Suika3.flatpak(或运行flatpak install --user Suika3.flatpak)。 - 这将把
.novel和.ray文件与 Suika3 引擎关联起来。
- 进入
- 启动
- 打开解压后的文件夹,然后双击
start.novel来启动示例游戏!
- 打开解压后的文件夹,然后双击
2. Visual Studio Code 集成
VSCode 集成支持 Windows、macOS 和 Linux!
此外,NovelML-Helper可用于语法高亮。
- 使用
Visual Studio Code打开解压后的文件夹。 - 点击命令面板(Command Palette)。
- 点击
运行任务 (Run Task)。 - 选择以下任一项:
Suika3: Run(orCtrl+Shift+B)Suika3: Create a packageSuika3: Build Android APKSuika3: Build iOS IPA
- 如果发生错误,请点击
PROBLEMS(问题)面板查看。
3. 个性化你的故事 (start.novel)
现在,让我们来修改游戏,让它说出你想要的内容。
- 打开:
- 在项目文件夹中找到
start.novel文件,并用你喜欢的文本编辑器打开。
- 在项目文件夹中找到
- 编辑:
- Add the following tag at the beginning of the file:
[text text="Hello, world!This is my first game."] - 测试:
- 保存文件并重新运行 Suika3。
- 你应该能在屏幕上看到你的新消息!
4. 自定义屏幕 (main.ray)
你可以轻松地更改游戏窗口的外观和感觉。
- 定位:
- 在编辑器中打开
main.ray文件。
- 在编辑器中打开
- 修改:
- 找到
func setup()部分。 - 你可以在这里更改分辨率和窗口标题:
// Called when the window is opened. func setup() { return { width: 1280, // 游戏的宽度 height: 720, // 游戏的高度 title: "My First Game", // 游戏的标题 fullscreen: false // 设置为 true 以全屏模式运行 }; } - 找到
5. 引擎核心机制(进阶提示)
main.ray 文件的底部包含核心引擎逻辑。除非你要进行高级定制,否则最好保持这些函数不变:
func start() {- 游戏启动时调用一次。
func update():- 每一帧渲染前运行,用于处理游戏逻辑。
func render():- 在更新完成后,每一帧绘制画面时调用。
// 在游戏开始前被调用。
func start() {
// Load plugins here.
// Suika.loadPlugin("testplugin");
// 不要删除下面这行。
Suika.start();
}
// Called before a frame rendering.
func update() {
// 不要删除下面这行。
Suika.update();
}
// Called every frame rendering.
func render() {
// 不要删除下面这行。
Suika.render();
}
[!提示] 这些函数是驱动 Suika3 的
Playfield 引擎的核心机制。为了保证游戏正常运行,Suika.start()、Suika.update()和Suika.render()必须保留在原位。