返回作品

PROJECT 02DESIGN NOTES

魔塔战记 · Web 版

一款用同一套方向语法连接探索、接触战斗与 Build 投资的程序化魔塔 RPG。

平台
Browser · Canvas 2D
时间
2026.01 - Now
状态
已发布 · 持续迭代
类型
程序化魔塔探索 RPG
职责
独立设计与 Web 实现
实机演示

游戏介绍

这是一款程序化魔塔 RPG。

玩家做什么
选择战士、法师或盗贼,设定本局规则,再揭开迷雾并穿越程序化楼层。方向输入会根据下一格内容执行移动、交互或接触战。
核心循环
探索生成楼层,处理敌人与功能物件,选择符文、比较装备、在锻造中投入资源,击败楼层 Boss,并向第九层终局推进。
Build 系统
职业规则建立起点;符文改变触发与优先级;程序化装备提供基础、词缀与套装;锻造强化或重塑已经获得的物品。
长期成长与复玩
阵亡、主动退休与胜利会分别归档。每日 seed、25 级噩梦难度、排行榜、天赋、传家宝、日志与无限模式把玩法延伸到单次登塔之外。
01

项目概览

玩家从战士、法师或盗贼中选择一人,穿越九层战争迷雾。同一个方向输入会揭示空间、移动、交互或承诺接触战;符文负责改变规则,装备负责建立身份,锻造负责检验投入。阵亡、主动退休与胜利会作为不同终态归档,把选定的成长与判断带入下一次登塔。

设计重点

  • 一套输入语法完成揭雾、移动、交互与接战
  • 通过符文选择、装备发现与锻造投资形成 Build
  • 九层战役、可复现每日挑战与 25 级噩梦难度
02

游戏功能与系统

已发布的 Web 版把本局设定、程序化楼层探索、接触战斗、Build 形成与单局结算连成一体。各部分分别管理不同的玩家动作与游戏状态。

系统结构

程序化楼层、角色即时状态、资源、符文与装备属于本局;阵亡、主动退休或第九层胜利会结束并归档本局;战绩与支持的长期进度则延伸到生成楼层之外。

主要功能

一次登塔中的四个主要阶段

一次登塔从规则设定进入空间读取、接战与 Build 重塑,最后记录一个明确终态。

  • 玩家主动承诺
  • 当前单局态
  • 长期记录
  1. 01 定义

    选择本次登塔

    在生成前确定职业、普通或每日规则,以及噩梦难度。

  2. 02 读取

    解释下一格

    同一方向会根据格子内容揭示、移动、交互或承诺接触战。

  3. 03 构筑

    选择、发现或投资

    符文改变规则,装备建立身份,锻造检验一件物品是否值得保留。

  4. 04 归档

    只结束一次,留下证据

    阵亡、退休或胜利记录本局 Build,并把选定目标带入下一次尝试。

再次登塔 ↺ 楼层重置;战绩与选定的长期成长继续存在。

已发布范围:九层正式战役、日期种子每日挑战、无限模式与 25 级噩梦难度。
一次输入

一个方向输入如何履行完整战斗合同

玩家向右接触一只已有火状态的怪物,当前 Build 让攻击携带雷;超载波及第二只敌人,因此间接死亡也必须得到与主攻击相同的完整结算。

本次输入
向右 · 相邻格被怪物占据
元素状态
目标已有火 · 本次攻击携带雷
次生风险
爆炸范围内还有另一只怪物
  1. 01
    解释

    先判断方向意味着什么

    世界查询发现相邻怪物,因此输入被解释为接触攻击,而不是移动或交互。

  2. 02
    组合

    读取当前 Build

    职业规则、符文、装备、增益与保护先组合本次攻击,再处理闪避与提前返回。

  3. 03
    反应

    火加雷触发超载

    主攻击触发元素反应,爆炸通过间接伤害路径击中并可能杀死附近敌人。

    火 + 雷 → 超载范围伤害
  4. 04
    结算

    所有死亡进入同一个 owner

    直接与间接击杀在移除怪物前,共享奖励、副作用与 Boss 推进的 exactly-once 守卫。

同一份合同:方向输入 → 接触攻击 → 元素反应 → 间接死亡 → 完整收益只发放一次。

03

主要系统

这三个系统分别说明玩家如何读取空间、Build 如何形成身份,以及重复登塔如何保持可比较与有意义。

