我想开发一款信息不完善的双人游戏 - “Stratego”。
游戏“有些”像国际象棋,但最初我们对对手棋子的排名一无所知。当一件作品被一些对手的作品攻击或攻击时,他们的等级被揭示出来并且较高等级的作品杀死/捕获较低等级的作品。 有关游戏的更多细节可以在here找到。
我做了一点研究。我读过J.A.的“Stratego中的对手建模”。斯坦凯维奇。但我找不到关于如何开发游戏的完整教程。我已经成功开发了一款双人游戏 - “奥赛罗”a.k.a.Reversi,我熟悉MINIMAX算法和alpha-beta修剪。
我发现蒙特卡罗树搜索也用于开发零和两人游戏。它可以用于像Strategiesgo这样的游戏吗?我可以获得相同的完整教程吗?
任何其他不涉及蒙特卡洛树搜索的教程也很有用:)
答案 0 :(得分:3)
我认为MCTS在Stratego中会遇到困难,因为最初的传播功能是如此之大,而最好的游戏非常依赖于游戏的真实性。也就是说,在最好的情况下,MCTS会给你一个在对手棋子的所有可能的变种中具有统计上优势的游戏,但最好的下一步行动高度依赖于他们的特定变化。已经选择了。
我仍然对MCTS有了深刻的理解,但在我看来,MCTS在涉及隐藏信息的多轮欺骗性游戏很重要的游戏中表现不佳(扑克,规范,但我会说,也)。在这样的游戏中,你真的需要开发一个其他玩家情境/策略的模型,MCTS本质上会给你一个与所有树有统计关系的答案,而不仅仅是地面真相树。
MCTS适用于涉及大量机会的游戏(步步高和其他涉及骰子和许多纸牌游戏的棋盘游戏),在我看来是一个很好的通用解决方案,可以迅速采用到大量的现代“欧洲 - 风格“棋盘游戏。 (有趣的是,尽管它们涉及“欺骗性策略”,但它们通常涉及相对较少的隐藏信息。)
答案 1 :(得分:0)
我不知道任何MCTS的信息不完整,并且似乎需要对算法进行大量修改才能使其工作。
即使在一个非常有限的Stratego类型中,每一方只有十件,只有两种类型,只有一个“更强”的一块,你仍然在玩十种可能的实际游戏中的一种。在完整的战略游戏中,由于起始位置的大量组合看起来相似,因此存在更多的不确定性。
似乎你还需要增加算法来捕捉“揭示的知识”,因为它发生了,例如,在我们的玩具示例中,碎片之间的每次相遇都会显示有关敌人位置的一些信息。
尝试这似乎很有意思,但最初仅针对一个非常有限的类似Stratego的问题,并且理解为现成的MCTS是不够的,并且您必须仔细思考并深入思考算法的正确扩展。