大家好! 👋

我想与大家分享最近我正在工作的项目——Wall Go AI——一组经典抽象策略游戏(包括围棋/百日红、Pente、Yinsh和Onitama),您可以直接在Reddit feeds中与自定义AI机器人进行游戏。

您可以尝试并在这里玩: r/WallGoAi

我想分享一下这个项目背后的故事、技术栈和我遇到的挑战。

🧠 技术栈和AI集成
该应用程序使用Devvit Web平台(React/Vite在iframe内运行)。由于这些抽象策略游戏需要复杂的棋盘评估和AI对手,我使用了 Google AI Studio 来帮助开发和优化游戏逻辑。 AI不仅可以在不同难度级别下与您比赛,还可以作为一个建议者,提供您在游戏中的策略建议!

🗄️ 数据库和排行榜(Firebase REST)
最有趣的技术挑战之一是实现一个全局排行榜、玩家统计和成就(徽章)系统。 我决定使用Firebase作为后端。然而,为了保持轻量级并完美兼容Devvit沙盒环境中的iframe环境,我使用了 Firebase REST API 直接构建了所有数据库交互(使用fetch),而不是依赖于重量级的标准Firebase SDK。它可以轻松地获取排名、修复分数和解锁徽章。

⚙️ 处理复杂的游戏状态
像Yinsh和Onitama这样的游戏有非常具体和复杂的规则(例如,捕获5对、旋转移动卡片)。管理React状态、计算有效移动、动画棋子并确保AI快速响应而不冻结UI是一个巨大的挑战,但同时也非常令人满意的学习曲线。

🚀 下一步
我刚刚发布了一个大型更新,修复了排行榜排名错误并改善了得分系统。

我绝对希望您尝试它。给AI一个挑战,尝试解锁一些徽章,并告诉我您的想法! 对Devvit实现、性能、UI/UX或AI难度的任何反馈都将大大受益。

感谢阅读!

https://preview.redd.it/ubrgrzwgs69h1.png?width=372&format=png&auto=webp&s=75a426e524824f2b85b5b52b4771f5a567f4fd69

https://preview.redd.it/lv31fvj5t69h1.png?width=372&format=png&auto=webp&s=9fbc4ee363420599625ba3054a7bec5f2190ee3e