我在制作一款 solo 地下城爬行卡牌游戏!
Source: Dev.to

先把显而易见的说清楚——它很丑。 这就是我目前为止在网页版地下城爬行卡牌游戏主界面所做的内容,灵感来源于桌面游戏 Scoundrel。
如果你没听说过 Scoundrel,大概也没见过它;一次 YouTube 随机推荐的视频激起了我的兴趣,于是我决定自己动手做一个版本。
为什么这么丑?
项目使用 React JS 构建,我正在学习它作为我的网页开发之旅的一部分。重点放在让核心游戏逻辑运行以及正确更新 UI。比如下面的截图显示页面加载时出现了四张卡牌,其中一张怪物卡的图标和力量是动态生成的。卡牌从牌堆中抽取,出现后会从牌堆中移除。

当我点击怪物卡时,它会被移除,玩家失去生命值,剩余的卡牌保持原顺序:

挑战
对 React 新手来说,实现这些机制是一次陡峭的学习曲线。经验丰富的开发者可能会更轻松,但从零开始编写逻辑的过程非常有成就感。
这不是 AI 项目
我偶尔会使用 AI 来回答快速问题(例如,useRef 的值是否可以放在 useEffect 的依赖数组中,或者为什么 public 文件夹中的图片加载不出来)。然而,约 99 % 的代码都是我自己写的,我尽量把 AI 的帮助控制在最低限度,以专注于技能提升。
大幅极端新手重构
我不喜欢花太多时间做计划;我更倾向于直接动手让东西跑起来。熬夜工作到凌晨 7 点后,我对大部分游戏逻辑进行了重构,使得点击卡牌可以在游戏的其他地方触发效果,如上图所示。重构过程很艰难,但我学到了很多,也毫不后悔。
游戏的设想是什么?
这是一款 单人地下城爬行卡牌游戏,精神上类似于纸牌接龙。玩家探索房间,遭遇怪物,寻找武器,收集药水。你必须决定是抢劫、战斗还是逃跑。目标是一路存活下来;如果生命值降到零,就会死亡:

规则非常细致——比如哪些武器可以攻击哪些怪物,逃跑的次数限制等——但核心概念很简单:在地下城中生存。
如果你想了解更细节的内容,随时提问(或者查阅 Scoundrel 以获取灵感)。
告诉我你的想法!
我很想听到大家对游戏创意、早期视觉设计,或是你在制作游戏时遇到的类似挑战的反馈。谢谢阅读! 🥳