这个项目能做什么

Kül ve Kıvılcım 是一款在浏览器中运行的土耳其语 Roguelike 牌组构建游戏,不需要任何单个文件或外部资源。它包含三个章节、分支地图、87 张卡牌、33 个敌人、38 件遗物、18 种药水和 16 个事件。所有视觉效果均源自 SVG 剪影;卡牌图标根据其 ID 自动生成;音效和音乐则使用 WebAudio 实时合成——仓库中没有任何 .png 或 .mp3 文件。 游戏的核心是一种名为“白炽 (Incandescence)”的独特机制:它在战斗中累积,且在回合之间不会消失。某些卡牌会产生白炽值,而另一些卡牌则通过消耗所有白炽值来提供成长效果(例如 Blast:每点白炽值造成 4 点伤害)。玩家必须战略性地选择何时释放它。 三条路径对该资源的利用方式各不相同:Fire(通过爆炸造成高伤害)、Ash(缓慢但呈指数级的损耗)以及 Iron(将其转化为防御)。地图、奖励和敌人生命值可以通过相同的种子进行复现。 在架构上,引擎和界面完全分离:Combat 模块是同步的,不感知 DOM,通过写入日志来运行;UI 则延迟回放这些日志。这使得引擎可以在 Node.js 上进行测试和平衡。 在视觉方面,敌人是手写的 SVG 剪影;卡牌印章源自 ID;燃烧效果通过 feTurbulence 和 feColorMatrix 滤镜创建。音乐采用 Hicaz 音阶生成,图层级别和节奏随情况而变化。 测试系统非常全面:55 个以上的单元测试确保每张卡牌、每个敌人、遗物、药水和事件至少被执行一次。模拟运行在每个难度下进行 250 次,报告胜率、生命值经济和死亡分布。诊断运行则分别测量每次遭遇战。 平衡性通过测量进行调整:使用参考牌组进行 Boss 战的失败率在 0% 到 7% 之间。自动化玩家平均能到达 45 层中的 20 层,从而奖励玩家技巧。游戏设有三个难度级别:Traveler、Ash Oath 和 Nightmare。 快捷键:使用数字键 1-9 出牌,Space/Enter 结束回合,D 显示牌组,Esc 关闭菜单。卡牌可以通过拖放或点击来使用;对于目标卡牌,先选择卡牌,然后选择敌人。 欢迎贡献:添加新卡牌或敌人非常简单。最有价值的贡献类型是平衡性反馈——分享哪些战斗枯燥、哪些卡牌从未被使用,或者你在哪里卡住了。该项目采用 MIT 许可证;除表情符号字符外,未使用任何第三方资源。