1 坎巴拉太空计划 简介
坎巴拉太空计划(KSP, Kerbal Space Program)是由Squad开发的一款使用Unity3D引擎,拥有极高自由度的沙盒风格航空航天模拟游戏。正式版于2015年4月27日开始发行。在这里玩家可以在一个“平行世界”里扮演坎巴拉航空航天工作者,设计、建造和发射自己的火箭、航天飞机以及亚轨道飞行器,将航天器送入轨道,并探索整个坎星系。
在坎巴拉太空计划中,完成坎巴拉外星人种族的太空计划。您可以使用一系列零件来组装功能齐全的航天器,这些航天器将根据现实的空气动力学和轨道物理学进行飞行(或不飞行)。将坎星人送入轨道并转移其轨道,以探索坎巴拉太阳系中的卫星和行星,建造基地和空间站以扩大探险的范围。
Kerbal Space Program具有三种游戏模式。在“科学模式”下,执行太空实验以解锁新技术并增进对坎星的了解。在“职业模式”下,监督太空计划的各个方面,包括建设,战略,资金,升级等。在沙盒中,您可以自由构建具有游戏中所有部件和技术的任何太空飞船。
https://www.kerbalspaceprogram.com/game/kerbal-space-program/
话不多说,让我们来开始吧!
2 准备工作
2.1 KSP软件安装
卡巴拉太空计划从发行至今已有多款版本,随着每次版本的迭代,都会对相应的部分做以改进。这款大型沙盘类的模拟游戏,由于其具有近似实际环境下的情景模拟,使其更加的真实;另外除了可以手动操作外,该游戏还提供了相应的程序通信接口,这使得我们可以通过程序去控制游戏里面的航天器等设备。
由于游戏允许您从外界安装可扩展的模块,因此我们可以根据自己的需求去寻找所需的模块,去进行自己的设计;如有需求也可以通过程序通信去实现自己的控制算法,继而去验证和改进算法。
# 卡巴拉太空计划 v1.10.1下载:
链接:https://pan.baidu.com/s/18PCtvPiTmw7ZQ5hA_2Uh9A
提取码:ce3c
Kerbal Space Program v1.10.1
# 游戏更多扩展模块下载,请访问:
下载,完成之后解压缩即可,运行可执行文件KSP_x64.exe,安装到此结束。
# 官网正版授权,请您访问:
https://www.kerbalspaceprogram.com/game/kerbal-space-program-2/
2.2 KRPC服务器插件安装
KRPC插件下载,请您访问:
https://github.com/krpc/krpc/releases/download/v0.4.8/krpc-0.4.8.zip
下载完成,之后解压缩之后会得到如下的文件:
复制完成之后,去刚才安装的目录下执行粘贴操作,并选择替换目标中的文件即可,到此KRPC插件安装完成。
2.3 Python客户端安装
KRPC客户端支持C、C++、C#、Java、Lua以Python等程序语言,在这里我仅展示Python语言与其的通信。
Python有2.7和3.x两种版本,KRPC客户端均支持。如果您的计算机已安装过Python环境,则可跳过本节;若没有则继续:
在这里您需要注意你的操作系统位数,是64位还是32位,之后再下载对应的版本,以防止无法安装。
Python各windows版本下载地址,请您访问:
您也可以在您的浏览器直接访问下面的链接,来下载Python3.7.5 64位版本:
https://www.python.org/ftp/python/3.7.5/python-3.7.5-amd64.exe
由于网络问题,下载时间可能会有些长,您得稍等一会儿。。
等待安装完毕即可。
3 建立通信
3.1 运行游戏
在2.1节中,我们提到了游戏运行文件KSP_x64.exe,来让我们双击它,出现画面后耐心等会吧,它正在加载资源嘛!
3.2 通信设置
进入游戏后,我们先选择沙盒模式,并开始。
进入以后,一般会自动弹出上面红框所示的窗体,如果没有点击右下角所示图标即可。
单击“启动服务器”,…启动服务器!如果一切顺利,则指示灯应变成愉快的绿色。
## 记得一定要打开自动接收新客户端,一定要打开自动接收新客户端。
至此,KRPC端通信设置完毕。
3.3 为Python安装krpc库
在cmd命令行输入即可:
pip install krpc
3.4 连接(Hello KSP)
运行KSP并使用默认设置启动服务器。然后运行以下python脚本。
import krpc # 加载kRPC python模块
conn = krpc.connect(name='Hello World') # 打开与服务器的新连接
若右边窗体出现如图所示状态,则证明通信成功!!!
首先,恭喜您,成功建立了通信!!!
4 结束语
实现KSP与Python的通信,将对于我们后面在游戏中实现对航天器的控制更加方面,另外在做航天器控制算法层面上也比较易于实现。如果您对控制领域比较感兴趣,该款游戏也是非常实用的,特别是有了通信的建立,可以让您在其中尽情的发挥自己的才智。如果您不熟悉Python语言,你也可以尝试其他语言,例如C、C++、C#、Java或者Lua等程序语言。
您可以参考这篇文章,里面对于其他具体的内容也有详细地描述,欢迎访问:
更多内容可以关注我的微信公众号:我的学习交流小平台
了解一下我哈:关于我(About Me!)