{"id":18679356,"url":"https://github.com/whiteminds/trial-tower","last_synced_at":"2025-08-19T19:17:27.892Z","repository":{"id":95368006,"uuid":"344118456","full_name":"WhiteMinds/trial-tower","owner":"WhiteMinds","description":"Tower of Trials, a text-based turn-based combat RPG (also includes an RPG turn-based auto-battle engine for idle games, text-based combat games, etc.). 试炼之塔，通过文本展示战斗过程的放置类回合战斗 RPG 游戏（同时包含一个 RPG 回合制自动战斗引擎，适用于 idle game、文本展示战斗过程游戏等）。","archived":false,"fork":false,"pushed_at":"2023-05-01T03:41:37.000Z","size":3036,"stargazers_count":30,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T03:13:42.920Z","etag":null,"topics":["engine","game","game-development","game-engine","idle-game","monorepo","react","rpg","rpg-game","rpg-game-engine","turn-based","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WhiteMinds.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-03T12:27:46.000Z","updated_at":"2025-03-18T06:37:51.000Z","dependencies_parsed_at":"2024-11-07T09:44:39.438Z","dependency_job_id":null,"html_url":"https://github.com/WhiteMinds/trial-tower","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteMinds%2Ftrial-tower","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteMinds%2Ftrial-tower/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteMinds%2Ftrial-tower/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteMinds%2Ftrial-tower/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WhiteMinds","download_url":"https://codeload.github.com/WhiteMinds/trial-tower/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248510002,"owners_count":21116130,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["engine","game","game-development","game-engine","idle-game","monorepo","react","rpg","rpg-game","rpg-game-engine","turn-based","typescript"],"created_at":"2024-11-07T09:43:18.091Z","updated_at":"2025-04-12T03:13:48.089Z","avatar_url":"https://github.com/WhiteMinds.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://img.shields.io/github/license/WhiteMinds/trial-tower) ![](https://img.shields.io/github/languages/top/WhiteMinds/trial-tower) ![](https://img.shields.io/github/repo-size/WhiteMinds/trial-tower) ![](https://img.shields.io/github/contributors/WhiteMinds/trial-tower)\n\n\u003cdiv align=\"center\"\u003e\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg\n      src=\"https://user-images.githubusercontent.com/9160743/233787310-f1cf857a-4b8a-4848-94c3-2533e6ff7ff8.svg\"\n      alt=\"Logo\"\n      width=\"240\"\n    /\u003e\n  \u003c/div\u003e\n  \u003cdiv align=\"center\"\u003e\n    \u003ca href=\"README.md\"\u003e\n      English\u003c/a\n    \u003e\n    ·\n    简体中文\n  \u003c/div\u003e\n  \u003cbr /\u003e\n  \u003cdiv align=\"center\"\u003e\n    \u003ca href=\"#-trial-tower\"\u003e查看 Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/WhiteMinds/trial-tower/issues\"\n      \u003eBug 反馈\u003c/a\n    \u003e\n    ·\n    \u003ca href=\"https://github.com/WhiteMinds/trial-tower/issues\"\n      \u003e功能建议\u003c/a\n    \u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n\n## ✨ Hedra Engine\n\n`hedra-engine` 是一个 RPG 回合制自动战斗引擎，具有一套易扩展、高可定制的插件系统，适用于 idle game、自动执行战斗过程的游戏等。\n\n目前仍处于开发阶段，API 随时可能发生变化，请不要用于生产环境。\n\n⭐ Star 此项目来支持我的开发!\n\n### Example\n\n```typescript\nimport * as Hedra from 'hedra-engine'\n\nconst store: Hedra.Store\u003cnumber\u003e = {\n  async createData\u003cT extends { id?: number }\u003e(data: T) {\n    return createGameData(omit(data, 'id')) as T \u0026 { id: number }\n  },\n  async setData(key, data) {\n    gameDataMap[key] = omit(data, 'id')\n  },\n  async getData\u003cT extends { id: number }\u003e(key: number) {\n    const data = gameDataMap[key]\n    return data ? (data as T) : null\n  },\n  ...\n}\nconst engine = new Hedra.Engine(store, [achievementPlugin])\n\nconst character = await engine.createCharacter(\n  { name: 'test' },\n  async stage =\u003e stage.createNewPlayerEntity('test'),\n)\nconst player = await engine.mainStage.getEntity(character.entityId)\nconst enemy1 = engine.mainStage.createRandomEnemyByPlayerLevel(player)\nconst enemy2 = engine.mainStage.createRandomEnemyByPlayerLevel(player)\nengine.mainStage.beginCombat(player, [enemy1, enemy2])\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003e点击查看格式化后的战斗过程\u003c/summary\u003e\n  \u003cbr/\u003e\n\n```\n# 开始战斗，队伍信息：\n\n## 1 号队伍成员：\n\n### WhiteMind：\n\n[LV.1] 普通攻击（物理）: 对单体目标造成 1 _ atk 的伤害，可附加攻击特效\n[LV.1] 全神贯注: 下 3 次攻击伤害提升 100%\n[LV.1] 群体火球术: 对 2 个目标造成 1 _ atk 的伤害\n[LV.2] 快速连击: 对单体目标造成 2 ~ 6 次的 0.8 \\* atk 的伤害，可附加攻击特效\n[LV.2] 体质强化: 提升 20% 的体质\n[LV.1] 灵魂收割者: 每击杀一个怪物，提升 1 点最大生命值，当前提升：10\n====== 木剑 ======\n等级需求：1\n\n攻击 +1\n====== 布甲 ======\n等级需求：1\n\n体质 +5\n最大生命值 +10%\n计算后的攻击值： 3\n计算后的生命值： 121\n\n## 2 号队伍成员：\n\n### 🐻️：\n\n[LV.1] 普通攻击（物理）: 对单体目标造成 1 \\* atk 的伤害，可附加攻击特效\n\n计算后的攻击值： 2\n计算后的生命值： 40\n\n### 🐒️：\n\n[LV.1] 普通攻击（物理）: 对单体目标造成 1 _ atk 的伤害，可附加攻击特效\n[LV.1] 快速连击: 对单体目标造成 2 ~ 5 次的 0.8 _ atk 的伤害，可附加攻击特效\n\n计算后的攻击值： 2\n计算后的生命值： 20\n[WhiteMind] 对 [🐻️] 释放 [快速连击]，造成 2、2、2、2、2 伤害，剩余 hp 30\n[🐻️] 对 [WhiteMind] 释放 [普通攻击（物理）]，造成 2 伤害，剩余 hp 119\n[🐒️] 对 [WhiteMind] 释放 [普通攻击（物理）]，造成 2 伤害，剩余 hp 117\n[WhiteMind] 对 [🐻️、🐒️] 释放 [群体火球术]，造成 3、3 伤害\n[🐻️] 对 [WhiteMind] 释放 [普通攻击（物理）]，造成 2 伤害，剩余 hp 115\n[🐒️] 对 [WhiteMind] 释放 [快速连击]，造成 1、1、1、1、1 伤害，剩余 hp 110\n[WhiteMind] 对 [🐻️] 释放 [快速连击]，造成 2、2 伤害，剩余 hp 23\n[🐻️] 对 [WhiteMind] 释放 [普通攻击（物理）]，造成 2 伤害，剩余 hp 108\n[🐒️] 对 [WhiteMind] 释放 [快速连击]，造成 1、1 伤害，剩余 hp 106\n[WhiteMind] 对 [🐻️] 释放 [普通攻击（物理）]，造成 3 伤害，剩余 hp 20\n[🐻️] 对 [WhiteMind] 释放 [普通攻击（物理）]，造成 2 伤害，剩余 hp 104\n[🐒️] 对 [WhiteMind] 释放 [普通攻击（物理）]，造成 2 伤害，剩余 hp 102\n[WhiteMind] 释放 [全神贯注]\n[🐻️] 对 [WhiteMind] 释放 [普通攻击（物理）]，造成 2 伤害，剩余 hp 100\n[🐒️] 对 [WhiteMind] 释放 [快速连击]，造成 1、1、1、1 伤害，剩余 hp 96\n[WhiteMind] 对 [🐻️、🐒️] 释放 [群体火球术]，造成 6、6 伤害\n[🐻️] 对 [WhiteMind] 释放 [普通攻击（物理）]，造成 2 伤害，剩余 hp 94\n[🐒️] 对 [WhiteMind] 释放 [快速连击]，造成 1、1 伤害，剩余 hp 92\n[WhiteMind] 对 [🐻️] 释放 [普通攻击（物理）]，造成 6 伤害，剩余 hp 8\n[🐻️] 对 [WhiteMind] 释放 [普通攻击（物理）]，造成 2 伤害，剩余 hp 90\n[🐒️] 对 [WhiteMind] 释放 [普通攻击（物理）]，造成 2 伤害，剩余 hp 88\n[WhiteMind] 击杀了 [🐻️]，战利品： [{…}]\n[WhiteMind] 对 [🐻️] 释放 [快速连击]，造成 2、2、2、2、2 伤害，剩余 hp 0\n[🐒️] 对 [WhiteMind] 释放 [快速连击]，造成 1、1、1、1、1 伤害，剩余 hp 83\n[WhiteMind] 击杀了 [🐒️]，战利品： [{…}]\n[WhiteMind] 对 [🐒️] 释放 [快速连击]，造成 2、2、2、2、2、2 伤害，剩余 hp -1\n战斗胜利，战利品： (2) [{…}, {…}]\n[WhiteMind] 升级至 LV.2\n```\n\n\u003c/details\u003e\n\n\u003cbr /\u003e\n\n## 🕹 Trial Tower\n\n试炼之塔是该仓库的一个子项目，该项目用于对 Hedra Engine 的开发示范，是一个通过文本展示战斗过程的放置类回合战斗 RPG 游戏。\n\n由于目前的主要重点在 hedra-engine 上，所以该子项目的 server 和 web 部分前期会先糊着写，以后再精修。\n\n## 🚀 使用方法\n\n只需运行以下命令\n\n```shell\nyarn start\n```\n\n### 运行截图\n\n![Snapshot](https://user-images.githubusercontent.com/9160743/222956665-579fc30e-213a-4a58-ae9c-210707ebce72.png)\n\n\u003cbr /\u003e\n\n## 🗓 Q2 2023 开发路线图\n\nhttps://github.com/users/WhiteMinds/projects/1/views/1\n\n访问 [open issues](https://github.com/WhiteMinds/trial-tower/issues) 来了解拟议功能以及已知问题的完整列表。\n\n## 🤓 联系方式\n\nBilibili: [@WhiteMind](https://space.bilibili.com/23505769)\n\nE-mail: whitemind@qq.com\n\n## 📝 License\n\nCopyright © 2023 [WhiteMinds](https://github.com/WhiteMinds).\n\nThis project is [MIT](https://github.com/WhiteMinds/trial-tower/blob/master/LICENSE) licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhiteminds%2Ftrial-tower","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhiteminds%2Ftrial-tower","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhiteminds%2Ftrial-tower/lists"}