V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dashBit
V2EX  ›  程序员

好奇模拟类游戏的 ai 部分是怎么写的

  •  
  •   dashBit · 2023-03-31 15:12:59 +08:00 · 2373 次点击
    这是一个创建于 604 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道大家玩过一些模拟游戏不,类似于开罗游戏或者足球经理里的 ai 模拟部分的算法是怎么实现的,想了想鉴于自己算法不行,想问问大家的看法,写一款类似的篮球模拟,从文字模拟开始

    11 条回复    2023-04-01 21:36:35 +08:00
    yuhangch
        1
    yuhangch  
       2023-03-31 15:24:10 +08:00
    蹲一个大佬。
    zhanlanhuizhang
        2
    zhanlanhuizhang  
       2023-03-31 15:31:00 +08:00
    我记得是行为树。
    Alias4ck
        3
    Alias4ck  
       2023-03-31 15:40:40 +08:00   ❤️ 2
    当你不熟悉一个领域的时候可以去问问 gpt4 https://gpt.best/MBVVx0YZ
    cenxun
        4
    cenxun  
       2023-03-31 15:50:46 +08:00
    搬个小马扎
    thetbw
        5
    thetbw  
       2023-03-31 16:07:24 +08:00
    我蛮好奇那种经营类的游戏,比如地平线这种,这么多实体是怎么做模拟和性能优化的
    kop1989smurf
        6
    kop1989smurf  
       2023-03-31 16:16:30 +08:00   ❤️ 1
    最近几作不清楚,但过去的是两套系统,既复杂的实时模拟+简单的公式+随机。(用于快速跳过日期)

    足球经理、2K/NBA live 里面的经理模式都是如此。但凡是能“跳过时间”的,都是公式+随机。
    所以你会发现快速跳过某场比赛与加速模拟某场比赛在结果上有很大差异。

    至于说实时模拟部分的逻辑,如果让我设计,就是博弈树+随机+球员状态+公式+一些既定脚本来加权。
    举个例子,足球经理很老的作品里,在关键比赛中(升降级,淘汰赛,对手总体数值和我方相似,恶劣天气),很容易出现我队落后,你决策换人,此人力挽狂澜的这种既能刺激多巴胺,又比较俗套的剧本。
    coolmenu
        7
    coolmenu  
       2023-03-31 16:21:19 +08:00
    挺好的,以前总是想,自己要是做个足球经理应该怎么做?感觉很有意思
    kop1989smurf
        8
    kop1989smurf  
       2023-03-31 16:38:22 +08:00
    刚才又思考了一下,像篮球、足球比赛这种实体很少的模拟,其实用纯脚本也不是不行,只不过显得没那么极客。

    1 、对能力、策略、状态、战术、场外因素进行数值化。
    2 、针对球员这个实体,做一个基于以上数值化信息的策略脚本(包含无干扰、干扰*n 两种,毕竟一个球员同一时刻能执行的动作极其有限)。
    3 、编写剧情脚本(依据数值化有既定脚本执行,比如数值符合某规则的球员,三分球越投数值越高,直到 miss )
    3 、针对球队,做一个基于策略+球员数值的策略脚本。
    4 、编写一个赛场中 10 个实体的状态机(不能出现瞬移等情况)。
    tanjoe
        9
    tanjoe  
       2023-03-31 16:58:53 +08:00
    说个和模拟类可能无关的: https://unity.com/products/machine-learning-agents ,看起来适合训练动作对抗类的 AI Bot
    009694
        10
    009694  
       2023-04-01 00:03:20 +08:00 via iPhone
    未来会用强化学习的模型代替吗?
    xuanbg
        11
    xuanbg  
       2023-04-01 21:36:35 +08:00
    游戏里并没有什么 AI ,全是写死的逻辑+随机数。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   998 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:56 · PVG 02:56 · LAX 10:56 · JFK 13:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.