Arena Hero第三的算法

wangcccccct 2026-08-03 22:25 1

讲讲思路吧

代码太丑陋了,单文件撑起一切


为防止发生之前两位佬友说的问题,


前情提要
芝士 @HenryXiaoYang 做的Arena Hero游戏,一开始是被注册码吸引的,进来发现还蛮有趣的: 【狂撒LDC和注册码兑换码中】我做了一个人类,AI ,算法同场对抗的游戏:Arena Hero - 福利羊毛 - LINUX DO
开玩!
我当时是直接把 Arena Hero Skill 先给到agent进行了一个规则的学,然后布置了我的保守策略(苟!):

作为讨口子,…


最近佬友们出了很多好玩的小游戏,好玩,就是肝有点痛~
昨天玩了 @HenryXiaoYang 佬做的Arena Hero,又肝到凌晨4点才睡,分享下我的游戏过程吧,听说还有LDC拿^-^
【狂撒LDC和注册码兑换码中】我做了一个人类,AI ,算法同场对抗的游戏:Arena Hero - 福利羊毛 - LINUX DO
游戏玩法就不说…


也就是被偷家,我让两个ranger在半径为6的地方,走环形巡逻。一旦发现核心危险了,Core可以使用储备着的资源来生成单位,以及所有在外的攻击单位都会回中央辅助防守。(虽然到目前为止没有使用到)如果单位达到19个,但是这个时候发现离Core较近的地方出现了敌人,这个时候让周围的一个较远的Worker执行自毁,然后生产一个或多个ranger(取决于敌人数量)。


如果发现敌人的其他单位,离核心不是特别近,那么除了两个巡逻的Ranger之外的所有攻击单位都会冲向那边,并调度周围Worker进行堵路。若敌人被认为未死亡,但是消失的情况,会去追,如果一定范围内没有看到或者说一定时间内没有找到,那么就标记为不存在,然后就不管他了。(这里的一定时间为的是防止反复横跳。)


对于攻击策略,会尝试攻击所有敌人可能的方向以及敌人的当前位置(这里算法还没写好,暂时没判断敌人有没有上线,理论上敌人如果被判定为下线,应该只对着他的位置打的。)优先打core。


对于发现敌人的单位,在其他单位赶到前,它会尝试跟踪敌人并尝试确保敌人始终在其视线内,如果掉血会尝试回血。


由于敌人可能在曾经扫描过的区域内,但是在当前可见范围外生成,所以说对所有区域记录了上一次可见时间,然后定期回访,顺便如果资源不足的时候,也可以看到有没有新增资源。

在我的图中可以看到,有部分目的地为横跨整个可见区域的,这些目的就是探路和回访。

我的图片中,实心点为目的地,虚线为从出发地指向目的地的直线,路径目前没有显示不然我认为会比较乱。


在核心资源满时,Worker在收集到资源之后,不会尝试回去放置资源,而是探路,此时所有单元都会去探路。


因为有Ranger而且核心资源充足,所以说没有用两位佬卡死角的方法,反而是尽量选了开阔地方,以方便巡逻。


需要注意,扫描未知点的时候,要跳过那些不可达点,不然可能会卡住。(我这个点卡住了很久,也有可能是我不聪明没想到)


这篇文章想到哪写到哪,没有什么逻辑,希望可以谅解。

最新回复 (8)
  • wangcccccct 楼主 08-03 22:36
    2

    源游戏是这个


    好久不见好久不见
    最近呢,我做了一个人类、AI 和算法能同场对抗的游戏:Arena Hero

    这个游戏运行在一个不会重置的共享世界里。每个玩家从一个核心和工人开始,通过采集资源、建造单位、探索地图和战斗逐渐发展。资源有限,越靠近中央资源越多。
    听着很像文明和eve是吧,没戳,借鉴了,还借鉴了一个叫screeps的游戏。screeps的特点是能通过写代码来控制游戏角色。所以呢,我这个也行!



    我让codex写的代码

  • wangcccccct 楼主 08-03 22:44
    3

    现在我是排名第十了,曾经是11,我改一下标题。

  • 归谜 08-03 22:45
    4

    有没有什么方式可以快速获取资源?

  • wangcccccct 楼主 08-03 22:47
    5

    到处晃找资源,

    以及打掉别人的核心。

  • wangcccccct 楼主 08-03 22:49
    6

    按照作者的说法,资源每4个单位时长,也就是60秒刷新一次,会在缺少的区块随机补上一些。

    这就是为什么,即使到处晃,也可能找到资源。

    甚至在已经看过的地方也有可能会找到。

  • wangcccccct 楼主 08-03 22:52
    7

    补一下图片


  • wangcccccct 楼主 08-03 23:00
    8

    请教一下,信标附近人多吗?

    您似乎得过信标。

  • wangcccccct 楼主 08-04 07:12
    9

    排名给干到第三了。

    图片里就是什么叫跟踪者。

* 帖子来源Linux.do
返回