Skip to content

Releases: ice-wocker/GunFire

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 10:22

Full Changelog: v0.2.0...v1.1.0

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 08:27

GunFire v1.0.0

一个纯粹的安卓枪战游戏。623 KB,零第三方依赖,零权限。

打开就能玩:不需要账号、不需要联网、不申请任何权限——不是「承诺不上传」,是技术上没有权限可用。

下载

  • app-release.apk(623 KB) —— 推荐,R8 压缩 + 资源裁剪,可直接安装
  • app-debug.apk(3.1 MB) —— 未压缩,仅用于调试

最低 Android 7.0(API 24),目标 API 35。纯 Java + OpenGL ES 2.0,无 native 代码,
支持任意 ABI。用仓库内的演示 keystore 签名。

校验(SHA-256):

a3e26d0ad63795531b0358b900df2004ac7a44bbd9ca3def2a7d8d314daa3224  app-release.apk

怎么玩

横屏第一人称射击,你站在一个对称射击场中央:

操作 位置
移动 左半屏拖动
转视角 右半屏拖动
开火 右下角点击

打空弹匣自动换弹,连射越久散布越大。场上 9 个目标,全部击倒后刷新一波。
HUD 实时显示得分、命中率、剩余目标、弹匣余量和帧率。

这一版修掉的 5 个真实缺陷

编译通过不等于能玩。以下都是写单测时被逼出来的:

  1. 立柱挡在自己的射击走廊正中间 —— 场地立柱按 x = -14, -7, 0, 7, 14 排布,
    x=0 那颗正好在玩家出生点正前方。站着不动打不中任何目标。
  2. 枪口比靶子还宽 —— 散布 heat * 0.035 弧度,而 20 米外目标半高只对应 0.0146 弧度,
    散布角是目标张角的 2.4 倍。实测 300 发命中 0 次。
  3. Camera.forward() 的 yaw 符号写反,yaw=0 时朝 +Z —— 按前进键会倒着走。
  4. 偏航角只做单次回绕 —— 一次给 10000 像素增量会残留到 1571 弧度。
  5. 矮箱子碰撞判断写反,把玩家挡死在原地。

为什么只有 623 KB

不引游戏引擎(Unity / Godot / libGDX 一个都没有),直接写 OpenGL ES 2.0;
不带任何素材文件(没贴图、没模型、没音频),世界全是程序生成的几何体。

关键设计是把「规则」和「平台」切开:GameWorld 里一个 android.* 都没 import,
所以整套游戏规则能在普通 JVM 上毫秒级跑完 27 个单测,不需要模拟器。
上面 5 个 bug 全靠这条边界才被抓出来。

已知限制

  • 没有敌人 AI(目标是静止靶子,只有轻微上下浮动)
  • 没有声音(要加音频得引素材文件,会破坏「零素材」这条线)
  • 没有多人
  • 手感参数未经真人验证——散布、后坐力、摇杆灵敏度是按「数学上能打中靶子」推出来的,
    都集中在 GameWorld 的常量里,改一个数字就生效

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 09:32

Full Changelog: v1.0.0...v0.2.0