# helo-town **Repository Path**: lanternfire/helo-town ## Basic Information - **Project Name**: helo-town - **Description**: 《赫洛镇》HELO TOWN — Android 单机生存恐怖垂直切片。父亲、清单、雨,和一座用日常方式让人发疯的小镇。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-11-05 - **Last Updated**: 2026-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 赫洛镇 / HELO TOWN > **v0.5:20 种武器,6 件随身,打法完全不一样。** > 一个父亲在丧尸小镇里找女儿。故事还在,但战斗、武器和搜刮才是主体。 ![标题](Docs/Images/00_title.png) **《赫洛镇》是一个 Android 单机动作生存垂直切片。** 离线运行,触屏操作。20 种近战/远程/投掷武器、10 类基础/精英丧尸 + 4 种习惯型丧尸、尸群事件、武器库、蓄力重击、连击、熟练度、改造、3 个可玩日夜、3 套终局。 - 版本:v0.5.0(Days 23–25) - 平台:Android 6.0+ - 引擎:原生 Android WebView + Canvas 2D / WebAudio - 语言:简体中文 - 仓库: --- ## 下载与安装 **APK:** ![扫码下载 APK](Docs/Images/apk_qr.png) 1. 在安卓手机上下载 APK。 2. 允许“安装未知来源应用”。 3. 安装后打开《赫洛镇》。不需要联网。 > 如果你还装着 0.1.0,请先卸载;0.1.1 及以后可以直接覆盖安装到 0.5.0。 > 当前 APK 使用开发签名,适合直接安装试玩,不适合上架应用商店。 --- ## 操作 | 操作 | 行为 | |---|---| | 左侧摇杆 | 移动;推到底奔跑 | | **攻击(轻点)** | 轻击,三段连击;第三下是终结技 | | **攻击(按住)** | 蓄力;松手放武器专属重击 | | 「闪」 | 向移动方向闪避,短暂无敌 | | 「换」 | 打开武器库,查看/切换 6 件随身武器 | | 「枪 / 投」 | 远程射击,或者投掷燃烧瓶/砖头 | | 「互动」 | 交谈 / 开门 / 搜索 | | **长按「互动」** | 1.5 秒快翻 / 4 秒细搜 / 7 秒拆解 | | 「蹲」 | 蹲伏、潜行、背后处决 | | 右上「背包」 | 12 格物资;武器不占背包 | | 右上「线索」 | 独立线索栏 | ### 武器不是背包,是武器带 - **6 件随身武器**:按「换」打开武器库,点一下装备。 - **12 格物资背包**:食物、水、绷带、材料、弹药、钥匙。 - **10 格安全屋武器架**:带不下的武器自动放回地下室,回安全屋可以换。 - **武器图鉴**:已发现 20 种武器,未发现的显示“???”;每把有独立伤害、范围、耐久/弹药、特效、重击、熟练度。 --- ## 20 种武器:五个大类,五种打法 | 类别 | 武器 | 打法 | |---|---|---| | 钝器 | 棒球棍、钉头棍、铁管、撬棍、大锤 | 眩晕、击退、破甲、范围冲击 | | 利刃 | 砍刀、剁骨刀、消防斧 | 快斩、流血、重劈 | | 长柄 | 铁锹、干草叉、钉矛 | 横扫、穿刺、钉住、远距离安全输出 | | 枪械 | 钉枪、左轮、霰弹枪、猎枪、十字弩、信号枪 | 钉住、穿透、扇形、远程狙杀、安静、燃烧 | | 投掷 | 燃烧瓶、砖头 | 火墙、范围击晕 |\n| 特种 | 电锯 | 按住持续锯切、重流血、极吵;球场尸潮奖励 | ### 每一把都有专属重击 - **棒球棍**:本垒打,巨量击退 + 眩晕。 - **钉头棍**:钉墙,重流血。 - **铁管**:砸膝,长眩晕。 - **撬棍**:撬甲,无视护甲。 - **大锤**:地裂,范围冲击波。 - **砍刀**:剖开,长流血。 - **剁骨刀**:断骨,极高单体伤害。 - **消防斧**:劈门,重劈 + 流血。 - **铁锹**:铲倒,横扫一大片。 - **干草叉**:穿串,把目标钉住。 - **钉矛**:穿刺,长距离重流血。 - **钉枪**:连钉,三发钉住。 - **左轮**:快速击发,两发穿透。 - **霰弹枪**:双管齐射,12 颗弹丸。 - **猎枪**:贯穿,一枪穿三人。 - **十字弩**:钉墙,安静且长钉。 - **燃烧瓶**:火墙,烧一片。 - **砖头**:重砸,范围眩晕。 ### 三层战斗深度 1. **轻击连段**:连续命中会累积连击,第三下触发职业终结效果(利刃额外流血、钝器额外眩晕、长柄额外击退/钉住)。 2. **蓄力重击**:按住攻击,蓄力条满后松手;每把武器有独立重击,消耗更多耐久,声音更大。 3. **熟练度**:每把武器击杀 5 / 15 / 30 个敌人升星,提升伤害;武器库显示星级。 4. **改造**:工作台可以把球棍改成钉头棍,把铁管改成钉矛;也能用胶带+木板修理当前武器。 --- ## 丧尸:10 类基础/精英 + 4 种习惯型 | 类型 | 特点 | 用什么打 | |---|---|---| | 游荡者 | 慢,普通 | 任意 | | 奔跑者 | 快,血少 | 轻击/长柄 | | 爬行者 | 低,快,难瞄 | 横扫/斧 | | 壮尸 | 慢,血厚,伤害 2 | 重击/霰弹 | | 护甲尸 | 刀刃减伤 | 撬棍/大锤/子弹 | | 尖叫者 | 发现你就召来周围 | 优先远程/长柄 | | 吐酸者 | 远程吐酸 | 横向闪避,贴近 | | **盾尸** | 正面挡住轻击,重击才能破盾 | 蓄力重击/枪/绕后 | | **胀尸** | 死亡爆炸,留下火 | 远程点杀/燃烧瓶 | | 收银员/篮球队员/邻居/丈夫 | 重复生前动作 | 习惯也是破绽 | 尸群每 30–60 秒刷新,最多同时 12 只。 --- ## 篮球场尸潮 球场长椅边有一只哨子。吹响后打三波: 1. 奔跑者 + 爬行者 2. 普通感染者 + 壮尸 + 吐酸者 3. 盾尸 + 胀尸 + **屠夫** 打完在长椅下面拿到 **电锯** 和弹药。电锯按住攻击会持续锯,伤害高、流血、声音极大;它不占故事进度,只是给你一个“今天想打点东西”的地方。 --- ## 搜刮与安全屋 - 快翻 1.5 秒 / 细搜 4 秒 / 拆解 7 秒。 - 汽车后备箱有撬棍和铁管;五金店货架有消防斧、剁骨刀、钉枪、铁管;12 号储物柜有砍刀、铁锹;仓库有大锤、干草叉、左轮、十字弩;玛莎可以用威士忌换霰弹枪。 - 工作台:门锁、封窗、床、雨水收集器;武器改造;武器修理。 - 每天开始自动存档;中途退出回到当天早晨;夜晚事件前不能反悔。 --- ## 故事来龙去脉 开场有三张序章卡片: 1. **第 1 天早上,赫洛镇高中。** 大卫在讲《凡尔赛条约》。妻子发来最后一条短信:艾莉发烧,她带艾莉去五金店找玛莎拿药。信号断了。 2. **第 1 天傍晚,枫街 307。** 大卫跑回家,门开着,艾莉的鞋还在,妻子不在。桌上字条:带艾莉去五金店找玛莎,她知道教堂地下室。大卫在学校被咬,右小腿。 3. **第 23 天,地下室 307。** 罐头三罐。收音机说五金店是物资点。教堂在河对岸,桥被堵了。玛莎是妻子的朋友,可能见过艾莉。所以先去五金店。 之后的行动有明确因果: - **第 23 天**:去五金店拿药/罐头,问玛莎。 - **第 24 天**:玛莎说妻子把背包落在仓库、去了教堂;拿钥匙进仓库。 - **第 25 天**:录音机里有艾莉的声音;回地下室做决定。 地下室可互动的**照片、妻子的字条、枫街地图**,以及日记里的“之前发生的事”,补足背景。故事在开头、日记、对话和结局里贯穿,不需要玩家猜“我为什么在这里”。 --- ## 截图 | | | |---|---| | ![武器库](Docs/Images/12_weapons.png) | ![蓄力](Docs/Images/13_charge.png) | | 6 件随身、10 格武器架、20 种图鉴。 | 按住攻击蓄力,松手放专属重击。 | | ![燃烧瓶](Docs/Images/14_fire.png) | ![背包](Docs/Images/06_inventory.png) | | 燃烧瓶留下火墙;砖头范围击晕。 | 12 格只放物资,武器在武器带。 | | ![战斗](Docs/Images/09_combat.png) | ![尸群](Docs/Images/10_horde.png) | | 流血、伤害数字、敌人血条。 | 盾尸、胀尸、奔跑者一起扑上来。 | | ![尸潮](Docs/Images/15_arena.png) | ![屠夫](Docs/Images/16_boss.png) | | 篮球场三波尸潮,清完拿电锯。 | 第三波屠夫;95 血、重劈、掉电锯。 | --- ## 目录 ``` web/ HTML5 游戏本体(离线) js/data.js 20 种武器、敌人、物品、短线索 js/game.js 战斗、连击/蓄力、武器带、AI、搜刮 js/ui.js 标题、HUD、武器库、背包、线索、工作台 js/render.js Canvas、武器、敌人、火焰、特效、灯光 js/main.js 启动、触摸、Android 返回键 android/ 原生 WebView 壳 build_apk.ps1 构建 + 签名 APK Docs/ 设计、技术、验证、素材 Release/ HeloTown-v0.5.0.apk test/ Playwright 自动测试与截图 ``` --- ## 从源码构建 需要 JDK 17、Android SDK Platform 34、Build-Tools 34.0.0。 ```powershell powershell -ExecutionPolicy Bypass -File .\build_apk.ps1 ``` 产物:`Release\HeloTown-v0.5.0.apk`。 脚本会把 `web/` 手动写入 APK 的 `assets/game/...`,避免 Windows 下 `aapt2 -A` 产生反斜杠路径(0.1.0 的 `ERR_FILE_NOT_FOUND` 就是这个问题)。 浏览器调试:直接打开 `web/index.html`。 ```powershell cd test node weapons2.js node capture_weapons.js ``` --- ## 已验证 / 已知限制 **已验证** - 20 种武器、6 件武器带、10 格武器架、武器图鉴。 - 轻击三段、蓄力重击、熟练度星级、武器改造/修理。 - 10 类基础/精英丧尸 + 4 种习惯型;盾尸正面减伤、重击破盾;胀尸死亡爆炸;球场尸潮与屠夫。 - 燃烧瓶火墙、砖头范围击晕、枪械穿透/扇形/钉住。 - 搜刮 1.5 / 4 / 7 秒;故事序章/日记/地下室物件/玛莎/戴尔/仓库链路。 - APK v0.5.0 构建、签名、资源路径检查通过。 **已知限制** - 仍是 Days 23–25 垂直切片,不是完整 50 天。 - 只在桌面 Chromium 做过自动测试;v0.5.0 尚未在真实手机上人工通关。 - 画面偏暗;敌人像素造型粗糙;尸群可能刷在道具附近。 - 后台世界不继续运行(WebView 限制)。 - APK 使用开发签名。 --- ## 文档 - [设计文档](Docs/DESIGN.md) - [垂直切片说明](Docs/VERTICAL_SLICE.md) - [技术实现](Docs/TECHNICAL.md) - [验证记录](Docs/PLAYTEST.md) - [素材与授权](Docs/CREDITS.md) ## 授权 代码、APK、场景与文本:MIT,版权归 `lanternfire`。 无第三方美术、音频、字体文件;系统字体与 WebAudio 合成。 设计原案:用户提供的《赫洛镇》完整设计文档;本仓库是其战斗向可玩化改编。