01 空间 · 迷雾 · 接触 一套方向语法,把信息转化为风险 下一格内容决定一次输入是在揭示、移动、交互,还是承诺战斗。 已发布 · seed 楼层
问题
独立战斗场景会切断战斗与房间位置;完全可见会把程序化楼层变成路线优化,为每类物件增加操作模式又会让每一步更难解析。
选择
探索与战斗保留在同一方格世界,固定交互优先级处理墙、门、怪物、NPC、物件、掉落与楼梯,不进入自由选择模式。
代价
压缩输入会产生误触,迷雾也可能重复拖慢。路径提示、常驻 HUD 与不同房间尺度必须共同承担可读性。
证据
3 个代表 seed 跑完九层,共覆盖 27 张地图的可达性、唯一楼梯与 Boss、阻挡实体不重叠,以及键盘、指针和移动触控路径。
02 选择 · 发现 · 投资 一个 Build 由三种不同动作完成 符文改变接下来寻找什么,装备建立所有权,锻造检验对已认可物品的承诺。 已发布 · 28 个符文+锻造
问题
并排的数值阶梯会退化为选择最大数字;立即替换让装备没有身份,永远正确的锻造又会让 Build 过早冻结。
选择
符文改变触发与目标优先级;程序化基础、词缀和套装负责发现;绑定 UID 的领域命令负责强化、重铸、附魔、宝石与觉醒。
代价
付费刷新可能抹平单局差异,过多锻造操作也会增加学习与沉没成本。比较工具比继续新增操作更重要。
证据
28 个符文通过数值与 handler 门禁;锻造覆盖陈旧目标、资源不足、随机失败、回滚、重复请求与存档失败,但仍缺少玩家选择遥测。
03 种子 · 终态 · 复玩 共同 seed 让单局可比较,明确终态让结果可复盘 隔离的随机流保护每日挑战,阵亡、退休与胜利则在同一归档边界保留不同后果。 已发布 · 每日挑战+3 种终态
问题
一条全局随机流会让额外掉落改写之后的地图与符文;二元胜负也曾把胜利标成退休,并让延迟回调结束新局。
选择
日期 seed 派生独立的 world、loot 与 draft 流;生命周期显式拥有 death、retired、victory 三态,调用方只提交意图。
代价
暴击与闪避刻意保持非确定性;客户端提交排行榜只能定位为轻量竞赛,局外成长也不能稀释死亡。
证据
签名重放验证随机流隔离;正式路径覆盖第九层通关、历史、解锁、幂等结算与干净重试,回流动机仍需玩家证据。
04

系统设计说明

这些系统由三条约束连接:随机必须可比较,失败必须保留意义,每一层成长都必须改变不同类型的决策。

01

程序化单局如何支持公平的每日竞赛?

每日配置由日期派生,并把共同 seed 传入楼层生成和符文选项。本局模式与上下文会随结果记录,每日、赛季与全局排行榜保持不同视图。

玩家比较的是同一起始规则下的决策,而不是彼此无关的运气。

02

如何让死亡有代价,又不抹掉一次登塔的价值?

阵亡、主动退休与胜利被建模为明确终态。结算会保存职业、楼层、Build、击杀与分数;灵魂结晶、天赋、传家宝、战绩与日志则为下一次尝试提供上下文和方向。

失败会关闭本局,但仍推进玩家知识、历史与选定的长期目标。

03

多种成长系统如何避免变成并排数值梯?

符文改变战斗规则与触发,装备建立属性、词缀与套装身份,锻造让玩家继续投资已经认可的物品。不同界面和成本让每一层回答不同问题。

一个 Build 通过选择、发现与投资三种不同决策形成。

05

已发布版本范围

当前 Web 版本已闭环从职业选择到第九层胜利的完整单局,并用难度、竞赛、收集与选定的长期成长继续延展。自动化状态流检查能证明一致性,不能替代完整单局的节奏与手感验证。

9
层正式战役每层配置一场 Boss 战
28
个正式符文当前作者化符文池
25
级噩梦难度递进复玩规则
3
个可玩职业战士 · 法师 · 盗贼
世界与战斗
10 个怪物原型 · 6 个精英词缀 · 元素反应
单局终态
阵亡 · 主动退休 · 第九层胜利
重复游玩
每日种子、噩梦难度、排行榜、天赋、传家宝、战绩与日志
仍待验证
完整单局节奏、误触接战、Build 选择质量、Boss 强度尖峰与长期回流动机
战争迷雾覆盖的第一层,画面展示房间、战斗技能、属性与装备。
迷雾让每个房间成为信息边界,常驻 HUD 则保持当前 Build 可读。
雷霆、吸血与处决组成的符文三选一界面。
接受、花金币刷新或回收选项——选项质量本身也是单局经济。
角色选择页选中了战士,并展示职业技能与噩梦设置。
职业、噩梦层级与模式开关会在生成前共同定义本局。
06

技术与工具

我的工作

这是我的个人项目。我负责核心循环、战斗规则、程序化内容、符文、装备与锻造、局外成长、每日竞赛、内容配置、Web 实现、发布整合与验收。AI 编程工具用于辅助代码实现、测试和文档维护,产品边界与最终设计取舍由我确定。

开发环境

JavaScript ES6 ModulesCanvas 2DesbuildSupabaseVitestPlaywright