ByGame介绍

ByGame介绍

ByUsi
3天前发布

ByGame 游戏引擎简介

ByGame 是一个轻量级、模块化的文字游戏引擎,专为基于文本的交互式故事设计。它通过读取 JSON 数据文件,实现剧情的动态加载、角色管理以及条件分支控制,支持逐字输出和存档功能,让开发者能够快速创建丰富的文字冒险游戏。

功能特色

  1. 灵活的 JSON 数据支持
    通过 data.json 文件定义场景、角色、选择项、分支等,支持高度自定义化的剧情流程。
  2. 逐字输出与颜色高亮
    采用逐字打印功能,同时结合 termcolor 提供的多彩终端输出,增强游戏沉浸感。
  3. 存档与加载
    自动存储玩家的进度到 rop.json,支持随时继续游戏。
  4. 角色与叙述整合
    通过 JSON 定义角色信息(如描述和对话),轻松构建复杂的多角色对话场景。
  5. 动态选择与条件分支
    支持根据玩家选择动态跳转到不同节点,适用于复杂的分支叙事结构。

示例游戏脚本: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": {}
}
}

如何扩展脚本

  1. 添加新角色
    characters 中添加新角色的描述。

    "张三": {
     "description": "一位神秘的旅者"
    }
  2. 定义更多节点
    为每个场景定义一个唯一的节点名称,并在其中指定剧情文本和选择项。
  3. 动态分支
    使用 choices 定义玩家选择及其跳转的目标节点。
  4. 条件分支支持
    扩展脚本引擎支持基于玩家属性或历史选择的条件判断(如需要力量值达到某个阈值才能选择)。

使用 ByGame 引擎和 JSON 数据文件,开发者可以轻松构建复杂而引人入胜的文字游戏世界,满足玩家的互动需求!


游戏引擎 ByGame 下载

© 版权声明
THE END
喜欢就支持一下吧
点赞 7 分享 赞赏
评论 抢沙发
取消 登录评论
易航博客