如何在树莓派上玩射击游戏,Raspberry Pi 安装Quake 3

在本指南中,记录下如何在树莓派上玩第一人称射击类游戏,需要安装和配置Quake 3。

《Quake 3》是第一人称射击游戏,可以进行多人竞技场射击竞赛。

虽然《Quake 3》早在1999年就已经发布,但在射击游戏爱好者中仍然备受推崇。

软件开发团队发布了引擎的源代码,现在它已经被移植到各种设备上运行,包括树莓派。

在本教程中,我将通过两种不同的方法让Quake 3在树莓派上运行。

第一个也是最直接的方法是使用通过包仓库提供的编译版本安装,这种方法虽然简单,但性能略差。

另一种方法是编译高度优化的Q3Lite,Q3Lite可以在树莓派上高帧数运行,这是比较好的选择。

既然要玩游戏,必然需要运行一个带有桌面界面的Raspberry Pi操作系统版本。

设备清单

下面是所有的设备清单,点击链接直达特别优惠购买

建议

可选

我在Raspberry Pi 4和Raspberry Pi 3B+上测试了本教程,运行的是Raspberry Pi OS的最新可用版本(Buster版本)。

软件包库中安装Quake 3

从Raspberry Pi OS软件包仓库安装Quake 3是最简单的方式。

与更快的Q3Lite相比,有几个优点。

首要原因是它的安装和运行超级简单。只需几个命令,就可以将Quake 3安装到Raspberry Pi上。

第二个原因是,如果使用的是树莓Pi 4,这是目前玩Quake 3 Arena的唯一方式。Q3lite目前还不支持Pi 4的硬件。

缺点是,性能还有很多需要改进的地方。一旦增加了多个玩家,帧数就会急剧下降。

将Quake 3安装到你的Raspberry Pi上

在本节中,完成Quake 3安装到Raspberry Pi上。

为了使这个过程简单化,我使用了Raspberry Pi OS资源库提供的Quake 3版本。

1. 第一个任务是更新操作系统。

可以通过运行以下两个命令来升级所有已经存在的软件包。

sudo apt update
sudo apt full-upgrade

2. 现在操作系统已经更新了,开始从资源库中下载Quake 3。

运行以下命令开始安装。

sudo apt install quake3

这个命令直接从Raspbian仓库下载软件包。请注意,这不包含游戏数据,只包含Quake 3 Arena引擎的移植版本。

3. 安装好Quake 3软件包后,需要通过下面的命令来下载游戏数据。

使用了一个名为game-data-packager的程序。这个程序会将Quake 3竞技场的演示数据下载到设备上。

game-data-packager quake3 -i --gain-root-command sudo

这个过程需要一些时间,因为它会下载Quake 3的数据并将其提取到所需位置。

4. 如果想使用Quake 3的零售版,那么你还需要遵循几个步骤。

首先,从Quake 3 Arena零售版安装中找到名为pak0.pk3的文件。

然后将该文件复制到Raspberry Pi上的以下目录/usr/local/games/quake3/baseq3。

在树莓派上运行Quake 3。

完成Quake 3的安装到Pi上,就可以运行它了。

1. 要在Raspberry Pi上找到Quake 3,打开开始菜单。

点击屏幕左上角的树莓图标即可打开。

