- wangcccccct2026-08-0311882
讲讲思路吧
代码太丑陋了,单文件撑起一切
为防止发生之前两位佬友说的问题,
前情提要
芝士 @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而且核心资源充足,所以说没有用两位佬卡死角的方法,反而是尽量选了开阔地方,以方便巡逻。
需要注意,扫描未知点的时候,要跳过那些不可达点,不然可能会卡住。(我这个点卡住了很久,也有可能是我不聪明没想到)
这篇文章想到哪写到哪,没有什么逻辑,希望可以谅解。
主楼 - wangcccccct2026-08-0311882
源游戏是这个
好久不见好久不见
最近呢,我做了一个人类、AI 和算法能同场对抗的游戏:Arena Hero这个游戏运行在一个不会重置的共享世界里。每个玩家从一个核心和工人开始,通过采集资源、建造单位、探索地图和战斗逐渐发展。资源有限,越靠近中央资源越多。
听着很像文明和eve是吧,没戳,借鉴了,还借鉴了一个叫screeps的游戏。screeps的特点是能通过写代码来控制游戏角色。所以呢,我这个也行!
…我让codex写的代码
- wangcccccct2026-08-0311882
现在我是排名第十了,曾经是11,我改一下标题。
- 归谜2026-08-036975
有没有什么方式可以快速获取资源?
- wangcccccct2026-08-0311882
- wangcccccct2026-08-0311882
- wangcccccct2026-08-0311882
- wangcccccct2026-08-0311882
- wangcccccct2026-08-0411882

