# redrain **Repository Path**: Hong_cha/redrain ## Basic Information - **Project Name**: redrain - **Description**: 一个自娱自乐的安卓横板格斗游戏 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-30 - **Last Updated**: 2026-10-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # redrain > 一个自娱自乐的安卓横板格斗游戏。 纯 Kotlin + Android 原生 Canvas 自绘,**不依赖任何游戏引擎**的横版格斗 demo。 玩法参考《火柴人联盟》一类单机横版格斗:一人连招打怪、逐波推进。 --- ## ⚠️ 现状:渲染架构迁移中 本项目正在做一次**渲染与动画架构替换**: | | 旧(已移除) | 新(进行中) | |---|---|---| | 角色外观 | 代码程序化绘制多边形 + 骨骼 FK 关键帧 | **设计好的图片素材序列帧轮播** | | 动作来源 | 21 个关节通道 + 手调关键帧 | 美术产出的序列帧图集(`assets/sprites/`) | | 替换原因 | 程序化骨骼**无法表达设计稿想要的动作效果** | 由美术完整控制动作表现 | **因此当前 `app` 模块暂不可编译**:骨骼实现已删除,引用方(角色定义 / 招式 / 战斗单位 / 世界) 尚未改造完成 —— 这是刻意的中间态,架构选型待研究后确定。 > 迁移前**最后一个可编译版本**见提交「基线:FK 骨骼版可编译状态」。 > 需要对照旧实现时:`git show <该提交>:app/src/main/java/com/redrain/game/render/CharacterRenderer.kt` --- ## 玩法(迁移前已实现,逻辑层会在新架构下保留) - **角色**:`承` —— 波斯猫基因融合者 / GDF 少主,定位「敏捷系强攻」。 4 段连招(刺 / 上挑 / 摆击 / 大摆收尾),伤害 7 / 9 / 12 / 22,起手快、取消窗口早。 - **技能**: - `幽行` —— 提速 30%、敌人不再主动发现、半透明残影; - `猫猫大盗` —— 夺取持械敌人的武器并自用,到期归还。 - **敌人**:`融者`(杂兵)、`融者·重刃`(持械精英,即「猫猫大盗」的夺取目标)。 - **打击感**:受击闪白 + 顿帧 + 屏震 + 命中火花 + 伤害飘字 + 连击计数。 - **关卡**:逐波刷怪、全清进下一波;渐变天空 + 三层视差建筑 + 地面舞台 + 红雨。 - **操作**:左下虚拟摇杆(死区 0.16),右下「攻击 / 跳跃 / 技能×2」,技能键带冷却扇环。 --- ## 技术要点 | 项 | 做法 | |---|---| | 渲染 | `SurfaceView` + 独立渲染线程 + `lockHardwareCanvas` 硬件画布 | | 主循环 | **固定步长** + 累加器 + 单帧最大步数上限(防追帧雪崩) | | 坐标系 | **虚拟分辨率**:锁定高度 720,宽度随设备比例自适应;不 letterbox,宽屏多看到一截视野 | | 刘海屏 | `displayCutout` 安全边距喂给 HUD,横屏挖孔不吃血条 | | 状态机 | `IDLE / RUN / AIR / ATTACK / HIT / DEAD` —— **状态是唯一真相源,动画只是状态的投影** | | 连招 | 输入缓冲 + 取消窗口自动接段,连点即连段 | | 角色数据化 | 加角色只填 `CharacterDef`,不碰战斗逻辑与渲染分支 | --- ## 环境与运行 - Android Studio 直接打开本工程运行即可;已在 MuMu 模拟器上验证。 - `minSdk 24` / `targetSdk 37` / `compileSdk 37`,Java 11。 - 无第三方游戏引擎与依赖,`app` 模块仅依赖 `androidx.core.ktx`。 --- ## 目录 | 路径 | 说明 | |---|---| | `app/` | 唯一的 Android 应用模块(Kotlin) | | `docs/` | **文档与记录库**,入口 [`docs/00-阅读须知.md`](docs/00-阅读须知.md) | | `design/` | 角色三视图设定稿(`cheng_views.svg` 为已确认基准) | | `.shots/` | 模拟器走查截图 | | `.wip/` | 架构迁移的待评估原型(未接入构建) | > 第三方引擎源码(Paintown / OpenBOR)仅作架构研究用,已列入 `.gitignore`,不入库。 --- ## 文档 `docs/` 是**权威记录**,冲突裁决顺序:`代码 ≈ 系统功能清单 > 交接笔记 > 设计稿`。 建议阅读顺序: 1. [`docs/00-阅读须知.md`](docs/00-阅读须知.md)(含防误解说明与新对话入口) 2. [`docs/01-应用边界.md`](docs/01-应用边界.md) → [`docs/系统功能清单.md`](docs/系统功能清单.md) 3. [`docs/规范/`](docs/规范/README.md) → [`docs/records/master-index.yaml`](docs/records/master-index.yaml) --- ## 性质 个人练手项目,自娱自乐,**无发行计划**。