2. 接下来需要将鼠标悬停在 “游戏 “菜单上(1. 将鼠标悬停在这个选项上,会弹出操作系统上安装的游戏列表。

在出现的菜单中,点击 “Quake 3 Arena “选项(2.

3. 现在已经在树莓派上运行Quake 3了,并且进入到它的主菜单。

在这个菜单中,可以开始一个新的游戏,并配置游戏的分辨率等设置。

在树莓派上编译Q3Lite

在本节中,完成在树莓派上编译Q3Lite。

使用Q3Lite版《Quake 3》最显著的优势是性能。

Q3Lite采用了ioquake3引擎,删去了不需要的功能,并实现了OpenGL ES渲染器。这两项改进结合在一起,使得所有的树莓PIS都能有更快的渲染速度。

使用此构建,可以在非超频的Raspberry Pi 3上轻松实现每秒超过60帧的速度。

现阶段,Q3Lite目前还没有对树莓派4的支持。不过,很快就应该会支持了。

编译Q3Lite到Raspberry Pi。

在本节中,完成将Quake 3编译安装到Raspberry Pi。

为了简化这个过程,使用Raspberry Pi操作系统仓库提供的Quake 3版本。

1. 在Pi上编译Q3Lite之前,需要确保操作系统是最新的。

可以运行以下命令更新所有现有的软件包。

sudo apt update
sudo apt full-upgrade

2. 接下来,需要安装编译Q3Lite所需的所有包。

运行下面的命令来安装所需的软件包。

sudo apt install git libasound2-dev libudev-dev libibus-1.0-dev libevdev-dev libdbus-1-dev libcurl4-openssl-dev fcitx-libs-dev libgbm-dev libsamplerate0-dev xinput

3. 包全部安装完毕后,来下载Q3Lite源码。

可以利用git程序来检索所需的代码。

git clone https://github.com/cdev-tux/q3lite.git

3. 现在cd到Q3Lite目录下。

cd ~/q3lite

4. 现在运行Q3Lite团队编写的bash脚本。

这个脚本将完成所有繁重的工作,编译Q3Lite软件以及下载它所需要的所有额外数据。

sudo ./make-raspberrypi.sh

这个编译过程会花费一些时间,这个过程在较新的Raspberry Pi上会更快些。

5. 下一步就是安装Quake 3 Arena的补丁数据。

使用make-raspberrypi脚本。

sudo ./make-raspberrypi.sh install

6. 在安装过程中,会被问到是否要下载更新的Quake 3 pak文件。

由于Q3Lite需要这些文件,输入y,然后按回车键。

7. 在脚本下载pak文件之前,需要同意idTech的EULA。

使用TAB键选择”<I Agree>”,然后按ENTER键。

8. 安装过程完成后,可以获取游戏数据来玩了。

获取Quake 3游戏数据

对于这一步,需要在其他设备上拥有Quake 3 Arena,或者下载并安装Quake 3 Demo。

1. 需要在Quake 3的安装目录下找到一个名为pak0.pk3的文件。

这个文件包含了Quake 3所需要的所有数据,包括关卡、角色和声音。

2. 找到了这个文件的位置,把它复制到Raspberry Pi上。

需要复制到的文件夹位于Raspberry Pi上的/usr/local/games/quake3/baseq3。

3. 把文件复制过来,就可以在目录上使用ls命令来验证一切是否正常。

ls -l /usr/local/games/quake3/baseq3/

从这个命令中,应该看到类似下面的东西。现在系统上已经有了所有需要的游戏包。

-rw-r--r-- 1 root root 479493658 Jun 11 09:30 pak0.pk3
-rw-r--r-- 1 root root    374405 Nov 14  2002 pak1.pk3
-rw-r--r-- 1 root root   7511182 Nov 14  2002 pak2.pk3
-rw-r--r-- 1 root root    276305 Nov 14  2002 pak3.pk3
-rw-r--r-- 1 root root   9600350 Nov 14  2002 pak4.pk3
-rw-r--r-- 1 root root    191872 Nov 14  2002 pak5.pk3
-rw-r--r-- 1 root root   7346884 Nov 14  2002 pak6.pk3
-rw-r--r-- 1 root root    320873 Nov 14  2002 pak7.pk3
-rw-r--r-- 1 root root    454478 Nov 14  2002 pak8.pk3
drwxr-xr-x 2 root root      4096 Jun 11 08:43 vm

在树莓派上玩Q3Lite

现在已经完成了Q3Lite的安装,终于可以在Raspberry Pi上启动它了。

1. 首先,打开Raspberry Pi上的开始菜单。

可以通过点击屏幕左上角的树莓图标打开开始菜单。

2. 在开始菜单中,需要将鼠标悬停在 “游戏 “选项上(1.

然后将鼠标悬停在 “Q3lite “文件夹上(2。

在弹出的菜单内,点击 “Q3lite “选项(3.

3. 现在有一个完全可以运行的Quake 3在Raspberry Pi上。使用优化后的Q3Lite引擎。

到这里,你应该已经在你的Raspberry Pi上安装并运行了Quake 3。

原文:

https://pimylifeup.com/raspberry-pi-quake-3/

翻译:

如何在树莓派上玩射击游戏,Raspberry Pi 安装Quake 3

用Python实现经典游戏《小蜜蜂》

估计很多老玩家在小时候都玩过Galaxian(小蜜蜂)吧。这款射击游戏的鼻祖叫《太空侵略者》,上手简单,但可玩性很强。

高手用C语言精准复现的1978年《太空侵略者》版本

《太空侵略者》大火之后,新推出的Galaxian(小蜜蜂)于1979年成为其最大竞争对手。由Namco发行的Galaxian为外星敌人提供了新的色彩和不可预测的动作,后者不但会发射炮弹,还会自杀式俯冲攻击。

《Galaxian》在街机游戏中大受欢迎,以至于Namco在两年后又发布了续作《Galaga》——这款游戏使攻击模式更加复杂。

很难说《Galaxian》究竟有多少移植和克隆的版本,因为几乎每个家用游戏机上都有类似版本。

小霸王平台的《Galaxian》

玩家在《Galaxian》中的角色与《太空侵略者》类似,驾驶一艘飞船与一支外星舰队战斗。

与《太空侵略者》不同的是,在《Galaxian》中,外星人总会打破队形向玩家的飞船发起俯冲轰炸。

玩家需要摧毁所有敌人,然后进入下一关。随着玩家的推进,一波又一波的敌人将让过关变得更加困难。

我们这里将着眼于外星人的俯冲机制,用Pygame Zero开发《Galaxian》游戏的核心功能。

用Pygame Zero开发的版本

首先,《Galaxian》拥有一个纵向显示画面,所以我们将游戏区域的宽度和高度分别设置为600和800。

接下来,我们可以用位图创建一个滚动的星空背景。​将位图逐渐往屏幕下方移动,用第二颗恒星来填充第一颗恒星向下滚动时留下的空间,我们还可以在后面添加另一个静态背景图像,这将提供一些视野深度。

然后,我们将玩家的飞船设置为Actor。并在update()函数中捕获左右箭头键,以便在屏幕上左右移动飞船。我们也可以用空格键发射子弹,子弹会沿屏幕向上移动,直到击中外星人或离开屏幕顶部。

和原版《Galaxian》一样,你一次只能发射一颗炮弹,所以我们只需要一个Actor。

外星人排成一行,一起在屏幕上左右移动。在这个例子中,我们只画一种类型的外星人,共画两行。你可以添加额外的类型和任意多行。当我们创建alien Actors时,我们还可以添加一个状态标志,我们需要确定当它们打破队形时,它们在行的哪一边,两边朝相反的方向飞行。在这种情况下,每行左边有4个外星人,右边有4个。

一旦它们在列表中建立起来,我们就可以在每次更新时遍历列表,并向前或向后移动它们。

当我们在移动外星人时,我们也可以查看它们是否与炮弹或玩家飞船相撞。

如果与炮弹碰撞,那么外星人将使用状态标志连续播放爆炸的那几帧,当状态达到5时,它们将不再被绘制到界面上。

如果碰撞发生在玩家的飞船身上,那么玩家会死亡,游戏也就结束了。

我们也可以检查一个随机数,看看外星人是否开始轰炸。如果是,我们将状态设置为1,这将开始调用flyAlien()函数。这个函数会检查外星人的位置,并根据侧边的不同改变外星人的角度,然后根据角度更改x和y坐标。为了方便大家看明白,我们这里处理的比较简单,你也可以使用一些乘数变量将其折叠到x坐标和角度上,将其收窄。

相关代码:

https://github.com/IoToutpost/Python_game

要运行调试请先安装Pygame Zero。

现在大家应该初步掌握了Galaxian游戏的基础知识。你可以试着完善它了。