我要提问
ARTICLE DETAIL

资讯详情

前沿编程新知与开发实战干货的深度解读。

python-sc2星际争霸II机器人开局实战:虫族速攻到神族炮袭,10+套可直接复用的策略Bot指南

python-sc2星际争霸II机器人开局实战:虫族速攻到神族炮袭,10+套可直接复用的策略Bot指南 python-sc2星际争霸II机器人开局实战虫族速攻到神族炮袭10套可直接复用的策略Bot指南【免费下载链接】python-sc2A StarCraft II bot api client library for Python 3项目地址: https://gitcode.com/gh_mirrors/pyt/python-sc2python-sc2是一款面向 Python 3 的星际争霸II机器人API客户端库让你用简单的 Python 代码就能编写出虫族速攻、神族炮袭、人族 proxy 基地等经典开局策略。它把复杂的实时战略指令封装成几十行可读代码是入门 AI 与游戏编程的最佳实战项目之一。目标读者会一点 Python 的初学者、AI 爱好者、想写自己第一个星际机器人的玩家。 为什么选择 python-sc2 学习星际争霸II机器人代码极简官方承诺一个 worker rush 机器人不超过 20 行代码而不是 200 行双抽象层既提供self.train()、self.build()这类高级指令也保留底层 API 自由度开箱即用的策略库examples/目录下内置15 个完整开局策略覆盖三大种族支持实时对战既可离线跑完整对局生成回放也能realtimeTrue真速对战核心入口在sc2/目录重点文件包括sc2/bot_ai.py—— 机器人主类 BotAI所有策略的父类sc2/unit.py/sc2/units.py—— 单位查询与指令sc2/maps.py—— 地图加载sc2/main.py—— 对局启动器run_game 三步完成安装配置最快上手方法第 1 步安装库需要 Python 3.9一条命令安装安装即同意暴雪 AI 与机器学习许可协议pip install --upgrade burnysc2也可以从源码安装git clone https://gitcode.com/gh_mirrors/pyt/python-sc2 cd python-sc2 pip install --upgrade --force-reinstall .第 2 步准备游戏客户端Windows / macOS 直接通过暴雪客户端安装星际争霸II即可Linux 可参考sc2/wsl.py相关说明配置SC2PATH、WINE等环境变量。第 3 步放入地图官方暴雪地图解压到Maps/Ladder2017Season1/等子目录AI Arena 天梯地图如 AcropolisLE直接解压到Maps/根目录例如Maps/AcropolisLE.SC2Map✅ 验证成功运行任意示例即可拉起游戏python examples/protoss/cannon_rush.py 虫族开局策略代码清单examples/zerg/策略文件开局思路适合学习点zerg_rush.py孵化场→菌毯扩张→异虫速度速攻小狗齐射侦查目标选取、王虫产卵注入worker_split.py一半工蜂骚扰主力速开分矿资源双线调度expand_everywhere.py疯狂铺满全图基地建筑放置算法can_place_singlehydralisk_push.py速刺球抱团推进群体集火指令onebase_broodlord.py单基地爆飞龙不扩张单基地经济极限banes_banes_banes.py连续三基地憋王虫长线节奏以虫族速攻为例核心逻辑浓缩在on_step回调中菌毯未铺满前持续出小狗Zergling攒满 100 气体后研究ZERGLINGMOVEMENTSPEED异虫速度基地被摧毁后全体执行attack集火敌方出发点。文件 zerg_rush.py 中还演示了如何用draw_creep_pixelmap()把菌毯渲染成像素图方便调试视野逻辑。✨ 神族开局策略代码清单examples/protoss/策略文件开局思路适合学习点cannon_rush.py水晶塔光子炮塔直插敌家门口远程建筑放置、psionic_matrix覆盖判断warpgate_push.py传送门速产潜伏者推进传送门落点搜索find_placementthreebase_voidray.py三基地虚空射线多基地宏观节奏find_adept_shades.py高阶单位体系进阶兵种搭配神族炮袭cannon rush是建筑即武器的典范on_step里先保证 16 探机接着依次建水晶塔、锻炉随后把第二、三座水晶塔和光子炮塔直接放在敌基地附近——代码只用了几句self.build(UnitTypeId.PHOTONCANNON, nearpylon)就实现了炮塔堵门战术非常适合作为第一个读懂的策略文件。 人族开局策略代码清单examples/terran/策略文件开局思路适合学习点proxy_rax.py补给站兵营全部摆在敌门口海军齐射Proxy 建筑放置、15 只一波进攻节奏mass_reaper.py单基地 4 兵营爆死神高强度微操微操收割/放血/治疗onebase_battlecruiser.py单基地出战列巡洋舰空中兵种 目标选取函数ramp_wall.py坡口架桥防守稳扎稳打坡道机制、升降补给站cyclone_push.py飓风炮推家按帧间隔周期性进攻指令人族的 mass_reaper.py 特别值得研究它被作者标注为首批高微操示例之一死神对敌方精英难度Difficulty.VeryHardAI 都有真实胜算是学习单位级微操的标杆代码。⚔️ 不止打电脑Bot 对战 Bot 与竞技模式写完策略还可以让它们互相较量Bot vs Botbot_vs_bot.py 让两个 Python 机器人同场竞技竞技机器人examples/competitive/目录提供 bot.py 与 run.py配合ladderbots.json管理参战机器人列表对战回放watch_replay.py可逐帧回放比赛录像simulate_fight_scenario.py用于搭建模拟交战场景分布式跑图distributed_workers.py演示如何并行运行多场对局做批量测试 新手必懂的 5 个核心概念读完秒会继承 BotAI所有策略类都继承自sc2.bot_ai.BotAI重写on_step(iteration)即可每帧执行逻辑资源判断self.can_afford(UnitTypeId.X)检查矿/气是否够self.train(X)出单位await self.build(X, near...)放建筑单位查询链self.units(UnitTypeId.ZERGLING).idle这种类型状态链式过滤是全库最常用的写法敌情感知self.enemy_start_locations[0]是敌方出发点self.enemy_structures是可见敌方建筑游戏启动一切策略最后都以run_game(地图, [Bot(...), Computer(...)], realtime...)收尾一个能跑的最小骨架长这样class MyBot(BotAI): async def on_step(self, iteration: int): if iteration 0: self.workers.random.build(UnitTypeId.SPAWNINGPOOL) run_game(maps.get(AcropolisLE), [Bot(Race.Zerg, MyBot()), Computer(Race.Terran, Difficulty.Medium)])❓ 常见问题FAQQ机器人跑得太快看不清加realtimeTrue参数让游戏按真实速度运行或调小self.client.game_step如设为 2降低回调频率。QLinux / WSL 下连不上游戏设置SC2PATH指向游戏目录WSL2 需额外设置SC2CLIENTHOST与SC2SERVERHOST详见 README 中 WSL 章节。Q想优化性能在__init__中开启self.raw_affects_selection True或把distance_calculation_method设为 2scipy cdist 距离计算test/目录下有多个 benchmark 文件可对照测试。Q官方文档在哪本地文档源在docs_generate/目录Sphinx 结构核心模块均带 docstring 与类型标注IDE 中可直接悬停查看。 学习路线建议先跑通examples/protoss/cannon_rush.py最直观的速攻逻辑再读examples/zerg/zerg_rush.py理解资源采集与升级节奏挑战examples/terran/mass_reaper.py体验微操写法最后用examples/competitive/让策略们打一场正式对决 从 20 行 worker rush 起步到 400 行微操机器人进阶——python-sc2 让用 Python 写星际争霸II AI这件事真正做到了开箱即战。打开examples/目录挑一个你最喜欢的种族开局今天就开始你的第一个机器人吧【免费下载链接】python-sc2A StarCraft II bot api client library for Python 3项目地址: https://gitcode.com/gh_mirrors/pyt/python-sc2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表