星际歼击 Star Strike:一款纯网页的竖屏太空射击游戏

忙碌间隙想来一局爽快的射击?不用下载、不装 App,打开网页就能打。
本文介绍本站自制的 HTML5 游戏《星际歼击 / Star Strike》——竖屏适配、手机手指拖动与电脑键盘都能玩,含多向弹幕、强化道具、每 5 波一场三形态首领战,还有攒满能量一键清屏的终结技。


一、这是什么游戏

《星际歼击(Star Strike)》是一款运行在浏览器里的竖屏太空射击游戏。不依赖任何后端、不装插件,手机和电脑的浏览器直接打开即玩。

核心循环很经典:操控飞船在底部灵活走位,按住持续开火,从弹幕中突围,一波波清掉敌机;每 5 波遭遇一次首领,活得越久、打得越准,分数越高。

二、操作方式

游戏同时支持触屏和键盘,切换无感:

平台 操作 说明
手机 手指拖动屏幕任意位置 飞船跟随手指移动(竖屏推荐)
手机 按住屏幕 持续开火,松开停火
手机 点击终结技按钮 能量满时释放(竖屏在右下角)
电脑 WASD / 方向键 移动飞船
电脑 空格 开火
电脑 ESC / P 暂停

提示:手机上「拖动即移动、按住即开火」手感很顺,单手就能玩;接外接键盘则是标准街机操作。

三、四种强化道具

击落敌人或清波会掉落道具,捡到后短时间生效:

  • M — 多重射击:从单发变为五向扇形弹幕,清场效率直接翻倍。
  • S — 能量护盾:短时间里免疫伤害,硬抗弹幕的保命神器。
  • B — 引擎加速:提升飞船机动性,更容易穿弹幕、抢走位。
  • H — 护甲修复:立即恢复生命值,残血翻盘的资本。

四、首领战:三形态进化

每 5 波 一场首领战,而且首领不是一刀死的木桩——它会三形态进化:

  1. 扇形弹幕:开局铺开大范围扇形,逼你走位。
  2. 螺旋弹幕:弹道变成旋转螺旋,需要贴着缝隙钻。
  3. 狂暴召唤:进入狂暴状态,一边召小兵一边压制。

这套递进让中后段的每一场首领都像一个小 BOSS 关,策略也从「躲」逐步变成「躲 + 抢输出窗口」。

五、终结技:满能量一键清屏

命中敌人会积攒能量条,攒满后按 J(手机点右下角按钮)释放终结技:

  • 时停减速:全场敌人/弹幕大幅减速,给你喘息空间;
  • 贯穿激光:一道贯穿激光持续输出;
  • 清弹:瞬间清空当前屏幕上的弹幕。

它本质上是给玩家一个「被弹幕压死前翻盘」的保险,也是冲高分的爆发窗口。

六、技术亮点

  • 跨端即开即玩:同一份代码自适应手机与电脑,触屏/键盘双输入。
  • 轻量流畅:纯前端实时渲染,随手打开就能跑,关掉也不占空间。
  • 数据本地留存:最高分、到达波次等个人记录存在浏览器本地,关掉网页也不丢。

七、试玩入口

直接打开即可开打:星际歼击 Star Strike 试玩

游戏免费、即点即玩,适合通勤、摸鱼、等咖啡的碎片时间。欢迎试玩,也欢迎在评论区聊聊手感,或你想加的玩法(比如新道具、排行榜、Boss 机制)。


本文介绍的游戏由本站开发,试玩与反馈入口见上方链接。

如何在树莓派上玩射击游戏,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游戏的基础知识。你可以试着完善它了。