❓ How to Play · Rules · Governance
一份完整的玩法与公约说明。新玩家请先读 War 与 Charity Rules。
⚔️ War — Season Battlefield
Red vs Blue 150×100 单战场赛季(48h 一季)。画布中央 60% 是拉锯带, 左右各 20% 是双方初始领地(红 x∈[0,19] / 蓝 x∈[130,149])。必须触达己方领地才能涂新格(上下左右四邻至少一格为己方)。
🎯 胜利条件(两种,先到先判)
① HQ 毁灭(直接胜):敌方 36 个核心格(6×6)全部被我方占领。
- 红核:x∈[7,12],蓝核:x∈[137,142],y∈[47,52](画布垂直中心)
- 每个核心格需要连续命中 3 次才能拿下(每次消耗攻击权,hits≥3 才覆盖)
- 触发时机:place_pixel 夺取核心格 或 fire_weapon 覆盖核心格后,调用 check_hq_destruction 检查剩余核心格是否为 0
② 时间到期(48h):数红蓝双方各占多少格。
- 红格数 > 蓝格数 → red 胜;蓝 > 红 → blue 胜
- 平局:取 pixels 表中最后一次涂格(updated_at 最大)的阵营获胜
胜利判定数据源:experiments 表的 status / winner_faction /end_time。赛季结束后 start_new_season() 清空 pixels / core_hits, 重置 factions.historical_pixels(武器解锁重新累计),玩家只保留账号/阵营/徽章。
📊 数值口径(实现口径,精确到代码变量)
| 界面显示 | 代码变量 | 计算公式 | 数据来源 |
|---|---|---|---|
| 免费放置 5min / 存 3 | users.free_actions | floor((now - last_free_action_at) / 300) 恢复,上限 3 | place_pixel 入口惰性恢复,消耗时 -1 并写回 last_free_action_at=now |
| 免费攻击 5min / 存 3 | users.free_attack_actions | floor((now - last_free_attack_at) / 300) 恢复,上限 3 | accrue_user() 惰性恢复,place_pixel 攻击时消耗 |
| Pass 步枪冷却 | users.last_rifle_at | 24h→10s, 6h→15s, 48h→20scd_left = tier_cd - (now - last_rifle_at) | place_pixel 内计算,cd_left > 0 时拒绝攻击 |
| 特殊充能 +1/h 上限 30 | users.special_charges | floor((now - last_charge_at) / 3600) 恢复,自然上限 30(购买可超) | accrue_user() 惰性恢复,fire_weapon 消耗 |
| 击杀 Kills | users.kills | 攻击覆盖敌方"玩家涂过"的格(pixels.owner_id ≠ null)+1 | place_pixel 攻击路径内判断 |
| 武器解锁 | factions.historical_pixels | 每次 place_pixel 或 fire_weapon 成功占领时 +1 | fire_weapon 内 update factions |
⚔️ 攻击来源优先级(代码硬编码)
- 通行证步枪(pass 激活且冷却走完)
- 即时包(instant_attacks ≥ 1)
- 免费攻击(free_attack_actions ≥ 1)
- 全部用完 → 返回错误,提示购买或等 5 分钟
🎨 Rooms — Themed Canvases
独立画布房间,5 种类型:
- Memory $9.99 — 个人回忆画布
- Event $19.99 — 活动宣传
- Team Free — 多人协作
- Charity Free — 公益画布,完成后入慈善画廊
- Promo $29+ — 企业品牌墙
填满 100% 后房主可锁定,永久保留并生成纪念海报下载。
💛 Charity Canvases — Rules
公益画布承载道德意义(如"宝贝回家"系列),仅允许公益内容。
- ✅ 允许:寻人、祝福、纪念、公益机构宣传
- ❌ 禁止:商业广告、引流二维码、低俗/违规图、与公益无关的政治内容
- 每用户每天 1 张公益画布,完成后自动进慈善画廊
- 违规者将贴上 💔 Charity Hijacker 坏标签,永久公示于 /wall-of-shame
- 申诉/洗白:完成 5 张真实公益创作后可申请撤下标签
⚠️ 公益画布顶部有金色警示横幅 + CHARITY · NO ADS 徽章—— 看到这两个标识,请务必遵守规则。
🖼️ Gallery — Community Showcase
完成且房主勾选 allow_gallery 的画布会在这里展示。 每张卡片显示真实像素缩略图(即玩家实际画了什么)。
- 👍 点赞 / 👎 拉踩(再点一次取消,互斥切换)
- 公益画布自动收录;promo 类型不入画廊(仅上 Wall)
🏢 Public Wall — Brand Promos
企业 promo 画布锁定后自动上墙,作为品牌公共展示位。 这是企业付费投放位,不参与画廊投票。
💰 Passes & Packs — Monetization
赛季内购买(实时叠加,跨设备保留):
- 6h Trial Pass $1 — 步枪 20s 冷却 + 2 charges
- 24h Pass $5 — 步枪 15s 冷却 + 10 charges
- 48h Pass $10 — 步枪 10s 冷却 + 30 charges + 赛季徽章(BEST VALUE)
- Instant Rifle Packs $3/$5/$10 — 无冷却步枪,30/60/150 发
- Weapon Charges $2/$5/$10 — 10/30/80 发特殊武器弹药
- Commander $3 — 每方限 1 名,调度权限,禁购
- Sponsor $5 — 徽章 + 名人堂 + 全频道通报
⚠️ 所有 Pass 价格为原价,永不自动折扣。支付完成后请保留支付返回链接以备核对。
🚨 Wall of Shame — Community Governance
违规玩家被管理员贴上坏标签后,永久公示于 /wall-of-shame, 名字、坏标签图标、违规原因、模糊化罪证缩略图一并展示。
- 💔 Charity Hijacker — 在公益画布放商业广告
- 🗑️ Spammer — 多张画布刷同质广告
- 🔞 NSFW — 上传低俗/违规图片
- ⚔️ Abuse — 辱骂/恶意涂鸦
- 🎭 Cheat — 利用漏洞刷积分
⚠️ 每次贴标签同步推送公告到 Discord #wall-of-shame 频道。 洗白路径:完成 5 张真实公益创作 + 提交申诉 → 审核通过后撤下标签。
🔑 Your Identity — Anonymous Client Key
PixelWar 不强制注册登录。每个浏览器自动生成一个 client_key(存在 localStorage), 作为你的玩家身份。绑定邮箱后可在不同设备间同步资产。
- 切换浏览器/清缓存 → 丢失身份(绑定邮箱可恢复)
- 所有购买记录、画布所有权、徽章都挂在这个 key 上