How it works
Pinky 怎麼運作
兩套可見性規則,用顏色分開:暖橘管你看不看得到地方(迷霧、火把),冷白管你看不看得到人(照明、探知)。以下是全部的規則與數字。
火把、迷霧=地方
照明、探知、自發聚集=人
店家活動點
物資、零知識驗證
1. 三層戰爭迷霧
地圖和即時戰略遊戲一樣,有三層可見性:
| 層 | 意思 | 看得到什麼 |
|---|---|---|
| 全黑 | 從沒去過 | 什麼都沒有,連街廓、捷運線都看不到。只有燃燒中的火把會在黑暗裡露出一道細細的光芒線條——你知道那裡有東西,但不知道是什麼。 |
| 灰暗(記憶) | 去過,但現在沒視野 | 地形與地標:街廓、捷運、店名、事件點的位置。若曾在那裡完成過事件,會有圖釘標示紀錄。 |
| 明亮(視野) | 目前在視野內 | 全部,而且是活的:物資、火焰、燈下的人、名額與倒數。 |
「記得的」與「活的」分開是這套迷霧真正的價值。建築物(店、活動點)是記得的,灰色區照樣看得到;單位(物資、火焰、燈下的人、即時人數)是活的,只有視野內才算數。灰色區的意義是「我知道那裡有一家店,但現在有沒有物資、有沒有人,要走過去才知道」。
視野從哪裡來
- 你自己:半徑 100 公尺,跟著你走。撿到「照明燈」物資可暫時 +35%,持續 1 小時。
- 燃燒中的火把:店家的有效半徑(見下一節)。熄掉就失去視野。
- 已成立事件的照明:220 公尺起,隨人數變大,最大 375 公尺。候補中的虛擬預約不發光。
記憶是累積且不可逆的。任何曾經進入視野的地方永久留在「已探索」。點亮一盞燈,那塊立刻進入視野,從此永遠是探索過的地方;燈滅了只退回灰色,不會變回全黑。店家熄火把不能把你已經知道的街區收回去。
2. 火把:兩條硬規則
火把是店家點的光源,照亮地方。
規則一:火把永遠比你自己大
| 你自己的探索半徑 | 100 m(固定) |
|---|---|
| 火把有效半徑的下限 | 220 m |
| 火把有效半徑的上限 | 350 m |
店家買的光,一定比自己走路看得遠。破了這條,火把就沒有意義。
規則二:光會群聚,愈密愈大
crowd = Σ max(0, 1 − d / (R_self + R_other)) 對所有燃燒中的其他火把,d 為距離(公尺)
mult = min(1.30, 1.05 ^ crowd)
有效半徑 = clamp(基礎半徑 × mult, 220, 350)
- 同一位置疊一支同級火把 → crowd ≈ 1 → 有效半徑 ×105%。
- 愈多火把擠在同一條街,倍率往 130% 走,最終撞到 350 公尺上限。
- 別人熄燈,你的光隨時間緩慢縮回,不會瞬間跳動。
參與者只看得到有效半徑。店家後台地圖上,實心暖光是有效半徑,外面一圈虛線是基礎半徑。
3. 物資
- 一份份丟在地圖上的可拾取物:青色方塊,稀有為粉色。內容是店家優惠,或平台道具(箭矢、照明燈)。
- 走進 100 公尺且該處在視野內,自動收進背包。
- 撿完就沒了。店家可設數量、每人限領、稀有度。
- 有些物資要在該火把有已成立的虛擬預約才撿得起來——也就是你已經約好另一個人一起過去。
- 丟在火把圈外也可以,只是沒人看得見,得靠人自己探索撞見。
4. 照明與探知:燈下才看得到人
已成立的事件自帶一圈冷白色照明。照明半徑隨人數成長:
照明半徑 = clamp(220 × 1.05 ^ (人數 − 1), 220, 375) 1 人 220 m、6 人約 281 m、12 人以上 375 m
站在照明裡,你可以打開探知。探知有三條硬規則,都是刻意的:
- 雙向。打開=你看得到別人,別人也看得到你。你的頭像會多一圈白色光暈,明示「你正在被看到」。只看不被看就是跟蹤工具,Pinky 不做。
- 走出光圈自動關閉,並提示。離開現場就不可能被追蹤。
- 探知關著時不顯示「這裡有幾個人」。給了人數等於單向偷看,破壞對稱性。地圖只說「這盞燈可以開探知」。
打開後畫面底部會出現「○○ 的燈下 · N 人開著探知」與匿名頭像。點一個人,看得到的是:代號、待了幾分鐘、他選擇出示的徽章、他曾完成的火把事件,以及一段說明:你看得到他的條件是什麼、什麼時候會消失。你可以送出招呼,也可以看看就好;對方可以設定不接收招呼。
5. 兩種事件
| Holding Group | 自發聚集 | |
|---|---|---|
| 誰發起 | 店家 | 任何人 |
| 建立方式 | 後台表單 | 貼一個 Google 地圖連結 |
| 費用 | 開團免費 | 免費 |
| 照明半徑 | 220–375 m 隨人數 | 220–375 m 隨人數 |
| 成立條件 | 無,直接存在 | 需達成人數門檻 |
| 同時擁有上限 | — | 每人最多同時 2 個虛擬預約 |
發起一攤只要三步
- 貼 Google 地圖連結。地點名稱與座標自動帶出,連所在的區、里都會顯示。也可以直接貼座標。縮短連結(maps.app.goo.gl)展不開,改貼完整網址即可。
- 設定。名稱可留白(用地點名)、今天或明天、24 小時制時間(預設 17:00)、內建人數、人數上限、還需要幾個人才成立、密語、要不要標示主辦買單。
- 完成。拿到密語卡。還在候補中的話會告訴你:還差幾人、剩多久截止、沒湊到會自己消失。
6. 虛擬預約的生命週期
開攤的那一刻還不是事件,只是一個占住地點與時間的虛擬預約。
| 狀態 | 條件 | 地圖上 |
|---|---|---|
| 候補中 | 人數未達門檻、未到截止 | 呼吸的空心虛線圈,標「差 N 人 · 剩 12 分」 |
| 已成立 | 人數達門檻 | 實心點+實線圈,開始發照明。落在店家火把圈內就認那支火把;附近沒有店家,這攤自己就是一盞暫時火把,事件結束即消失。 |
| 已消失 | 到截止仍未達標 | 從地圖上移除 |
湊不到人的處理,是對使用者的承諾:它會從地圖上消失,主辦與已加入的人會看到「暫時沒有任何意願 🥺」——它只是一個虛擬預約,從頭到尾沒有變成真的事件,所以沒有人白跑一趟,也沒有人知道你曾經想約。不相干的人只看到那個點淡出。
7. 密語
主辦認人的唯一手段,取代姓名、電話、報名表。
- 按下「我要去」之後才拿得到;沒加入的人在任何畫面都看不到。
- 每個參加者另附一組不同的號碼(像
A1C、R2K),到場時一起說,主辦可以認第幾號。 - 已知限制:整句加號碼一起被轉傳,目前防不了。密語是暗號,不是門票。
8. 現場任務與火把資源
資源不是滑出來的,是在現場做事換來的。店家可以自己設定任務,例如:
| 任務 | 完成獎勵 |
|---|---|
| 在門口感應報到(拿到「真人・今晚有到場」證明) | 解鎖今晚的火把物資 |
| 店家自訂,例如對店員說出密語 | 店家事件 |
| 跟一個陌生代號碰杯(兩機互碰,不換聯絡方式) | 完成任務 |
完成火把事件會得到經驗值,並且該火把的照明範圍永久進入你的記憶。自己發起的攤成立之後,主辦按「完成」也一樣。沒開探知也能完成任務,只是看不到探知者。
9. 零知識匿名身分
- 第一次打開 App,裝置本機產生金鑰對,只上傳承諾值
commit = H(sk‖salt)。伺服器推不回你是誰。 - 代號隨機生成,像「薄荷#4172」。可以隨時燒掉重生——代價是探索記憶歸零,地圖變回全黑。
- 徽章(真人、年滿 18 等)由你選擇是否出示。出示的是證明,不是證件。
- 物資核銷驗的是「這份有效、且沒被同一人重複領」,不是「你是誰」。
一個晚上會長什麼樣
- 打開 App,裝置生金鑰,拿到代號。沒有註冊,沒有手機號。
- 地圖全黑,遠處有幾道橘色光芒線。
- 往其中一道走,沿路撥開腳下的霧,路上撿到兩份物資。
- 走進「霧室」的火把圈,看到它的活動,匿名報名。
- 在現場報到、說密語、碰杯。經驗值入帳,霧室的照明範圍永久進入記憶。
- 站在照明裡打開探知,看到燈下另外四個開著探知的人,送出一個招呼。
- 離場。背包裡有幾份未核銷的物資、一張入場證明。地圖上多了一片永久探索過的區域。