Block-Reign:玩家 vs AI 网格游戏,向你学习
Source: Dev.to

大多数游戏 AI 都是伪智能——基于模式、脚本、可预测的行为。
Block-Reign 并非如此。
它是一个轻量级的 玩家对 AI 网格对战游戏,AI 会真正从你每一局的胜负、失误中学习。无需 GPU、无需花哨的引擎——只用 Python、强化学习和持久化存储。
🕹️ Block-Reign 是什么?
Block-Reign 是一个 基于 10×10 网格的玩家对 AI 战斗游戏,使用以下技术构建:
- Flask + HTML 作为前端
- Python 作为游戏服务器
- 强化学习(Q‑Learning)用于实时对战
- DQN 用于离线高级实验
你在浏览器中玩,AI 在服务器上运行,每局结束后它都会变得更聪明。
🤖 AI 哲学
核心想法很简单:
如果 AI 只从真实对局中学习,而不是预训练数据呢?
于是 AI:
- 从愚蠢开始
- 只从 实际对局 中学习
- 永久保存其知识
- 适应 你的游戏风格
没有合成数据,没有脚本化行为——只有经验。
🧠 学习是如何进行的
运行中的服务器使用 Q‑learning AI。每局结束后:
- 将对局数据发送到服务器。
- AI 更新其 Q 表。
- 将进度保存到磁盘。
即使你重启服务器,AI 也会记住所有内容。
项目还提供了一个 DQN 训练器(ai_trainer.py)供实验使用。
📊 当前 AI 进度
截至最近一次运行:
- 胜率:约 59%
- 已进行对局:78 场
- 战绩:46 胜 / 36 负
这些统计数据 不是硬编码的;它们是通过学习得到、存储并持久化的。删除训练文件夹会让 AI 忘记一切。
🎮 游戏玩法
- 10×10 网格
- 方向键移动
- 空格键射击
- 简单机制,策略定位
- 快速对局,即时反馈
视觉简约,行为学习最大化。
🔁 重置 AI
删除训练数据:
training/
或删除特定模型文件:
training/models/simple_ai.pkl
然后重启服务器并重新开始游戏。AI 将从零开始。
🛠️ 我为何构建它
这个项目并不追求画面或抛光。它的意义在于:
- 理解强化学习
- 观察 AI 有机进化
- 在不需要大量计算资源的情况下构建自适应系统
🔗 代码仓库
https://github.com/DeveloperPuneet/Block-Reign
最后感想
Block-Reign 并不完美,但它很真实——一个 通过一次次失误获得智能 的 AI。
而这并不是终点。更狂野的策略、更犀利的玩法、更好的图形……更疯狂的东西即将到来。敬请期待 👀
有什么建议吗?在下方评论。