- website-content/:官网 10 篇文档内容 + README - website-design/:官网设计稿、动画实验、预览图与资源 - 根目录官网截图两张 - .gitignore 忽略 website-design/exp/static/dist 构建产物(7.1MB)
1 line
62 KiB
JSON
1 line
62 KiB
JSON
{"success": true, "data": {"status": "completed", "entries": [{"type": "progress", "id": "call_b08fe4a4a2474a97b1c4bdea", "tool": "search_project_memory", "status": "running", "args": {"keywords": ["弹幕游戏", "pixel art", "STG", "bullet hell", "美术"]}, "ts": 1787459397527}, {"type": "progress", "id": "call_b08fe4a4a2474a97b1c4bdea", "tool": "search_project_memory", "status": "completed", "args": {"keywords": ["弹幕游戏", "pixel art", "STG", "bullet hell", "美术"]}, "ts": 1787459397529}, {"type": "progress", "id": "call_747c31abf4ca4df594277573", "tool": "web_search", "status": "running", "args": {"query": "pixel art shmup sprites player ship design", "max_results": 6}, "ts": 1787459397530}, {"type": "progress", "id": "call_747c31abf4ca4df594277573", "tool": "web_search", "status": "completed", "args": {"query": "pixel art shmup sprites player ship design", "max_results": 6}, "ts": 1787459402207}, {"type": "progress", "id": "call_615703da5d0c4315ad02ba18", "tool": "web_search", "status": "running", "args": {"query": "bullet hell pixel art assets free itch.io", "max_results": 6}, "ts": 1787459402210}, {"type": "progress", "id": "call_615703da5d0c4315ad02ba18", "tool": "web_search", "status": "completed", "args": {"query": "bullet hell pixel art assets free itch.io", "max_results": 6}, "ts": 1787459406627}, {"type": "progress", "id": "call_1e0e1623496741728558dfaf", "tool": "todo_create", "status": "running", "args": {"overview": "调研像素风格弹幕游戏美术设计并输出结构化报告", "tasks": [{"title": "检索自机设计(SLYNYRD教程、东方Project风格、hitbox)"}, {"title": "检索敌方单位与Boss设计(杂兵/预警机制)"}, {"title": "检索子弹像素美术(尺寸/颜色/动画帧/清晰度)"}, {"title": "检索特效与UI(爆炸/道具/得分/HUD)"}, {"title": "搜集itch.io免费素材与参考资源链接"}, {"title": "整理撰写 pixel_art_research.md 并保存到交付目录"}]}, "ts": 1787459412703}, {"type": "progress", "id": "call_1e0e1623496741728558dfaf", "tool": "todo_create", "status": "completed", "args": {"overview": "调研像素风格弹幕游戏美术设计并输出结构化报告", "tasks": [{"title": "检索自机设计(SLYNYRD教程、东方Project风格、hitbox)"}, {"title": "检索敌方单位与Boss设计(杂兵/预警机制)"}, {"title": "检索子弹像素美术(尺寸/颜色/动画帧/清晰度)"}, {"title": "检索特效与UI(爆炸/道具/得分/HUD)"}, {"title": "搜集itch.io免费素材与参考资源链接"}, {"title": "整理撰写 pixel_art_research.md 并保存到交付目录"}]}, "ts": 1787459412703}, {"type": "progress", "id": "call_c1143ba8dad5409dafe433d3", "tool": "extract_webpage", "status": "running", "args": {"mode": "read", "url": "https://www.slynyrd.com/blog/2020/12/14/pixelblog-31-shmup-sprite-design"}, "ts": 1787459412705}, {"type": "progress", "id": "call_c1143ba8dad5409dafe433d3", "tool": "extract_webpage", "status": "completed", "args": {"mode": "read", "url": "https://www.slynyrd.com/blog/2020/12/14/pixelblog-31-shmup-sprite-design"}, "ts": 1787459414348}, {"type": "progress", "id": "call_dcd1dd831137414bba69e3a9", "tool": "web_search", "status": "running", "args": {"max_results": 6, "query": "Touhou Project sprite style analysis pixel art zun danmaku"}, "ts": 1787459414351}, {"type": "progress", "id": "call_dcd1dd831137414bba69e3a9", "tool": "web_search", "status": "completed", "args": {"max_results": 6, "query": "Touhou Project sprite style analysis pixel art zun danmaku"}, "ts": 1787459417642}, {"type": "progress", "id": "call_eb1986397a8c42ac9fa71251", "tool": "web_search", "status": "running", "args": {"max_results": 6, "query": "Touhou in-game 16x16 sprites hitbox visible dot small design"}, "ts": 1787459421142}, {"type": "progress", "id": "call_eb1986397a8c42ac9fa71251", "tool": "web_search", "status": "completed", "args": {"max_results": 6, "query": "Touhou in-game 16x16 sprites hitbox visible dot small design"}, "ts": 1787459426483}, {"type": "progress", "id": "call_4b8565bb8a2f4a11b16b0fad", "tool": "web_search", "status": "running", "args": {"max_results": 6, "query": "danmaku bullet sprite sheet 16x16 pixel art animation rotation"}, "ts": 1787459426489}, {"type": "progress", "id": "call_4b8565bb8a2f4a11b16b0fad", "tool": "web_search", "status": "completed", "args": {"max_results": 6, "query": "danmaku bullet sprite sheet 16x16 pixel art animation rotation"}, "ts": 1787459431129}, {"type": "progress", "id": "call_93762d695977408f8a1956a7", "tool": "web_search", "status": "running", "args": {"max_results": 6, "query": "pixel art explosion animation tutorial frames effect"}, "ts": 1787459431133}, {"type": "progress", "id": "call_93762d695977408f8a1956a7", "tool": "web_search", "status": "completed", "args": {"max_results": 6, "query": "pixel art explosion animation tutorial frames effect"}, "ts": 1787459436810}, {"type": "progress", "id": "call_139d39cdc36f44c3b840e652", "tool": "extract_webpage", "status": "running", "args": {"mode": "read", "url": "https://en.touhouwiki.net/wiki/Hitbox"}, "ts": 1787459439966}, {"type": "progress", "id": "call_139d39cdc36f44c3b840e652", "tool": "extract_webpage", "status": "completed", "args": {"mode": "read", "url": "https://en.touhouwiki.net/wiki/Hitbox"}, "ts": 1787459441682}, {"type": "progress", "id": "call_26baab082ad34188b2dc0d98", "tool": "web_search", "status": "running", "args": {"max_results": 6, "query": "shmup boss design pixel art patterns tell telegraph visual warning"}, "ts": 1787459441689}, {"type": "progress", "id": "call_26baab082ad34188b2dc0d98", "tool": "web_search", "status": "completed", "args": {"max_results": 6, "query": "shmup boss design pixel art patterns tell telegraph visual warning"}, "ts": 1787459446767}, {"type": "progress", "id": "call_4caf93adbb314c2da6c58490", "tool": "web_search", "status": "running", "args": {"max_results": 6, "query": "pixel art game HUD UI design shmup score lives bomb display"}, "ts": 1787459446769}, {"type": "progress", "id": "call_4caf93adbb314c2da6c58490", "tool": "web_search", "status": "completed", "args": {"max_results": 6, "query": "pixel art game HUD UI design shmup score lives bomb display"}, "ts": 1787459452095}, {"type": "progress", "id": "call_35a983537a144b468ca2f666", "tool": "extract_webpage", "status": "running", "args": {"mode": "read", "url": "https://www.slynyrd.com/blog/2021/2/15/pixelblog-32-shmup-design-part-2"}, "ts": 1787459456306}, {"type": "progress", "id": "call_35a983537a144b468ca2f666", "tool": "extract_webpage", "status": "completed", "args": {"mode": "read", "url": "https://www.slynyrd.com/blog/2021/2/15/pixelblog-32-shmup-design-part-2"}, "ts": 1787459457958}, {"type": "progress", "id": "call_89d3ec2b6f764b3cbad48bca", "tool": "web_search", "status": "running", "args": {"max_results": 6, "query": "东方Project 像素风格 游戏 自机 精灵图 弹幕 设计"}, "ts": 1787459457960}, {"type": "progress", "id": "call_89d3ec2b6f764b3cbad48bca", "tool": "web_search", "status": "completed", "args": {"max_results": 6, "query": "东方Project 像素风格 游戏 自机 精灵图 弹幕 设计"}, "ts": 1787459463758}, {"type": "progress", "id": "call_d2e21b337ac74b529ef3b181", "tool": "web_search", "status": "running", "args": {"max_results": 6, "query": "Touhou bullet types tama oval kunai star colored bullets meaning"}, "ts": 1787459463762}, {"type": "progress", "id": "call_d2e21b337ac74b529ef3b181", "tool": "web_search", "status": "completed", "args": {"max_results": 6, "query": "Touhou bullet types tama oval kunai star colored bullets meaning"}, "ts": 1787459466840}, {"type": "progress", "id": "call_544de626311a491f985a1fcf", "tool": "web_search", "status": "running", "args": {"max_results": 6, "query": "opengameart shmup spaceship pixel art free bullet pack"}, "ts": 1787459472466}, {"type": "progress", "id": "call_544de626311a491f985a1fcf", "tool": "web_search", "status": "completed", "args": {"max_results": 6, "query": "opengameart shmup spaceship pixel art free bullet pack"}, "ts": 1787459476880}, {"type": "progress", "id": "call_f0390ea6ecf944fd8eddae15", "tool": "web_search", "status": "running", "args": {"max_results": 6, "query": "danmaku bullet visual clarity design rules distinct colors avoid confusion"}, "ts": 1787459476887}, {"type": "progress", "id": "call_f0390ea6ecf944fd8eddae15", "tool": "web_search", "status": "completed", "args": {"max_results": 6, "query": "danmaku bullet visual clarity design rules distinct colors avoid confusion"}, "ts": 1787459483181}, {"type": "progress", "id": "call_06ffce7189754967aae13512", "tool": "extract_webpage", "status": "running", "args": {"mode": "read", "url": "https://void-dancer.itch.io/danmaku-sprite"}, "ts": 1787459483189}, {"type": "progress", "id": "call_06ffce7189754967aae13512", "tool": "extract_webpage", "status": "completed", "args": {"mode": "read", "url": "https://void-dancer.itch.io/danmaku-sprite"}, "ts": 1787459484550}, {"type": "progress", "id": "call_fd35ab3b52864ab78c03b2ca", "tool": "extract_webpage", "status": "running", "args": {"mode": "read", "url": "https://shmups.wiki/library/Boghog%27s_bullet_hell_shmup_101"}, "ts": 1787459487972}, {"type": "progress", "id": "call_fd35ab3b52864ab78c03b2ca", "tool": "extract_webpage", "status": "completed", "args": {"mode": "read", "url": "https://shmups.wiki/library/Boghog%27s_bullet_hell_shmup_101"}, "ts": 1787459489897}, {"type": "progress", "id": "call_5d5e27cf45a84b60a39e9e74", "tool": "run_command", "status": "running", "args": {"command": "mkdir -p /Users/demo/starraid/research/pixel_art_style && ls -la /Users/demo/starraid/research/", "timeout": 30}, "ts": 1787459489905}, {"type": "progress", "id": "call_5d5e27cf45a84b60a39e9e74", "tool": "run_command", "status": "completed", "args": {"command": "mkdir -p /Users/demo/starraid/research/pixel_art_style && ls -la /Users/demo/starraid/research/", "timeout": 30}, "ts": 1787459489960}, {"type": "progress", "id": "call_eb835147dad04830a66bf3a0", "tool": "todo_update_task", "status": "running", "args": {"completed": true, "task_indices": [1, 2, 3, 4, 5]}, "ts": 1787459493313}, {"type": "progress", "id": "call_eb835147dad04830a66bf3a0", "tool": "todo_update_task", "status": "completed", "args": {"completed": true, "task_indices": [1, 2, 3, 4, 5]}, "ts": 1787459493314}, {"type": "progress", "id": "call_d50cb731e612477f9e864c00", "tool": "write_file", "status": "running", "args": {"file_path": "research/pixel_art_style/pixel_art_research.md", "content": "# 像素风格弹幕射击游戏(Bullet Hell / STG)美术设计调研报告\n\n> 调研时间:2026-08-23\n> 调研范围:玩家自机设计、敌方单位设计、子弹/弹幕像素美术、特效与 UI、免费素材与参考资源\n> 主要信息来源:SLYNYRD(Pixelblog 31/32)、Shmups Wiki「Boghog's bullet hell shmup 101」、Touhou Wiki、Sparen's Danmaku Design Studio、itch.io / OpenGameArt 素材库、(注:详见文末「信息来源与可信度」说明)\n\n---\n\n## 0. 摘要与总体结论\n\n- **弹幕游戏(Danmaku)的美术核心不是\"好看\",而是\"可读性(Readability)\"**:在屏幕同时存在数百颗子弹、多个敌人、粒子特效与道具时,玩家必须能在一瞬间分辨\"哪些是威胁、往哪里躲\"。所有美术决策都应服务于这一目标。\n- **色彩价值(Value)分层是清晰度的关键**:背景用低对比中间调,子弹用小面积高亮+暗色描边(亮暗相邻),玩家子弹、敌方子弹、道具、爆炸用不同明度层级区分。\n- **尺寸基准很重要**:16:9 屏幕下 SLYNYRD 建议 320×180 ~ 640×360 逻辑分辨率;自机相对屏幕的比例决定难度与手感。弹幕游戏常用低分辨率(如 480×270)让像素感更强烈、单位像素信息更少、制作更快。\n- **判定框(Hitbox)视觉提示**是东方式弹幕的标配:低速(聚焦)模式下显示一个小点或小圈,明确告诉玩家\"真正会中弹的位置\",与自机精灵大小形成强烈对比。\n- **免费素材足够支撑原型开发**:itch.io 与 OpenGameArt 上有大量免费像素 STG 素材(自机、敌机、子弹、爆炸、UI),落地阶段可先采购/复用,再逐步原创替换。\n\n---\n\n## 1. 玩家飞船 / 角色设计\n\n### 1.1 分辨率与屏幕尺寸基准(先定画布再画图)\n\n- SLYNYRD(Raymond Schlitter,Thyrian Defenders 作者)建议:16:9 屏幕下,**逻辑分辨率黄金区间为 320×180 ~ 640×360**;其教程以 **480×270** 为目标。\n- 分辨率越低像素越\"块\",像素味越浓、绘制耗时越少;但分辨率过高会失去像素艺术的\"集群可读性(reading intention within clusters)\"。\n- **自机相对屏幕的比例是决定玩法的关键因素**:屏幕越大、自机越小 → 适合高速、多元素同屏的弹幕玩法;自机占屏比越大 → 可容纳的物体越少、玩家反应时间越短(难度体验完全不同)。\n- 常见像素倍率:逻辑分辨率 320×180 / 480×270,放大 2~4 倍整数倍显示,避免像素走样。\n\n**建议(本项目)**:采用 480×270 或 320×180 逻辑分辨率;自机精灵建议 16×16(低配小自机)或 24×24 / 32×32(更有性格);弹幕量较大的话自机宜偏小。\n\n### 1.2 经典像素 STG 自机设计要点(大小、配色、识别度)\n\n综合 SLYNYRD 教程与 Boghog 指南:\n\n- **简洁+独特**:设计越复杂,动画越难做。建议在机翼加条纹(striping)增加性格,同时强调滚转(roll)的深度感。\n- **倾斜/滚转动画**:至少 左/右 + 居中 三帧;SLYNYRD 推荐每侧 **2 帧不同滚转度**(共 5 帧),配合侧向光源,左右移动更平滑(支持模拟输入时可分档滚转)。\n- **尾焰/推进器动画(thruster animation)是必须**:让飞船\"活着\"的关键,通常 2~4 帧。\n- **光源方向全场景统一**:所有精灵与背景使用同一方向光源,才能保持\"飞行\"的立体幻觉。\n- **识别度三要素**:① 与背景/敌方单位的明度层级区分;② 自机弹幕流要\"厚、快、密\"——玩家在紧张的弹幕环境中主要靠弹幕流+轮廓+微光来估算自机位置(Boghog);③ 判定中心可加视觉强调(见 1.5)。\n- **移动手感与视觉配合**:滚转动画速度应匹配移动速度;无惯性移动(Boghog 强烈建议避免移动惯性),若感觉移动\"不流畅\"多半是视觉问题而非参数问题——加残影(afterimage)、尾迹(trail)可显著改善跟手感。\n\n### 1.3 东方Project 系列的角色精灵风格\n\n(说明:以下为对 ZUN 官方游戏内精灵风格的既有认知 + 社区资料的归纳,非实时官方文档。)\n\n- 东方系列正作均为**纵轴弹幕射击**,自机/敌机使用**低分辨率角色小精灵**(PC-98 时代为 16×16 级;Windows 时代精灵更精细但整体仍是\"小尺寸、高识别度\"路线)。\n- 精灵风格特点:**大胆的色块、平涂/少渐变、深色描边**;角色通过发型、发色、服装主色快速辨识(如博丽灵梦的红白、雾雨魔理沙的黑白)。\n- **判定点文化**:按住 Shift 进入低速模式时,自机身上显示一个**小点/小圈标记判定点**(见 1.5),这是东方体系对弹幕公平性的核心贡献,被大量同类游戏沿用。\n- 弹幕本体是同人圈大量复刻的视觉语言:圆弹(tama)、椭圆弹、苦无(kunai)、星弹、音符、护符(amulet)等,见第 3 节。\n- 参考手绘同人/教程中常被提到的 ZUN 风格要点:面部与发型保持多年一致;早期(PC-98)更简朴,色块平涂、用色大胆;Windows 期精灵颜色细节更多但仍保持低饱和背景衬托高饱和子弹的做法。\n\n### 1.4 像素飞船设计要点(落地 Checklist)\n\n| 项目 | 建议 |\n|---|---|\n| 尺寸 | 16×16(极简)/ 24×24 / 32×32(推荐起步) |\n| 帧数 | 居中 1 帧 + 左右滚转各 1~2 帧 = 3~5 帧;尾焰 2~4 帧 |\n| 调色板 | 4~8 色以内/精灵:主色 1~2、辅色/描边 1~2、高光 1、尾焰橙黄 2~3 |\n| 描边 | 深色(近黑)描边,与\"用白色描边的敌方子弹\"形成体系区分 |\n| 轮廓 | 剪影可读性优先,避免细节糊成一片;从剪影草图开始 |\n| 判定中心 | 建议在自机中心下方(东方系在腰部)标 1~2px 亮点 |\n\n### 1.5 判定框(Hitbox)视觉提示设计\n\n- **机制背景**:东方系列中自机碰撞通常用一个**远小于精灵的小圆(约数像素半径)**判定(源自 Touhou Wiki「Hit box」条目:Hitbox 是角色腰部附近的一个小圆,聚焦时可显示)。\n- **视觉提示做法(主流方案)**:\n 1. **低速/聚焦模式才显示**:按住 Shift(低速)时显示一个半透明小圆圈/小点;普通模式不显示(避免干扰)。\n 2. 提示图形建议:**空心圆 + 中心实点**,对比色(如白/亮色配深色描边),随聚焦模式**轻微旋转/脉动**增加存在感(红魔乡社区的 d3d8.dll hitbox 补丁即模拟这种\"旋转+透明度变化\"行为)。\n 3. 判定圈大小应**可配置**(不同自机可不同),提示圈与真实判定圈完全同心、直径一致。\n- **视觉之外的判定公平性**:Boghog 建议——玩家子弹给\"大判定\"、敌人给\"大受击判\"(补偿微操作失误);玩家命中应\"慷慨\"(覆盖贴合情况),才不会有挫败感。\n\n---\n\n## 2. 敌方单位设计\n\n### 2.1 杂兵(Enemy Grunts)的像素设计\n\n- **同一阵营视觉统一+个体差异**:SLYNYRD 强调\"一组单位共享视觉一致性(形态语言、配色体系),又通过形状与颜色彼此区分\"。\n- **角色定位决定美术**:按\"速度 / 血量 / 体型 / 几何弹道 / 颜色\"五要素设计(SLYNYRD):\n - **Popcorn(一发即死的小怪)**:体积小、快、成群出现,是为了制造\"动作感\"而非威胁;血量只要够\"打完这一局\"即可,不要虚高(Boghog)。\n - 快怪 ↔ 低血量+弱弹;慢怪 ↔ 高血量+强火力,尺寸跨度要大。\n- **做 hit 反馈**:受击要闪烁/粒子/抖动,配轻量音效,否则敌人像\"虚影\"(Boghog)。\n- **大判定+可预测移动**:弹幕游戏的挑战来自弹幕而非躲闪敌人本体,所以敌人受击判定要大、移动要慢且可预测(Boghog)。\n- **尺寸参考**:杂兵 16×16 ~ 24×24;中 Boss(miniboss)32×32~48×48;帧数 2~4 帧(多帧震动/开火动画)。\n\n### 2.2 Boss 的体型与细节层次\n\n- **体型梯度**:Boss 应显著大于杂兵(如 48×48、64×64 甚至 96×96),\"越大杀起来越爽\"(SLYNYRD),但不要大到遮挡弹幕视野。\n- **细节层次**:Boss 可以有更多层细节(多层装甲、发光炮口、悬浮部件/浮游炮),但**核心剪影仍需在弹幕中一眼可读**;建议给 Boss 的主炮口、弱点做高亮标记。\n- **Boss 血条分段**:许多 STG 用可视化的 Boss 血条分段(每段切换一个攻击模式),例如 Gamedeveloper 文章提到\"视觉上将 Boss 血条分段以显示本段攻击何时结束\"。\n- **Boss 出场仪式**:Boss 出现前要有\"警告留白\"(玩家无事可做、专注看字幕/警告),用于聚集注意力(Anatomy of a Shmup)。\n- **Boss 爆炸要\"壮观\"**:屏幕级闪光 + 大爆炸动画 + 碎片四散(见 4.1)。\n\n### 2.3 敌方攻击前的视觉预警(Telegraph)\n\n- **蓄力动画**:炮口发光→聚集→发射,是通用预警语言;用 2~4 帧\"粒子向炮口汇聚/炮口颜色渐亮\"表达。\n- **颜色变化**:攻击前单位变色(如变红/变亮)提示即将开火。\n- **激光预警**:东方系激光常见\"先显示一条细亮线(约半秒)再出现命中判定\",是纯粹靠视觉(而非判定)预告的典型做法(社区对永夜抄等作品的解读)。\n- **模式分阶段呈现**:Boss 战先出简单版弹幕→每次重复更快更密更狠(Bullet Pattern Design 教程),玩家靠\"渐进式预告\"进入节奏。\n- **背景预告**:关卡背景用\"地标/视觉节奏\"给玩家读版记忆的锚点(SLYNYRD Part 2)——背景不只是装饰,是记忆关卡的工具。\n- **弹幕扇面/轨迹预告**:可弯曲、可追踪的弹幕建议加尾迹或拉长精灵,让轨迹可读(Boghog)。\n\n---\n\n## 3. 子弹 / 弹幕的像素美术\n\n### 3.1 常见像素子弹样式与尺寸\n\n**东方/弹幕体系常用子弹类型命名**(Touhou Community Jargon、Danmakufu 文档):球(Ball)、椭圆弹、苦无(Kunai)、护符(Amulet)、星弹(Star 大/小)、音符(Note)、米粒/细菌弹、冰锥/碎片(Shard/Icicle)、箭头(Arrow)、火球、心形、花瓣、蝴蝶等。\n\n| 子弹类型 | 常见尺寸 | 形态与用途 |\n|---|---|---|\n| 小圆弹(Pellet/Tama) | 8×8 ~ 12×12 | 基础弹,最密集,靠数量形成弹幕 |\n| 中圆弹(Ball) | 16×16 | 通用主力弹,清晰可读 |\n| 椭圆弹(Oval) | 16×20 左右 | 带方向感/旋转感,常用于弯曲弹道 |\n| 苦无/箭形/导向弹(Directed) | 16×32 左右 | **方向性最重要**:图形应随移动方向旋转(SLYNYRD Part 2:箭头形追踪弹必须朝向运动方向) |\n| 大弹/特殊弹 | 24×24 / 32×32 | Boss 特殊弹、高伤弹 |\n| 激光(Laser) | 宽 4~16、长任意 | 预热细线→粗化→判定 |\n\n### 3.2 子弹颜色与类型的对应关系\n\n- **Danmakufu 官方 8 色**:RED、GREEN、BLUE、YELLOW、PURPLE、AQUA、ORANGE、WHITE——可作为色板起点,且激光与子弹共用这 8 色图形。\n- **颜色编码用途(Note 上\"15 个美丽弹幕\"文章 + Boghog)**:\n - 用颜色区分\"快弹 / 慢弹 / 装饰弹\"等**危险等级**,玩家读色即知威胁;\n - 颜色同时用于表达\"瞄准玩家的弹(aimed)\"与\"固定弹(static)\"等行为差异(各 STG 有自己约定,需在游戏内自学);\n - **红/粉/紫系是弹幕圈事实标准**:与常见特效颜色(黄橙爆炸、金色道具)冲突最少,不易混淆(Boghog 明确指出黄/橙传统弹容易与爆炸和金色道具撞色)。\n- **子弹颜色与发射单位颜色匹配**(SLYNYRD):敌方单位与它发射的子弹同色系,建立\"谁打的\"直觉。\n- **我方子弹用另一色系**(如青/绿白),与敌方红/粉/紫建立对战双方色系对立。\n\n### 3.3 子弹的动画帧设计(旋转、闪烁、脉动)\n\n- **闪烁(Flashing)**:双帧交替即可,对比越强越\"危险\",但对比过强高速移动时反而难追踪(SLYNYRD);常用于\"即将消失/即将命中\"状态。\n- **旋转(Rotation)**:星形、方形、椭圆可用 4~8 帧旋转;椭圆可做 Z 轴\"翻转\"来模拟 3D 感。\n- **脉动(Pulse)**:轻微膨胀-收缩,任何形状都适用,让子弹\"活着\"。\n- **波动/涟漪(Wobble/Ripple)**:CAVE(虫姬/怒首领蜂)子弹常用抖动+涟漪动画,作用是**抓住眼球并给每颗子弹独特身份**(Boghog)。\n- **动画帧数建议**:2D 旋转 4 帧(90°步进)起步、精细 8 帧;脉动 2~4 帧;闪烁 2 帧。帧率 12~15 FPS 贴合像素风。\n- **拖尾(Trail)**:轨迹不寻常(弯曲/追踪)的子弹加尾迹,帮助玩家预判(Boghog)。\n\n### 3.4 大量弹幕同屏时的视觉清晰度处理(核心)\n\n- **价值(Value)分层**:将图像转黑白即可检查——子弹应\"亮部+暗部紧挨\"(发光核心紧贴深色描边/内圈),最大化明度对比;背景用**低对比中间调**,让子弹可以用极值明度自由突出(Boghog)。\n- **描边(Outline)体系**:**敌方子弹用白色/亮色描边**(或亮+暗双描边),其他精灵用深色描边,从体系上把\"威胁\"和\"物体\"分开(SLYNYRD)。\n- **分块/分组(Chunking)**:把子弹编成线/环/簇等可读图案,让玩家读\"组合\"而非单颗;**单颗游离子弹最难读,容易显得不公平**(Boghog)。\n- **深度排序(Depth Sorting)**:敌方子弹永远绘制在自机、我方子弹、道具、爆炸之上;**小且快的子弹绘制在更大更慢的子弹之上**;单颗/小组绘制在大块之上(Boghog)。\n- **留隙(Design gaps)**:弹幕模式要\"设计缝隙\"——玩家能看见逃生路就公平,光炫但读不出路就让人感到不公平(note 文章)。\n- **限制换色**:单屏同时出现的弹色建议控制在 2~3 种(Boghog 风格惯例),避免信息过载。\n- **背景配合**:背景刻意保持暗/中调+低饱和,就是给子弹让出可读空间。\n\n---\n\n## 4. 特效与 UI\n\n### 4.1 爆炸特效的像素动画(SLYNYRD 方法)\n\n- **制作流程**:先用\"圆→扩张变细环\"的几何引导确定整体尺寸与扩张速率 → 把圆转成有机火焰团块 → 调团块运动。\n- **物理真实感原则**:热气先快后慢(热膨胀快、冷却变慢)→ 爆炸**先迅速扩张、后缓慢消散**。\n- **颜色演变**:**白炽(最亮)→ 暖色(红橙黄)→ 灰烟**消散。\n- **形态演变**:团块从整体一致→随扩张分裂为多而复杂的小块;暗部逐渐侵入;最大扩张后缓慢上浮并化为烟。\n- **冲击波**:把引导环稍作修改即可成冲击波环。\n- **Boss 爆炸**:屏幕级闪光 + 多层大爆炸 + 碎片残留(Anatomy of a Shmup 强调\"一切被摧毁的都应爆炸,Boss 阵亡必须是一场辉煌的灯光秀\")。\n- **尺寸建议**:爆炸精灵显著大于被摧毁单位(如单位 16×16 → 爆炸 24~48×24~48,8 帧左右);碎屑粒子 2~8 帧。\n\n### 4.2 拾取道具的视觉效果\n\n- **可读性优先**:道具必须一眼区别于\"威胁物\",形态独特 + **活跃的空闲动画**(idle animation)——旋转、漂浮、脉动、闪光都行(SLYNYRD Part 2)。\n- **经典道具色/形**:P(Power 火力,红色系)、S(Speed 速度)、Bomb(全屏雷)、1UP 生命、Heart 回血;建议固定配色约定(如红=火力、蓝=速度、金=得分)。\n- **分布与运动**:从特定敌人掉落 / 中立单位给予 / 随机入场;下落时做左右漂移、反弹、摇摆等\"伸手去接也有意思\"的运动。\n- **收集反馈**:拾取瞬间应有闪光+粒子+音效+分数飘字(详见 4.3)。\n- **点收集(Point of Collection)**:靠近屏幕顶端的一条\"自动收集线\"(东方系标准道具回收机制),线上道具全自动收集——UI/视觉上要有明确标识(例如顶部的装饰发光横线)。\n\n### 4.3 得分 / 连击的视觉反馈\n\n- **数字飘字**:得分/连击数用大号、亮色、带描边的像素数字,从事件点弹出并上浮淡出;字体建议用现成像素字体(如 Press Start 2P、Silkscreen 的开源替代)。\n- **连击(Combo/Chain)反馈**:连击计时条/乘数图标(如\"x2.5\")靠近 HUD 核心区;连击即将断时闪烁/变红制造紧张感(Dodonpachi 式\"防御性计分\"靠视觉压力驱动玩法)。\n- **擦弹(Graze)反馈**:子弹擦过判定外圈时给火花/星光 + 分数飘字,是东方系核心爽点,视觉上要有专门粒子。\n- **分数增长可视化**:让\"数字变大\"成为本能驱动(Boghog:大亮数字的成长本身就是激励)。\n- **层次化强调**:重要计分元素视觉上加强(更大更亮),次要元素弱化,让玩家一眼抓住当前目标(Boghog「Depth vs Clarity」)。\n\n### 4.4 血条、Bomb 数量等 HUD 设计\n\n- **HUD 基础要素**(STG 惯例):得分、连击/擦弹、自机数量(残机图标)、Bomb 数量(B 图标)、火力等级、Boss 血条(分段)、Boss 名/符卡名横幅、暂停/接关菜单。\n- **Boss 血条**:建议**分段色条**(每段对应一个攻击阶段),置于屏幕上方通栏;段末闪白提示\"即将切换攻击\"。\n- **Bomb 图标**:用典型\"B\"或者手雷/符卡造型的像素图标,数量用并列小图标表示(东方系风格:一枚 B 一颗星/符卡的排列)。\n- **残机(Lives)**:像素自机小图标排列,比数字更直观。\n- **注意遮挡**:HUD 元素放在玩法区之外(顶部/底部条)或半透明;Boghog 提醒玩家主要在屏幕中区活动,HUD 不应遮挡弹幕视野。\n- **风格统一**:HUD 的像素分辨率、色板、字体与游戏本体一致(CraftPix 等素材库提供现成 pixel UI,可直接适配)。\n- **像素 UI 素材参考**:CraftPix.net 的 Pixel Art Game UI 分类(免费/付费都有)。\n\n---\n\n## 5. 参考资源搜索汇总\n\n### 5.1 itch.io 免费/付费像素弹幕素材\n\n| 资源 | 内容 | 链接 |\n|---|---|---|\n| **Danmaku Sprite Pack**(Void dancer)| 模仿东方官方风格的子弹精灵包,免费,需遵守东方二次创作规约,可编辑 | https://void-dancer.itch.io/danmaku-sprite |\n| **Danmaku Sprite Pack(BDragon1727)** | 16×16 火/水/魔法子弹、特效精灵表,免费 | https://bdragon1727.itch.io/fire-pixel-bullet-16x16 、 https://bdragon1727.itch.io/free-effect-and-bullet-16x16 |\n| **Pixel SHMUP Ships / Pixel Art Spaceships for SHMUP**(DyLESTorm)| 免费 1 自机+2 敌机+2 弹幕+8 帧爆炸+UI;付费版 60 艘原创飞船 | https://livingtheindie.com/free-pixel-art-smhup-ships-game-asset 、 https://livingtheindie.itch.io/pixel-art-spaceships-for-shmup |\n| **Pixel Nebula Player SpaceShip**(PixelCarvel)| 32×32 自机,另有玩家僚机(Drone)、Boss 包、竖向背景包 | https://itch.io/game-assets/tag-bullet-hell |\n| **TopDown BulletHell Pack**(einav23)| $5.50 俯视角弹幕包(子弹+敌机+特效) | https://itch.io/game-assets/tag-bullet-hell |\n| **itch.io 筛选页** | `tag=Bullet Hell`、`tag=Shoot 'Em Up`、`tag=Pixel Art`、`Free` 组合筛选 | https://itch.io/game-assets/free/tag-pixel-art/tag-shoot-em-up 、 https://itch.io/game-assets/free/tag-bullet-hell/tag-sprites 、 https://itch.io/game-assets/free/tag-2d/tag-bullet-hell |\n\n### 5.2 OpenGameArt 免费素材(CC0/OGA-BY 授权)\n\n- **Explosions, Bullets, Fire etc (Pixel art)**:爆炸/子弹/火/电等离子精灵,干净像素风 | https://opengameart.org/content/explosions-bullets-fire-etc-pixel-art\n- **Assets Free Laser Bullets Pack 2020**(Wenrexa):66 个 CC0 激光/子弹 PNG,建议配 Color Dodge/Lighten 叠加渲染 | https://opengameart.org/content/assets-free-laser-bullets-pack-2020\n- **Enemy Spaceship 2D Sprites Pixel Art**(CraftPix 发布,OGA-BY 3.0):敌机精灵 | https://opengameart.org/content/enemy-spaceship-2d-sprites-pixel-art\n- **shmup 合集页**:https://opengameart.org/content/shmup\n\n### 5.3 经典 STG 精灵分析与弹幕设计参考\n\n- **Touhou Wiki - Hit box**:判定点机制与尺寸说明 | https://touhou.fandom.com/wiki/Hit_box 、 https://en.touhouwiki.net/wiki/Hitbox\n- **Touhou Danmakufu: Bullets(Fandom)**:8 色子弹系统 | https://touhou.fandom.com/wiki/Touhou_Danmakufu:_Bullets\n- **Touhou Community Jargon**:子弹类型名称大全(球/苦无/护符/星/音符/冰锥等)| https://maribelhearn.com/jargon\n- **Sparen's Danmaku Design Studio(Guide A2/A3)**:固定/随机/瞄准三种发射角、方向性子弹图形、环形公式 | https://sparen.github.io/ph3tutorials/ddsga2.html\n- **Boghog's bullet hell shmup 101**:弹幕游戏设计圣经(可见性/价值分层/深度排序/Toaplan 阵型等)| https://shmups.wiki/library/Boghog%27s_bullet_hell_shmup_101\n- **Shmups Wiki 主站**:https://shmups.wiki\n- **Video Game Boss Design For Shmups**(GameDeveloper):血条分段与 Boss 战设计 | https://www.gamedeveloper.com/design/video-game-boss-design-for-shmups\n- **The Anatomy of a Shmup**(GameDeveloper):爆炸、预告、难度交互清单 | https://www.gamedeveloper.com/design/the-anatomy-of-a-shmup\n- **Bullet Pattern Design(SHMUP WORKSHOP 03,YouTube)**:渐进难度/预告/引导玩家 | https://www.youtube.com/watch?v=ArZRZSYICLo\n\n### 5.4 像素艺术风格指南(教程/博客)\n\n- **SLYNYRD Pixelblog 31 - Shmup Design Part 1**:分辨率、自机、敌机、子弹、爆炸(本报告核心来源之一)| https://www.slynyrd.com/blog/2020/12/14/pixelblog-31-shmup-sprite-design\n- **SLYNYRD Pixelblog 32 - Shmup Design Part 2**:玩家射击类型(Vulcan/Laser/Homing)、道具、环境/视差 | https://www.slynyrd.com/blog/2021/2/15/pixelblog-32-shmup-design-part-2\n- **Pixel Art Tutorial - Understanding Explosions**(Penusbmic,itch.io 视频教程):爆炸动画两种做法 | https://penusbmic.itch.io/pixel-art-tutorial-understanding-explosions\n- **The 12 animation principles adapted for pixel art**(sprite-ai.art):低分辨率下的挤压拉伸/跟随动作 | https://www.sprite-ai.art/guides/animation-principles\n- **Aseprite / Piskel 爆炸教程**(YouTube 检索词:Aseprite pixel art explosion tutorial)\n- Piskel(免费在线像素编辑器):https://www.piskelapp.com\n\n### 5.5 建议搜索关键词(继续深挖用)\n\n`pixel art shmup sprites`、`bullet hell pixel art assets`、`STG sprite design`、`东方Project 像素风格`、`pixel art explosion animation`、`Touhou danmakufu bullet graphics`、`danmaku bullet sheets site:itch.io`、`shmup hitbox indicator`、`CAVE 子弹精灵拆解`\n\n---\n\n## 6. 给本项目落地落实的美术规范建议(可直接执行)\n\n1. **画布与倍率**:逻辑分辨率 **480×270(推荐)或 320×180**,整数倍放大 3~4 倍输出;所有精灵按 16 或 8 的倍数取尺寸(16×16 自机起步 / 32×32 精细自机;敌弹 8~16×16 系列;Boss 64×64)。\n2. **色板分工(建议)**:\n - 背景:低饱和中暗调(深蓝紫灰系),价值集中在中间调;\n - 敌方子弹:红/粉/紫系(8 色 Danmakufu 色板起步)+ 白/亮描边;\n - 我方子弹:青/绿白系 + 深描边;自机:高对比品牌色(如红白、蓝白);\n - 道具:金/橙(得分)、红(火力 P)、蓝(速度 S)、银灰(Bomb)——注意与敌弹色彩错开;\n - 爆炸:白→橙红黄→灰;\n - 预警:蓄力时变亮/变红,激光先亮细线。\n3. **动画帧数基线**:自机滚转 3~5 帧 + 尾焰 2~4 帧;敌机 2~4 帧;子弹旋转 4 帧(或 8 帧)、脉动 2~4 帧、闪烁 2 帧;爆炸 6~10 帧;道具 idle 2~4 帧。统一 12~15 FPS。\n4. **判定与显示**:自机真实判定用 2~4px 半径小圆,聚焦时显示同心空心圆 + 中心点(半透明+微旋),判定圈与显示圈完全同心。\n5. **绘制顺序(渲染层)**:背景 → 道具/粒子 → 我方子弹 → 敌人本体 → 我方自机 → **敌方子弹(最顶层)**;敌弹内部:小快弹 > 大慢弹。\n6. **工作流建议**:先用 itch.io/OpenGameArt 免费包搭出可玩原型(自机 1 + 敌机 3 + 子弹 5 种 + 爆炸 1 + UI 板),再按上述规范逐一套用原创精灵替换;调色与动画用 Aseprite(付费,推荐)或 Piskel(免费)。\n\n---\n\n## 7. 信息来源与可信度说明\n\n- **基于实测/原文提取的内容**(可信度高,可自行核验):SLYNYRD Pixelblog 31/32 全文、Boghog's bullet hell shmup 101 全文、void-dancer Danmaku Sprite Pack 页面、LivingTheIndie 免费 SHMUP 素材描述、各 itch.io/OpenGameArt 页面标题与标签。\n- **基于第三方社区/百科归纳**:Touhou Wiki 判定点机制(Hitbox 条目)、Maribel Hearn 的 Touhou Jargon、Sparen 弹幕教程、note 上\"15 个美丽弹幕\"文章、Reddit r/shmupdev 讨论——这些是社区整理,非官方文档,具体数值(如判定点像素大小、各作品子弹尺寸)以实际游戏/官方资料为准。\n- **标注为\"既有认知+\"的内容**(第 1.3 节东方风格总结):来自模型训练知识与社区资料交叉印证,非实时官方文档,**未逐一验证**,使用前建议对照东方官方立绘/游戏截图复核。\n- **价格为检索时点快照**(如 $5.50、$4.99),可能变动,以页面为准。"}, "ts": 1787459536996}, {"type": "progress", "id": "call_d50cb731e612477f9e864c00", "tool": "write_file", "status": "completed", "args": {"file_path": "research/pixel_art_style/pixel_art_research.md", "content": "# 像素风格弹幕射击游戏(Bullet Hell / STG)美术设计调研报告\n\n> 调研时间:2026-08-23\n> 调研范围:玩家自机设计、敌方单位设计、子弹/弹幕像素美术、特效与 UI、免费素材与参考资源\n> 主要信息来源:SLYNYRD(Pixelblog 31/32)、Shmups Wiki「Boghog's bullet hell shmup 101」、Touhou Wiki、Sparen's Danmaku Design Studio、itch.io / OpenGameArt 素材库、(注:详见文末「信息来源与可信度」说明)\n\n---\n\n## 0. 摘要与总体结论\n\n- **弹幕游戏(Danmaku)的美术核心不是\"好看\",而是\"可读性(Readability)\"**:在屏幕同时存在数百颗子弹、多个敌人、粒子特效与道具时,玩家必须能在一瞬间分辨\"哪些是威胁、往哪里躲\"。所有美术决策都应服务于这一目标。\n- **色彩价值(Value)分层是清晰度的关键**:背景用低对比中间调,子弹用小面积高亮+暗色描边(亮暗相邻),玩家子弹、敌方子弹、道具、爆炸用不同明度层级区分。\n- **尺寸基准很重要**:16:9 屏幕下 SLYNYRD 建议 320×180 ~ 640×360 逻辑分辨率;自机相对屏幕的比例决定难度与手感。弹幕游戏常用低分辨率(如 480×270)让像素感更强烈、单位像素信息更少、制作更快。\n- **判定框(Hitbox)视觉提示**是东方式弹幕的标配:低速(聚焦)模式下显示一个小点或小圈,明确告诉玩家\"真正会中弹的位置\",与自机精灵大小形成强烈对比。\n- **免费素材足够支撑原型开发**:itch.io 与 OpenGameArt 上有大量免费像素 STG 素材(自机、敌机、子弹、爆炸、UI),落地阶段可先采购/复用,再逐步原创替换。\n\n---\n\n## 1. 玩家飞船 / 角色设计\n\n### 1.1 分辨率与屏幕尺寸基准(先定画布再画图)\n\n- SLYNYRD(Raymond Schlitter,Thyrian Defenders 作者)建议:16:9 屏幕下,**逻辑分辨率黄金区间为 320×180 ~ 640×360**;其教程以 **480×270** 为目标。\n- 分辨率越低像素越\"块\",像素味越浓、绘制耗时越少;但分辨率过高会失去像素艺术的\"集群可读性(reading intention within clusters)\"。\n- **自机相对屏幕的比例是决定玩法的关键因素**:屏幕越大、自机越小 → 适合高速、多元素同屏的弹幕玩法;自机占屏比越大 → 可容纳的物体越少、玩家反应时间越短(难度体验完全不同)。\n- 常见像素倍率:逻辑分辨率 320×180 / 480×270,放大 2~4 倍整数倍显示,避免像素走样。\n\n**建议(本项目)**:采用 480×270 或 320×180 逻辑分辨率;自机精灵建议 16×16(低配小自机)或 24×24 / 32×32(更有性格);弹幕量较大的话自机宜偏小。\n\n### 1.2 经典像素 STG 自机设计要点(大小、配色、识别度)\n\n综合 SLYNYRD 教程与 Boghog 指南:\n\n- **简洁+独特**:设计越复杂,动画越难做。建议在机翼加条纹(striping)增加性格,同时强调滚转(roll)的深度感。\n- **倾斜/滚转动画**:至少 左/右 + 居中 三帧;SLYNYRD 推荐每侧 **2 帧不同滚转度**(共 5 帧),配合侧向光源,左右移动更平滑(支持模拟输入时可分档滚转)。\n- **尾焰/推进器动画(thruster animation)是必须**:让飞船\"活着\"的关键,通常 2~4 帧。\n- **光源方向全场景统一**:所有精灵与背景使用同一方向光源,才能保持\"飞行\"的立体幻觉。\n- **识别度三要素**:① 与背景/敌方单位的明度层级区分;② 自机弹幕流要\"厚、快、密\"——玩家在紧张的弹幕环境中主要靠弹幕流+轮廓+微光来估算自机位置(Boghog);③ 判定中心可加视觉强调(见 1.5)。\n- **移动手感与视觉配合**:滚转动画速度应匹配移动速度;无惯性移动(Boghog 强烈建议避免移动惯性),若感觉移动\"不流畅\"多半是视觉问题而非参数问题——加残影(afterimage)、尾迹(trail)可显著改善跟手感。\n\n### 1.3 东方Project 系列的角色精灵风格\n\n(说明:以下为对 ZUN 官方游戏内精灵风格的既有认知 + 社区资料的归纳,非实时官方文档。)\n\n- 东方系列正作均为**纵轴弹幕射击**,自机/敌机使用**低分辨率角色小精灵**(PC-98 时代为 16×16 级;Windows 时代精灵更精细但整体仍是\"小尺寸、高识别度\"路线)。\n- 精灵风格特点:**大胆的色块、平涂/少渐变、深色描边**;角色通过发型、发色、服装主色快速辨识(如博丽灵梦的红白、雾雨魔理沙的黑白)。\n- **判定点文化**:按住 Shift 进入低速模式时,自机身上显示一个**小点/小圈标记判定点**(见 1.5),这是东方体系对弹幕公平性的核心贡献,被大量同类游戏沿用。\n- 弹幕本体是同人圈大量复刻的视觉语言:圆弹(tama)、椭圆弹、苦无(kunai)、星弹、音符、护符(amulet)等,见第 3 节。\n- 参考手绘同人/教程中常被提到的 ZUN 风格要点:面部与发型保持多年一致;早期(PC-98)更简朴,色块平涂、用色大胆;Windows 期精灵颜色细节更多但仍保持低饱和背景衬托高饱和子弹的做法。\n\n### 1.4 像素飞船设计要点(落地 Checklist)\n\n| 项目 | 建议 |\n|---|---|\n| 尺寸 | 16×16(极简)/ 24×24 / 32×32(推荐起步) |\n| 帧数 | 居中 1 帧 + 左右滚转各 1~2 帧 = 3~5 帧;尾焰 2~4 帧 |\n| 调色板 | 4~8 色以内/精灵:主色 1~2、辅色/描边 1~2、高光 1、尾焰橙黄 2~3 |\n| 描边 | 深色(近黑)描边,与\"用白色描边的敌方子弹\"形成体系区分 |\n| 轮廓 | 剪影可读性优先,避免细节糊成一片;从剪影草图开始 |\n| 判定中心 | 建议在自机中心下方(东方系在腰部)标 1~2px 亮点 |\n\n### 1.5 判定框(Hitbox)视觉提示设计\n\n- **机制背景**:东方系列中自机碰撞通常用一个**远小于精灵的小圆(约数像素半径)**判定(源自 Touhou Wiki「Hit box」条目:Hitbox 是角色腰部附近的一个小圆,聚焦时可显示)。\n- **视觉提示做法(主流方案)**:\n 1. **低速/聚焦模式才显示**:按住 Shift(低速)时显示一个半透明小圆圈/小点;普通模式不显示(避免干扰)。\n 2. 提示图形建议:**空心圆 + 中心实点**,对比色(如白/亮色配深色描边),随聚焦模式**轻微旋转/脉动**增加存在感(红魔乡社区的 d3d8.dll hitbox 补丁即模拟这种\"旋转+透明度变化\"行为)。\n 3. 判定圈大小应**可配置**(不同自机可不同),提示圈与真实判定圈完全同心、直径一致。\n- **视觉之外的判定公平性**:Boghog 建议——玩家子弹给\"大判定\"、敌人给\"大受击判\"(补偿微操作失误);玩家命中应\"慷慨\"(覆盖贴合情况),才不会有挫败感。\n\n---\n\n## 2. 敌方单位设计\n\n### 2.1 杂兵(Enemy Grunts)的像素设计\n\n- **同一阵营视觉统一+个体差异**:SLYNYRD 强调\"一组单位共享视觉一致性(形态语言、配色体系),又通过形状与颜色彼此区分\"。\n- **角色定位决定美术**:按\"速度 / 血量 / 体型 / 几何弹道 / 颜色\"五要素设计(SLYNYRD):\n - **Popcorn(一发即死的小怪)**:体积小、快、成群出现,是为了制造\"动作感\"而非威胁;血量只要够\"打完这一局\"即可,不要虚高(Boghog)。\n - 快怪 ↔ 低血量+弱弹;慢怪 ↔ 高血量+强火力,尺寸跨度要大。\n- **做 hit 反馈**:受击要闪烁/粒子/抖动,配轻量音效,否则敌人像\"虚影\"(Boghog)。\n- **大判定+可预测移动**:弹幕游戏的挑战来自弹幕而非躲闪敌人本体,所以敌人受击判定要大、移动要慢且可预测(Boghog)。\n- **尺寸参考**:杂兵 16×16 ~ 24×24;中 Boss(miniboss)32×32~48×48;帧数 2~4 帧(多帧震动/开火动画)。\n\n### 2.2 Boss 的体型与细节层次\n\n- **体型梯度**:Boss 应显著大于杂兵(如 48×48、64×64 甚至 96×96),\"越大杀起来越爽\"(SLYNYRD),但不要大到遮挡弹幕视野。\n- **细节层次**:Boss 可以有更多层细节(多层装甲、发光炮口、悬浮部件/浮游炮),但**核心剪影仍需在弹幕中一眼可读**;建议给 Boss 的主炮口、弱点做高亮标记。\n- **Boss 血条分段**:许多 STG 用可视化的 Boss 血条分段(每段切换一个攻击模式),例如 Gamedeveloper 文章提到\"视觉上将 Boss 血条分段以显示本段攻击何时结束\"。\n- **Boss 出场仪式**:Boss 出现前要有\"警告留白\"(玩家无事可做、专注看字幕/警告),用于聚集注意力(Anatomy of a Shmup)。\n- **Boss 爆炸要\"壮观\"**:屏幕级闪光 + 大爆炸动画 + 碎片四散(见 4.1)。\n\n### 2.3 敌方攻击前的视觉预警(Telegraph)\n\n- **蓄力动画**:炮口发光→聚集→发射,是通用预警语言;用 2~4 帧\"粒子向炮口汇聚/炮口颜色渐亮\"表达。\n- **颜色变化**:攻击前单位变色(如变红/变亮)提示即将开火。\n- **激光预警**:东方系激光常见\"先显示一条细亮线(约半秒)再出现命中判定\",是纯粹靠视觉(而非判定)预告的典型做法(社区对永夜抄等作品的解读)。\n- **模式分阶段呈现**:Boss 战先出简单版弹幕→每次重复更快更密更狠(Bullet Pattern Design 教程),玩家靠\"渐进式预告\"进入节奏。\n- **背景预告**:关卡背景用\"地标/视觉节奏\"给玩家读版记忆的锚点(SLYNYRD Part 2)——背景不只是装饰,是记忆关卡的工具。\n- **弹幕扇面/轨迹预告**:可弯曲、可追踪的弹幕建议加尾迹或拉长精灵,让轨迹可读(Boghog)。\n\n---\n\n## 3. 子弹 / 弹幕的像素美术\n\n### 3.1 常见像素子弹样式与尺寸\n\n**东方/弹幕体系常用子弹类型命名**(Touhou Community Jargon、Danmakufu 文档):球(Ball)、椭圆弹、苦无(Kunai)、护符(Amulet)、星弹(Star 大/小)、音符(Note)、米粒/细菌弹、冰锥/碎片(Shard/Icicle)、箭头(Arrow)、火球、心形、花瓣、蝴蝶等。\n\n| 子弹类型 | 常见尺寸 | 形态与用途 |\n|---|---|---|\n| 小圆弹(Pellet/Tama) | 8×8 ~ 12×12 | 基础弹,最密集,靠数量形成弹幕 |\n| 中圆弹(Ball) | 16×16 | 通用主力弹,清晰可读 |\n| 椭圆弹(Oval) | 16×20 左右 | 带方向感/旋转感,常用于弯曲弹道 |\n| 苦无/箭形/导向弹(Directed) | 16×32 左右 | **方向性最重要**:图形应随移动方向旋转(SLYNYRD Part 2:箭头形追踪弹必须朝向运动方向) |\n| 大弹/特殊弹 | 24×24 / 32×32 | Boss 特殊弹、高伤弹 |\n| 激光(Laser) | 宽 4~16、长任意 | 预热细线→粗化→判定 |\n\n### 3.2 子弹颜色与类型的对应关系\n\n- **Danmakufu 官方 8 色**:RED、GREEN、BLUE、YELLOW、PURPLE、AQUA、ORANGE、WHITE——可作为色板起点,且激光与子弹共用这 8 色图形。\n- **颜色编码用途(Note 上\"15 个美丽弹幕\"文章 + Boghog)**:\n - 用颜色区分\"快弹 / 慢弹 / 装饰弹\"等**危险等级**,玩家读色即知威胁;\n - 颜色同时用于表达\"瞄准玩家的弹(aimed)\"与\"固定弹(static)\"等行为差异(各 STG 有自己约定,需在游戏内自学);\n - **红/粉/紫系是弹幕圈事实标准**:与常见特效颜色(黄橙爆炸、金色道具)冲突最少,不易混淆(Boghog 明确指出黄/橙传统弹容易与爆炸和金色道具撞色)。\n- **子弹颜色与发射单位颜色匹配**(SLYNYRD):敌方单位与它发射的子弹同色系,建立\"谁打的\"直觉。\n- **我方子弹用另一色系**(如青/绿白),与敌方红/粉/紫建立对战双方色系对立。\n\n### 3.3 子弹的动画帧设计(旋转、闪烁、脉动)\n\n- **闪烁(Flashing)**:双帧交替即可,对比越强越\"危险\",但对比过强高速移动时反而难追踪(SLYNYRD);常用于\"即将消失/即将命中\"状态。\n- **旋转(Rotation)**:星形、方形、椭圆可用 4~8 帧旋转;椭圆可做 Z 轴\"翻转\"来模拟 3D 感。\n- **脉动(Pulse)**:轻微膨胀-收缩,任何形状都适用,让子弹\"活着\"。\n- **波动/涟漪(Wobble/Ripple)**:CAVE(虫姬/怒首领蜂)子弹常用抖动+涟漪动画,作用是**抓住眼球并给每颗子弹独特身份**(Boghog)。\n- **动画帧数建议**:2D 旋转 4 帧(90°步进)起步、精细 8 帧;脉动 2~4 帧;闪烁 2 帧。帧率 12~15 FPS 贴合像素风。\n- **拖尾(Trail)**:轨迹不寻常(弯曲/追踪)的子弹加尾迹,帮助玩家预判(Boghog)。\n\n### 3.4 大量弹幕同屏时的视觉清晰度处理(核心)\n\n- **价值(Value)分层**:将图像转黑白即可检查——子弹应\"亮部+暗部紧挨\"(发光核心紧贴深色描边/内圈),最大化明度对比;背景用**低对比中间调**,让子弹可以用极值明度自由突出(Boghog)。\n- **描边(Outline)体系**:**敌方子弹用白色/亮色描边**(或亮+暗双描边),其他精灵用深色描边,从体系上把\"威胁\"和\"物体\"分开(SLYNYRD)。\n- **分块/分组(Chunking)**:把子弹编成线/环/簇等可读图案,让玩家读\"组合\"而非单颗;**单颗游离子弹最难读,容易显得不公平**(Boghog)。\n- **深度排序(Depth Sorting)**:敌方子弹永远绘制在自机、我方子弹、道具、爆炸之上;**小且快的子弹绘制在更大更慢的子弹之上**;单颗/小组绘制在大块之上(Boghog)。\n- **留隙(Design gaps)**:弹幕模式要\"设计缝隙\"——玩家能看见逃生路就公平,光炫但读不出路就让人感到不公平(note 文章)。\n- **限制换色**:单屏同时出现的弹色建议控制在 2~3 种(Boghog 风格惯例),避免信息过载。\n- **背景配合**:背景刻意保持暗/中调+低饱和,就是给子弹让出可读空间。\n\n---\n\n## 4. 特效与 UI\n\n### 4.1 爆炸特效的像素动画(SLYNYRD 方法)\n\n- **制作流程**:先用\"圆→扩张变细环\"的几何引导确定整体尺寸与扩张速率 → 把圆转成有机火焰团块 → 调团块运动。\n- **物理真实感原则**:热气先快后慢(热膨胀快、冷却变慢)→ 爆炸**先迅速扩张、后缓慢消散**。\n- **颜色演变**:**白炽(最亮)→ 暖色(红橙黄)→ 灰烟**消散。\n- **形态演变**:团块从整体一致→随扩张分裂为多而复杂的小块;暗部逐渐侵入;最大扩张后缓慢上浮并化为烟。\n- **冲击波**:把引导环稍作修改即可成冲击波环。\n- **Boss 爆炸**:屏幕级闪光 + 多层大爆炸 + 碎片残留(Anatomy of a Shmup 强调\"一切被摧毁的都应爆炸,Boss 阵亡必须是一场辉煌的灯光秀\")。\n- **尺寸建议**:爆炸精灵显著大于被摧毁单位(如单位 16×16 → 爆炸 24~48×24~48,8 帧左右);碎屑粒子 2~8 帧。\n\n### 4.2 拾取道具的视觉效果\n\n- **可读性优先**:道具必须一眼区别于\"威胁物\",形态独特 + **活跃的空闲动画**(idle animation)——旋转、漂浮、脉动、闪光都行(SLYNYRD Part 2)。\n- **经典道具色/形**:P(Power 火力,红色系)、S(Speed 速度)、Bomb(全屏雷)、1UP 生命、Heart 回血;建议固定配色约定(如红=火力、蓝=速度、金=得分)。\n- **分布与运动**:从特定敌人掉落 / 中立单位给予 / 随机入场;下落时做左右漂移、反弹、摇摆等\"伸手去接也有意思\"的运动。\n- **收集反馈**:拾取瞬间应有闪光+粒子+音效+分数飘字(详见 4.3)。\n- **点收集(Point of Collection)**:靠近屏幕顶端的一条\"自动收集线\"(东方系标准道具回收机制),线上道具全自动收集——UI/视觉上要有明确标识(例如顶部的装饰发光横线)。\n\n### 4.3 得分 / 连击的视觉反馈\n\n- **数字飘字**:得分/连击数用大号、亮色、带描边的像素数字,从事件点弹出并上浮淡出;字体建议用现成像素字体(如 Press Start 2P、Silkscreen 的开源替代)。\n- **连击(Combo/Chain)反馈**:连击计时条/乘数图标(如\"x2.5\")靠近 HUD 核心区;连击即将断时闪烁/变红制造紧张感(Dodonpachi 式\"防御性计分\"靠视觉压力驱动玩法)。\n- **擦弹(Graze)反馈**:子弹擦过判定外圈时给火花/星光 + 分数飘字,是东方系核心爽点,视觉上要有专门粒子。\n- **分数增长可视化**:让\"数字变大\"成为本能驱动(Boghog:大亮数字的成长本身就是激励)。\n- **层次化强调**:重要计分元素视觉上加强(更大更亮),次要元素弱化,让玩家一眼抓住当前目标(Boghog「Depth vs Clarity」)。\n\n### 4.4 血条、Bomb 数量等 HUD 设计\n\n- **HUD 基础要素**(STG 惯例):得分、连击/擦弹、自机数量(残机图标)、Bomb 数量(B 图标)、火力等级、Boss 血条(分段)、Boss 名/符卡名横幅、暂停/接关菜单。\n- **Boss 血条**:建议**分段色条**(每段对应一个攻击阶段),置于屏幕上方通栏;段末闪白提示\"即将切换攻击\"。\n- **Bomb 图标**:用典型\"B\"或者手雷/符卡造型的像素图标,数量用并列小图标表示(东方系风格:一枚 B 一颗星/符卡的排列)。\n- **残机(Lives)**:像素自机小图标排列,比数字更直观。\n- **注意遮挡**:HUD 元素放在玩法区之外(顶部/底部条)或半透明;Boghog 提醒玩家主要在屏幕中区活动,HUD 不应遮挡弹幕视野。\n- **风格统一**:HUD 的像素分辨率、色板、字体与游戏本体一致(CraftPix 等素材库提供现成 pixel UI,可直接适配)。\n- **像素 UI 素材参考**:CraftPix.net 的 Pixel Art Game UI 分类(免费/付费都有)。\n\n---\n\n## 5. 参考资源搜索汇总\n\n### 5.1 itch.io 免费/付费像素弹幕素材\n\n| 资源 | 内容 | 链接 |\n|---|---|---|\n| **Danmaku Sprite Pack**(Void dancer)| 模仿东方官方风格的子弹精灵包,免费,需遵守东方二次创作规约,可编辑 | https://void-dancer.itch.io/danmaku-sprite |\n| **Danmaku Sprite Pack(BDragon1727)** | 16×16 火/水/魔法子弹、特效精灵表,免费 | https://bdragon1727.itch.io/fire-pixel-bullet-16x16 、 https://bdragon1727.itch.io/free-effect-and-bullet-16x16 |\n| **Pixel SHMUP Ships / Pixel Art Spaceships for SHMUP**(DyLESTorm)| 免费 1 自机+2 敌机+2 弹幕+8 帧爆炸+UI;付费版 60 艘原创飞船 | https://livingtheindie.com/free-pixel-art-smhup-ships-game-asset 、 https://livingtheindie.itch.io/pixel-art-spaceships-for-shmup |\n| **Pixel Nebula Player SpaceShip**(PixelCarvel)| 32×32 自机,另有玩家僚机(Drone)、Boss 包、竖向背景包 | https://itch.io/game-assets/tag-bullet-hell |\n| **TopDown BulletHell Pack**(einav23)| $5.50 俯视角弹幕包(子弹+敌机+特效) | https://itch.io/game-assets/tag-bullet-hell |\n| **itch.io 筛选页** | `tag=Bullet Hell`、`tag=Shoot 'Em Up`、`tag=Pixel Art`、`Free` 组合筛选 | https://itch.io/game-assets/free/tag-pixel-art/tag-shoot-em-up 、 https://itch.io/game-assets/free/tag-bullet-hell/tag-sprites 、 https://itch.io/game-assets/free/tag-2d/tag-bullet-hell |\n\n### 5.2 OpenGameArt 免费素材(CC0/OGA-BY 授权)\n\n- **Explosions, Bullets, Fire etc (Pixel art)**:爆炸/子弹/火/电等离子精灵,干净像素风 | https://opengameart.org/content/explosions-bullets-fire-etc-pixel-art\n- **Assets Free Laser Bullets Pack 2020**(Wenrexa):66 个 CC0 激光/子弹 PNG,建议配 Color Dodge/Lighten 叠加渲染 | https://opengameart.org/content/assets-free-laser-bullets-pack-2020\n- **Enemy Spaceship 2D Sprites Pixel Art**(CraftPix 发布,OGA-BY 3.0):敌机精灵 | https://opengameart.org/content/enemy-spaceship-2d-sprites-pixel-art\n- **shmup 合集页**:https://opengameart.org/content/shmup\n\n### 5.3 经典 STG 精灵分析与弹幕设计参考\n\n- **Touhou Wiki - Hit box**:判定点机制与尺寸说明 | https://touhou.fandom.com/wiki/Hit_box 、 https://en.touhouwiki.net/wiki/Hitbox\n- **Touhou Danmakufu: Bullets(Fandom)**:8 色子弹系统 | https://touhou.fandom.com/wiki/Touhou_Danmakufu:_Bullets\n- **Touhou Community Jargon**:子弹类型名称大全(球/苦无/护符/星/音符/冰锥等)| https://maribelhearn.com/jargon\n- **Sparen's Danmaku Design Studio(Guide A2/A3)**:固定/随机/瞄准三种发射角、方向性子弹图形、环形公式 | https://sparen.github.io/ph3tutorials/ddsga2.html\n- **Boghog's bullet hell shmup 101**:弹幕游戏设计圣经(可见性/价值分层/深度排序/Toaplan 阵型等)| https://shmups.wiki/library/Boghog%27s_bullet_hell_shmup_101\n- **Shmups Wiki 主站**:https://shmups.wiki\n- **Video Game Boss Design For Shmups**(GameDeveloper):血条分段与 Boss 战设计 | https://www.gamedeveloper.com/design/video-game-boss-design-for-shmups\n- **The Anatomy of a Shmup**(GameDeveloper):爆炸、预告、难度交互清单 | https://www.gamedeveloper.com/design/the-anatomy-of-a-shmup\n- **Bullet Pattern Design(SHMUP WORKSHOP 03,YouTube)**:渐进难度/预告/引导玩家 | https://www.youtube.com/watch?v=ArZRZSYICLo\n\n### 5.4 像素艺术风格指南(教程/博客)\n\n- **SLYNYRD Pixelblog 31 - Shmup Design Part 1**:分辨率、自机、敌机、子弹、爆炸(本报告核心来源之一)| https://www.slynyrd.com/blog/2020/12/14/pixelblog-31-shmup-sprite-design\n- **SLYNYRD Pixelblog 32 - Shmup Design Part 2**:玩家射击类型(Vulcan/Laser/Homing)、道具、环境/视差 | https://www.slynyrd.com/blog/2021/2/15/pixelblog-32-shmup-design-part-2\n- **Pixel Art Tutorial - Understanding Explosions**(Penusbmic,itch.io 视频教程):爆炸动画两种做法 | https://penusbmic.itch.io/pixel-art-tutorial-understanding-explosions\n- **The 12 animation principles adapted for pixel art**(sprite-ai.art):低分辨率下的挤压拉伸/跟随动作 | https://www.sprite-ai.art/guides/animation-principles\n- **Aseprite / Piskel 爆炸教程**(YouTube 检索词:Aseprite pixel art explosion tutorial)\n- Piskel(免费在线像素编辑器):https://www.piskelapp.com\n\n### 5.5 建议搜索关键词(继续深挖用)\n\n`pixel art shmup sprites`、`bullet hell pixel art assets`、`STG sprite design`、`东方Project 像素风格`、`pixel art explosion animation`、`Touhou danmakufu bullet graphics`、`danmaku bullet sheets site:itch.io`、`shmup hitbox indicator`、`CAVE 子弹精灵拆解`\n\n---\n\n## 6. 给本项目落地落实的美术规范建议(可直接执行)\n\n1. **画布与倍率**:逻辑分辨率 **480×270(推荐)或 320×180**,整数倍放大 3~4 倍输出;所有精灵按 16 或 8 的倍数取尺寸(16×16 自机起步 / 32×32 精细自机;敌弹 8~16×16 系列;Boss 64×64)。\n2. **色板分工(建议)**:\n - 背景:低饱和中暗调(深蓝紫灰系),价值集中在中间调;\n - 敌方子弹:红/粉/紫系(8 色 Danmakufu 色板起步)+ 白/亮描边;\n - 我方子弹:青/绿白系 + 深描边;自机:高对比品牌色(如红白、蓝白);\n - 道具:金/橙(得分)、红(火力 P)、蓝(速度 S)、银灰(Bomb)——注意与敌弹色彩错开;\n - 爆炸:白→橙红黄→灰;\n - 预警:蓄力时变亮/变红,激光先亮细线。\n3. **动画帧数基线**:自机滚转 3~5 帧 + 尾焰 2~4 帧;敌机 2~4 帧;子弹旋转 4 帧(或 8 帧)、脉动 2~4 帧、闪烁 2 帧;爆炸 6~10 帧;道具 idle 2~4 帧。统一 12~15 FPS。\n4. **判定与显示**:自机真实判定用 2~4px 半径小圆,聚焦时显示同心空心圆 + 中心点(半透明+微旋),判定圈与显示圈完全同心。\n5. **绘制顺序(渲染层)**:背景 → 道具/粒子 → 我方子弹 → 敌人本体 → 我方自机 → **敌方子弹(最顶层)**;敌弹内部:小快弹 > 大慢弹。\n6. **工作流建议**:先用 itch.io/OpenGameArt 免费包搭出可玩原型(自机 1 + 敌机 3 + 子弹 5 种 + 爆炸 1 + UI 板),再按上述规范逐一套用原创精灵替换;调色与动画用 Aseprite(付费,推荐)或 Piskel(免费)。\n\n---\n\n## 7. 信息来源与可信度说明\n\n- **基于实测/原文提取的内容**(可信度高,可自行核验):SLYNYRD Pixelblog 31/32 全文、Boghog's bullet hell shmup 101 全文、void-dancer Danmaku Sprite Pack 页面、LivingTheIndie 免费 SHMUP 素材描述、各 itch.io/OpenGameArt 页面标题与标签。\n- **基于第三方社区/百科归纳**:Touhou Wiki 判定点机制(Hitbox 条目)、Maribel Hearn 的 Touhou Jargon、Sparen 弹幕教程、note 上\"15 个美丽弹幕\"文章、Reddit r/shmupdev 讨论——这些是社区整理,非官方文档,具体数值(如判定点像素大小、各作品子弹尺寸)以实际游戏/官方资料为准。\n- **标注为\"既有认知+\"的内容**(第 1.3 节东方风格总结):来自模型训练知识与社区资料交叉印证,非实时官方文档,**未逐一验证**,使用前建议对照东方官方立绘/游戏截图复核。\n- **价格为检索时点快照**(如 $5.50、$4.99),可能变动,以页面为准。"}, "ts": 1787459537022}, {"type": "progress", "id": "call_686f6d2a524e42c8814f49b1", "tool": "run_command", "status": "running", "args": {"command": "ls -la /Users/demo/starraid/research/pixel_art_style/ && wc -l /Users/demo/starraid/research/pixel_art_style/pixel_art_research.md && head -20 /Users/demo/starraid/research/pixel_art_style/pixel_art_research.md", "timeout": 30}, "ts": 1787459540420}, {"type": "progress", "id": "call_686f6d2a524e42c8814f49b1", "tool": "run_command", "status": "completed", "args": {"command": "ls -la /Users/demo/starraid/research/pixel_art_style/ && wc -l /Users/demo/starraid/research/pixel_art_style/pixel_art_research.md && head -20 /Users/demo/starraid/research/pixel_art_style/pixel_art_research.md", "timeout": 30}, "ts": 1787459540464}, {"type": "progress", "id": "call_a408a501756e44adbaca2207", "tool": "todo_update_task", "status": "running", "args": {"completed": true, "task_indices": [6]}, "ts": 1787459543369}, {"type": "progress", "id": "call_a408a501756e44adbaca2207", "tool": "todo_update_task", "status": "completed", "args": {"completed": true, "task_indices": [6]}, "ts": 1787459543369}]}} |