使用人工、人工智能、机器人或计算机控制设计、运行和测试所需的情况

sc2simulator的Python项目详细描述


PyPIBuild StatusCoverage StatusCrates.io

Starcraft 2 Scenario Simulator

关于

此包的目的是为多个具有不同 星际争霸2的代理可以播放各种预建或生成的场景。这个 该软件包的用途多种多样,包括人工智能代理培训。

编辑器屏幕截图

editor -- roach is having a bad dayreapers vs lurkersbig choke battle

模拟器游戏示例

(保留)

状态

此软件包正在进行beta测试。引用定义的issues 以便更好地了解哪些是有效的,哪些不是有效的。如果发现了什么 为了不工作,请提交一个新的问题

理由:为什么要创建这个存储库?

虽然在许多,许多的过程中会遇到各种各样的情况 近战游戏,这种方法有几个问题具体情况 很少发生,可能在比赛过程中发生一次(通常 持续约20分钟,实时速度可达一小时以上),可能不会发生 即使是几百场比赛中的一次这使得训练变得困难,缓慢 需要更多的数据

通过允许人工创建情境,用户可以测试 代理的功能。可以创建一组特定的测试 比较实现的性能。它还允许 对于要快速创建和测试的特定类型的情况, 提高玩家学习速度的变化。

功能性

简要概述
  1. 使用特定选项调用模拟器。

    • 场景小编辑器:如果使用--editor调用编辑器,则 小编辑器显示为创建或修改播放场景除非 选择选项也可以播放指定的场景,编辑器将关闭。

    • 回归测试:当指定--回归时,预定义的 测试场景使用与自定义游戏相同的功能运行,场景除外 对于每个预定义的方案设置,将忽略选择条件。

    • 自定义方案:自定义选项允许播放器设置特定的 要测试的场景,包括对手的设置。每个代理加入一个现有的 使用--join选项的场景。

    • join:允许玩家最多指定自己的代理和 任选其所需的对手。场景的所有其他参数是 由方案创建者确定。

  2. 每个玩家都可以通过SC2GameLobby软件包自动连接到游戏。 默认情况下,这发生在Versentiedge的公共匹配梯形图服务器上

  3. 一旦进入游戏,场景就设置好了。

    • 如果指定了升级,则每个玩家的客户端控制器都会创建 技术生产单位和(启用作弊)自动研究 场景指定的升级这最多会再过一次 比指定的方案持续时间多21秒(这是必需的 由于暴雪的api协议中的行为。)

    • <>主机删除现有的单元,然后按指定的方式创建单元。 根据情节

  4. 只要使用--duration选项指定,游戏就可以继续。

  5. 根据使用--loops的指定,可以多次重复该场景 选择。对同一场景的每个循环重复步骤2-4。

  6. 对于每个场景迭代,每个播放器都会在本地保存一个重播。

命令示例

python -m sc2simulator --editor --mapname=parasite

python -m sc2simulator --custom --unitsMax=7 --ground --players=defaulthuman,blizzbot5_hard --ladder=True

python -m sc2simulator --race=zerg --enemyrace=terran --defense=3 --year=2018 --season=3 --players=defaulthuman,blizzbot5_hard

python -m sc2simulator --cases=<yourScenarioName> --mapname=MechDepot --players=test,blizzbot5_hard

注意:选择玩家'test'或'defaulthuman'将允许您以人类的身份进行游戏。 使用自己的自定义代理需要额外的播放器设置来定义 代理设置和执行/回调函数。

加州用法

  • 如果您安装的星际争霸2地图目录(例如C:\程序文件(x86)\星际争霸II\maps), 编辑器可以删除这些地图。子文件夹中同名的映射 在地图下面…是安全的。

  • 包括技术升级和一些功能(如平衡矿产成本, 单位dps等)仅在您也可以访问sc2techtree时才可用 包裹。如果有兴趣,请愿@ttinies

  • 在玩你的ai/bot时,你的bot可能需要在游戏中等待片刻 在场景完全设置之前。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中Levenshtein算法在交换单词时的不同结果   regex Java未知字符作为[azAz09]*?   java如何使图表显示数组元素   java错误:在CMD中编译时无法找到或加载主类   java Jsp获取所有以字符开头的参数   java无法使用spring boot jpa构建Hibernate SessionFactory   MainActivity中带有附加项的java存储捆绑包   java试图捕获特定的ConstraintViolationException   java这个字符串循环中有什么错误?   在Java中为具有自定义过期时间的事件流缓存持久缓存   java如何修复此错误:参数索引超出范围   所有类型Java的“对象”列表   java实体组   java在导入库依赖于其他包的项目中遇到问题