ByGame 游戏引擎简介
ByGame
是一个轻量级、模块化的文字游戏引擎,专为基于文本的交互式故事设计。它通过读取 JSON
数据文件,实现剧情的动态加载、角色管理以及条件分支控制,支持逐字输出和存档功能,让开发者能够快速创建丰富的文字冒险游戏。
功能特色
- 灵活的
JSON
数据支持
通过data.json
文件定义场景、角色、选择项、分支等,支持高度自定义化的剧情流程。 - 逐字输出与颜色高亮
采用逐字打印功能,同时结合termcolor
提供的多彩终端输出,增强游戏沉浸感。 - 存档与加载
自动存储玩家的进度到rop.json
,支持随时继续游戏。 - 角色与叙述整合
通过JSON
定义角色信息(如描述和对话),轻松构建复杂的多角色对话场景。 - 动态选择与条件分支
支持根据玩家选择动态跳转到不同节点,适用于复杂的分支叙事结构。
示例游戏脚本:data.json
以下是一个基于 ByGame
的简单文字冒险游戏脚本:
{
"player": {
"name": "继博达"
},
"characters": {
"柳如烟": {
"description": "一位温柔且睿智的女子"
},
"旁白": {
"description": "旁白说明"
}
},
"intro": {
"text": "你醒来时发现自己身处一片陌生的树林,脑海中一片空白。#%#一个身影从远处走来,是一位温柔的女子。她说:'你醒了?我还以为你会永远留在梦中。'。",
"choices": {
"问:你是谁?": "askWho",
"沉默不语": "staySilent"
}
},
"askWho": {
"speaker": "柳如烟",
"text": "‘我叫柳如烟,是我救了你。你似乎失去了记忆,能告诉我你的名字吗?’#%#你想了想,脑海里只有一个名字浮现——继博达。",
"choices": {
"告诉她名字": "tellName",
"继续保持沉默": "staySilent"
}
},
"tellName": {
"speaker": "player",
"text": "‘我叫继博达。’#%#柳如烟点了点头:‘好名字,我们得尽快离开这里,这片森林不安全。’",
"choices": {
"询问不安全的原因": "askDanger",
"跟着她离开": "follow"
}
},
"staySilent": {
"speaker": "柳如烟",
"text": "‘不愿意说也没关系,但时间紧迫,我们得赶快离开这里。’",
"choices": {
"跟随她离开": "follow"
}
},
"askDanger": {
"speaker": "柳如烟",
"text": "‘这里有许多野兽,尤其是夜晚,它们会变得格外凶猛。’",
"choices": {
"决定跟随她": "follow"
}
},
"follow": {
"speaker": "旁白",
"text": "你跟随柳如烟离开了森林。她告诉你,她的家就在附近,你可以暂时在那里休息。#%#这只是旅程的开始……",
"choices": {}
}
}
如何扩展脚本
添加新角色
在characters
中添加新角色的描述。"张三": { "description": "一位神秘的旅者" }
- 定义更多节点
为每个场景定义一个唯一的节点名称,并在其中指定剧情文本和选择项。 - 动态分支
使用choices
定义玩家选择及其跳转的目标节点。 - 条件分支支持
扩展脚本引擎支持基于玩家属性或历史选择的条件判断(如需要力量值达到某个阈值才能选择)。
使用 ByGame
引擎和 JSON
数据文件,开发者可以轻松构建复杂而引人入胜的文字游戏世界,满足玩家的互动需求!
游戏引擎 ByGame
下载
目前只有
Termux
版本,没有提供其它发行版本下载链接是这个,点击我
下载分享链接