Skip to content

失落深空

游戏介绍

失落深空是一个四人回合制对战游戏。

玩家可以控制自己的角色在地图上行动、收集物资或与其他玩家交战。为了获得游戏胜利,玩家需要集齐四把密钥,并前往逃生舱启动逃离程序。每把密钥均对应一名玩家,使用其他玩家的密钥机或拾取其他玩家死亡后的掉落物均可以获得对方玩家的密钥。因此,玩家需要同时兼顾以下三件事情:收集物资增强自身战力;防守密钥机,阻止敌人获得自己的密钥;通过机动或战斗设法获得其他玩家的密钥。玩家必须小心地规划自己的行动,在进攻、防御与发育中做出抉择,才能战胜对手取得胜利。

参赛流程

加入小组

为了方便管理,本次赛事的所有比赛将以小组的形式举办,请在小组页面加入本次赛事的小组第25届智能体大赛

下载游戏包

点击游戏页面右上角的下载游戏包按键下载游戏包,游戏包使用说明附后。

编写 AI

请参考游戏包中的教程编写 AI。建议在样例 AI 的基础之上修改代码。

提交代码

用户可以在「我的AI」处提交自己的 AI,可根据实际情况选择对应编译语言(C++选择C++ with makefile,python选择 python [.zip]),编译成功后便可将 AI 派遣到对应比赛。

派遣 AI

第一轮初赛暂定为小组赛制,将 AI 派遣至小组内的初赛即可参加比赛。

测试方法

本地测试

我们提供了一个本地裁判程序 judger.py 用于评测本地 AI,具体使用方法为:在 judger.py所在的文件夹下输入指令

python3 <judger.py位置> <启动游戏逻辑指令> <启动AI0指令> <启动AI1指令> <启动AI2指令> <启动AI3指令> <配置信息> <生成录像文件路径>

例如,游戏逻辑包为src文件夹, 需要评测的4个 AI 分别为./sdk/main, ./sdk/main, ./sdk/main , ./sdk/main。可在 Windows 下使用如下指令:

python3 judger.py python+-m+src+.\src\mapconf2.map .\sdk\main.exe .\sdk\main.exe .\sdk\main.exe .\sdk\main.exe replay.json

而在 Linux/Mac 下使用:

python3 judger.py python+-m+src+./src/mapconf2.map ./sdk/main ./sdk/main ./sdk/main ./sdk/main replay.json

AI将使用C++或python编写。对局完成后,会将对局文件存入 replay.json

Tips

对于 Python 选手,我们预装了 numpy,pytorch 等库方便大家使用,由于选手程序单进程的限制,在导入 numpy 库之前,需要增加如下配置让 numpy 只使用单线程:

import os
os.environ["OMP_NUM_THREADS"] = "1"
os.environ["USE_SIMPLE_THREADED_LEVEL3"] = "1"

附:游戏包使用说明

游戏包主要由两部分构成:逻辑包logic/和播放器player/

逻辑包包含所有和游戏逻辑、AI代码和测试相关的内容,播放器用于游戏可视化,支持在线人机对战和离线对局回放。

我们提供了一些文档以帮助玩家了解如何进行比赛,文档位置及推荐阅读顺序如下:

1.失落深空游戏规则介绍,位于游戏包根目录,快速了解游戏规则。

2.逻辑包readme,介绍逻辑包整体架构。

3.sdk文档,judger使用说明,位于逻辑包readmes文件夹下。该文件夹下其他文件选择阅读即可。

4.播放器使用文档,位于播放器包下,介绍如何使用播放器。

读完文档便可以开始着手编写AI啦,友情提示,选手需要完成logic/sdk/文件夹下的代码。

有任何问题欢迎在失落深空交流群提出,祝好运~