RimTown - AI Town Simulation 邊境鎮
A RimWorld-inspired AI town simulation where every resident is an autonomous AI agent with unique personality, background, job, relationships, and daily life. Available as a WordPress plugin.
Godot 3D 開發進度(2026-09-10)
獨立的 Godot 3D 測試版已可操作旅人;官網目前仍提供 2D 網頁版。3D 尚未正式發行,不能將下方原版功能清單視作全部已移植。
- Godot 3D 開發進度:旅人移動、近身互動、聊天/送禮、心動事件、建築選址與加工農業已接入。以下是獨立 3D 測試版進度,並非網頁版新增玩法。
- 任務核心已接入 12 主線、11 支線、24 居民任務、13 日常、六類人生目標及四種結局;所有路線自然通關驗收仍在進行。
- 人口與家庭:每兩日檢查出生、每日最多一位居民移入;住宅每棟完工增加 3 位 NPC 容量,最多八棟、總容量 40,住宅不增加產量。
- 平衡與驗證:保留備貨與市場需求限制;原始新局資源、正常付費施工,伐木起步的經濟路線在 40 日達到 37 人、18 棟及 Lv7。預設原料補給有開啟,並非封閉自給或全結局通關。
- 行為一致性限制:3D 版自由聊天提到邀約,尚不會自動建立赴約行程;居民間系統邀約已有延遲選址,但準時赴約、等待與失約原因尚待補齊。
實際測試畫面見官網 3D 圖集。3D 開發原始碼與人口/住宅驗收說明。後續仍有選舉/防禦世界事件、完整自然通關、AI 邀約與行程一致性、動畫音效及雲端驗收。核心玩法與 3D 體驗穩定後,另安排官網整體視覺評估,決定是否全面改版。
English: the separate Godot test build now includes traveler controls, interactions, construction, economy, quests and population growth. The public browser game remains 2D. Free-form invitations do not yet guarantee attendance; full ending playthroughs and other world systems are still being validated. The gallery contains real test scenes, including prepared fixtures.
Features
- Autonomous AI Agents: 25+ residents with unique personality, memory, moods, and psychological needs
- Social Simulation: Agents chat, gossip, form friendships, rivalries, and romantic relationships
- Job System: 12 RimWorld-inspired jobs — farming, mining, cooking, crafting, doctoring, research, trading, and more
- Dynamic Events: Random events, seasons, raids, event chains, and merchant caravans
- Memory & Relationships: Agents remember interactions, form opinions, date, marry, cheat, and divorce
- Election System: Mayor elections with campaigns, voting, and policy effects
- Economy: Resources, buildings, research tech tree, trading
- Account System: Register/login, cloud saves, multi-device sync
- Faction System: NPCs form social circles (work buddies, drinking pals, gossip circles) with alliances and rivalries
- Seasonal Festivals: Spring Festival, Midsummer Bonfire, Harvest Festival, Winter Solstice with quests and decorations
- NPC Lifecycle: Aging, death (old age/disease/accidents), birth, graveyard with epitaphs
- Legacy / New Game+ System: Player can have children, start a new generation inheriting resources, buildings, industries, and NPC memories
- Exploration: 6 discoverable zones outside town (forest, ruins, mine, mountain, cave, swamp) with expeditions
- Achievement System: 50+ achievements across social, romance, economy, survival, faction, exploration, industry categories
- NPC Conversation Visualization: Speech bubbles on map when NPCs talk to each other
- Player Interaction: Choose jobs, vote in elections, flirt, propose, and marry NPCs
- Built-in Town AI: every player talks to villagers through the server-side AI proxy (
/api/chat); all keys live in Vercel env vars, nothing to configure on the client. Server-side smart routing: player chats and story scenes go to Groq's free tier (GROQ_API_KEY) first, schedules/reflections/background talk go to the paid channel (LLM_*), either side failing falls back to the other
- Pixel Art Map: Animated tilemap with day/night cycle, campfires, particles
- Four Industries System: Lumber, Quarry, Farming, Mining — choose your starting industry and unlock more as your town grows (v3)
- Farm & Crop System: Plant crops, manage plots, seasonal planting, quality system, NPC farmer bonuses (v3)
- Factory Processing: Build factories (bakery, textile mill, brewery, etc.), assign workers, craft goods, fulfill orders (v3)
- AI Daily Newspaper: LLM-generated town newspaper with NPC reporter personality, gossip, and event coverage (v3)
- NPC Relationship Events: Fights, hospitalizations, sabotage, cheating scandals with town-wide consequences (v3)
- Town Level System: 7 town levels from hamlet to city, unlocking industry slots as you grow (v3)
- Daily Decision System: Daily choice cards that let you make meaningful decisions affecting the whole town (v4)
- Shop System: Buy and sell resources at the general store (v4)
- Event Choice System: Choose how to respond to major events (raids, disasters, etc.) (v4)
- NPC Help Requests: NPCs ask for your help with their problems — your choices affect relationships (v4)
- Job Action Buttons: Manually perform your job (farm, forge, heal, etc.) for resources and skill XP (v4)
- Interactive Newspaper: React to daily news with investigate/support/ignore actions (v4)
- Improved Mood System: Gentler nighttime need decay, graduated mood penalties (v4)
- Reputation System: 6 tiers (Nobody → Legend) with real gameplay effects — trade bonuses, NPC trust, shop discounts, event shields, immigration attraction (v4)
- Dynamic Weather Engine: 10 weather types (clear, rain, storm, snow, blizzard, heatwave, drought, fog, wind, cloudy) with season-weighted pools, 3-day forecast, temperature/humidity/wind tracking, and real gameplay effects on farming, mood, NPC activity (v4)
- Natural Disasters: Weather-driven disasters (severe drought, extreme blizzard, floods) with escalation from extreme weather streaks, disaster warnings, building mitigation (deep well reduces drought), and recovery phases (v4)
- NPC Council System: Auto-formed town council (3-5 senior NPCs), 12 proposal types covering economy/welfare/culture/defense/nature, NPC personality-based voting, player participation, 20-day decree duration with modifier effects (v4)
- Building Upgrade System: All 12 buildings support 3-tier upgrades (Lv.1→Lv.2→Lv.3) with escalating costs and stacking effects — watchtower→sentinel tower, granary→cold storage, marketplace→international port, etc. (v4.1)
待辦清單與路線圖(2026-10-06 盤點)
這一節是全部「還沒做」與「還可以更好」的總表,每次發版順手更新。分四塊:A 使用者已提出、B 程式裡看到的可優化點、C 路線圖、D 大功能企劃草案(待拍板才動工)。
A. 使用者已提出、尚未完成
| # | 項目 | 狀態 | 備註 |
|---|
| A1 | 生成更多城鎮與村民 | ✅ v5.75.0–v5.80.0 全部上線(五座主題城鎮、邊境鎮 25 人/海風鎮 20 人/其餘各 15 人、跨鎮商隊) | 五座主題鎮;邊境鎮 25、海風鎮 20、其餘各 15 人;隨機卡司名字池 40 姓 × 120 名;人口上限 30 |
| A2 | 海風鎮地圖要有海邊、燈塔、港口 | ✅ v5.75.0 已上線 | generateLayout(locations, theme) 海岸版面:海面/沙灘/棧橋+漁船/燈塔(夜間光束)/曬網場/鹽場/海蝕洞/潟湖 |
| A3 | 每座城鎮特色要不一樣 | ✅ 五鎮各有專屬地形、建築、卡司、物資與商隊角色 | 需要「主題地形+主題建築圖示+主題卡司+主題經濟」四層一起做 |
| A4 | 首頁放 3D low-poly 截圖(img/lowpoly-preview.jpg) | 等附件 | 使用者的截圖未以附件送達;Cowork 另放了 4 張 Godot 測試截圖(v5.74.1 後) |
| A5 | 海風鎮專屬任務鏈(漁村主線) | ✅ v5.83.0–v5.84.0 五章+六支線全部上線 | 五鎮任務鏈 v5.83.0–v5.87.0 全部上線,四座主題鎮各有主題災難與商路終章(見 E/F 節);回歸測試 scripts/quest_chain_test.js |
| A6 | 已多出來的重複城鎮 | 需玩家手動刪 | v5.74.2 已堵住成因;程式規範「絕不自動刪雲端存檔」,請到城鎮列表刪 Seabreeze Harbor/Frontier Town 那筆 |
B. 已知問題與可優化(程式裡看到的)
語言/雙語
- B1 記憶、對話紀錄、行程文字在「建立當下」依介面語言存進存檔(
t() at creation),切換語言後舊內容語言混雜。根治要把這類模板改成「key+參數」存檔、顯示時再翻,屬大工程;目前只保證顯示層與人名一致。
- v6.17.0 第一步:村民記憶(
Memory.addT 存 k+p,text() 依當下語言渲染並快取;toDict/關係史/人生摘要都走它)已轉 63 處規則式呼叫點(scratchpad/mem_convert.js 自動轉換+英文校對);AI 提示詞與檢索仍用建立當下的 content。v6.18.0 第二步:日誌(World.logMessageT 存 k+p,World.logText 渲染並快取,getState().recent_messages 依當下語言;scratchpad/log_convert.js 轉 147 處)。v6.19.0 第三步:規則式對話摘要(tpl() 物件、Memory.render 巢狀)、感想/觀察池、約會、旅行理由、委託板與任務日誌;切語言 QA(scratchpad/lang_switch_qa.js):紀錄分頁殘留 21/500、記憶 53/1080。v6.20.0 第四步:八卦內容(contentT,傳話包裝句巢狀)、委託描述(describeT)、親緣故事池;QA 殘留 5/500、4/1044。v6.21.0 第五步:今日目標(dailyPlan.goalsT、Agent.planGoalTexts)。v6.22.2:AI 提示詞的鎮名改帶當前鎮(八處不再寫死邊境鎮)、本週頭條三句改模板。v6.22.3:scripts/cjk-punct-audit.js 掃模板字串裡沒包 t() 的 CJK 標點,156 行自動改寫,英文不再露出全形標點。還沒做:對話紀錄(chatHistory)、共同回憶(sharedMemories,每對 8 筆字串)、鄰鎮商隊到貨與考驗公告的日誌、AI 生成文字(本來就是單一語言)。
- B2 LLM 提示詞本體仍是中文(125 條刻意保留),英文對話模式靠英文規則行與英文系統指示;若要更道地,可為主要提示詞寫英文版本。
- B3
changelog.js 首頁每次整份載入 v5.81.0 改為首頁第一次渲染才動態載入,直接進遊戲不載。
- B4
隨機卡司英文名由 26 姓 × 48 名組合 v5.79.0 已擴為 40 姓 × 120 名,並保留五鎮劇本人名不抽。
- B5
玩家自訂村民的名字沒有英文對照 v5.81.0 建立村民時可填英文名(I18N.registerName,存檔記住)。
- B6
i18n.js 有重複 key v5.81.0 清掉 56 筆(含同列多鍵),scripts/i18n-audit.js 門檻 0。
AI 與成本
- B7 AI 日報 v5.73.0 才真正接上
llm.chat(),需觀察一週的品質、長度與每日額度占用。
- B8
可加「每日 Groq 用量」到管理員面板 v5.96.0 /api/chat 每日寫 usage/<day>.json(groq/relay/fallbacks/blocked),管理員面板顯示最近七天;Groq 免費額度整把金鑰共用(30 RPM/1K RPD)的限制本身不變。
- B9
/api/chat 的拒答偵測(Kiro 類中繼)仍是正規表示式,若中繼換模型需重新驗證 refusal_test。
存檔與後端
- B10
Blob 回退與搬遷按鈕 v5.82.0 已移除,_lib.js 純 Postgres。
- B11 Vercel Hobby 12 個 Serverless Function 已用滿,任何新 API 都必須塞進既有檔案(如
admin.js 的 action)。
- B12
手機 localStorage 約 5MB,多鎮本機備份仍可能吃滿 v5.99.0 從源頭收斂:日誌 1000 筆、對話紀錄 400 則、記憶每人 120 筆、共同回憶 30 筆、倉庫流水 600 筆;35 天存檔 2.6MB→約 1MB(scripts/soak_test.js 有「存檔體積 < 1.5MB」檢查),三鎮本機備份約 3MB 仍在 5MB 內;配額不足時的自動瘦身(v5.69.3)保留。v6.19.0 記憶/日誌模板化後存檔只存 key+參數(不另存文字)、日誌 800 條;v6.20.0 日報素材上限 120、共同回憶每對 8、村民對話紀錄 300、記憶上限對話 30/社交 30/觀察 15/感想 20/出行 10:35 天 full 1345–1355KB/casual 1111KB/idle 20 天 1076KB(soak 報告印體積拆解 saveParts)。
- B13
城鎮列表同名判斷只靠名字 v5.96.0 以 town_id 為主鍵:雲端沒有的 id 一律列為「📱 本機」,同名只標註「與雲端同名」不再隱藏,並可刪本機副本(不碰雲端);馬車站出訪名單仍以名字去重(同一個鎮的分身不該出現兩次)。
程式結構與測試
- B14
app.js 9.8K 行單檔 v6.0.0 拆成核心 app.js(3.3K 行)+九個分檔 app-landing/notify/loop/towns/chat/mobile/panels/economy/records.js(Object.assign(RimTownApp.prototype, {…}),逐字搬移;新增檔案要同步列入 index.html、rimtown.php、sw.js、發版鏡像清單)。v6.1.0 simulation.js 也拆成核心(World+工具,2.3K 行)+ sim-agent/conversation/town/economy/society.js(World 之前載入)與 sim-systems.js(World 之後載入),頂層宣告逐字搬移、順序不變。tilemap.js 6.2K 行仍為單檔。
- B15
Playwright 掃描腳本只在工作區 v5.81.0 收進 scripts/smoke_playwright.js(選跑)與 scripts/map_ascii.js(版面快照,必跑)。
- B16
t('…') 英文對照缺口靠手動檢查 v5.81.0 scripts/i18n-audit.js:新字串缺英文即失敗;歷史欠帳 232 筆在 scripts/i18n_missing_baseline.json,補一筆就 --update 縮基準。
- B17 WordPress 版(
rimtown.php 短碼)沒有 /api/chat,村民只有規則式對話;若要在 WordPress 也用內建 AI,要另寫 PHP 代理。
玩法
- B18
跨鎮互訪只在兩鎮之間 v5.76–v5.80 已支援五鎮(出訪名單/馬車目的地/親緣網/商隊)。
- B19
住房自動加蓋在主題鎮補不出房 v5.81.0 第二輪放寬掃描+讓出多餘工廠地基;五鎮開局人人有床,礦山鎮最緊(15 戶),超過才合住。
- B20
際遇卡死碼 v5.82.0 已移除,舊檔欄位忽略。
- B21
手機角落通知仍會蓋住分頁底部內容 v6.12.0 上限兩張、早安卡 22 秒收起;v6.13.0 長文通知在手機先夾兩行、點一下展開。
- B22
後期銀幣沒有去處 v6.14.0 加兩個去處:在建工程「捐 40 趕工」(進度 +20%、每工程每天一次)與「捐給鎮公所 100」(繁榮 +1、全鎮心情 +2、聲望 +2、每天三次);v6.15.0 再加「贊助節慶 150」(節慶前夕到結束一次:籌備 +50/心情 ×1.5/好感機率提高、聲望 +10、繁榮 +3);v6.16.0 再加「向鄰鎮採買」(押商隊彈窗切到採買:帶銀幣買對方盛產的貨,基礎價 ×1.4,2 天運回,同樣遇劫風險)。三個候選都做完了。
- B23 純觀察(idle)玩家的衰敗節奏:v6.21.0 實測 60 天 idle(邊境/海風/市集)四季考驗全失敗(糧荒/瘟疫/壓價只算玩家親手帶進,idle 恆為 0)、第二季衰敗、繁榮扣到 0、人口 25→14/20→11/15→10;casual 四季過兩季。v6.22.0 調整:考驗失敗的繁榮扣分累計有底(最多 −20,撐過一季先補回 10 再 +5)、衰敗後每季最多再走 1 人、人口 8 人以下不再有人搬走;「不做有後果」維持,但回來玩補得回來。
- B24 效能量測(v6.13.0,Chromium 桌機/手機視口):60 天後 world.tick 0.1ms、getState 0.9–1.3ms、render 0.4–1.4ms、存檔 1.6MB/getState 0.7MB;目前不是瓶頸,存檔體積靠 B12 的上限壓著。
- B25 LLM 提示詞中文本體(B2)維持:英文模式靠英文規則行與系統指示,走流程英文截圖的對話與判定文案正常,不另寫英文提示詞。
C. 路線圖(與首頁一致)
- 開發中:3D low-poly 版(Blender+Godot,獨立分支
codex/godot-*);核心玩法迴圈 ✅ 全部上線(H 節:H1 委託板 v5.91.0、H2 押商隊 v5.92.0、H3 季度考驗 v5.93.0、H4 旅人成長 v5.94.0、H5 有目的的對話 v5.95.0;v5.97.0 迴圈打磨、v5.98.0 季末回顧;下一步看玩測回饋調數字)
- ✅ 日報跨鎮專欄 v5.88.0、村民自訂外觀 v5.89.0、跨鎮戀愛搬家 v5.90.0(規劃中項目已清空;下一批待拍板)
- 構想:玩家之間互訪城鎮;手機 App 版
E. 企劃:海風鎮專屬任務鏈「潮聲」(A5)— ✅ v5.83.0/v5.84.0 全部上線;後續:其他三鎮任務鏈與各鎮主題災難
目標:海風鎮有自己的五章主線+六條支線,和邊境鎮「落腳邊境」平行;全部中英文。
主線五章
- 「上岸」:搭馬車抵達、認識 3 位居民、在海味居吃一頓(小鷗)、拜海神小廟(雲姨)。
- 「鹽與燈」:石叔與燈爺的船難舊怨——向老漁問出那一夜、分別送信/對話;分支:和解(兩人同席燈塔)或各自沉默(關係維持)。
- 「海菜與窗台」:阿浮/阿帆/珊珊三角——幫阿浮署名或替阿帆傳話;選擇影響日後婚配。
- 「颱風夜」:秋季颱風事件——加固(木材 60、帆布 30)、守哨(阿舵/阿帆)、把漁船拖上岸;成功→繁榮+10、燈塔光束升級;失敗→漁船損失、食物減。
- 「出海」:修船(阿錨、木蝦)、備貨、首航市集城→開通海運商隊(商隊頻率 ×2、海風鎮專屬貿易加成)。
支線六條:雲姨與海伯的舊情(廟前經文);阿鹽的「鹽不過山」(賣鹽到礦山鎮,需礦山鎮已解鎖);阿蓉的繡坊夢(市集城);海嬤的傳家魚乾(食譜任務);蚵嫂替兒子找話題;木蝦的人魚故事(釣到…)。
技術:v5.83.0 已改成依主題查表(QUEST_CHAINS_BY_THEME,questSystem.theme);checkProgress 在主題鎮跑對應鏈;條件型別沿用(talkTo/gift/visitLocation/stockpile/season/relationship);獎勵銀幣/聲望/專屬稱號;任務分頁的占位文字改為真正的章節。估計 2 版(第 1–3 章一版、第 4–5 章+支線一版)。
拍板結果(2026-10-08 使用者:「按照你的建議來執行」)
- 規模:五章+六支線,分兩版(第 1–3 章一版、第 4–5 章+支線一版)。
- 各鎮主題災難(礦山鎮塌方、林間村山火、市集城商隊劫案):先做海風鎮颱風,其餘列為後續。
- 先做海風鎮看反應,其他三鎮的任務鏈之後再排。
- B20 際遇卡:v5.82.0 已移除。
- B10 Blob 回退:v5.82.0 已移除。
F. 企劃:其他三鎮任務鏈與各鎮主題災難 — ✅ 礦山鎮 v5.85.0、林間村 v5.86.0、市集城 v5.87.0 全部上線
共通做法:沿用 QUEST_CHAINS_BY_THEME 查表;每鎮五章主線+四條支線+四個故事事件;第四章是該鎮的主題災難(第三章完成當晚預警、隔天來襲,可事前防災;兩條路線一條化解災害、一條承受損失);第五章終章開通「商路」旗標(商隊兩天一趟、+20%,與海風鎮海路同一機制)。文案由 scratchpad 的 chainbuild 產生,中英文同時進 i18n。
礦山鎮「礦脈」(✅ v5.85.0):下坑 → 金脈的算式(說服礦爺/偷偷下探)→ 白姑的信(寄出去/先治人)→ 塌方(加固坑道/緊急撤離;災難「坑道塌方」:士氣 −14、舒適 −12、每日埋 8% 石材 6% 金屬、三天;礦山鎮的暴風雨升級災害也改成塌方)→ 第七層(開通商路、金屬 +60)。支線:鐵柱的鎬頭、祠婆的護身符、小鑽的金脈夢、阿晴的訂單。
林間村「林語」(✅ v5.86.0):篝火旁的第一碗湯 → 繞古樹一圈 → 第十四隻木雕(替阿松送第十五隻/替阿哨傳話)→ 護林與伐木(禁伐令/擴產)→ 山火(開防火線/疏散;災難「山火」:士氣 −15、舒適 −10、農作 −30%、每日燒 10% 木材 8% 草藥、三天;林間村的夏季高溫升級災害也改成山火)→ 那棵樹(開通商路、草藥 +60)。支線:阿松的木雕、林姥進林子的原因、大熊的陷阱、藥草小屋的配方。
市集城「銀聲」(✅ v5.87.0):金馬車的第一夜 → 求一炷財香 → 老帳的那筆帳(揭發/壓下)→ 綵姑等的人(託駝姐找人/替門叔說話)→ 商隊劫案(加強守衛/贖回;災難「商隊劫案」:士氣 −12、舒適 −6、每日少 6% 銀幣 5% 布料、城門緊閉商隊停擺、三天;市集城起霧兩成機率出現劫案預警)→ 五鎮商會(開通商路、銀幣 +150)。支線:阿算的算經、窯叔的磚價、駝姐的五鎮消息、杏姑的醫館。
災難一覽:海風鎮颱風(v5.84.0,劇情觸發)、礦山鎮坑道塌方(暴風雨升級)、林間村山火(夏季高溫升級)、市集城商隊劫案(起霧 20%);四者都可由第三章劇情排程、都可事前防災、都有一條路線立刻化解。
G. 企劃:日報跨鎮專欄 ✅ v5.88.0、村民自訂外觀 ✅ v5.89.0、跨鎮戀愛搬家 ✅ v5.90.0
G0 日報跨鎮專欄(✅ v5.88.0):每期日報末尾「🐎 跨鎮專欄」收其他鎮(本機存檔)最新一期的前兩則要聞、最多三鎮;第一則成為村民聊天話題。只讀本機存檔,不多打 API;雲端才有的鎮在那台裝置打開過一次就會有。
G1 村民自訂外觀(✅ v5.89.0,依建議預設:全部村民可改、不上傳圖片、職業只決定預設上衣色)
- 做法:
agent.look = { skin, hair, hairColor, shirt, accessory }(膚色 4、髮型 6、髮色 6、上衣 8 色、配件:無/帽子/眼鏡/圍巾)。既有村民依 id 雜湊出預設值(存檔不改也有外觀),tilemap 畫小人時讀 look,資訊卡加 48×48 大頭像與「改外觀」按鈕,自訂村民表單同一組選項;look 進存檔、跨鎮互訪帶著走。
- 待拍板:1) 所有村民都能改,還是只有玩家自訂的村民?(建議:全部可改,鎮長/旅人視角合理)2) 要不要支援上傳圖片?(建議不要:存檔體積、審核與雲端 5MB 限制)3) 外觀是否影響玩法(如職業服裝自動套)?(建議:職業只決定預設上衣色,不鎖)
G2 跨鎮戀愛搬家(✅ v5.90.0,依建議預設:角落通知+事件選擇、三天自動、不可召回、對方鎮存檔不在本機不觸發;信箱 rimtown_moves_<townId>、world.visitCounts/world.movedOut 進存檔)
- 做法:互訪期間訪客與本鎮居民 romance ≥ 60、affinity ≥ 50、且雙方至少互訪過 2 次 → 訪客回鄉時觸發事件選擇「搬家提案」:讓對方搬來/讓本鎮居民搬過去/不干涉。搬家走既有訪客信箱(
agentData 已可整包搬運),目的鎮人口上限 30 檢查、住房照 _syncHousing 補;原鎮保留「搬去 X 鎮」記錄並進 CROSS_TOWN_TIES 式動態名單(會被想起、會在日報跨鎮專欄出現);兩人在新鎮自動成為情侶狀態。
- 待拍板:1) 需玩家同意還是自動?(建議:角落通知+事件選擇,3 天內不選就依兩人意願自動)2) 搬走的村民在原鎮是否能被「召回」?(建議:不行,但可再互訪)3) 雲端存檔不在本機的鎮(另一台裝置)要不要搬?(建議:只在本機有該鎮存檔時提案,否則不觸發)
H. 企劃:核心玩法迴圈「每天有事做、做了有風險、不做有後果」— ✅ H1–H5 全部上線 v5.91.0–v5.95.0(2026-10-10 拍板:行動點制、軟性失敗、先用規則判定)
問題:目前的玩家動詞(聊天、送禮、調情、選事件、開選單建設)都很輕,世界自己會轉;任務多半是「等好感到 X」;物資夠、災難三天就過、鎮不會真的衰敗,所以沒有「得趕快決定」的時刻,結果也歸因不到玩家。遊戲介於觀察與遊玩之間。
三步做出核心迴圈(H1 → H2 → H3,各一版;之後再做 H4 旅人成長、H5 有目的的對話)
H1 委託板+每日行動點(✅ v5.91.0)
- 每天早上村民發 3–5 件有時限的具體委託,依當下狀態生成:
- 送貨:「把 N 份〈資源〉送到〈某人〉手上」(資源依職業:木匠木材、鐵匠金屬、廚師食物、醫師草藥、裁縫布料…;N 10–30;要走到對方身邊按「交付」;1 行動)
- 陪伴:「〈某人〉今天心情差,去陪他聊聊」(心情 <45 或社交需求低者;跟他聊一次即完成;1 行動;對方心情 +8)
- 調解:「勸〈A〉和〈B〉和好」(互相好感 <−20 的一對;先跟兩人各聊一次,再按「調解」;2 行動;成功率 = 50% + 魅力×4% + 機智×2% + 與兩人好感加成,成功兩人好感 +15、失敗 +3 且其中一人對你 −3)
- 跑腿:「幫〈某人〉去〈地點〉拿東西回來」(先到地點,再回到對方身邊按「交付」;2 行動;獎勵銀幣+一包隨機資源)
- 送禮:「〈某人〉今天過得不好,送他一份禮」(用既有送禮即完成;1 行動)
- 時限:當天結束(調解到隔天結束);過期:委託人對你好感 −4、記一筆「拜託的事沒有下文」、連勝歸零。
- 行動點:每天 5 點(體力屬性 ≥7 再 +1),只有委託的「完成動作」扣點,聊天送禮本身不扣;可用 30 銀幣買 1 點、每天最多買 2 點。接受委託不扣點。
- 獎勵:銀幣 15–60、委託人好感 +6~+10、聲望 +2~+4、委託人記憶與聊天話題、日報事件;連續 3 天全數完成→隔天行動點 +1(「可靠的旅人」)。
- 介面:「故事」分頁最上方新增「📋 今日委託」區塊(行動點條、每件委託的進度與按鈕、買行動點),故事分頁按鈕上顯示未完成件數徽章;引導橫幅在沒有主線提示時改顯示第一件委託;每天早上角落通知「今日 N 件新委託」。
- 技術:
RequestBoard 類放在 quest-system.js(不新增檔案,避免動 sw/index/rimtown.php 的資源清單),world.requests 進存檔
- v6.5.0 委託鏈:完成一件委託後,好感 ≥15 的村民有三成機率開一段三天的小故事(
REQUEST_CHAINS:一封舊信/漏水的屋頂/偷偷準備的生日/放不下的心結(需有仇人))——每天一件、沿用既有委託類型與掛鉤、板上標「📖 標題 n/3」;三步全完成給大獎(銀幣 45–70、好感 12–16、聲望 4–8、經驗 25、記憶與日報;心結鏈另讓兩人好感 +25);任何一步過期即中斷(記一筆、15 天冷卻);同時只跑一條、每人 30 天一次;季末回顧計「走完 n 段小故事」。v6.8.0 AI 口吻:鏈開始時 _aiChainQuotes 用 chat 分流請 AI 以該村民的職業/性格/心情寫三步各一句親口說的話與結局一句(220 token、9 秒逾時、每條鏈一次),存進 chain.quotes,板上以引言顯示、結局附在文案後;失敗或無 AI 就只有規則文案。;掛在既有的 questSystem.onChat/onGift/onVisit 呼叫點旁;交付/調解按鈕沿用資訊卡「同地點才可互動」的規則。
H2 押商隊(✅ v5.92.0):在馬車站選貨(本鎮多的)、目的鎮(依五鎮進出口表定價差)、要不要派護衛(花銀幣、佔一名守衛兩天)、走大路或山路(快但遇劫率高);兩天後回報:賺 +20~+40%,或遇劫(接既有商隊劫案機率,有護衛減半)損失貨物;開通商路的鎮再 +20%。
H3 季度考驗與軟性失敗(✅ v5.93.0;v6.13.0 加「復興」:衰敗後連續撐過兩季考驗即解除衰敗、士氣/繁榮/聲望回升;實作:糧荒/瘟疫/匪患/商會壓價四種、依主題加權、永久加成為世界旗標 granary/apothecary/watchtower/guildSeal、world.trials 進存檔、衰敗結局 decline):每季第 5 天公布一個鎮級考驗(糧荒/瘟疫/匪患/商會壓價,依鎮主題與當下弱點挑),季末結算三項指標(糧食/士氣/治安);失敗一季:2–3 名村民搬走、繁榮 −10;連續兩季失敗:觸發既有多重結局的「衰敗」結局(可繼續玩,但要重建);撐過:永久加成(如糧倉 +20%)與稱號。v6.2.0 調校:目標改為「玩家親手帶進的量」(糧荒 人口×5 食物、瘟疫 人口×1.5 草藥、壓價 150+人口×8 銀幣;求助/收成/買進/委託與任務報酬/押商隊/賣貨/事件決策都算,Stockpile.add 的 source 為 player/farm 才計;匪患=公布時防衛值+2,施工中建築按進度計);搬走人數上限人口 12%;依據 scripts/soak_test.js 的 idle/casual/full 矩陣:idle 全敗、casual 約七成過、full 全過。
H4 旅人成長(✅ v5.94.0):經驗來源——完成委託 +10(調解 +15、沒成 +5)、季度考驗撐過 +40/失敗 +10、押商隊回報 +15/遇劫 +5、主線章節 +30、支線 +15;升級門檻 50 + 等級×30;每升一級從八種天賦隨機三選一(可累積多次待選):健步(行動點 +1)、巧舌(調解 +8%、魅力 +2)、精算(商隊利潤 +5%、機智 +2)、硬頸(過期只扣一半好感、考驗失敗少走一人、毅力 +2)、人緣(委託好感 +3)、識途(遇劫 ×0.8)、未雨(考驗目標 −10%)、早起(每天第一件委託免行動點);v6.9.0 加兩種:說書(小故事開啟率三成→五成、走完獎勵 +25%)、知心(AI 判定每級 ±12%、每天 40 次、魅力 +1),共十種。屬性加成不改 player.attributes,由 growth.attr() 在公式裡疊加;world.growth 進存檔;「故事」分頁旅人區塊顯示等級/經驗/屬性/天賦與三選一卡片。
H5 有目的的對話(✅ v5.95.0 規則判定;✅ v6.3.0 AI 判定):既有意圖鈕(安慰/打聽/說服/調解/示好/威脅/委託/邀去鄰鎮)加上成功率:world.chatOdds(npc, key) 依意圖基礎值 + 相關屬性(魅力/機智/毅力,含天賦加成)+ 好感(±25%)+ 信任(求助/委託/談條件/邀約 ±15%)+ 對方性格(害羞、愛八卦、刻薄、善良、堅忍、有主見、浪漫、善妒、樂觀、悲觀)算出 10–95%,按鈕直接顯示 %,滑過看因子;按下去擲骰:過了套用原本的機械後果並給 3 經驗,沒過只扣 1 好感並顯示「沒說進心裡」。新增兩個目的:求助(對方從本行勻 10–20 份物資給鎮上,每人每天一次,信任 −2,補季度考驗的糧/藥)、談條件(談成後兩天內押商隊利潤 +5%,商人最好談)。bargainUntilAbsDay 進存檔。v6.3.0 AI 判定(H5b):有內建 AI 的站(rimtown.cc)按意圖鈕先進入「用你的話說」(輸入框提示、按鈕亮框),送出時把這句話連同村民職業/性格/心情/好感/信任與目的丟給 /api/chat(chat 分流、60 token、溫度 0.2、7 秒逾時)要一個 JSON 分數 −2..+2,每級 ±8% 成功率再擲骰,結果卡顯示「🧠 AI 判定:理由(±%)」;再按一次同鍵或送出空白=原本的預設台詞與規則機率;每人每天 30 次(localStorage rimtown_judge_<日期>),超過、逾時、429、解析失敗都靜默退回規則判定;WordPress 版無 AI 時不出現此模式。localStorage rimtown_ai_judge='0' 可關閉。
拍板結果(2026-10-10 使用者「繼續」,依建議預設):有行動點(可用銀幣買少量);會輸但軟(連兩季失敗才衰敗結局);對話判定先用規則。
H6 季末回顧(✅ v5.98.0):換季那天彈一頁「季末回顧」——考驗結果、委託完成/過期/最佳連勝、商隊趟數/進帳/遇劫、經驗與等級、銀幣/人口/聲望/繁榮變化、完成的主線任務、好感升最多的三人、搬走與新住民,並給一個 S/A/B/C 評等(考驗、委託量、銀幣、人口、商隊、任務加總)。SeasonRecap(world.recap)季初拍快照、季末差分,最多留四季;故事分頁考驗區塊可重看上一季;日報與事件紀錄各留一行;讀檔回來還沒看過的回顧會在下一次每日通知時補彈。浸泡測試加「季末回顧有結算」檢查。v6.4.0 下一季怎麼打:SeasonRecap.advice(r, w) 依上一季弱項挑最多三條具體行動(考驗失敗→對症、委託過期多、沒押過商隊、沒人好感上升、人口流失、沒升級、打得好→連清挑戰),顯示在回顧彈窗與故事分頁考驗區塊。v6.6.0 可點:每條建議附「去做」鈕(recap-go:caravan 開押商隊、tab:economy|quest 切分頁、chat:<意圖>:<村民> 開聊天並在有 AI 時直接進入「用你的話說」);彈窗掛在 body 外,點擊由彈窗自己接。
迴圈打磨(✅ v5.97.0):昨日結算通知與摘要(v6.7.0 起與今日委託、委託鏈進度、本季考驗、日報出刊合成一張「早安卡」留在角落,不自動消失、不算在三張角落通知內,點 ✕ 或「看委託板」收起;_showMorningCard);四種跨系統委託(押商隊/打聽/考驗衝刺/拉票);新手教學加「每天要做的事」一頁。
D. 企劃草案:多城鎮、多村民、主題地圖(待拍板)
目標:每座城鎮一眼就看得出不一樣——地形、建築、卡司、經濟、故事都不同;城鎮數從 2 擴到 5;村民總數從 35 擴到 100 左右。
D-P0 地圖主題化(先把海風鎮做對)— ✅ v5.75.0 已上線
tilemap.generateLayout(locations, theme) 接收主題:
- 海風鎮:地圖東側與南側整排海面(水+白浪+沙灘線),碼頭棧橋伸進海裡、停 2–3 艘漁船;
hill 區改畫燈塔(夜晚旋轉光束);park 畫曬網場;住宅改沙灘木屋/崖上人家。
- 邊境鎮:維持現況(草原、河、森林)。
- 新增地磚:沙灘、礁岩、棧橋、懸崖;新增建築圖示:燈塔、碼頭、漁船、鹽田。
- 地圖由
locations 重新生成,不改存檔格式;舊海風鎮存檔重開就會變成海岸地圖。
D-P1 第三座城鎮:礦山鎮(mountain)— ✅ v5.76.0 已上線
- 地形:北側整片山壁與礦坑入口、吊橋、碎石路;建築:鍛造坊、礦工宿舍、熔爐。
- 卡司 15 人(礦工、鐵匠、工程師、酒保、礦坑醫生…)自帶三角戀與舊怨;經濟多金屬石材、缺食物布料。
- 解鎖:繁榮 40 時「山道來信」事件,馬車可達。
D-P2 第四座城鎮:林間村(forest)— ✅ v5.77.0 已上線
- 地形:四周密林、林中空地、獵人小屋、木柵;卡司 15 人(獵人、藥草師、木匠、守林人…);經濟多木材草藥、缺石材金屬。
- 解鎖:繁榮 60。
D-P3 第五座城鎮:市集城(market)— ✅ v5.78.0 已上線
- 地形:平原交通樞紐、石板大廣場、城門、商隊營地;卡司 15 人(商會、書院、戲班…);經濟多銀幣、缺原料;是跨鎮貿易的中心。
- 解鎖:繁榮 80。
D-P4 村民擴編 — ✅ v5.79.0 已上線
- 邊境鎮卡司 20→25、海風鎮 15→20(各補 5 位有戲的新人與關係鉤子);人口上限 20→30,住房自動加蓋驗證。
- 隨機卡司名字池:姓 26→40、名每性別 24→60,英文對照同步;避免兩鎮撞名。
D-P5 多鎮連通 — ✅ v5.80.0 已上線(商隊貿易);馬車站/互訪/親緣網在 v5.76–v5.78 完成
- 馬車站列出所有已解鎖城鎮;互訪村民可來自任一鎮;跨鎮親緣網擴到五鎮;商隊在鎮間搬運互補資源(跨鎮貿易)。
估計:P0 一版、P1~P3 各一版、P4 一版、P5 一版,共六個版本。每一版都可單獨上線。
拍板結果(2026-10-06 使用者說「繼續」,依預設值進行):順序礦山鎮→林間村→市集城;每鎮 15 人;到繁榮度自動出現;地圖維持 80×60;先做 P0 上線再逐鎮做。
原先提問(已依上列預設值決定)
- 新主題的名稱與順序:礦山鎮 → 林間村 → 市集城,可以嗎?要改名或換主題(例如沙漠綠洲、雪原)請說。
- 每鎮卡司 15 人還是 20 人?人越多 AI 行程與反思的每日額度分攤越薄。
- 新鎮是「到繁榮度自動出現」(像海風鎮),還是「玩家建立新城鎮時選主題」?也可以兩者都要。
- 地圖尺寸維持 80×60,還是海岸/山脈主題放大到 96×72?放大畫面更有氣勢,但手機效能要再驗。
- 先做 P0(海風鎮的海岸、燈塔、港口)就上線,再逐鎮做,還是等整套一起上?
WordPress Plugin Install
- Download
rimtown-v6.22.4.zip from Releases
- WordPress Admin → Plugins → Add New → Upload Plugin
- Activate the plugin
- Create a page with shortcode
[rimtown]
- (Optional) Enable user registration: Settings → General → "Anyone can register"
Shortcodes
[rimtown] — Main game (default 100vh height)
[rimtown height="800px"] — Custom height
[rimtown_landing] — Landing page with intro animation
發版前必跑
部署節奏(2026-10-11 起):Vercel Hobby 每天 100 次部署整個帳號共用,所以開發分支 claude/llm-dialogue-memory-port-u8lf0x 在 vercel.json 的 git.deploymentEnabled 設為 false(推送不產生預覽部署);合併到 claude/ai-town-simulation-EOWZ8(=正式部署)固定每天兩次:台北時間早上 08:52 與晚上 20:52,期間的版本先累積在分支;使用者明說「馬上部署」才例外。
node scripts/method-audit.js # 前端 this._xxx() 呼叫都有定義(v5.66.6 起;v6.0.0 起連同 app-*.js 分檔一起掃)
# 鏡像:chrome-extension/{app.js,app-*.js,i18n.js,sw.js,tilemap.js,simulation.js,sim-*.js,quest-system.js,prosperity.js,custom-npc.js,index.html,changelog.js,daily-news.js,style.css} → wordpress/;wordpress/rimtown.php → chrome-extension/
node scripts/lane_test.js # /api/chat 分流、冷卻、逾時、額度感知(v5.67.0 起)
node scripts/refusal_test.js # /api/chat 拒絕扮演偵測與退回(v5.67.2 起)
node scripts/scrub_test.js # 存檔深度清理 AI 助理漏出內容(v5.67.4 起)
node scripts/invite_test.js # 推薦碼註冊與管理(v5.68.0 起)
node scripts/lang_test.js # /api/chat 對話語言:lang=en 英文系統指示/不轉繁體(v5.73.0 起)
node scripts/gen-changelog.js # 從 rimtown.php 產生首頁更新紀錄 changelog.js(v5.68.0 起改版必跑);v5.74.0 起每版必須同時有 changes 與 changes_en,缺英文會失敗
node scripts/i18n-audit.js # i18n 重複鍵=0、新 t('…') 字串必須有英文(v5.81.0 起)
node scripts/cjk-punct-audit.js # 模板字串裡沒包 t() 的 CJK 標點,基準 10(AI 提示詞與訪客名),新增就失敗;--list 列全部(v6.22.3 起)
node scripts/map_ascii.js # 五種主題版面 ASCII 快照比對;故意改版面才 --update(v5.81.0 起)
# 選跑:cd wordpress && python3 -m http.server 8126 & ; node scripts/smoke_playwright.js # 五鎮世界/英文標籤/鄰鎮/住房/商隊冒煙
# 選跑:node scripts/quest_chain_test.js # 四座主題鎮任務鏈端到端(五章/災難/商路/支線/存檔/英文)(v5.88.0 起;改任務鏈或災難必跑)
# 選跑:node scripts/donate_test.js # v6.14.0 捐建/捐款(進度 +20%、每日上限、繁榮上限、當天心情、存讀檔、按鈕;有斷言,失敗 exit 1)
# 選跑:node scripts/sponsor_test.js # v6.15.0 贊助節慶(窗口、前夕/節慶中效果、只能一次、節慶日 ×1.5、存讀檔、按鈕、早安卡;有斷言,失敗 exit 1)
# 選跑:node scripts/purchase_test.js # v6.16.0 向鄰鎮採買(報價、拒絕、扣款、存讀檔、運回/遇劫、戰績、彈窗;有斷言,失敗 exit 1)
# 選跑:node scripts/memory_i18n_test.js # v6.17.0 記憶模板化(中英切換渲染、舊式記憶、存讀檔、舊存檔、效能;有斷言,失敗 exit 1)
# 選跑:node scripts/trial_pacing_test.js # v6.22.0 B23 考驗失敗節奏(扣分有底、衰敗後搬走放緩、人口下限、撐過補回、復興、存讀檔;有斷言,失敗 exit 1)
# 選跑:node scripts/growth2_test.js ; node scripts/revival_test.js # v6.12.0/v6.13.0 旅人後期成長(天賦學完→屬性、最後一個天賦邊界、舊檔遷移)與小鎮復興(衰敗→連撐兩季→中央卡/回顧/存讀檔)
# 選跑:node scripts/walkthrough.js <zh|en> <desktop|mobile> <outdir> # v6.11.0 新手走一遍:用 app 自己的迴圈真跑一季、關鍵時刻截圖,看圖抓版面/文案問題
# 選跑:node scripts/soak_test.js [url] [days] [theme] [mode] # mode=full|casual|idle(v6.2.0 平衡矩陣用);核心玩法迴圈浸泡:真 tick 跑 35 天、每天像玩家做委託/商隊/對話/天賦、每 10 天存檔讀檔接著跑(v5.96.0 起;改核心迴圈必跑五主題)
存檔保護規範(每次改版必讀)
- 不動儲存路徑與鍵名:
users/、saves/、savemeta/、ach/、settings/、lb/、bans/、saves_prev/ 與 localStorage 的 rimtown_town_*、rimtown_town_list、rimtown_last_town 只能新增欄位,不能改名或搬移。
- 程式碼絕不自動刪除雲端存檔:任何清理都只能是玩家或管理員的手動操作,且要有二次確認。
- 改版時 Service Worker 只快取靜態資源:
/api/ 一律走網路(見 sw.js)。
- 存檔只能往前:伺服器以
tickCount 擋下「舊蓋新」;只有匯入存檔這類明確意圖才帶 force。
- 資料格式向後相容:
loadSave 對缺少的欄位一律給預設值,舊存檔永遠讀得開。
Changelog
v6.22.4 (2026-10-15)
- 🐛 早安卡與委託徽章改由渲染迴圈每秒自己檢查:之前只掛在「任務引導橫幅」每 5 秒一次的更新裡,而那個更新遇到引導卡期間/橫幅隱藏就提早結束,換日後早安卡最慢要等 5 秒、手機中文走流程(礦山鎮)截到第 5 天的卡一路停到第 7 天都沒換;現在換日後最慢 1 秒出新卡(礦山鎮手機走流程第 6/7/9/11 天逐日對上)
- 🧪 手機中文走流程(礦山鎮一季 37 張截圖)其餘版面與文案無問題
v6.22.3 (2026-10-15)
- 🌐 英文標點全面掃描:寫了稽核腳本
scripts/cjk-punct-audit.js,找出模板字串裡沒包進 t() 的 CJK 標點(「」:、()!?,。——)共 166 處,自動改寫 156 行(21 個檔案:委託/任務/考驗/議會/天氣/日報/商隊/農田/產業/記錄分頁等的冒號、括號、書名號、驚嘆號、頓號),英文模式不再露出全形標點;中文顯示不變。剩 10 處是 AI 提示詞與訪客村民名字,列為基準,新增就失敗
- 🔧 訪客村民名字維持「名字(來處鎮)」原樣(名字是資料不翻);登入獎勵/商隊報價的「N 天」英文仍是 'N days' 字樣,下次一併改
v6.22.2 (2026-10-15)
- 🧹 英文桌機走流程 QA(海風鎮第 1–15 天+季末)修正:AI 提示詞的鎮名不再寫死「邊境鎮」,八處(每日行程規劃/即時改行程/感情戲/對話劇本/扮演村民四段)改帶當前鎮名;考驗公告與失敗通知、「撐過可得」「沒撐過」、上一季回顧標籤在英文改半形冒號與直引號;本週小鎮頭條的暗戀/三角/死對頭三句改模板(英文不再多空格,名字也翻譯);心動事件標題破折號、分頁鎖定卡「X 將在第 N 章開啟」在英文改半形
- 🔧 走流程腳本以主題開新鎮時同步更新頁首鎮名(之前截圖頁首一直是邊境鎮)
v6.22.1 (2026-10-15)
- 🧹 新手走流程 QA(中文桌機/英文手機,第 1–15 天+季末)修正:英文版的「昨日結算」「委託過期數」「買 1 點(30)」「AI 日報出刊:第 N 期」「季末回顧銀幣(+N)」「好感升最多/搬走了/新住民」與章節解鎖卡的分隔符改用半形標點與英文語序(之前出現 Ch.4 issues、全形括號、頓號);委託鏈引言與結局的「」在英文改直引號;手機上方鎮名在英文模式也翻譯;商人名字中文不再夾英文括號(老趙商隊 (Old Zhao's Caravan) → 老趙商隊,英文仍為 Old Zhao's Caravan);押商隊貨物選單的「(倉庫 N)」英文改半形
- 🌐 B1 收尾:鄰鎮商隊到貨與本季考驗公告兩條日誌也改模板;切語言 QA 紀錄分頁殘留 4/500 → 2/500
v6.22.0 (2026-10-15)
- ⚖️ B23 考驗失敗的節奏:繁榮扣分累計有底(最多 −20;之前每季 −10 無底,只看不玩四季就把繁榮扣到 0,回來玩也補不回來)、撐過一季先補回最多 10 再 +5、衰敗後每季最多再走 1 人、人口剩 8 人就不再有人搬走;「不做有後果」維持(第二季仍會衰敗),但回來玩補得回來。實測 60 天只看不玩:邊境鎮人口 25→18(之前 →14)、繁榮 29(之前 0);海風鎮 20→15(之前 →11)、繁榮 21(之前 0)
- 🧪 新增回歸測試 scripts/trial_pacing_test.js(連續六次失敗的扣分與搬走人數、人口下限、撐過補回、復興、存讀檔)
v6.21.0 (2026-10-15)
- 🌐 B1 第五步:村民「今日目標」(起床/上工/逛節慶/約伴侶吃飯/避開仇人/為夢想努力/晚間安排/睡覺)改成模板存檔,資訊卡與手機小卡依當下語言顯示;上工地點改用顯示名(之前中文裡會出現「到town hall上工」);AI 分解式行程與提示詞仍用建立當下的文字
- 🧪 memory_i18n_test 加今日目標段(模板數量、中文無地點 id、英文無中文、存檔帶模板)
v6.20.0 (2026-10-13)
- 🌐 B1 第四步:八卦內容(戀愛/吃醋/新情侶/鬧翻/結婚/劈腿/分手/離婚/生子/去世/節慶/玩家放話等 30 多條)、傳話誇張化的包裝句、委託描述(委託過期/完成/沒有下文)、親緣故事池也改成模板——切語言後紀錄分頁與村民記憶幾乎全翻:中文玩四天再切英文,紀錄分頁殘留中文 21/500 → 5/500、村民記憶 53/1080 → 4/1044,剩下的是鄰鎮商隊到貨、考驗公告與個別 AI 文字
- 📦 存檔體積(B12)再收:日報素材沒出報時會無限累積(35 天 1700 筆、210KB)改最多 120 筆;共同回憶每對 30→8 筆(提示詞只用 3 筆);村民對話紀錄 400→300 則;記憶上限改為對話 30/社交 30/觀察 15/感想 20/出行 10。35 天 full 模式 1345–1355KB、casual 1111KB、idle 20 天 1076KB(門檻 1.5MB);soak 報告多印體積拆解
- 🧪 memory_i18n_test 加八卦(巢狀包裝句)與委託描述段
v6.19.0 (2026-10-13)
- 🌐 B1 第三步:規則式對話摘要(45 條「X和Y在酒館……」)、每日感想與觀察(夢想/暗戀/天氣/節慶/昨天在哪忙)、「約了誰去哪」、旅行理由、委託板與任務日誌也改成模板——模板參數可以巢狀(「與X交談:{摘要}」裡的摘要本身也是模板),切語言後資訊卡記憶與紀錄分頁幾乎整份跟著翻:中文玩四天再切英文,紀錄分頁殘留中文從 265/500 降到 21/500、村民記憶從 826/1111 降到 53/1080,剩下的是八卦內容、委託描述與親緣故事
- 🛠️ 對話摘要與「約了誰去哪」裡的地點改用顯示名(之前是地點 id,中文句子裡會出現「在chapel」「去forest」);旅行中名單的理由依當下語言顯示
- 🧪 memory_i18n_test 加對話摘要段(巢狀模板、英文無中文、中文無地點 id、跑一天後英文模式 conversation 類日誌與記憶零中文)
- 📦 存檔體積(B12):模板化後存檔只存 key+參數、不再另存一份文字(讀檔時依當下語言算)、畫面狀態不帶 key;對話摘要記憶每人最多 40 筆、觀察 20 筆(AI 只讀最近 10–20 筆)、日誌 1000→800 條;35 天 full 模式存檔 1454 KB、casual 1212 KB,仍在 1.5MB 門檻內
v6.18.0 (2026-10-13)
- 🌐 B1 第二步:小鎮日誌(紀錄分頁)也改成「模板 key+參數」存檔——戀愛/結婚/分手/鬧翻、節慶、出生/離世、探險、選舉、議會、交易/訂單、建造/升級、商隊、八卦、互訪等 147 處日誌,切換語言後紀錄分頁整份跟著翻(含人名);建立當下的文字仍存一份給跑馬燈、編年史與舊存檔,舊存檔照常讀;順手把自動拼出的英文校對了 60 句(半形括號、空格、語序)
- 🧪 scripts/memory_i18n_test.js 加日誌段(中→英→中、舊式日誌維持、存檔帶模板不帶快取、讀檔後渲染);i18n 基準從 232 筆縮到 227 筆
v6.17.0 (2026-10-13)
- 🌐 B1 第一步:村民的規則式記憶改成「模板 key+參數」存檔(戀愛/結婚/分手/鬧翻/看星星/弔念/派系/探險/婚禮/新居民/對話摘要等 63 處),顯示時依當下介面語言重新翻譯——切換語言後,資訊卡最近記憶、關係史與人生摘要不再中英混雜;建立當下的文字仍存一份給 AI 提示詞與舊存檔用,舊存檔照常讀
- 🧪 新增回歸測試 scripts/memory_i18n_test.js(中→英→中渲染、舊式記憶維持、存讀檔保留模板、舊存檔相容、getState 效能)
v6.16.0 (2026-10-13)
- 🧺 向鄰鎮採買(B22 最後一個銀幣去處):押商隊彈窗多了「賣貨/採買」切換——採買是帶銀幣去買目的鎮盛產的貨(礦山鎮石材金屬、海風鎮食物布料、林間村木材草藥、市集城布料、邊境鎮食物木材),每份約基礎價 ×1.4(非盛產 ×2,商路/商會印信/精算/談條件各再便宜一點),報價會列出鎮上商店的買價給你比較;大路 2 天/山路 1 天、護衛與遇劫風險和賣貨一樣,遇劫就只運回一部分;和押商隊共用同一隊(一次一隊)、進日誌/日報/話題/經驗,經濟分頁的商隊區塊會顯示「去礦山鎮採買 50 石材」與戰績(🧺 到貨/🏴 損失);倉庫沒貨時不再是死路,直接開在採買模式
- 🌐 英文版商隊報價與「預計 X 天後回報」改用模板:半形括號、不再多一個空格
- 🧪 新增回歸測試 scripts/purchase_test.js(報價盛產 vs 非盛產、拒絕條件、出發扣款、中途存讀檔、到期運回與遇劫、戰績、彈窗採買模式與點擊;中英各跑一次);soak 的 full 模式每五天派一次採買
v6.15.0 (2026-10-13)
- 🎪 贊助節慶(B22 第二個銀幣去處):節慶前一天公布起到節慶結束,經濟分頁繁榮卡片下方與事件分頁的節慶區塊多一列「贊助 150」,每屆一次——前夕贊助:籌備進度 +50、全鎮心情 +5,節慶當天村民心情加成 ×1.5、互相加好感的機率 0.3→0.5;節慶中贊助:全鎮心情 +8、再來一輪好感;兩種都給聲望 +10、繁榮 +3(持久)、全鎮對你好感 +2,村民會記得「你贊助的春祭」、話題與八卦都會提到、進日誌與日報、存檔保留
- ☀️ 早安卡:節慶前夕與節慶中多一行提醒「春祭明天開始 · 可贊助 150 銀幣讓它更熱鬧」,贊助過就不再提
- 🧪 新增回歸測試 scripts/sponsor_test.js(窗口外不可贊助、前夕/節慶中效果、只能一次、節慶日 ×1.5、存讀檔、兩個分頁的按鈕與點擊、早安卡列;中英各跑一次)
v6.14.1 (2026-10-12)
- 🛠️ 經濟分頁:「捐給鎮公所」那一列之前被塞進繁榮度的維度格子裡(桌機英文版文字擠成一條),改放在格子下方
- 🌐 英文版日期:上方時鐘與事件/頭條/日報的日期原本顯示成「Ch.1 Year Spring Ch.1 days」,改用模板顯示「Year 1 Spring Day 1」
v6.14.0 (2026-10-12)
- 💰 銀幣有去處了(B22):經濟分頁「建築」裡每個在建工程多一顆「捐 40」——花 40 銀幣讓工匠加班、進度 +20%,每個工程每天一次;繁榮度卡片下方多「捐給鎮公所 100」——繁榮 +1(持久、累計最多 +10,數字立即更新)、全鎮當天心情 +2(最多 +6)、聲望 +2,每天最多三次,累計金額會顯示;兩者都進日誌與日報、存檔保留
v6.13.0 (2026-10-11)
- 🌅 小鎮復興:衰敗結局後連續撐過兩季考驗就復興——解除衰敗(之後主線結局仍可達成)、全鎮士氣 +12、繁榮 +15、聲望 +15,中央卡與日報報導;故事分頁考驗區塊顯示「衰敗中 n/2」、早安卡每天提醒、季末回顧記一筆並加評等
- 📱 手機長文角落通知(章節故事等)先夾成兩行,點一下展開、再點收掉,不再整段蓋住委託列
v6.12.0 (2026-10-11)
- 🧭 旅人後期成長:十種天賦都學完後,之後每升一級隨機一項屬性(魅力/體力/機智/毅力)+1,角落通知與故事分頁都會寫出來;存檔保留
- 👋 新手前三天:第一天引導卡還在時,上方「目前目標」橫幅先收起(兩邊講的是同一件事),第 4 天起由橫幅接手
- 📱 手機角落通知最多兩張(桌機三張),少蓋一點分頁內容
v6.11.0 (2026-10-11)
- 🧪 新手走一遍 QA(桌機+手機各真跑一季)找到並修掉:桌機角落通知與早安卡改貼在地圖右下、側欄左側,不再蓋住聊天輸入框、委託按鈕與天賦選項
- 📜 季末回顧修正:考驗結算後回顧現在會寫出本季考驗結果並算進評等(之前永遠顯示「本季沒有考驗」);銀幣取整,不再出現一長串小數
- 🐪 馬車站還沒有鄰鎮時改為說明解鎖條件(繁榮 20 修好往海風鎮的路,顯示目前繁榮)並附城鎮列表入口;季末建議不再推沒路可走的押商隊
- ☀️ 早安卡:升級還沒選天賦會每天提醒;手機版早安卡 22 秒收起(桌機 45 秒);第 4 天起不再掛著「第一天」引導
- 📱 手機「目前目標」橫幅修正:聊天時不再被擠成一條窄長條
- 🧪 走流程截圖腳本收進 scripts/walkthrough.js(選跑)
- 🔢 倉庫數字取整:馬車站貨物選單與送貨委託不再出現 161.50000000000006 這種小數
- 🌐 英文版不再把每座鎮都叫 Frontier Town:新居民加入、人生總結、個人結局副標、本週頭條改用實際鎮名或中性說法
v6.10.1 (2026-10-11)
- 🛠️ 程式審查修正:故事鏈最後一步到期時正確中斷、調解「各退一步」的部分成功也能推進故事鏈、故事鏈不再重複找同一位村民
- 🛠️ 季末回顧的建議只在最新一季顯示,且不再點名已離世或路過的旅人;回到提示的分頁前會先刷新畫面資料
- 🛠️ 通知區統一:成就通知與角落提示共用同一個容器,早安卡不會被成就通知擠掉;AI 日報只在早安卡還顯示時併入,淡出中改用一般提示
v6.10.0 (2026-10-10)
- 🏠 首頁特色介紹改寫:新增「每天有事做」(早安卡、三天小故事、押商隊、親手撐考驗、季末回顧與建議),「真的在聊天」改寫成「用你的話說、AI 判定」,任務卡改為五章主線與十種天賦
v6.9.0 (2026-10-10)
- 🧭 旅人天賦加兩種(共十種):「說書」——村民更常找你走小故事(三成→五成),走完的獎勵 +25%;「知心」——「用你的話說」的 AI 判定每級 ±12%、每天多 10 次,魅力 +1
v6.8.0 (2026-10-10)
- 🗣️ 委託鏈有了村民自己的口吻:小故事開始時,AI 依這位村民的職業、性格、心情,為三步各寫一句他親口說的話,再寫一句結局時說的話——委託板上以引言顯示在任務說明下方,結局通知也會附上;每條鏈只問一次 AI(走玩家對話的分流),失敗或 WordPress 無 AI 版就維持原本文案
v6.7.0 (2026-10-10)
- ☀️ 早安卡:每個遊戲日第一次看到新的一天,昨日結算、今日委託與行動點、委託鏈進度、本季考驗進度(或「第 5 天公布」)、日報出刊合成一張卡留在角落,取代原本早上連跳的三四張通知;不自動被其他通知擠掉、45 秒後淡出,點 ✕ 或「看委託板」收起
v6.6.0 (2026-10-10)
- 🧭 季末回顧的建議可以直接點了:每條「下一季怎麼打」旁多一顆按鈕——「去馬車站」直接開押商隊、「去蓋防禦」跳到經濟分頁、「看委託板」跳到故事分頁、「找某某聊」開那位村民的聊天(糧荒找務農、瘟疫找醫生、人口流失找心情最差的人、沒人好感上升找最熟的人),有 AI 的站會順便進入「用你的話說」;故事分頁考驗區塊的第一條建議也有同樣的按鈕
v6.5.0 (2026-10-10)
- 📖 委託鏈:完成一件委託後,好感夠的村民有機會開一段三天的小故事——「一封舊信」「漏水的屋頂」「偷偷準備的生日」,有仇人的還有「放不下的心結」;每天板上多一件他的事(標 📖 標題 n/3),三步全完成有大獎(銀幣、好感、聲望、25 經驗、一段記憶、日報一則;心結鏈還會讓兩人和好);任何一步過期就中斷,他會記得;同時只跑一條、每人 30 天一次;季末回顧會算你走完了幾段
v6.4.0 (2026-10-10)
- 🧭 季末回顧加「下一季怎麼打」:依上一季的弱項給最多三條具體行動——考驗沒過就對症(糧荒找務農求助/瘟疫找醫生/匪患蓋訓練場/壓價多押商隊)、委託過期多就教你挑一次對話能完成的、沒押過商隊就給一個安全的首單、沒人好感上升就提醒「用你的話說」、人口流失、沒升級各有一條,打得好則給連清挑戰;故事分頁考驗區塊也顯示第一條
v6.3.0 (2026-10-10)
- 🧠 對話 AI 判定(H5b):有內建 AI 時,按「說服/安慰/打聽/調解/示好/威脅/委託/求助/談條件/邀去鄰鎮」會先進入「用你的話說」——你打的那句話會連同對方的職業、性格、心情、好感與信任交給 AI 評 −2 到 +2,每級 ±8% 成功率,再擲骰;結果卡顯示「🧠 AI 判定:理由(±%)」。再按一次同鍵或直接送出空白=原本的預設台詞與規則機率
- 🛡️ 額度與退路:每人每天最多 30 次 AI 判定(超過自動改用規則判定並提示一次);走 chat 分流、60 token、7 秒逾時;逾時、限流、解析失敗都靜默退回規則機率,不會卡住對話;WordPress 無 AI 的版本不出現此模式
v6.2.0 (2026-10-10)
- ⚖️ 季度考驗改看「你親手帶進多少」:平衡矩陣(只看不玩/輕度/全力 × 五鎮 × 45 天)發現舊目標只看倉庫存量,倉庫自然膨脹到目標的 2–10 倍,只看不玩也 15 戰全勝;現在糧荒=親手為鎮上帶進 人口×5 份食物、瘟疫=帶進 人口×1.5 份草藥(藥品算三份)、商會壓價=親手賺進 150+人口×8 銀幣(求助、收成、買進、委託與任務報酬、押商隊、賣貨、事件決策都算),匪患=防衛值比公布時再高 2(蓋到一半的防禦建築按進度計);只看不玩全敗、每天動手一兩件就過得了
- 🏘️ 考驗失敗搬走的人數上限為人口 12%(15 人的小鎮一次最多走 2 人,不再連三季走掉一半);委託過期改為同一天第一件 −3 好感(硬頸 −2)、其餘每件 −1 且不記在心上;委託板 3 件起跳,連續全數完成才多一件(繁榮 50 另加一件)
- 🧪 scripts/soak_test.js 第五個參數 mode:full/casual(每天最多 2 件委託、不作弊補貨、4 天一趟商隊、1 次對話)/idle(只看不玩),並會為本季考驗出力(求助、蓋防禦);輸出考驗結果、評等、銀幣/人口起訖、過期委託、搬走人數。調校後:idle 全 C、casual 9 戰 7 勝 A/B、full 全 A
v6.1.0 (2026-10-10)
- 🧱 simulation.js 拆模組(B14 第二步):10360 行拆成核心 simulation.js(2297 行:World 與工具函式)+六個分檔——sim-agent(時鐘/需求/記憶/關係/性格/技能/職業/村民)、sim-conversation(鎮民動態/八卦網/對話引擎/LLM 客戶端)、sim-town(地點與主題/跨鎮親緣/TownMap/事件/選舉)、sim-economy(倉庫/生產/建築/貿易/科技/工單/新聞)、sim-society(派系/節慶/人生目標/城鎮身分/生老病死/探險/傳承)、sim-systems(聲望/天氣災難/議會/每日決策/商店/事件選擇/求助);頂層宣告逐字搬移、載入順序不變,行為不變
- 📦 index.html、WordPress 短碼(分檔依序串聯依賴)、PWA 快取、method-audit 都已列入六個新檔;app.js 與 simulation.js 兩輪拆檔後,最大單檔從 10K 行降到 2.4K 行
- 🧪 全部檢查、任務鏈、浸泡(礦山鎮 20 天)、冒煙、十四支 Playwright 情境、未登入首頁、手機截圖在拆檔後全數通過
v6.0.0 (2026-10-10)
- 🧱 app.js 拆模組(B14):10292 行的 app.js 拆成核心 app.js(3336 行:常數、登入、建構/初始化、分頁與事件派發、存檔、鍵盤移動、主畫面)與九個分檔——app-landing(教學/首頁/帳號)、app-notify(管理員邀請碼/雲端設定/成就/通知卡)、app-loop(季末回顧/押商隊/跨鎮信箱/委託板/考驗/旅人/搬家)、app-towns(城鎮列表與存檔管理)、app-chat(聊天/意圖/小鎮動態/封存)、app-mobile(手機開羅模式)、app-panels(居民/詳情/設定/日誌/事件/自訂村民)、app-economy(經濟/產業/農田/工廠)、app-records(編年史/日報/故事分頁);分檔用 Object.assign 掛回 RimTownApp.prototype,程式碼逐字搬移、行為不變
- 📦 index.html、WordPress 短碼(rimtown.php)、PWA 快取(sw.js)、method-audit 都已列入九個新檔;開機時若分檔沒載到會在主控台報錯提示清單
- 🧪 全部測試(method/i18n/map/scrub/invite/lang/lane/refusal、quest_chain、soak、smoke、十二支 Playwright 情境、首頁未登入流程、手機截圖)在拆檔後全數通過
v5.99.0 (2026-10-10)
- 📦 存檔體積收斂(B12):全鎮日誌一萬筆→一千筆、村民對話紀錄一萬筆→四百筆、村民記憶每人 500→120 筆、兩人共同回憶 150→30 筆、倉庫流水一萬筆→六百筆(介面與 AI 提示最多只讀最近幾十筆);35 天的存檔從 2.6MB 降到約 1MB,自動存檔上傳與手機 localStorage 壓力都減半以上;舊檔讀入即收斂
- 📱 手機版面:「第一天」引導卡層級降到彈窗與角落通知之下(不再壓住押商隊/季末回顧彈窗),故事/小鎮浮動卡或聊天抽屜打開時引導卡自動讓位;角落通知改為浮在引導卡上方不重疊
- 🧪 浸泡測試新增「存檔體積 < 1.5MB」檢查;紀錄分頁只畫最近 500 條、對話封存最近 250 則,getState 體積減半
v5.98.0 (2026-10-10)
- 📜 季末回顧:換季那天彈一頁回顧——考驗撐過沒、委託完成/過期/最佳連勝、商隊趟數/進帳/遇劫、經驗與等級、銀幣/人口/聲望/繁榮變化、完成的任務、好感升最多的三人、搬走與新住民,並給 S/A/B/C 評等;最多留四季,故事分頁考驗區塊可重看上一季,日報也報一行
- 🧾 讀檔回來還沒看過的季末回顧,會在下一次每日通知時補彈;旅人成長與押商隊新增累計計數(經驗總量、商隊趟數/進帳/遇劫),舊檔自動從零開始
- 🧪 浸泡測試新增「季末回顧有結算」檢查
v5.97.0 (2026-10-10)
- 🌙 昨日結算:每天早上第一次打開遊戲會跳「昨日結算」——昨天委託完成幾件/過期幾件、賺到多少經驗、商隊回報或遇劫、本季考驗進度百分比;故事分頁委託板上方也常駐一行摘要,接著才是「今日委託」
- 📋 四種新委託把各系統串起來:押商隊(商人/鎮長發,去馬車站押一趟就算完成)、打聽(愛八卦的人要你去跟某人用「打聽」)、考驗衝刺(鎮長要你把本季考驗指標再推高一截,囤到就自動完成、不花行動點)、拉票(選舉期間候選人要你去用「說服」);對話意圖擲骰成功時會順手結案
- 🎓 新手教學加一頁「每天要做的事」:委託板與行動點、押商隊、季度考驗,六頁說完
v5.96.0 (2026-10-10)
- 🧪 核心玩法迴圈浸泡測試 scripts/soak_test.js:用真正的 world.tick() 跑 35 天,每天像玩家一樣做委託、押商隊、聊天意圖、選天賦,每 10 天存檔讀檔接著跑;五座城鎮都跑過——無錯誤、物資皆有限數、委託/商隊/考驗/成長都在動;列入發版前選跑
- 📈 經驗曲線放慢:浸泡測試裡機器人 35 天就升到 Lv.10 學完八種天賦,升級門檻從 50 + 等級×30 改為 60 + 等級×45
- 🗂️ 城鎮列表改以 town_id 為主鍵(B13):登入時雲端沒有的 id 一律列為「📱 本機」,同名只標註「與雲端同名」不再隱藏,並可一鍵刪除本機副本(不碰雲端存檔);多裝置、分身城鎮一眼可見
- 🤖 管理員面板新增最近七天 AI 用量(B8):/api/chat 每日記錄 Groq 次數、付費中繼次數、退回次數、額度滿次數(usage/.json),面板一眼看出免費額度什麼時候被打滿
v5.95.0 (2026-10-10)
- 🎲 有目的的對話(核心玩法迴圈第五步):聊天的意圖鈕(安慰/打聽/說服/調解/示好/威脅/委託/邀去鄰鎮)現在每個都有成功率——依意圖基礎值、相關屬性(魅力/機智/毅力,含天賦加成)、好感(±25%)、信任(求助/委託/談條件/邀約 ±15%)與對方性格(害羞、愛八卦、刻薄、善良、堅忍、有主見、浪漫、善妒、樂觀、悲觀)算出 10–95%,按鈕直接顯示 %、滑過看每個因子;按下去擲骰:過了套用原本的後果並得 3 經驗,沒過只扣 1 好感、結果卡寫「沒說進心裡」
- 📦🧾 兩個新目的:「求助」請對方從本行勻 10–20 份物資給鎮上(農夫食物、木匠木材、鐵匠金屬、醫師草藥、裁縫布料…;每人每天一次、信任 −2,補季度考驗的糧與藥);「談條件」談成後兩天內押商隊利潤 +5%(商人最好談、有主見的難談);談成的期限進存檔
- 🏁 核心玩法迴圈 H1–H5 全部上線(委託板、押商隊、季度考驗、旅人成長、有目的的對話);首頁路線圖移除開發中項目、特色介紹改寫;README H5 完成
v5.94.0 (2026-10-10)
- 🧭 旅人成長(核心玩法迴圈第四步):完成委託 +10 經驗(調解 +15、沒成 +5)、季度考驗撐過 +40/失敗 +10、押商隊回報 +15/遇劫 +5、主線章節 +30、支線 +15;升級門檻 50 + 等級×30;每升一級從八種天賦隨機三選一(可累積多次待選),「故事」分頁旅人區塊顯示等級、經驗條、四項屬性(含天賦加成)、已學天賦與三選一卡片,升級有角落通知
- ✨ 八種天賦都接進既有系統:健步(行動點 +1)、巧舌(調解成功率 +8%、魅力 +2)、精算(押商隊利潤 +5%、機智 +2)、硬頸(委託過期只扣一半好感、考驗失敗少走一人、毅力 +2)、人緣(委託好感再 +3)、識途(遇劫率 ×0.8)、未雨(季度考驗目標 −10%)、早起(每天第一件委託不扣行動點);屬性加成不改村民屬性本體,由成長系統在公式裡疊加;進存檔,讀檔時若有未選的升級會重新開三選一
- 📋 README H4 完成;路線圖改為「有目的的對話接續」
v5.93.0 (2026-10-10)
- ⚖️ 季度考驗(核心玩法迴圈第三步):每季第 5 天公布一個鎮級考驗,季末(第 15 天)結算——糧荒(食物存到人口 ×8)、瘟疫(草藥備到人口 ×2,藥品一份算三份)、匪患(防衛值 6:守衛每人 2、防禦建築、市集城加強守衛 3)、商會壓價(這一季銀幣要比開季多 150);依城鎮主題加權抽、不連續抽同一種;「故事」分頁有進度條、剩餘天數與撐過的獎勵,公布與結算都有角落通知、進日報、成為聊天話題
- 🏅 撐過:永久加成進世界旗標——大糧倉(農田 +20%、之後糧荒目標 −20%)、藥局(全鎮心情 +10、之後瘟疫目標 −30%)、守望塔(襲擊機率 −30%)、商會印信(押商隊利潤 +10%),另加聲望 +10、繁榮 +5、全鎮心情 +5
- 💔 沒撐過:心情最低的 2 名村民(第二次起 3 名)收拾行李離開鎮上(全鎮記得、記在 movedOut)、繁榮 −10、全鎮心情 −10;連續兩季失敗觸發新的「衰敗結局」(結局畫面後可以繼續玩、要重建)
- 📋 README H3 完成,核心玩法迴圈三步(委託板、押商隊、季度考驗)全部上線;路線圖改為「旅人成長接續」
v5.92.0 (2026-10-10)
- 🐪 押商隊(核心玩法迴圈第二步):馬車站與「小鎮」分頁都能押一隊自己的商隊——選目的鎮、貨物(倉庫 ≥10 的食物/木材/石材/金屬/布料/草藥/工具)、數量 10–200、要不要派一名守衛押車(20 銀幣,他會離鎮 1–2 天)、走大路(2 天)或山路(1 天);面板即時報價:預估賣價、利潤率、遇劫風險、天數
- 💰 利潤與風險:基本 +20%,對方鎮缺這種貨再 +20%,本鎮開通商路(海風鎮海路/其他鎮商路)再 +20%;遇劫率大路 10%、山路 25%,有護衛減半,市集城加強守衛後再打七折;遇劫損失六到十成貨物、剩下的只賣成本價加兩成、押車的守衛受傷(心情 −15、體力掉、會記得);一次只能有一隊在路上,回報進日報、成為聊天話題、角落通知
- 📋 「小鎮」分頁新增「押商隊」區塊(在路上的進度、最近五次戰績);馬車站對話多一個「押商隊」按鈕;商隊狀態進存檔;README H2 完成
v5.91.0 (2026-10-10)
- 📋 委託板(核心玩法迴圈第一步):每天早上村民發 3–5 件有時限的具體委託——送貨(把 N 份資源送到某人手上,要走到他身邊按「交付」)、陪伴(心情差的人,跟他聊一次即完成、對方心情 +8)、調解(互看不順眼的兩人,先各聊一次再按「調解」,成功率看魅力/機智與你和兩人的交情,成功兩人好感 +15、沒成只各退一步)、跑腿(先到指定地點再回去交給他,獎勵多一包資源)、送禮(用既有送禮完成);當天沒做完就過期:委託人對你好感 −4、會記得「拜託的事沒有下文」
- ⚡ 行動點:每天 5 點(體力 ≥7 多 1 點、連續三天全數完成再多 1 點),只有委託的完成動作扣點,聊天送禮本身不扣;可用 30 銀幣買 1 點、每天最多 2 點;獎勵銀幣 15–60、委託人好感 +6~+10、聲望 +2~+4,委託人會記得、日報會寫、村民會聊
- 🧭 介面:「故事」分頁最上方新增「今日委託」區塊(行動點、每件委託的進度與交付/調解按鈕、買行動點),故事分頁按鈕顯示未完成件數徽章,每天早上角落通知;主線跑完後引導橫幅改提示第一件委託;委託進存檔
- 📋 README 新增 H 節「核心玩法迴圈」企劃(H1 委託板 ✅、H2 押商隊、H3 季度考驗與軟性失敗、H4 旅人成長、H5 有目的的對話);首頁路線圖新增「核心玩法迴圈」開發中
v5.90.0 (2026-10-10)
- 💌 跨鎮戀愛搬家:村民去別的鎮作客時若和那邊某位單身居民兩情相悅(雙方心動 ≥60、好感 ≥50,且至少來作客過兩次),回鄉後觸發「搬家提案」事件:讓對方搬來/讓他搬過去/不干涉;三天內不決定就依兩人的意思自動安排;人口已滿(30)時不提供「搬來」;對方鎮的存檔不在本機時不提案
- 🏡 搬家走城鎮信箱(rimtown_moves_*):搬來的人帶著技能、記憶、外觀與英文名成為常住居民,和伴侶直接進入交往;搬走的人記在 movedOut,全鎮記得、日報(含跨鎮專欄)會報導、成為聊天話題;兩鎮各自在下次打開時完成搬遷
- 🧳 修正:村民出遠門旅行回來後自訂外觀會遺失(v5.89.0 起的 look 現在跟著旅行快照);村民快照格式統一(出訪/旅行/搬家共用)
- 📋 README G2 完成,三個規劃中項目(日報跨鎮專欄、村民自訂外觀、跨鎮戀愛搬家)全部上線;首頁路線圖只剩 3D 開發中與構想
v5.89.0 (2026-10-10)
- 🎨 村民自訂外觀:村民資訊卡新增像素大頭像與「改外觀」按鈕,可選膚色 6 種、髮型 6 種(短髮/長髮/馬尾/齊瀏海/平頭/捲髮)、髮色 9 種、上衣 8 色(或職業預設)、配件(帽子/眼鏡/圍巾),面板即時預覽、可隨機、可恢復預設;地圖小人、聊天聯絡人頭像、資訊卡同步更新
- 👤 建立新居民表單同一組外觀選項;外觀進存檔(agent.look)、跨鎮作客時跟著出門、對方鎮也看得到;沒改過的村民照舊依名字雜湊出預設外觀,舊存檔完全不變;職業帽子(廚師帽、草帽、頭盔…)在自訂髮型上照戴
- 📋 README G1 完成、路線圖「村民自訂外觀」移出規劃中;下一項為 G2 跨鎮戀愛搬家
v5.88.0 (2026-10-10)
- 📰 日報跨鎮專欄:每期 AI 日報末尾新增「🐎 跨鎮專欄」,收錄其他城鎮(本機存檔)最新一期日報的前兩則要聞、最多三鎮,附該鎮記者名;日報分頁展開每期可見專欄區塊;第一則要聞也成為本鎮村民的聊天話題;鎮名與人名依介面語言顯示;存檔隨日報一併保留
- 🧪 四座主題鎮任務鏈端到端回歸收進 scripts/quest_chain_test.js(選跑):起始任務、五章各走一條路線、第三章排程災難與第四章化解、劫案期間商隊停擺、商路開通後兩天一趟、支線全部完成、存檔往返、任務分頁章節、英文介面全英文——海風鎮/礦山鎮/林間村/市集城 50 項檢查全過
- 📋 README:A 表 A1/A5 備註更新為現況;路線圖「日報跨鎮專欄」完成;新增 G 節企劃「村民自訂外觀」「跨鎮戀愛搬家」(建議做法與待拍板問題);首頁路線圖同步
v5.87.0 (2026-10-09)
- 🏛️ 市集城專屬任務鏈「銀聲」五章全部上線:第一章「進城」(肥叔的酒桌、財神廟一炷香);第二章「老帳的那筆帳」——老帳對出一筆流向金老爺私帳的款項:「揭發」(老帳、窯叔好感)款項退回公帳、銀幣 +80、繁榮 +3、窯叔對金老爺怨氣消、金老爺鳳姨對你 −12/−8;或「壓下」(金老爺、鳳姨好感)拿到大市集最好的攤位、銀幣 +120、老帳對你 −10;第三章「綵姑等的人」——託駝姐跑五鎮找人(40 銀幣,答案是那個人沒從礦坑出來)或替門叔說話(送禮給綵姑,兩人心動 +30)
- 🚨 第四章「商隊劫案」是市集城的主題災難:第三章完成當晚駝姐的商隊沒按時進城,隔天「商隊劫案」來襲(士氣 −12、舒適 −6、每天少 6% 銀幣與 5% 布料、城門緊閉商隊停擺,三天),照樣可以事前防災;選「加強守衛」(80 銀幣、門叔、阿鋼)衛隊出城清路、災害立刻結束、繁榮 +10;或「贖回」(150 銀幣、駝姐、肥叔)人全回來、貨少三車;第五章「五鎮商會」——金老爺主持、駝姐帶路、80 布料 100 食物、商隊來過一次:銀幣 +150、開通商路(商隊兩天一趟、換到的貨 +20%)
- 📖 四條支線:阿算的算經(替他送禮給書儀)、窯叔的磚價(80 石材燒一窯磚繞過商會,銀幣 +60)、駝姐的五鎮消息(聽完五鎮八卦再等商隊進城一次)、杏姑的醫館(80 木材 40 草藥蓋醫館,繁榮 +3、鳳姨與杏姑和解);四個故事事件:金馬車的第一夜、路上的消息、劫案之後、五鎮的旗——全部中英文
- 🌫️ 市集城起霧時有兩成機率出現劫案預警(其他鎮不變);商隊劫案期間城門緊閉,跨鎮商隊不會進城
- 🎉 五鎮任務鏈全部完成:邊境鎮「落腳邊境」、海風鎮「潮聲」、礦山鎮「礦脈」、林間村「林語」、市集城「銀聲」各五章,四座主題鎮各有專屬災難與商路終章;首頁路線圖移除「各鎮任務鏈」開發中項目,特色介紹改寫
v5.86.0 (2026-10-09)
- 🌲 林間村專屬任務鏈「林語」五章全部上線:第一章「進林」(桂嬸的蘑菇湯、繞古樹一圈見樹婆);第二章「第十四隻木雕」——阿松/阿哨/阿葉三角:替阿松送第十五隻(送禮給阿葉)或替阿哨傳話(跟阿葉聊兩次),選邊影響日後婚配;第三章「護林與伐木」——阿哨的本子對上鋸哥的伐木場:「禁伐令」(阿哨、林姥好感 30)古林以東不許下斧、繁榮 +3、鋸哥帶人去種樹;或「擴產」(鋸哥、桂嬸)木材 +80、阿哨對你 −10
- 🔥 第四章「山火」是林間村的主題災難:第三章完成當晚伐木場冒煙,隔天「山火」來襲(士氣 −15、舒適 −10、農作 −30%、每天燒掉 10% 木材與 8% 草藥,三天),照樣可以事前防災;選「開防火線」(60 木材、大熊、木叔)火停在隔離帶前、災害立刻結束、繁榮 +10;或「疏散」(鹿娘、阿矢)人和鹿一個都沒少、但損失 40 草藥 20 食物;第五章「那棵樹」——老樵帶路、阿苔記錄、80 草藥 100 食物、商隊來過一次:草藥 +60、開通商路(商隊兩天一趟、換到的貨 +20%)
- 📖 四條支線:阿松的木雕(60 木材刻一批去賣,銀幣 +25)、林姥進林子的原因(樹婆說出五十年前的事,林姥與老樵心動 +10)、大熊的陷阱(替他跟鹿娘說清楚,夫妻信任 +10)、藥草小屋的配方(100 草藥配止血藥賣去邊境鎮,銀幣 +50);四個故事事件:篝火初夜、林子裡的煙、山火之夜、那棵樹——全部中英文
- ☀️ 林間村的夏季連日高溫升級災害從乾旱改成「山火」(其他鎮不變)
- 📣 首頁路線圖:礦山鎮、林間村任務鏈已上線,市集城「銀聲」接續
v5.85.0 (2026-10-09)
- ⛏️ 礦山鎮專屬任務鏈「礦脈」五章全部上線:第一章「下坑」(阿杏的蘿蔔湯、祠婆的護身符);第二章「金脈的算式」——阿岩算出第七層有金、礦爺不批:選「說服礦爺」(阿岩、礦爺好感 30、聽完算式)礦爺終於看圖、兩人關係 +20;或「偷偷下探」(小鑽、阿鈴)帶回 40 金屬但礦爺對你 −8;第三章「白姑的信」——塵肺真相:「寄出去」(付 60 銀幣託阿晴的車)繁榮 +3、礦爺 −10;或「先治人」(30 草藥)老錘、油伯好感 +10
- 🚨 第四章「塌方」是礦山鎮的主題災難:第三章完成當晚坑道傳來異響,隔天「坑道塌方」來襲(士氣 −14、舒適 −12、每天埋掉 8% 石材與 6% 金屬,三天),照樣可以事前防災;選「加固坑道」(80 木材、木根、老錘)災害立刻結束、繁榮 +10、坑道永久加固;或「緊急撤離」(牛叔、油伯)沒人少、但損失 40 石材 20 金屬;第五章「第七層」——阿岩的圖、鐵柱的鎬、20 工具 100 食物、商隊來過一次,礦爺親手下第一鎬:金屬 +60、開通商路(商隊兩天一趟、換到的貨 +20%)
- 📖 四條支線:鐵柱的鎬頭(60 金屬換 10 工具)、祠婆的護身符(老錘二十年後回山神祠,兩人心動 +15)、小鑽的金脈夢(替他送禮給阿岩)、阿晴的訂單(120 石材換布料 30、銀幣 40);四個故事事件:礦燈初夜、坑道異響、塌方之夜、金光——全部中英文
- 🌧️ 礦山鎮的暴風雨升級災害從洪水改成「坑道塌方」(其他鎮不變);任務後果新增「排程災難」與「化解災難」(災害進行中提前結束、還在預警就視為全面防災);商隊海路加成改成通用「商路」旗標(海風鎮海路、礦山鎮商路都適用);災害損失訊息會寫出資源名
- 📣 首頁路線圖:「各鎮任務鏈與主題災難」列入開發中(礦山鎮已上線,林間村、市集城接續)
v5.84.0 (2026-10-08)
- ⛈️ 海風鎮任務鏈「潮聲」完結:第四章「颱風夜」——阿帆從哨塔跑下來報颱風,選「加固」(木材 60、帆布 30、跟阿舵把守哨排好)守住全鎮:繁榮 +10、燈爺把燈塔換上更亮的燈芯(夜間光束更亮更遠,永久);或選「避風」(阿帆、阿錨拖船上岸):沒人受傷但漁獲損失 40;第五章「出海」——阿錨修船、木蝦補板、備貨 120 食物與 40 帆布、商隊來過一次確認航路,首航市集城後開通海路:商隊兩天一趟、換到的貨 +20%
- 📖 六條支線:傳家魚乾(海嬤)、廟前的經文(雲姨與海伯的舊情,完成後兩人心動 +15)、蚵嫂的話題(替她探阿浮的心事)、人魚的故事(木蝦的「證據」)、鹽不過山(礦山鎮通車後把鹽送上山,石叔借出鹽耙)、繡坊夢(阿蓉與秀姑把話說開)——各帶劇情後果與中英文文案
- 📜 三個新故事事件:颱風警報(第三章完成後)、颱風夜、首航(燈爺大白天點燈);任務條件新增「商隊來過幾次」「某鎮已通車」;任務後果新增物資增減、持久繁榮加成(進存檔,不會被每日重算蓋掉)、世界旗標(燈塔升級/海路開通);支線完成也會套用後果
- 📣 首頁路線圖:海風鎮任務鏈移出開發中;「礦山鎮/林間村/市集城任務鏈與各鎮主題災難」列入規劃
v5.83.0 (2026-10-08)
- 🌊 海風鎮專屬任務鏈「潮聲」第 1–3 章上線:第一章「上岸」(潮聲初聞:海味居吃一頓、認識討海人;走一圈海風鎮:走訪三處地點、向雲姨求平安香)、第二章「鹽與燈」(船難那一夜:向老漁問出真相後選「和解」讓石叔與燈爺二十年的沉默在燈下化掉,或選「沉默」讓往事留在海裡——兩條路線結局不同、真的會改變兩人的關係)、第三章「海菜與窗台」(替阿浮署名,或替阿帆傳話——你幫誰,珊珊的心就往誰那邊走)
- 📜 任務系統改成依城鎮主題查表:每個主題有自己的章節名、主線、支線、故事事件;海風鎮有了真正的任務分頁與引導橫幅(不再是占位文字),邊境鎮主線一字不動;礦山鎮/林間村/市集城暫時仍顯示占位,之後照表加
- 🎯 新任務條件:跟特定村民交談次數、送禮給特定村民、走訪特定地點、季節、繁榮度、村民之間的好感;任務完成可帶「劇情後果」(改村民之間的好感/信任/心動、玩家好感);主線完成文案可依路線不同
- 📖 海風鎮故事事件:棧橋上的第一夜(海嬤的魚湯)、燈塔之夜(船難任務完成後);全部任務文案中英文
- ⏭️ 下一版:第四章「颱風夜」、第五章「出海」與六條支線
v5.82.0 (2026-10-08)
- 🗄️ 後端存取層只剩 Postgres:移除 Vercel Blob 回退、lazy 搬遷、「搬資料到資料庫」按鈕與 @vercel/blob 套件(Blob 早已停權、資料全在 Neon);路徑規範(users/、saves/、savemeta/…)與 API 合約一字不改,舊的加密值仍認得
- 🃏 移除際遇卡系統(v5.49.0 起已停抽的死碼):World、存檔序列化、前端卡片 UI 一併拿掉;舊存檔裡的 rogueCards 欄位讀檔時直接忽略,不影響任何進度
- 🧪 驗證:冒煙測試 22 項全過、含 rogueCards 的舊存檔讀取正常、管理員面板顯示「儲存:Postgres」
- 📋 README E 節五個待拍板問題依建議拍板:海風鎮任務鏈五章+六支線分兩版做、先做海風鎮、各鎮主題災難列為後續,下一版起實作
v5.81.0 (2026-10-07)
- 🏠 住房加蓋第二輪:主題鎮地圖密、地標多,原本的嚴格掃描補不出房(礦山鎮 15 人只有 11 戶、林間村/市集城 12 戶),現在不夠時改用放寬掃描(不留邊距、逐格找、樹與草視為可清出的地),工廠永遠用不到的後段預留地基也讓給房子——五鎮開局人人有床:邊境鎮 25 人 25 戶、海風鎮 20 人 18–19 戶、礦山鎮/林間村/市集城 15 人 15 戶;真的客滿才合住
- 🏷️ 玩家自訂村民可填英文名(選填):建立村民時多一欄「英文名」,英文介面的地圖名牌、對話與日誌都用它,存檔會記住;不填就顯示原名
- 🧹 i18n 清掉 56 筆重複鍵(JS 物件後者悄悄蓋前者,實際譯文以最後一筆為準,行為不變),重複鍵稽核門檻降為 0
- 🔍 新增三支發版前稽核:scripts/i18n-audit.js(重複鍵=0、新字串沒英文就失敗,歷史欠帳 232 筆記在基準檔)、scripts/map_ascii.js(五種主題版面 ASCII 快照比對,產圖邏輯一改就擋下)、scripts/smoke_playwright.js(五鎮世界生成/英文標籤/鄰鎮不重複/住房/商隊,選跑)
- ⚡ 首頁更新紀錄(240KB)不再隨頁面載入:第一次畫首頁時才動態載入,直接進遊戲的人完全不載
- 📋 README 新增「E. 海風鎮專屬任務鏈企劃」草案(五章主線+六條支線+颱風事件)與待拍板問題
v5.80.0 (2026-10-06)
- 🐪 跨鎮商隊貿易:每 3 天會有一隊商隊從某個已通車的鎮來到你所在的鎮,用本鎮多的東西換對方多的東西——邊境鎮賣糧食木材、海風鎮賣漁獲帆布、礦山鎮賣石材金屬、林間村賣木材草藥、市集城賣銀幣布料,各鎮缺什麼就換什麼(一次最多 40,取本鎮庫存的 12%);市集城經手的交易多兩成
- 🛒 商隊來的時候:地圖上一輛貨車從馬車站那頭沿大路駛到廣場旁停一會兒再離開(車上有麻袋木箱、馬腿會動),角落通知寫明換了什麼,日誌記一筆「🐪 礦山鎮的商隊來了:用 25 食物換到 25 石材」,村民之間也會聊起商隊帶來的貨
- 🗺️ 多鎮連通收尾:馬車站列出所有已通車的城鎮、村民互訪可來自任一鎮、跨鎮親緣網已涵蓋五鎮(這三項在 v5.76–v5.78 逐步完成),本版補上最後一塊「商隊貿易」;多城鎮企劃 P0–P5 全數上線
- 💾 商隊紀錄(上次來的日子)存進存檔,讀檔後不會同一天來兩次;舊檔鎮名存成英文(Seabreeze Harbor)也認得出主題
- 📣 首頁路線圖:跨鎮貿易與商隊移出開發中,規劃中新增「跨鎮戀愛搬家」「日報跨鎮專欄」
v5.79.0 (2026-10-06)
- 👥 邊境鎮卡司 20→25:養雞的寡婦杜鵑(市集城嫁來)、吳達的徒弟石磊(在意鄭薇、跟護衛隊吵礦場安全)、林美的學徒白露(偷偷把楊鋒送的花插進診所花瓶)、退休老守衛老謝(鎮上最會下棋、和何秀的姐姐有過婚約)、張豪的話癆徒弟小滿(把師父的詩抄給黃莉)——各自帶 2–3 條關係鉤子進來
- 🌊 海風鎮卡司 15→20:望潮哨的年輕哨兵阿帆(和阿浮搶珊珊的窗台)、阿浮的母親蚵嫂、想把鹽賣到礦山鎮的鹽工阿鹽、秀姑捨不得放走的徒弟阿蓉、船難那夜也在船上的老漁(他知道石叔和燈爺之間發生了什麼)
- 🏠 住房自動加蓋驗證:25 人的邊境鎮開局自動補到 18–19 戶、20 人的海風鎮 14–15 戶,每個人都分得到床位;人口上限維持繁榮度分級(20/40/60/80 → 14/17/22/30 人),新開局不會被擠爆
- 🎲 隨機卡司名字池:姓 26→40、名每性別 24→60(共 40×120 組合),英文對照同步;五鎮劇本卡司與移民池共 101 個名字列入保留名單,隨機卡司不會再抽到跟別鎮村民一樣的名字
- 🌐 新增 10 位村民的英文名與背景翻譯;首頁「會記得你的村民」改為「五座城鎮、近百位村民」
v5.78.0 (2026-10-06)
- 🏛️ 第五座城鎮「市集城」登場:邊境鎮繁榮度到 80 收到「商會來函」,五鎮馬車全線通車。平原上的交通樞紐有自己的地圖——一圈城牆與八座城門(門樓紅旗)、14×10 的大市集廣場(兩排攤棚、中央噴泉水花、兩串隨風飄的彩旗)、商會大樓、書院、財神廟、磚窯(窯火冒煙)、東南角商隊營地四頂帳篷
- 💰 市集城 15 人專屬卡司:怕老婆的商會會長金老爺與握著半個市集租約的鳳姨、發現一筆不該存在款項的老帳房、背完整本算經的攤主阿算與書院講師書儀、等人的戲班裁縫綵姑與多看兩眼的城門衛隊長門叔、嫌所有事的窯叔、跑遍五鎮的商隊領隊駝姐…與邊境鎮的陳偉、劉俊、周明,海風鎮的浪叔、秀姑,礦山鎮的礦爺、白姑都有跨鎮親緣
- 🪙 市集城物資:銀幣 600、布料 150、工具 40 多;木石金屬原料缺——五座城鎮各有所長(漁獲帆布/石材金屬/木材草藥/銀幣布料),跨鎮貿易的底子齊了
- 📣 首頁:特色文案改為五座城鎮,路線圖把「五鎮互訪與商隊貿易」列入規劃;多城鎮企劃 P0–P3 全數上線,接下來是 P4 村民擴編與 P5 多鎮連通
v5.77.0 (2026-10-06)
- 🌲 第四座城鎮「林間村」登場:邊境鎮繁榮度到 60 收到「林道開通」,獵戶清出馬車道。密林裡的獵戶與樵夫村有自己的地圖——四周厚厚的林帶、村子只在林中空地裡;篝火場取代石板廣場(夜裡篝火+螢火蟲)、古樹祭壇是一棵掛滿祈福布條的巨木、伐木場堆原木、守林哨塔立一座高塔、林中空地有鹿、白天落葉飄
- 🏹 林間村 15 人專屬卡司:聽得懂樹說話的村長林姥、打獵的大熊與護鹿的鹿娘這對吵了十年的夫妻、送了十四隻木雕的阿松與藥草師阿葉、守林人阿哨與伐木工頭鋸哥的護林/伐木之爭、老樵口中那棵不能砍的樹、五十年手帕交林姥與樹婆…與邊境鎮的趙霞、林美、楊鋒、何昌、凌波,海風鎮的海嬤、木蝦都有跨鎮親緣
- 🪵 林間村物資:木材 340、草藥 120 多;石材 20、金屬 10 缺——三座鄰鎮各有所長,為跨鎮貿易鋪路
- 📣 首頁:特色文案加入林間村,路線圖更新(市集城開發中)
v5.76.0 (2026-10-06)
- ⛏️ 第三座城鎮「礦山鎮」登場:邊境鎮繁榮度到 40 會收到「山道來信」,吊橋修好、馬車可上山。山壁下的礦業小鎮有自己的地圖——北側整片雪頂山壁、主礦坑鑿在山壁裡、礦車沿軌道來回運礦到礦車廣場、東側一道裂谷架兩座吊橋、山泉浴場冒蒸氣、熔爐鍛坊煙囪冒煙
- 👷 礦山鎮 15 人專屬卡司:礦務長礦爺、鐵匠鐵柱與酒館老闆娘阿杏這對爐火夫妻、塌方倖存的老礦工老錘與守祠人祠婆的舊情、工頭牛叔的接班盤算、地質學者阿岩算出的金脈、坑口醫師白姑想寄出的那封信、第一個女礦工阿鈴…自帶三角戀、舊怨與暗流;與邊境鎮的吳達、趙霞、林美、張豪、馬強,以及海風鎮的海伯、珊珊都有跨鎮親緣
- 🪨 礦山鎮物資:石材 320、金屬 140 多;糧食 60、布料 15 缺——和邊境鎮、海風鎮天然互補,為跨鎮貿易鋪路
- 🧭 鄰鎮解鎖改為表驅動(海風鎮繁榮 20、礦山鎮繁榮 40),之後的林間村、市集城照表加;每鎮只在背景生成一次,絕不自動刪任何存檔;主線任務分頁在所有主題鎮都顯示該鎮的故事占位
- 🌐 英文介面:地圖上的地名標籤與村民名牌改用英文(Boone、Hank、Main Shaft…),不再中英夾雜;礦山鎮全部地名、人名、背景與跨鎮心事都有英文版
- 📣 首頁:特色改為「多鎮往返」,路線圖更新(林間村開發中、市集城規劃中)
v5.75.0 (2026-10-06)
- 🌊 海風鎮終於有海了:南側整排海面與沙灘、東岸斜切成海灣,碼頭棧橋從沙灘伸進海裡、末端 T 字碼頭停了四艘漁船(隨浪起伏);東南角燈塔岬立著紅白燈塔,夜裡旋轉光束掃過海面
- 🏖️ 海風鎮地點全部換成海岸版面:沙灘木屋一整排面海、崖上人家四戶全露出(不再被港務所壓住)、曬網場有木樁與漁網、鹽場是工寮加一片片結晶鹽池、鹽灘、潟湖、西岸海蝕洞;馬車站搬到西側沿海道路盡頭,馬頭朝邊境鎮
- 🧭 海面不可行走(棧橋可以),村民不會再在海裡散步;加蓋的房子與工廠地基也不會蓋到棧橋、鹽田、燈塔岬上
- 🗺️ 地圖依城鎮主題產生(tilemap 新增 theme 參數),邊境鎮版面一格都沒動;舊的海風鎮存檔不用重開,切過去就是海岸地圖
- 📣 首頁路線圖同步更新:礦山鎮進入開發中,林間村/市集城與村民擴編列入規劃
v5.74.2 (2026-10-06)
- 🏘️ 修正「城鎮多做了一個」:介面切到 English 後,
_ensureNeighborTown 的「已存在」判斷比對的是 t('海風鎮')=Seabreeze Harbor,找不到既有的「海風鎮」就再生一座;開新局的預設鎮名也會存成英文。現在鎮名、季節一律存中文、只在顯示時 t(),既有英文名城鎮也視為同一座(/海風鎮|Seabreeze/),雲端清單沒載到時先重拉再決定
- 🧹 已多出來的那座請在「城鎮列表」手動刪除(程式不自動刪任何雲端存檔);通常是 Seabreeze Harbor/Frontier Town、第 1 天那筆
- 📂 首頁「村民的大腦」整區改為
<details> 預設收合
- 🌐
t('春季') 等 43 處季節比對在英文介面下全部對不上(事件季節、作物、封存、去重 absDay),改為存中文比中文;標頭鎮名、城鎮列表、手機時鐘改顯示時翻譯。Playwright:英文模式遊戲內 0 中文、中文模式 0 英文外漏
v5.74.1 (2026-09-09)
- 🌐 首頁右上角新增「中文|EN」語言切換:之前語言開關只藏在遊戲內的設定裡,首頁沒有任何地方可以切,所以永遠是中文;現在首頁直接可切,整頁即時重畫(
.landing-lang)
- 🧭 第一次來的訪客依瀏覽器語言決定預設語言(
navigator.language 非 zh → en),之後以玩家自己切過的 rimtown-lang 為準
- 🔧 首頁「性格參數」的 19 個特質、互斥組與 18 種想法名稱改為顯示時
t(),執行中切到 English 不再殘留中文(Playwright:切換後首頁 0 中文)
v5.74.0 (2026-09-09)
- 📜 雙語第四波(更新紀錄全譯):從 v1.0.0 到現在共 222 版、757 條更新紀錄全部有英文版;介面切到 English 時,首頁「更新紀錄」整份改顯示英文(
changes_en)
- 🛠️ 版本紀錄改為雙語單一來源:
wordpress/rimtown.php 每個版本同時有 changes(中文)與 changes_en(英文);scripts/gen-changelog.js 檢查每一版兩邊條數一致,缺英文就以非零結束碼拒絕產生。之後每次發版的 changelog 都要同時寫中英文,發版前必跑清單已註明
v5.73.0 (2026-09-09)
- 🗣️ 雙語第三波:設定裡新增「AI 對話語言」(跟隨介面語言/繁體中文/English)。決定村民台詞、行程、反思、貼文與日報由 AI 生成時用的語言,與介面語言分開;
localStorage.rimtown_dialogue_lang(auto 不落地),api/settings.js 接受 dialogue_lang 隨帳號同步
- 🤖 英文模式:
LLMClient 送出前把提示詞裡的中文人名換成英文名(I18N.localizeNames(prompt, true)),請求帶 lang:'en';api/chat.js 改用 GAME_SYSTEM_PROMPT_EN(Anthropic 格式前綴 [System instructions]),跳過簡轉繁;回覆用 I18N.delocalizeNames() 把英文名換回中文名(含隨機卡司 Given Surname),行程/對話解析與存檔仍用中文名,顯示層才換成英文。12 處提示詞語言規則改為 LLM_LANG.rule(zh, en)
- 📰 修正 AI 日報:
daily-news.js 呼叫的 llm.chat() 先前不存在,一直靜默退回模板;現在 LLMClient.chat(messages, opts) 補上,日報可由 AI 撰寫並跟著對話語言
- 🔍 新增
scripts/lang_test.js(8 項)並加進發版前必跑;lane_test 18/refusal_test 9 仍全過
v5.72.0 (2026-09-09)
- 🌐 雙語第二波(模擬內容):補齊 2,334 條英文對照,含地名(邊境鎮 Frontier Town/海風鎮 Seabreeze Harbor 與 100 多個地點)、20+15 位村民簡介、事件與事件鏈、新聞、慶典、派系、探索、選舉政見、規則式對話模板(陌生人/摯友/情侶/敵對/八卦/工作/心情)、玩家對話回覆、際遇卡、主線/支線/個人故事/每日目標/章節故事、自訂村民與人生總結;LLM 提示詞片段(125 條)刻意保留中文,留給第三波「AI 對話語言」處理
- 👤 村民英文名:切到 English 後村民以英文名顯示(陳偉 Victor、林美 Mia、王麗 Lily、海伯 Hal、小鷗 Gwen…),隨機卡司「姓+名」自動拼成 Ethan Carter 這類英文名,新生兒名字也有對照。實作:
I18N.localizeNames() 在 t() 輸出後把句子裡的中文人名換掉,加上 MutationObserver 處理未經 t() 的動態文字,地圖 canvas 名字另行處理;存檔仍存中文名,切回中文不受影響
- 🧱 村民/移民/新生兒/隨機背景的資料表改為固定存中文(拿掉建立當下的
t()),舊版在英文介面開新局會把英文寫進存檔,價值觀相容度也會對不上;app.js 162 處 ${x.name} 改為 ${t(x.name)},技能名/價值觀/簡介改在顯示時翻譯
- 🔧 中文介面修正:居民「當前行動」通勤時原本直接露出 commuting,現在顯示「趕著去上工」
- 🔍 檢查:全部 13 個腳本的
t() 字串英文對照只剩 simulation.js 的 125 條 LLM 提示詞(刻意保留);Playwright 英文模式四個分頁+居民詳情 0 中文,中文模式 0 英文外漏
v5.71.0 (2026-09-09)
- 🌐 雙語第一波(介面):補齊 431 條英文對照,含 99 個成就名稱、居民詳情/關係徽章/選舉/新聞/派系/探索/墓園、經濟/建築/研究/工廠/農場/訂單/產業、任務與個人故事、聊天封存與社群動態、首頁「村民的大腦」全部參數卡;切到 English 後遊戲介面不再夾雜中文
- 📖 教學視窗 28 段說明與頁首/側欄按鈕加上
data-i18n 掛鉤,切換語言即時生效;教學裡過時的「到設定填 Groq 金鑰」提示改為「內建 AI,不需金鑰」
- 🔍 新增檢查:app.js 所有
t() 字串都必須有英文對照(目前 0 缺);模擬內容(村民名/台詞/事件)的英文在下一波
v5.70.0 (2026-09-09)
- 🔧 首頁「村民的大腦」底下新增可摺疊的「技術細節」區(
_renderTechDetails):一次 AI 請求的旅程流程圖、提示詞怎麼組(身分行/抽出的記憶/關係數字/今天的計畫/性格與心情/輸出格式)、兩條車道誰先上(即時對話 Groq 先、行程反思 Claude 先)、互相接手與冷卻規則、免費額度保護(讀 x-ratelimit 估算 token 提前改道)、品質守門(拒答/洩漏/簡轉繁)、成本閘門;預設收合,不打擾一般玩家
- 🌐 技術細節區 55 條文字皆有英文對照,切換語言即生效
v5.69.4 (2026-09-09)
- 🖥️ 首頁「村民的大腦」電腦版排版再修:四張參數卡改為瀑布流雙欄(CSS columns),左右兩欄各自往下疊,不再因為卡片高度不同而在旁邊留一大塊空白;手機維持單欄
v5.69.3 (2026-09-09)
- 💾 修正已登入玩家仍跳出「儲存空間已滿!請…註冊登入改用雲端存檔」的錯誤:那是手機瀏覽器 localStorage(約 5MB)被本機備份塞滿,雲端存檔本身沒有受影響。舊的自動瘦身修剪的是不存在的欄位所以永遠失敗;現在改為先清「聊天封存」、再依序修剪記憶/對話紀錄/八卦/劇情封存(
_slimSaveForLocal),已登入者最後會自動移除其他城鎮的本機備份(雲端仍在)
- ☁️ 已登入玩家即使本機真的存不下,也只會收到一次右下角「本機備份空間不足,已改為只存雲端」的柔性提示,不再彈出要你去「註冊」的錯誤視窗;訪客的提示文字改為建議「刪除舊城鎮或登入改用雲端」
v5.69.2 (2026-09-09)
- 🖥️ 首頁「村民的大腦」電腦版排版修正:四張參數卡原本在桌機排成 3+1,第四張(想法與心情)孤零零掉到下一列留一大片空白;改為固定兩欄(手機單欄),卡片頂端對齊
v5.69.1 (2026-09-09)
- 🧊 首頁新增「3D low-poly 版搶先看」區塊:放上 Blender + Godot 4 重製版的觀賞模式畫面(
chrome-extension/img/lowpoly-preview.jpg,build.sh 會複製 img/ 到站台),路線圖「開發中」同步標註;圖片尚未放進去時整區自動隱藏
v5.69.0 (2026-09-09)
- 🧠 首頁新增「村民的大腦:他們是怎麼社交的」展示區:八步驟社交流程(感知→挑對象→八卦→約出去→對話→效果→記憶→反思與計畫)附實際參數;記憶流檢索公式(0.5×時近+3×相關+2×重要度)與可拖拉的互動計算器;性格參數(19 種特質與加成、互斥組、10 種價值觀、相容度倍率、六項需求衰減);關係階梯(好感門檻、衰退、心動成長、對嗆/絕交、謠言對質、戲劇導演);18 種想法的心情/天數/看法表。內容直接讀遊戲常數
TRAIT_POOL/THOUGHT_DEFS,數字與程式一致
v5.68.0 (2026-09-09)
- 🏠 遊戲首頁(Landing):打開 rimtown.cc 先看到首頁。遊戲介紹四張卡、更新紀錄(預設最近 5 版,可展開全部,資料由
scripts/gen-changelog.js 從 rimtown.php 產生成 changelog.js)、即將實現路線圖(開發中/規劃中/構想)。未登入只有「註冊」「登入」,一律要登入才能進遊戲(訪客試玩取消);已登入顯示「繼續遊戲」並附城鎮與日期,世界在底下先載好、暫停等你按
- 🎟️ 推薦碼制註冊:註冊必須輸入有效的推薦碼。管理員在設定→管理員→「推薦碼管理」建立(自訂或自動產生 8 碼)、設定可用次數(0=無上限)、停用/啟用、刪除,看得到每組已用幾次與最近用的帳號。伺服器端驗證(
invites/<CODE>.json),環境變數 INVITE_REQUIRED=0 可整體關閉
- 🔁 登入/註冊後直接進遊戲、登出回首頁;新帳號註冊後建立「<帳號>的邊境鎮」並顯示教學。首頁期間不跑模擬、不彈每日獎勵,按「繼續遊戲」後才結算離線進度
v5.67.6 (2026-09-09)
- 🧑🌾 旅人不再被叫鎮長:程式裡還留著十幾處把玩家寫死成「鎮長」的文案(八卦稱讚/爆料、事件留言、夢想支持、聲望新聞、決策回饋、事件抉擇、加工線指令),這些句子進了村民記憶後 AI 對話就跟著叫旅人「鎮長」。新增玩家稱謂判斷
playerTitle():只有當選才是鎮長,否則一律「旅人」,全部改用;玩家對話提示詞明講「他是來到鎮上的旅人,不是鎮長,現任鎮長是 X」
v5.67.5 (2026-09-08)
- 🈶 AI 台詞一律繁體中文:Groq 的 gpt-oss 即使被要求繁體仍常回簡體。伺服器端每則回覆先用 OpenCC(簡→繁,台灣用語,
opencc-js)轉換,兩條渠道都套用;前端新增 17KB 輕量簡繁字元表(s2t.js)做雙保險,並在載入存檔時把已經存進去的簡體台詞(聊天、村民對話、記憶、行程、名場面、新聞)轉成繁體,提示「已把 N 段簡體字台詞轉成繁體」後回存。只轉偵測為簡體的字串,繁體文本不會被誤改
v5.67.4 (2026-09-08)
- 🧹 全存檔清理 AI 助理漏出的內容:中繼曾把「I'm Kiro, an AI development environment…」這類拒絕/自報身分的句子當成村民台詞回來,已寫進聊天紀錄、村民對話、記憶、行程、名場面、新聞。現在每次載入存檔都深度掃描整份資料,命中的條目移除並提示「已清除 N 則」後回存;前端收到伺服器回覆也再檢查一次,漏網的直接當失敗退回內建模擬對話
v5.67.3 (2026-09-08)
- ⏱️ 中繼逾時修復:v5.67.2 對 Anthropic 格式送
system 欄位後,Kiro 系代理每次都卡到 15 秒被中止,全部退回 Groq。改為不送 system 欄位、把 RimTown 系統提示併進使用者訊息開頭;拒絕偵測與退回機制不變
v5.67.2 (2026-09-08)
- 🎭 村民對話冒出英文「I'm Kiro, an AI development environment…」修復:付費中繼是 Kiro 系代理,會自己塞「程式開發助理、不做角色扮演」的系統提示。現在每次呼叫都附上 RimTown 自己的角色扮演系統提示(Anthropic 格式走
system 欄位、OpenAI/Groq 格式走 system 訊息),並偵測「拒絕扮演/自報 AI 身分」的回覆,視同失敗立刻改走另一條渠道,不冷卻;兩邊都拒絕才回錯,前端退回內建模擬對話
v5.67.1 (2026-09-08)
- 📱 手機離開時也沖存檔:原本只有 beforeunload 會把最後進度寫上雲端,手機切 App/滑掉分頁幾乎不觸發,雲端最多落後 5 分鐘,換裝置就會看到剛做完的任務又出現。現在 pagehide 與畫面隱藏(visibilitychange)也會同步沖本機+雲端,同一 tick 只沖一次
v5.67.0 (2026-09-08)
- 📊 Groq 免費額度感知:免費層 30 RPM/1K RPD/8K TPM/200K TPD 是整把金鑰共用、不分玩家。伺服器每次 Groq 回應都讀
x-ratelimit-* 標頭記下剩餘額度與重置時間;下一次請求先估算需要的 token(提示詞+回覆),不夠就直接走付費主渠道,不去撞 429;真的撞到 429 照 retry-after 精準冷卻(上限 6 小時),不再一律 5 分鐘
- 🔍
/api/chat 回應多帶 groq_quota(剩餘 token/請求數)與 groq_skipped(這次為何沒優先用 Groq),方便看免費額度用到哪
v5.66.6 (2026-09-08)
- 🚑 熱修「旅途出了點問題:this._newerSave is not a function」:v5.64.1 移除雲端去重時誤把相鄰的
_newerSave 一起刪掉,開機載入、切鎮、馬車過場三條路都會炸;已回填
- 🧪 新增發版前稽核
scripts/method-audit.js:檢查前端所有 this._xxx() 呼叫都有對應定義,之後每版必跑
v5.66.5 (2026-09-08)
- ⏱️ 兩條 AI 渠道共用時間預算:原本 Groq 逾時 15 秒+主渠道逾時 20 秒最壞 35 秒,超過函式 30 秒上限會變 504 而不是退回。現在整個請求共用 26 秒,每個上游呼叫只能用剩下的時間(Groq 模型清單 8 秒、Groq 對話 12 秒、主渠道 15 秒各自封頂),預算不足就不再嘗試;最壞情況也是「退回另一邊」
v5.66.4 (2026-09-08)
- 🧠 Groq 推理模型空回覆根治:線上日誌確認原因是
groq_empty,gpt-oss 的思考段吃掉小額度 max_tokens(20 必空)。推理模型的 Groq 呼叫改給最低 160 token 餘裕(Groq 免費不計成本);空回覆只退回該次請求、不再觸發 5 分鐘冷卻,冷卻只留給 429/5xx/逾時
v5.66.3 (2026-09-08)
- 🔬 分流診斷:
/api/chat 回應多帶 fallback_from(哪個渠道/模型因何失敗才退回),伺服器日誌同步記錄;Groq 偏好退回已驗證能用的 gpt-oss-20b 優先(120b 上線實測每次首發失敗,原因待日誌確認)
v5.66.2 (2026-09-08)
- 🎯 Groq 模型偏好:線上驗證這把金鑰的清單沒有 llama 系列,實際挑到 gpt-oss;改為 gpt-oss-120b 優先於 20b(對話品質較佳,免費額度相同)。實測 chat 線→Groq、background 線→付費主渠道,20 個 token 也能正常回覆
v5.66.1 (2026-09-08)
- 🛟 Groq 對話線回覆保底:上線實測 Groq 在小 max_tokens 下偶爾回空字串(推理模型把額度花在思考)。空回覆現在視同失敗直接退回付費主渠道,玩家不會拿到空白對話;模型偏好改為非推理模型優先(llama-3.3-70b → llama-3.1-8b → kimi-k2 → gpt-oss),gpt-oss 帶
reasoning_effort=low、qwen/deepseek 隱藏思考段,<think> 殘留一律剝掉
- ⏱️
/api/chat 函式逾時上限設為 30 秒(vercel.json),Groq 呼叫本身 15 秒逾時;回應多帶 model 欄位方便驗證實際走的模型
v5.66.0 (2026-09-08)
- 🔀 智慧分流搬到伺服器(規則同 v5.39.0):前端把每次呼叫標成 chat(玩家與村民對話、劇情名場面)或 background(行程/反思/背景對話);chat 優先走 Groq 免費額度(
GROQ_API_KEY),限流或故障退回付費主渠道並 5 分鐘後再試;background 走付費主渠道(LLM_*),失敗退回 Groq 並對主渠道累進冷卻(60 秒×次數,最多 5 分鐘),恢復即切回。兩邊都失敗才回錯
- 🩹 帳號自救:開機向伺服器確認帳號狀態時,若帳號紀錄遺失(雲端儲存空間停權/搬遷缺漏),趁登入憑證仍有效請玩家設一組新密碼重建紀錄;存檔、成就、設定以帳號名為 key,不受影響。紀錄仍在時一律拒絕,不能拿來改別人的密碼
v5.65.0 (2026-09-08)
- 🔐 AI 全面內建:設定頁的「進階:自備 AI 金鑰」整段移除(供應商/API 金鑰/Groq 金鑰/測試連線都拿掉),所有玩家一律走小鎮內建 AI;金鑰只存在 Vercel 環境變數(
LLM_* 主渠道+GROQ_API_KEY 備援),玩家端不需要、也看不到任何金鑰欄位
- 🧹 帳號設定不再保存玩家金鑰:伺服器讀取時過濾、寫入時清除舊版留下的
llm_api_key/fallback_groq_key;前端開機同步清掉本機與擴充功能儲存區的舊金鑰。設定頁只剩 NPC 每日 AI 額度、模擬速度、語言與音樂
v5.64.1 (2026-09-08)
- 🛡️ 存檔保護三件組(改版後紀錄不見的根治):① Service Worker 原本把同網域
/api/ 的 GET 當靜態資源 cache-first,第一次抓到的雲端存檔清單/內容會一直用到下次改版才更新——這就是「改版才變、進度好像不見」的真兇;/api/ 現在一律走網路不快取。② 伺服器端進度單調保護:較舊的存檔(舊分頁、舊裝置、備援 reset 出的 Day1 世界)不能再蓋過雲端較新的進度,匯入存檔等玩家明確意圖才可強制覆寫。③ 覆寫前自動保留前一版備份,主檔遺失時讀取端自動退回備份
- 🚫 程式絕不自動刪除任何雲端存檔:移除 v5.62.1 的雲端同名去重自動刪除;要刪只能由玩家或管理員手動操作
v5.64.0 (2026-09-08)
- 🗄️ 存檔後端可改用 Neon Postgres:設了環境變數
DATABASE_URL(接上 Vercel 的 Neon 資料庫)後,所有玩家資料(帳號、存檔、成就、設定、排行榜、封鎖名單)改存 Postgres,徹底避開 Vercel Blob「每月 2K 次 list/put」的 advanced operation 額度上限(之前雲端存檔爆額度被拒的根因)。沒設 DATABASE_URL 時一切行為與現在完全相同,部署不會壞;讀取時若 PG 沒有會自動退回 Blob 並順手回填,城鎮列表在搬遷完成前會聯集兩邊不漏檔
- 📦 管理員一鍵搬遷:設定分頁「🛡️ 管理員」面板新增儲存後端狀態與「📦 搬資料到資料庫」按鈕,按一次就把既有 Blob 資料複製進 Postgres(可重複執行,不覆蓋較新的資料)
- 🏘️ 內建小鎮 AI 改接付費渠道:
/api/chat 主渠道改為可設定的付費 AI 中繼(env LLM_BASE_URL/LLM_API_KEY/LLM_MODEL/LLM_FORMAT,相容 Anthropic 與 OpenAI 格式),原本的 Groq 保留為備援;訪客/登入每日額度可用 env 調整。玩家端免填任何金鑰即可與村民對話,標頭徽章顯示「AI:小鎮內建」
v5.63.2 (2026-09-08)
- 📉 Vercel Blob 額度止血:Hobby 方案每月只有 2K 次 advanced operations,原本每次讀取都先
list() 找檔案、每 60 秒又寫兩次雲端,額度爆表後雲端寫入被拒(之前「雲端儲存失敗」的真正原因)——讀取改為直接打固定公開網址(只算流量不算次數),封鎖名單查詢加 60 秒記憶體快取;登入玩家本機仍每 60 秒存檔,雲端改為「有進度變化且距上次 ≥5 分鐘」才寫,關頁/手動存檔/切鎮照舊立即寫雲端
v5.63.1 (2026-09-08)
- 🚑 部署修復:v5.63.0 新增的管理員端點讓 Vercel Serverless Function 數量達 13,超過 Hobby 方案 12 個上限,正式站部署失敗仍停在 v5.62.1——移除無伺服器狀態的
/api/logout 函式(JWT 登出本來就只是前端丟棄 token),改以 rewrite 導向 /api/me,函式數回到 12
v5.63.0 (2026-08-28)
- 🛡️ 管理員帳號管理:在 Vercel 環境變數
ADMIN_USERS 填入自己的帳號後,設定分頁出現「管理員」面板,可列出所有玩家、封鎖/解封、刪除帳號(連同所有雲端存檔,名字不能再註冊);被封鎖或刪除的帳號立即無法登入、用 AI、存檔,舊登入狀態也會被踢下線
- ✖️ 手機版「目前目標」提醒按 × 關不掉修復:× 的處理函式抓的是第一次顯示時的任務 id,任務換了之後按 × 記錯 id,下一秒又彈回來——改為讀當前任務 id,並直接吃手機 touch 事件、放大可點區域
- 🔁 做過的任務又出現修復(存檔回捲):登入後自動存檔原本只寫雲端,雲端寫入失敗進度就沒存到任何地方,重新整理載到舊存檔任務自然重來——現在登入也同時寫本機,開機與切鎮都以 tickCount 比較雲端/本機挑最新的一份(同一天內也分得出),本機較新會自動回填雲端;任務系統讀檔前一律重建,不再殘留上一鎮的任務狀態
v5.62.1 (2026-08-26)
- 🗂️ 城鎮列表不再累積重複的邊境鎮:啟動失敗時的備援路徑每次都領一個新城鎮 id,配合 v5.59.1 的雙寫,每存一輪列表就多一筆「第1天」孤兒條目——現在啟動會優先回到上次玩的鎮(雲端拿不到就讀本地備份),真的要開新世界也沿用既有條目的 id 覆寫同一格;開機時自動清掉既有的同名 Day1 孤兒(本機+雲端),有實際進度的同名城鎮一律保留不動
v5.62.0 (2026-08-26)
- 🏠 住房制度重整:沒結婚的村民不再被塞進同一間房——只有夫妻同住一間,單身各自獨居;房間不夠時自動在空地加蓋單棟小屋並接上道路(邊境鎮約加蓋 8 間、海風鎮約 3 間,依實際人口動態計算);婚後兩人會自動搬進同一間;切換城鎮時舊鎮的住戶分配不再殘留
v5.61.0 (2026-08-26)
- 🧹 移除玩家職業選擇系統:選職業其實對村莊經濟毫無影響(全鎮產出都來自 NPC),卻用「你目前無業!」橫幅和 11 顆按鈕搶走新手第一天的注意力——整套面板(選職/辭職/手動生產鈕)與三個職業成就一併移除;玩家身分固定顯示「旅人」,當選鎮長時照樣顯示鎮長頭銜,參選鎮長玩法不受影響
v5.60.2 (2026-08-26)
- 🚪 村民卡在屋裡出不來修復:醒著的村民若在建築物內、目的地在外面,卻因為房間開口被牆擋住/找不到路而一直出不了門,約 6 秒後會自動安置到該建築的門口外並重新找路——與既有的「睡覺一定進屋」保險絲成對,保證不會有人永遠困在房子裡
v5.60.1 (2026-08-23)
- 🏭 工廠與選址互不侵犯:工廠預留地基計算現在會避開馬車站、玩家選址建築(施工中+完工)與裝飾;反過來蓋建築與擺裝飾也不能占用工廠地基(含空地基)或馬車站,兩套系統不再互相蓋在對方頭上
- 🎨 工廠繪製像素化補完:空地基上的 🏗️ 表情符號改為像素木材堆,煙囪的圓形煙改為方塊像素煙
v5.60.0 (2026-08-23)
- 🏗️ 蓋建築選址引導:進入選址模式後,所有可以蓋的 2×2 格位會發出綠光脈動,滑鼠移動時有綠(可蓋)/紅(不可)的佔地預覽框跟著;點擊自動吸附到 2 格網格,所有建築落在同一格線上自然蓋得整齊,不用再憑感覺亂點
v5.59.5 (2026-08-23)
- 🚏 海風鎮回不了邊境鎮修復:城鎮名字改以「存檔內的鎮名」為權威——過去 meta 對不上 id 時會誤判自己叫「邊境鎮」,馬車名單因此把真正的回程踢掉、還列出海風鎮自己;現在出訪名單一律排除自己、以存檔內鎮名核對、切鎮後立即重建,存錯名字的舊 meta 也會在下次存檔時自動修正
v5.59.4 (2026-08-23)
- 🐎 馬車 UI 全面像素化:馬車站對話框標題、「前往」按鈕、旅途過場動畫裡的系統表情符號(🐴/🛺/🐎)全部換成方塊拼成的像素馬車 SVG,與地圖上的馬車站同款配色;過場動畫行進方向改為與馬頭朝向一致
v5.59.3 (2026-08-22)
- 🐎 馬車站改為純像素風繪製:表情符號小馬換成方塊拼成的像素馬(頭/鬃毛/尾巴/四腿/馬蹄),圓形車輪換成階梯八角方塊輪+輪轂,車廂加上車頂/車窗/車轅細節,站牌文字同步去掉表情符號
v5.59.2 (2026-08-22)
- 🎵 背景音樂開關搬進「設定」分頁:原本的靜音鈕與音量條放在一個沒有入口的舊版設定彈窗裡,玩家實際上關不掉音樂——現在「設定 → 遊戲控制」有 🔊播放中/🔇已靜音 切換與音量滑桿,即時生效並記憶(localStorage)
v5.59.1 (2026-08-22)
雙城重測補修(TC-03 兩處殘留+切鎮存檔保護)
- 🏷️ 今日焦點「去找陳偉聊聊天」跨鎮殘留:根因是讀檔時「存檔沒有焦點就跳過」,上一鎮的焦點留在同一個 World 實例上——現在讀檔一律清空並依新鎮重算
- 🏷️ 海風鎮教學橫幅「落腳邊境」:任何切鎮路徑(城鎮列表直切/馬車)完成後立即重繪教學橫幅,海風鎮的隱藏判斷即時生效
- 💾 切鎮前自動「本地+雲端」雙寫存檔:雲端寫入失敗時切走前的進度不再蒸發(QA:海風玩到第 2 天、切走再回來只剩存檔點)
v5.59.0 (2026-08-22)
雙城 QA 五修(TC-01~TC-05)
- 🚌 TC-01 回程死路:馬車目的地與城鎮清單改為「雲端+本地合併」——雲端寫入失敗時本地存檔照樣導航;與當前鎮同名的殘留重複 meta 自動去重、只列載得到存檔的鎮;登入時城鎮列表併入僅存於本機的城鎮(標 📱 本機),不再誤報「雲端尚無城鎮存檔」把玩家鎖死
- 🕐 TC-02 抵達半重置:切換城鎮時同時取雲端與本地存檔、比對遊戲日期載入較新的一份——訪客時期殘留的 Day 1 舊複本不會再蓋掉真實進度(Day 1 假象+落腳任務復活的根因);馬車抵達後任務/教學橫幅立即依新鎮重繪
- 🏷️ TC-03 鎮名寫死:「第 N 集·◯◯日常」、閒聊台詞「◯◯的生活還不錯」改讀當前 townName;海風鎮不再出現「落腳邊境」任務橫幅與任務頁(改顯示漁村故事頁:這裡的故事在日常裡自己發生)
- 💬 TC-04:node 驗證訪客本來就會進聊天資料源;補上「訪客抵達時聊天清單立即刷新」保險,遠客一到就能私訊
- 👥 TC-05:頂部人口改為「人口:N(+M 訪客)」,跨鎮訪客不再灌水常住人口
- 兩套迴歸測試(互訪 18 項+主題 12 項)全過
v5.58.1 (2026-08-22)
- 🚌 修復「點了馬車卻沒真的前往」:登入狀態下切換城鎮只查雲端存檔,而自動生成的海風鎮(及訪客時期建立的舊鎮)存在本地 → 過場放完人還在原地、無任何提示。現在雲端找不到會退回本地存檔(載入成功後自動補存雲端,跨裝置可見);仍失敗會明確跳出「找不到該城鎮的存檔」,馬車過場也會驗證真的抵達才顯示抵達通知
v5.58.0 (2026-08-22)
雙城世界觀合理化——海風鎮本來就存在(QA 回饋+設計修正)
- 🛤️ 海風鎮改為「本來就存在」:不再用「建立新城鎮」手動創建——世界觀是沿海道路被風暴封住,小鎮發展到繁榮 20 時修路隊打通道路(「道路重通!」事件+新聞),海風鎮在背景自動生成存檔並登記進城鎮列表,馬車直達、兩鎮村民互訪立即可用;通車前點馬車站,車伕會告訴你路還封著(「先跟商隊買點那邊的魚乾解解饞吧」);「建立新城鎮」恢復原本用途
- 👪 跨鎮親緣網(6 對手寫羈絆):王麗的姑婆海嬤在海風鎮幫廚、吳達與鹽工石叔是礦上老兄弟、趙霞的異國貨來自浪叔的船、周明在海味居駐唱過、孫雨與燈爺是通信筆友、林美與阿汐師出同門——雙邊記憶種子+閒聊思緒池,通車前兩鎮居民就會在日常裡提起海那頭的親友
- 🐛 QA 修正四件:換鎮後「今日焦點還在講陳偉」的跨鎮鬼影(
reset() 清除 dailyFocus/dailyEcho/dramaArchive 等敘事殘留);鎮名三處標題(桌面 h1/手機標題/側欄標)不再寫死邊境鎮(townName 隨存檔序列化);海風鎮不再跑邊境鎮主線任務(卡司是邊境鎮居民,海風鎮主題任務鏈待後續);建鎮全程 loading 畫面+完成後「原鎮已自動儲存、兩鎮並存」提示
- 迴歸:P0 主題 12 項+P1 互訪 18 項+本版 7 項(親緣種子/鬼影清除/townName 序列化)全過
v5.57.0 (2026-08-21)
雙城第三波(P2)——玩家馬車過場拜訪(雙城計畫完結)
- 🐎 馬車站:每張地圖東側大路盡頭新增馬車站(木平台、遮雨棚、輕晃的馬車、金字站牌),點擊開啟旅行對話——車伕列出可前往的城鎮;還沒有別的鎮時會打盹提示你
- 🎬 過場動畫:黑幕淡入、馬車剪影橫越畫面、「馬車顛簸了兩天…」+季節旁白(冬雪/夏蟬/秋稻/春花),抵達後玩家在對方鎮的馬車站下車、鏡頭跟隨
- 雙城計畫三波(P0 主題城鎮/P1 村民互訪/P2 馬車過場)全數上線;後續糖(跨鎮貿易差價、跨鎮戀愛搬家、日報跨鎮專欄)待排
v5.56.0 (2026-08-21)
雙城第二波(P1)——村民跨鎮互訪
- 🚌 全自動互訪:擁有兩個以上城鎮後,村民每隔幾天會自動去別的鎮作客(同時最多 2 人在外)——完整人格與記憶打包同行,在對方鎮以「名字(原鎮名)」現身、住上 3-5 天,跟當地人聊天、聽八卦、甚至動心;全鎮會留下「遠客來訪」的記憶與話題
- 🎒 期滿返鄉:訪客把作客期間最重要的三則見聞帶回家鄉,本尊返鄉後灌進記憶流(「在海風鎮時:嘗到小鷗做的海鮮麵…」),自然流入反思、對話與日報
- 💬 交談新選項「🚌 邀去鄰鎮」(好感 20+):親手把某個村民送去另一個鎮作客——想拆散曖昙中的兩人或送作堆,現在有了新玩法
- 📬 技術:兩鎮存檔獨立,交流靠 localStorage 信箱(訪客信箱+回鄉見聞信箱),切鎮或遊玩中每 5 秒自動收信;
world.visitors 隨存檔序列化;外鎮訪客不會被旅行事件抽走
- 18 項端到端測試全過(出訪打包→對方鎮實體化→期滿返鄉→見聞歸戶→村民數回復→序列化)
v5.55.0 (2026-08-21)
雙城第一波(P0)——主題城鎮系統+海風鎮
- 🌊 全新主題城鎮「海風鎮」:海岸漁村,15 位全新手寫村民(港務長海伯、討海青年阿潮、海味居掌杓小鷗、燈塔守燈爺、海女醫師阿汐…),各有背景與開局恩怨——雙暗戀三角(阿潮與阿錨都心繫小鷗)、二十年船難世仇(石叔×燈爺)、未完的舊情(雲姨×海伯)、無名的海菜暗戀(阿浮→珊珊)
- 🌅 生活習慣:討海人的早起文化(早起性格佔比高、燈塔守夜貓反差);地點皮膚:海味居/鹽場/外海碼頭/燈塔書房/海神小廟/曬網場…;固定海岸地形
- ⚖️ 互補經濟:漁獲豐(食物 320)、帆布多(布料 90)、無林缺木(木材 45)、草藥稀少——與邊境鎮天然互補,為 P3 跨鎮貿易鋪路
- 📖 劇情解鎖:繁榮 20(第二章)觸發「碼頭來信」角落通知,之後「城鎮列表→建立新城鎮」可選海風鎮;主題隨存檔序列化,舊存檔一律視為邊境鎮不受影響
- 🌙 修復月亮動畫:月相陰影裁切進月盤、新月夜保留一彎月牙、描邊移到陰影之下——不再出現「黑洞套白圈」
- 12 項自動化測試全過(名冊/地名/地形/物資/關係種子/序列化/邊境鎮不受影響);P1 村民跨鎮互訪、P2 馬車過場接續
v5.54.1 (2026-08-21)
工廠試玩回饋:地基+自動營運
- 🏗️ 工廠地基:地圖產生時自動規劃 7 塊「預留地」(避開道路/水域/既有建築,以工坊為中心就近排布),平時顯示虛線地基+🏗️ 標記;工廠蓋在地基上,施工中有鷹架+進度條,完工後是佔滿地基的正式建築(彩色屋頂、煙囪、開工時冒煙)——不再有小貼圖懸浮在馬路中間
- 👷 工廠自動上工:完工後村民每天早上自動補滿工人缺額(優先相關職業、其次心情好的閒人;鎮長與玩家不會被抓去上班),未選配方自動開第一個;上工村民會留下記憶流入對話——你是旅人不是人事主任,不指派也能正常運轉,手動指派仍可覆蓋
v5.54.0 (2026-08-21)
暫停可靠性+半夜赴約修正+章節爬坡上限
- ⏸️ 暫停徹底可靠:按下立即顯示「⏸ 已暫停/▶ 已繼續」角落回饋;全螢幕卡片開著時按的暫停會在關卡後生效(不再被卡片還原邏輯蓋掉);城鎮列表關閉時還原你原本的暫停狀態(不再無條件恢復播放)
- 🌙 半夜不再全鎮站廣場:村民白天約好的聚會(_pendingHangout)若倒數到睡眠時段,直接取消不赴約(夜貓子還醒著、不受影響)——這是春祭夜全鎮被拉去村莊綠地站整晚的根因
- 🛏️ 睡眠保險絲:睡著卻長時間在屋外的村民(不論還在走路或卡住)累積一段時間後一律強制安置進屋,與 v5.53.1 的安置機制形成雙保險
- 📖 章節節奏修正(早期爬坡上限):繁榮度是「現狀快照」,新鎮第一晚就會反映 ~40 的底子、第 1 章只活一天;現在建鎮前 5 天繁榮度封頂在 天數×8(8/16/24/32/40),第 6 天起解封——「先和村民相處」的第一章真的有 2-3 天可玩;舊存檔視為老鎮、完全不受影響(已用自動化測試驗證兩者)
v5.53.2 (2026-08-20)
- 🏭 工廠/產業成本與產出在地化:修復顯示英文 key(
wood:20 stone:15)的 7 處漏翻——可建造工廠成本(2 處)、工廠倉庫、產業日產出(2 處)、產業升級成本(2 處),全部接上與全站一致的中文資源名稱(木材×20 石材×15)
v5.53.1 (2026-08-20)
- 🛏️ 徹底修復「睡在戶外」:睡著卻停在屋外的村民(小屋內部目標被路徑修正推到牆邊等情況)會直接安置進自家屋內;找不到自家就借宿最近的小屋——保證睡覺一定在房子裡
v5.53.0 (2026-08-19)
經濟三波試玩回饋修正(腐壞、餐食過剩、木材紅燈、+0 誤導、津貼無感——五項全修)
- 🌾 食物卡顯示「存量/糧倉容量」(容量=400+穀倉擴容),超過容量時顯示 ⚠ 每日腐壞 5% 警示;腐壞數學已用自動化測試驗證(食物 1000/容量 400 → 當晚 −30,精確 5%)
- 🍲 餐食也會過期:超過三天需求量(4.5×人口)的部分每日 8% 倒掉,餐食不再是只漲不跌的新死資源;廚師產出 12→9,收斂預設 3 廚師 3.3 倍過剩
- 🪵 原料自動補給改為「補滿到安全線 40」:固定 +12 補不上木材這種高需求原料(建築+家具線+冬季取暖都吃它),紅燈不再卡死
- 📊 加工線白天顯示「預估日產 +X(午夜結算)」——排班立即有回饋,不再被 +0 誤導成沒生效
- 💸 加班津貼 3→8 銀幣(試玩回饋:3 銀幣在流水裡無感)
v5.52.0 (2026-08-19)
經濟重構第三波——數值重調+價值層收束(三波完結:加工品賣出換銀幣 → 銀幣投入建設/慶典/新居民)
- 💰 商人改以「收購加工品」為主:五種商人的收購單全面轉向餐食/工具/衣物/藥品/家具,買賣原料退場(原料已自動供給)
- 💸 銀幣水龍頭收緊:商人職業日產 8→5、鎮長 3→2;加班需付津貼(每人每日 3 銀幣的新 sink,銀庫不足自動改回正常排班)
- 🌾 食物稀缺曲線:超過糧倉容量(基礎 400,穀倉建築擴容)的存糧每日腐壞 5%,冷藏穀庫減緩——過剩食物有了「辦慶典/賣商人」的消化動機
- 🔬 研究獨立成「科技」分頁(價值層長線投資),資源分頁只剩三層結構
- 探索派遣的稀有資源獎勵維持不變,作為長線探索目標
v5.51.0 (2026-08-19)
經濟重構第二波——勞動力排班核心(瓶頸從「原料庫存」上移到「村民的時間」)
- 👷 排班指令:每條加工線(餐食/工具/衣物/藥品/家具)顯示「誰在做」,鎮長可下 ⏸休工/▶正常/⏫加班——休工的村民心情變好、多時間社交(會留下對應記憶,流入反思與對話);加班產量 +50% 但村民疲累心情變差
- 📦 原料層自動供給:五種原料低於安全線自動回補,玩家不再管原料;材料短缺不再罷工扣心情,改為「邊角料趕工」產能四折
- 💊 需求波動:心情低落的村民每天會找醫生拿藥並好轉(藥品有了真用途);冬季衣物耗損翻倍
- 排班設定隨存檔保存;第三波(數值重調+價值層收束)接續
v5.50.0 (2026-08-19)
經濟重構第一波——三層資源 UI 收斂(基於實測提案:深度來自稀缺×取捨,不來自資源種類多)
- 💎 關鍵資源:食物+銀幣升級為大卡顯示(附短缺變色警示),唯二需要玩家盯的存量
- ⚒️ 加工產能:餐食/工具/衣物/藥品/家具改為「今日產出/消耗+需求提示」的流量視圖,看的是產能不是囤積
- 📦 原料倉庫:木材/石材/金屬/布料/草藥等原料收成一顆充足度燈號(🟢充足/🟡吃緊/🔴短缺點名),細目摺疊可展開
- 🔬 研究點移出資源格,併入研究區標題(價值層)
- 純顯示層改造,模擬與平衡完全不動;第二波(勞動力排班)、第三波(數值重調)接續進行
v5.49.3 (2026-08-19)
- 🖥️ 桌面版聊天雙欄:進入對話時側欄自動加寬(360px → 560px),左欄聯絡人清單(可直接點選切換對象)+右欄對話視窗;窄螢幕維持全屏對話+「‹」返回
v5.49.2 (2026-08-19)
- 📱 聊天版面重排:未選人時聯絡人清單撐滿可用高度(不再擠在 200px 小視窗+下方大片空白);進入對話後清單讓位給對話視窗,左上「‹」一鍵返回聯絡人
v5.49.1 (2026-08-19)
- 🔔 村民卡的追蹤按鈕加上「追蹤/追蹤中」文字標籤,一眼看懂功能
v5.49.0 (2026-08-19)
第二波聚焦——戲劇導演+經營線降級
- 🎬 戲劇導演(張力保底):連續 4 天沒有名場面時,系統從三種手法挑一種在後台輕推——💘 暗戀萌芽(合得來的單身村民之間種下心動)/💢 舊怨復發(交惡的兩人再往絕交推一步)/🔥 嫉妒升溫(單戀有主之人者對情敵觀感惡化),各附對應的內心獨白記憶,會自然流入反思、對話與追劇首頁;導演出手後至少醞釀 3 天
- ✂️ 際遇卡停止每日抽:與主軸無關的個人 roguelike,已排隊的舊卡仍可正常結算;經營線(資源/產業)維持全自動背景運轉,面板依章節解鎖後可選
v5.48.0 (2026-08-19)
看戲三件組——追劇首頁、關係時間軸、追蹤功能
- 📺 追劇首頁:首頁故事區升級為「第 N 集·邊境鎮日常」——🔥 本集看點(名場面/內心話/大事)+📈 進行中的劇情線(戀愛第 N 天/婚姻/絕交+你的調停進度/三角戀)+🔮 下集預告(瀕臨絕交、心意快藏不住的伏筆),每天像追一集連續劇
- 📜 關係時間軸:點劇情線的任一對,打開兩人從認識到現在的完整故事——雙方記憶流互相相關的條目+名場面(可點擊重播)+目前關係,按時間排序;你的耳語、挑撥也會留在裡面
- 🔔 追蹤功能:村民快速卡新增 🔔 追蹤鈕;你在追的 CP/冤家發生大事(高重要度記憶)時右下角通知你——20 人的鎮不再漏掉你在乎的那條線(追蹤名單依城鎮各自保存)
v5.47.0 (2026-08-19)
QA 回歸五修(BUG-01~05)
- 🐛 BUG-01(High)「該去找 0 敘敘舊了」:外出村民返鄉時的關係還原把陣列索引當名字建立關係(
Object.entries 迭代陣列+欄位名不符);三層修復——還原邏輯改用 target_id/target_name 並略過斷掉引用、讀檔時自動清除舊檔已產生的壞關係、顯示端過濾純數字名字
- 🕊️ BUG-02 調解回饋:優先鎖定「絕交」對象(不再被其他低好感者搶走)、每一步顯示「和解進度 N/2」與心防狀態、不信任時明確提示——硬派對象不再看似白按
- 💘 BUG-03 心動事件:改走玩家聊天限流(較寬鬆+Groq 智慧分流),不再被背景額度擠掉退回罐頭句;備援真心話 2→6 種並依職業/性格加味
- 📜 BUG-04 事件徵詢開場加入 4 種變體(急匆匆/皺眉拉到一旁/深夜招手/廣場攔人),天氣危機不再逐字重複
- ⏸️ BUG-05 暫停時抑制所有全螢幕彈窗,恢復播放後由佇列補播
v5.46.0 (2026-08-19)
聚焦主軸——移除祭典攤位小遊戲
- ✂️ 移除祭典攤位小遊戲(猜燈謎/撈金魚/投壺):與「觀察居民之間的事件、關係與愛恨糾葛」的核心主軸脫節——它不寫入記憶流、不影響任何關係,只是孤立的反應小遊戲。祭典本身完整保留:村民的祭典行程、祭典場景對話、心情加成照常運作
v5.45.0 (2026-08-19)
蝴蝶效應回顧+首頁分階段減壓
- 🦋 蝴蝶效應回顧:你的社交行動(耳語/安慰/示好/威脅/調解/說服/送禮…)會記下當下的關係快照,隔天首頁「昨日回響」用因果句告訴你發酵了什麼——「你種在X心裡的念頭發酵了,他對Y的態度明顯軟化」「昨天的威脅起了反效果,他對你起了戒心」「Z把你放在心上了:『…』」,每天最多 3 條,回應「玩家存在感偏弱」的反饋
- 🧘 首頁分階段減壓:剛開村只看「今日焦點+昨日回響+居民列表」;「今天的故事」在小鎮成長 10 後展開、「今日頭條」在成長 20(第二章)後展開——第一次進來不再被資訊牆壓迫
- 🎁 送禮日誌殘留的「鎮長」稱謂改為「你」
v5.44.0 (2026-08-19)
試玩反饋修正——對話截斷、彈窗節奏、暫停保護
- 💬 修復對話被截斷:玩家聊天回覆 token 上限 400→600,回覆若仍被砍斷會自動收斂到最後一個完整句子,不再出現半句話
- 📺 彈窗節奏全面控管:名場面直播/週報等全螢幕內容卡之間至少間隔 45 秒、佇列上限 4 張+去重(名場面隨時可在小鎮劇場回看);AI 日報出刊改為角落通知,全文到「日報」分頁閱讀
- ⏸️ 暫停保護:任何全螢幕卡顯示期間世界自動暫停、關閉後還原你原本的暫停狀態——看戲時時間不會偷跑,你按的暫停也不會被彈窗洗掉
- 📝 日報手記結尾擴充至 12 種並依「記者+期數」決定,連續兩期不同記者不再一字不差
v5.43.0 (2026-08-19)
小鎮編年史——全鎮作息與對話的可匯出資料庫
- 📚 每天換日時自動把全鎮村民的「近況、今日行程、逐段足跡」+當天所有對話逐字稿(NPC 間對話含 AI 標記、你與村民的聊天)歸檔進瀏覽器 IndexedDB 資料庫,跨重新整理保存
- 🔎 「日誌」分頁新增調閱介面:按日瀏覽(顯示村民數/對話數)、逐村民展開行程與足跡、逐場對話展開逐字稿
- 📦 一鍵匯出:全部 JSON、對話 CSV(day/time/type/a/b/ai/summary/dialogue)、作息 CSV(day/npc/job/currently/plan/trace)——CSV 含 BOM,Excel 直接開中文不亂碼
- 🗑️ 可清空資料庫(不影響遊戲存檔)
v5.42.1 (2026-08-19)
修復互動事件卡連環轟炸
- 🔕 原本答完一張卡會立刻彈下一張、且被延後的通知無上限累積(遊戲加速時更嚴重),造成 10 秒跳 3-4 張根本沒法玩;現在:互動卡之間至少間隔 90 秒真實時間、佇列最多保留 3 張+同標題去重、已被「逾時代選」自動結算的過期卡在出佇列時直接丟棄——被擠掉/過期的事件由小鎮自行決定,事件線不會卡住
v5.42.0 (2026-08-19)
衝突敘事三件組——對嗆、絕交、世紀大和解
- 🗯️ 廣場對嗆名場面:互相仇視(好感 ≤ -35)的兩人偶爾當眾大吵(AI 生成對嗆戲、每對至少隔 5 天),交情好的旁觀者會選邊站——對另一方好感下降並寫入「我當然站○○這邊」的記憶,小鎮氣氛真的會僵
- 💢 絕交事件:雙方好感都跌破 -60 時積怨爆發,當眾撂下重話正式絕交(名場面+日報頭條+心情重挫),絕交狀態隨存檔保存
- 🕊️ 和事佬和解線:對絕交等級的仇怨,「調解」升級為兩段式任務——分別勸過兩邊(需要對方基本信任你),兩邊都點頭就促成「世紀大和解」名場面:兩人好感大增、你獲得雙方好感 +8 與聲望 +15、解鎖成就「和事佬」;今日焦點會引導你去調解、追蹤進度(差哪一邊)
- 尺度維持鄰里劇:全部是言語與關係衝突,沒有暴力
v5.41.0 (2026-08-19)
即時重規劃——白天的遭遇會當場改變行程
- ⚡ 村民白天碰到夠重大的事,會當場改寫今天剩下的行程(generative_agents 的 react/replan):對話裡約好「傍晚一起吃飯」就真的排進今天下午、耳語種下的念頭會立刻反映在接下來的安排、跟你聊出強烈反應(好感大變/心動)或碰上告白/婚禮/抓姦/分手等名場面也會觸發
- 🧠 改寫時 AI 會拿到「原本的行程+剛發生的事」,只重排現在之後的時段,已過的足跡保留;並寫下一條「因為○○,我改變了今天接下來的安排」的記憶
- 🎛️ 節流:每位村民每天最多臨時改 2 次、21:00 後不再改、共用每日 AI 額度(全鎮一天約多 5-10 次呼叫)
- 📝 詳情頁行程被調整過會標示「已因今天的際遇臨時調整」
v5.40.0 (2026-08-19)
今日足跡全紀錄——零成本的 Sam Moore 式行動時間軸
- 🕐 村民的行程步驟/活動/地點一有變化就自動記一筆,詳情頁「今日足跡」變成逐段時間軸:「揉麵團(15 分鐘)→ 顧爐火(30 分鐘)→ 跟熟客閒聊兩句(10 分鐘)」,並與當日對話 💬/觀察 👀/反思 💭 記憶合併顯示(最新在上,最多 40 條)
- 👀 環境感知:村民偶爾把「看到誰正忙著什麼」寫進記憶流(每天最多 6 條、低重要度),之後聊天會自然提起「早上看到你在打鐵」
- 💾 足跡隨存檔保存;全部規則式生成,不增加任何 AI 費用
v5.39.1 (2026-08-19)
AI 行程讀檔後立即補生成
- ⏱️ 原本 LLM 行程只在遊戲日換日(00:00)排隊生成,一天中途讀檔/開頁的玩家整天都只看得到規則式行程;現在讀檔後會立刻為「今天還沒有 AI 行程」的村民補排佇列(已完成的不重做,不會重複花費)
v5.39.0 (2026-08-19)
AI 成本優化:批次行程+輸出收緊+智慧分流
- 📦 批次行程生成:村民每日行程改為 3 人一批(共用規則/格式前綴,輸入 token 省約三成),JSON 截斷時自動救回已完整的前幾位
- ✂️ 輸出上限收緊:NPC 背景對話 800→500 tokens(3-4 句)、行程 5-6 時段×2-3 步驟——輸出是成本大頭,總成本再砍約三成
- 🔀 智慧分流:同時填主金鑰+Groq 金鑰時,「你與村民的對話、劇情名場面」優先走 Groq 免費額度,「行程/反思/背景對話」走主金鑰(gpt-4o-mini 便宜又不佔 Groq 限額);任一邊被限流自動切到另一邊,5 分鐘後重試
- 🛠️ 設定頁 Groq 欄位改名「免費額度,智慧分流用」並附分流說明
v5.38.0 (2026-08-19)
旅人參選鎮長
- 👑 你也能選鎮長:每年秋季選舉的競選登記期(3 天)內,滿足資格(第二章+3 位好感 40 以上村民聯署)即可在「事件」分頁登記參選,從六大政見中選一個主打
- 🤝 拉票玩法:聊天用「說服」向村民逐一拉票(每位村民一屆一次),聲望與人緣直接左右選情;旅人資歷淺、起步略居劣勢,得靠經營人心翻盤
- 🏆 當選後你就是鎮長:施政方針實際影響小鎮 30 天,全鎮大事改由「鎮民等你拿主意」視角;落選雖敗猶榮,寫入記憶流下屆再戰
- 🏅 新增成就:「初生之犢」(登記參選)、「民選鎮長」(贏得選舉)
- 🔔 競選開跑時符合資格會收到角落提醒;今日焦點會引導你參選與拉票
v5.37.0 (2026-08-19)
全鎮 LLM 行程——像 generative_agents 一樣過日子
- 📅 全鎮 LLM 行程(移植 generative_agents 階層式規劃):每位村民每天由 AI 生成「近況修訂+今日行程」,行程分解到小動作層級(揉麵團、跟熟客閒聊兩句),依性格/人際/昨日經歷/約定量身打造;排隊逐位生成避免瞬間打爆 API,額度用完自動退回規則式行程
- 🧭 近況(currently)欄位:AI 每天根據昨天發生的事改寫村民的「人生此刻主線」,注入所有對話與反思——村民整天的行動會圍繞這條主線
- 🤝 對話計畫思考:AI 對話結尾若有約定/待辦,會寫成「接下來要…」備忘記憶,隔天生成行程時真的會排進去——「星期三見」不再是空話
- 💰 AI 額度預設改為無上限(金鑰是你自己的):設定頁留空=無上限,想控費可填每日上限,填 0 關閉;上限設定隨帳號雲端同步
- 😴 修復「站在戶外睡著」:入睡瞬間人在屋外會被原地凍結,現在會先走進屋裡才睡
- 🖥️ 村民卡與詳情頁升級:快速卡顯示「此刻正在做的小動作+下一個時段」,詳情頁今日目標展開完整分解行程
v5.36.0 (2026-08-19)
旅人視角敘事修正
- 🎭 你的角色是旅人不是鎮長:事件應對改為「現任鎮長急匆匆來徵詢你的意見」;玩家放話不再被冠「鎮長」頭銜(改用你的名字);裝飾擺放日誌改「你」
v5.35.8 (2026-08-19)
修復村民半夜不回家睡覺
- 😴 原本「休息值 ≥90 就不睡」+夜間衰減慢,導致大批村民凌晨還在外面閒逛;現在一般人睡眠時段(22:00–6:00)一律回家睡覺,夜貓子維持自己的作息(2:00 才睡、有深夜活動)
v5.35.7 (2026-08-19)
探險選人不再只列前 8 位
- 🗺️ 探險隊選人清單列出所有不在探險中的村民(原本只顯示前 8 位);探險中的村民自動排除,回鎮後恢復可選
v5.35.6 (2026-08-19)
修復手機點新聞的人物連結沒反應
- 📱 日報/今日焦點/故事流點到有當事人的項目時,村民快速卡被開著的浮動面板蓋住;現在先收合面板再開卡
v5.35.5 (2026-08-19)
修復「完整日報」跳錯分頁
- 🗞️ 首頁今日頭條的「完整日報 ›」原本跳到「紀錄」(只有對話日誌),改為正確跳到「事件」分頁的 AI 日報區
v5.35.4 (2026-08-18)
修復手機打字時輸入框被底部列蓋住
- ⌨️ 聊天輸入框聚焦(鍵盤開啟)時自動隱藏底部狀態帶與選單列,收鍵盤後恢復
v5.35.3 (2026-08-18)
修復手機版點「詳情」沒反應
- 📱 手機版面板需開啟浮動卡才會顯示;村民快速卡「詳情」、今日焦點/頭條的分頁跳轉補上開卡邏輯
v5.35.2 (2026-08-18)
修復同名派系重複
- 👥 同型派系(同名)原本允許存在 2 個,造成「學者聯盟」出現兩次且成員重疊;改為每型最多 1 個,既有重複自動合併
v5.35.1 (2026-08-18)
修復調情/告白按鈕白底無字
- 💗 村民詳情頁的「調情」「告白/求婚」按鈕補上遺漏的 CSS(粉色系),不再白底看不見字
v5.35.0 (2026-08-18)
耳語慫恿+村民內心活動豐富化
- 🤫 耳語(generative_agents whisper 移植):聊天「耳語」意圖鈕,一句話被轉寫成村民自己的內心念頭植入記憶流,影響後續對話、反思與對他人的好感/心動
- 💭 內心豐富化:每人每天人際想法+生活想法(夢想/暗戀/天氣/祭典)+昨日印象;LLM 深度反思每天最多 3 位
- ✕ 聊天視窗加關閉鈕,不再擋住聯絡人清單
v5.34.2 (2026-08-18)
修復「生效中」效果顯示英文 key
- 🌐 新聞公告的生效中效果補全 24 個 modifier 中文標籤(原本只有 7 個,其餘直接露出
farm bonus 這類英文 key)
- 🌡️
weather_mood 是心情點數不是百分比,修正 -100% 的錯誤顯示為 ±N
v5.34.1 (2026-08-18)
修復開新局成就洗版
- 🏆 開場第一輪判定就達標的成就靜默入袋(成就頁可查),之後解鎖的才彈通知;角落通知同時最多 3 張
v5.34.0 (2026-08-18)
事件逾時代選+資訊通知角落化
- ⏳ 互動選擇卡(事件應對/每日決策/村民請託/際遇卡)60 秒沒選由小鎮隨機代選;pending 滿一個遊戲日自動結算,事件線不再卡住
- 🔔 成就、章節推進、故事事件等純資訊通知改右下角小卡(手機版避開底部列);名場面、AI 日報等完整內容維持中央卡
v5.33.3 (2026-08-18)
Groq 模型動態解析(不再寫死模型名)
- 🔄 自動查詢金鑰當下可用的模型清單並依偏好挑選;快取的模型被 Groq 下架(404)時自動重查換模型重試
- 前端自備金鑰與伺服器 AI(
/api/chat)都套用,Groq 再汰換模型也不會壞
v5.33.2 (2026-08-18)
修復 Groq 金鑰測試失敗
- 🔧 前端 Groq 預設模型改為
llama-3.3-70b-versatile(原 qwen/qwen3-32b 為 preview 模型已被 Groq 下架,導致測試必失敗)
- 🩺 測試連線失敗顯示真實原因(HTTP 狀態+API 錯誤訊息)
v5.33.1 (2026-08-18)
修復部署 + 桌面成就通知不擋畫面
- 🚑 修復 Vercel Hobby 12 Functions 上限導致的部署失敗:成就查詢/解鎖合併為單一端點(rewrite 保持 API 路徑不變)
- 🏆 桌面版成就通知改右下角小卡(點擊或 6 秒自動消失),手機版暫維持中央卡
v5.33.0 (2026-08-18)
AI 設定隨帳號雲端同步
- ☁️ API 金鑰/供應商/NPC 對話額度存進帳號(伺服器端 AES-256-GCM 加密),換裝置登入自動帶入
- 🔁 登入拉取、儲存推送、空值不互相覆寫;新增
/api/settings 與 WordPress REST 對等端點
v5.32.1 (2026-08-18)
修復 API 金鑰被清空
- 🔑 切換 AI 供應商(欄位自動清空)後按儲存,不再把已存的 API 金鑰洗掉——空欄位不覆寫
v5.32.0 (2026-08-18)
重構 Phase 2:章節制(劇情先、經營後)+數值文字化
- 📖 四章節進程:初來乍到(只有人與故事)→ 小鎮的一份子(繁榮20:任務/事件/請託/決策)→ 安家立業(45:經濟/商店/農場)→ 小鎮的支柱(70:產業/工廠/研究/議會)
- 🔕 第一章不被系統轟炸:事件自動結算,互動卡片依章節啟動;關係網開局即看
- 🔢 數值文字化:關係不再顯示原始好感數字、NPC 需求一句話、團結度文字化;繁榮度重新框成「章節進度」
v5.31.0 (2026-08-18)
重構 Phase 1:今日焦點 + 首頁故事流 + 村民卡內心化
- 🎯 今日焦點:首頁每天 2-3 個有理由的具體行動(等你回應的請託、選舉拉票、名場面餘波、好感臨門一腳),點了直達當事人
- 📖 今天的故事:村民反思、重大關係事件、名場面、AI 對話精華拉到首頁第一層
- 🃏 村民快速卡第一層改為「今天想做+心裡的話」,屬性條移到詳情頁
v5.30.1 (2026-08-18)
選舉固定每年秋季開選
- 🗳️ 鎮長選舉改為固定每年秋季第 1 天開跑(競選 3 天 → 投票 2 天 → 公布),取代原本的機率觸發
v5.30.0 (2026-08-18)
人物狀態頁(generative_agents 式內心狀態 + 今日目標 + 今日足跡)
- 🧠 居民詳情卡新增「內心狀態」:生活作息(性格+職業推導)與近況(婚戀/夢想/最新反思/人際僵局綜合)
- 📅 「今日目標」每天早上依性格、職業、戀情、宿敵、夢想、祭典、選舉自動生成,每人每天不同
- 🕐 「今日足跡」顯示當天真實發生的記憶時間軸;全部規則式合成,零 API 成本
v5.29.3 (2026-08-18)
修復設定頁按鈕白底無字
- 🎨 「開新局的村民」的劇本/隨機卡司按鈕補上
speed-controls 容器,主題深色樣式正確生效
v5.29.2 (2026-08-18)
通知不再打斷操作 + AI 對話標籤
- 🔕 跟村民聊天或打字時,事件/成就/報紙/名場面卡片不再跳出打斷,改排進佇列(右下角小提示告知),等你空閒再依序補播
- ✨ 日誌的村民對話加「AI」標籤,一眼分辨 LLM 生成 vs 內建模擬
v5.29.1 (2026-08-18)
OpenAI 鎖定 gpt-4o-mini(成本控制)
- 💸 OpenAI 供應商強制使用 gpt-4o-mini,忽略任何 model 覆寫,避免誤用到高價 GPT 模型;設定頁選項同步標示
v5.29.0 (2026-08-18)
LLM 記憶流 + 每日反思 + 混合成本控制(generative_agents 移植)
- 🧠 記憶流檢索:村民記憶依「時近 + 重要度 + 相關度」加權檢索(移植 generative_agents 的 retrieve),AI 對話帶著最相關的過往記憶,聊完各自寫下一句主觀記憶
- 💭 每日反思:每晚規則式合成人際想法;每天挑一位記憶最精彩的村民做一次 AI 深度反思
- 💰 混合成本控制:只有玩家附近(8 格內)的村民對話呼叫 AI,遠處對話走內建模擬照樣寫記憶;「NPC 對話每日 AI 額度」可調(預設 40 次/日),玩家聊天與劇情名場面不受限
- 📝 AI 對話與反思全文隨存檔保存,重新載入不消失
v5.28.0 (2026-07-20)
肉鴿③:局內際遇卡(隨機事件 / 抽卡強化)
- 每隔幾天跳一張際遇卡,二/三選一,每個選擇永久改變這一局:旅行商隊/神秘祝福(全鎮屬性+1)/豐收抉擇/謠言火種(撮合或挑撥)/命運賭注/遊方醫者/豐年餘暉
- 效果直接作用:資源、全鎮心情、居民屬性、撮合拆散關係、數天持續增益
v5.27.0 (2026-07-20)
肉鴿②:每局隨機開局
- 設定可切「劇本卡司 / 隨機卡司」;選隨機後每開新地圖都抽全新村民(名字/性格/職業/背景/屬性)+ 隨機開局愛恨關係網(夫妻/前任/暗戀/三角/世仇/摯友)
- 每一局的小鎮故事都不同;切回劇本卡司即可玩原本的固定村民(預設)
v5.26.0 (2026-07-20)
肉鴿①:角色屬性數值化
- 每位村民四項核心屬性(魅力/體魄/智慧/膽識,1-10),依性格職業隨機生成,每局每人都不同
- 接進玩法:魅力→戀愛吸引、膽識→心情韌性、智慧→技能成長;資訊卡顯示屬性條;完整存檔
v5.25.0 (2026-07-20)
新村民包(4 位有戲新居民)
- 糕點師傅蘇晴、老兵高朗、繡藝師柯薇、星象學者凌波加入小鎮
- 開局鉤子:蘇晴×劉俊×許瑩三角、高朗## Changelog吳達結盟對抗楊鋒、高朗×張豪爭黃莉、柯薇×凌波星空下互相傾心
v5.24.0 (2026-07-20)
白天氛圍:雲影飄移 + 季節色調
- 雲影:晴天/多雲的白天,柔和雲影緩緩掃過草地
- 季節色調:春嫩綠 / 夏金黃 / 秋琥珀 / 冬清藍,四季一眼可辨
v5.23.0 (2026-07-20)
夜空 / 天氣粒子 / 月相變化
- 月相:夜晚月亮依遊戲天數盈虧(新月→上弦→滿月→下弦,約 16 天一輪)
- 天氣粒子:雨天落雨絲、雪天飄雪花,暴風雨/雪更狂;只在可視範圍生成
- 流星:夜空偶爾一顆流星拖尾劃過
v5.22.0 (2026-07-20)
多元戀愛 + 愛恨更容易爆發
- 戀愛引擎本就不分性別;開局關係網加入同性戀情線(林美×孫雨、馬強→周明),多元的愛從第一天就看得見
- 調高單戀嫉妒/情敵結怨/口角/偷情/東窗事發機率,三角戀更常燒成仇敵、修羅場更容易上演;實測情侶照樣談得成
v5.21.0 (2026-07-20)
小鎮劇場(名場面回顧)
- 村民的名場面(告白/婚禮/修羅場/分手/離婚)存檔,在「故事→紀錄」最上方可回顧
- 點任一名場面重播對話劇,補看錯過的好戲;帶時間戳、完整存進存檔
v5.20.0 (2026-07-20)
分頁三大入口收束
- 導覽收束成三大入口:小鎮(經濟/產業)、居民(居民/聊天/關係)、故事(任務/事件/紀錄/成就)+ 設定
- 每個入口進去後,面板頂部有次級分頁列切換組內項目;桌面與手機兩套介面一致
- 聊天未讀徽章、功能解鎖鎖頭正常運作,手機開羅底部列快捷聊天鈕保留
v5.19.0 (2026-07-20)
城鎮身分/路線系統
- 小鎮依長期經營自然長成一種樣貌:商業自由鎮 / 軍事要塞 / 農業共同體 / 學術聚落 / 浪漫小鎮 / 龍蛇混雜之地
- 路線由職業分佈、經濟、選舉政策、愛恨密度長期累積,近期權重更高,會隨玩法自然轉型
- 成形的路線會吸引氣味相投的移民(依職業加權),讓每一局愈走愈有個性
- 首頁新增身分徽章,點一下可看它由哪些長期傾向形成
v5.18.0 (2026-07-20)
第一天因果鏈 onboarding
- 新手看完介紹後出現「第一天」引導卡,用一條可操作的動線教會核心循環:認識居民 → 發現關係矛盾 → 出手互動 → 留下選擇 → 看見後果
- 每一步由真實操作解鎖(開資訊卡/看關係網/用意圖鈕/送禮或調解/點頭條),走完證明「這座小鎮會記得你做過的事」
- 引導卡隨時可 ✕ 略過,略過或完成後不再出現
v5.17.0 (2026-07-20)
日報當首頁 + 情境入口
- 今日頭條:小鎮首頁最上方顯示最新一期 AI 日報的重點事件,一進遊戲就看到「今天發生了什麼」
- 情境入口:每則頭條可點 — 居民相關新聞直接開他的資訊卡(意圖+心情來源),建築/選舉/探索類直接跳到對應分頁
- 完整日報裡的事件也都變成可點連結,把「模擬 → 新聞 → 理解 → 決策」串成一條動線
v5.16.0 (2026-07-20)
居民意圖面板 + 對話可見機械後果
- 居民意圖面板:點村民資訊卡新增「當前行動 / 為什麼 / 接下來 / 對城鎮的意見」,一眼看懂 AI 現在在幹嘛、為什麼、接下來想做什麼
- 對話可見機械後果:每次聊完浮現一張小結果卡(好感±、浪漫±、關係層級變化),讓玩家清楚知道對話真的改變了什麼
- 意圖化交談鈕:安慰/打聽/說服/調解/示好/威脅/委託 七種意圖鈕,各有明確後果(選舉期說服可拉票、調解化解仇恨…),並保留自由輸入
v5.15.0 (2026-07-19)
記憶驅動情緒(RimWorld 式想法系統)
- 村民現在會「記得」發生在自己身上的大事:收到禮物、戀愛、結婚、被劈腿背叛、失戀、離婚、痛失至親、跟人結樑子、嫉妒、實現夢想、被鎮長誇獎或說壞話、祭典歡樂
- 每則記憶有隨時間線性衰退的心情影響,並會持續每天微調對特定對象的好感(像 RimWorld 的持久 opinion —— 背叛的怨恨會延燒好幾天)
- 點村民資訊卡可看到「💭 心情來源」,直接看懂他此刻為什麼開心或難過、對誰有情緒
- 記憶完整存進存檔,重新載入後情緒延續
v5.14.0 (2026-07-16)
水面與樹林美化(批次5)
- 水面加流動焦散亮線+緩慢起伏,像真的在流動
- 森林樹冠依位置有深淺綠變化與陽光亮點,不再像複製貼上
v5.13.0 (2026-07-16)
村民對話多樣化 + 手機全頁體檢
- 村民初次見面對話從 2 種擴充到 7 種(依性格分歧),沒有 AI 額度時日誌也不再千篇一律
- 手機版全分頁版面/字級體檢通過
v5.12.0 (2026-07-16)
手機版日報放大 + 彈窗全面可關閉
- 手機版 AI 日報字級放大、行距加寬,終於看得清楚
- 送禮/爆料/排行榜等 modal 點背景即關、NPC 卡點外面即關、祭典小遊戲加 ✕ 退出
v5.11.0 (2026-07-16)
手機版操作修復
- 聊天/選單/浮動卡片打開後,點地圖任意處即可收起回全螢幕
- 底部「聊天」按鈕改為切換(再點收起)
v5.10.0 (2026-07-16)
角色辨識度(批次4)
- 每位村民依名字有不同膚色/髮色/服裝深淺,同職業也能一眼分辨
- 聊天聯絡人頭像同步套用,與地圖外觀一致
v5.9.0 (2026-07-16)
光影氛圍(批次3)
- 時段色調 grading:清晨冷藍薄光+晨曦、黃昏黃金時刻暖橘斜照,不同時間有電影感的時段光線
- 螢幕暗角:柔和暗化四角收攏視線(日間極淡)
v5.8.0 (2026-07-16)
建築美化(批次2)
- 整棟建築往東南投柔和落地陰影,房子有重量感不再像紙片
- 屋頂斜面漸層(脊亮簷暗)+屋簷陰影加深,屋頂有厚度
v5.7.0 (2026-07-16)
地形美化(批次1)
- 草地低頻明暗斑駁,破除大片死綠的平板感
- 灌木/樹/石頭加落地柔影,草木不再浮在地上
- 相鄰灌木/花依位置微調明暗與高光,破除重複貼磚的格子感
v5.6.0 (2026-07-16)
美術三輪 + 打擊感(juice)
- 浮動特效:送禮/獎勵/夢想達成/發現組合/按讚時彈出黑色描邊的浮動數字+愛心/星星/金幣粒子(動作遊戲式 juice)
- 全圖色彩飽和化+對比強化;草地/土路加細顆粒質感
- 村民角色加深色描邊,更立體、從背景跳出
v5.5.0 (2026-07-16)
新村民包 + 開局關係網
- 小鎮 12→16 人:周明(遊唱商人)、何昌與何秀(恩愛夫妻)、鄭薇(暗戀成疾的天才),各自帶戲劇鉤子
- 開局就種下關係網:暗戀/前任/世仇/摯友/夫妻 + 周明→趙霞→馬強五角戀;一進遊戲就有八卦在跑,戲劇提早非常多(實測 Day 20 已 4 對情侶)
v5.4.0 (2026-07-16)
村民人生故事線(追劇感)
- 每個村民依價值觀/性格/職業有一個人生夢想(真愛/創業/技藝/遠行/家庭/名留青史),各 4 階段
- 夢想綁定真實狀態推進:真愛讀戀愛引擎、技藝讀技能、家庭讀婚育、名留青史讀繁榮議會;里程碑會發動態進頭條
- NPC 卡顯示夢想進度圓點 + 「助夢」加速刷好感;夢想達成全螢幕慶祝;頭條新增「夢想進行中」
v5.3.0 (2026-07-16)
愛恨引擎大修(核心體驗修復)
- 修正核心 bug:戀愛數值被固定衰退壓死,導致從無情侶。現在心動在親密時持續累積、相配者更快來電、有來電火花;實測 30 天內自然成對、告白名場面上演
- 嫉妒情敵:暗戀被追走會心碎嫉妒、兩人愛上同一人暗自較勁,三角戀燒成死對頭
- 八卦有內容:寫出實際八卦(「X看Y的眼神不太一樣」→越傳越誇張→「湊成一對了!」),針對真實暗戀/交往/翻臉產生
- 本週小鎮頭條:每 7 天彈出愛恨摘要(新戀情/三角/暗戀/水火不容/放閃)
v5.2.0 (2026-07-16)
八卦大戲:鎮民動態 + 謠言傳話 + 玩家放話
- 鎮民動態(小鎮朋友圈):村民每天發文,朋友/死對頭留言,分手發玻璃心文;玩家按讚留言刷好感,作者會回覆
- 玩家放話:聊天中爆料(誇讚/酸人/亂點鴛鴦),謠言進入傳播網;誇讚回傳好感大增,壞話被抓包好感-12,鴛鴦譜可能成真
- 謠言傳話遊戲:每經一手可能越傳越誇張,傳到第四手當事人聽到→當面對質+發文暗諷
v5.1.0 (2026-07-16)
名場面直播 + 祭典攤位小遊戲
- 名場面直播:村民告白/婚禮/修羅場/分手/離婚時,AI 生成 4-6 句戲劇對話全螢幕直播(無 AI 時有罐頭劇本)
- 祭典攤位:春祭/冬至猜燈謎(8 題庫選 3)、夏祭撈金魚、秋收投壺(計時停針),獎勵最高 70 銀幣+30 食物,每屆一次;NPC 會用 AI 評論你的成績
v5.0.0 (2026-07-16)
心動事件 + 季節祭典 AI 互動
- 心動事件:好感 25/55/80、心動 50 門檻時,村民用 AI 說出專屬真心話(告白/秘密/感謝),二選一回應影響關係,每人每門檻一次
- 祭典 AI 化:祭典期間 NPC 對話/聊天融入祭典氣氛,感情最深的村民主動邀你逛祭典;送禮聊天後即時檢查心動門檻
v4.9.0 (2026-07-16)
建築選址制 + 開羅式相鄰組合 + AI 深度整合
- 蓋新建築由玩家點地圖挑位置(2×2 空地),工地有鷹架與進度條,完工蓋在你選的地點
- 相鄰組合:相配的建築+裝飾放在附近(4格內)觸發 8 種組合(浪漫街角/市集人氣/銅牆鐵壁...),加美觀與繁榮,配方自己摸索
- AI 整合:建築完工/組合發現時,相關職業村民用 AI 傳訊發表感想;修復完工建築圖示從未顯示的 bug
v4.8.0 (2026-07-16)
裝飾自由擺放
- 經濟頁新增「裝飾小鎮」目錄(花圃/長椅/路燈/雕像/小噴泉),點地圖空地直接擺放,點已有裝飾移除退回一半材料
- 裝飾提升美觀度(繁榮加分上限 +35);路燈/噴泉夜晚發光,噴泉有動態水花;隨存檔保存
v4.7.0 (2026-07-15)
系統逐步解鎖 + 關係網大改版
- 功能隨繁榮度逐步開啟(12/20/28/38),新手不再被十個系統轟炸;解鎖有慶祝
- 關係網:預設只看戲劇線(戀愛/單戀/敵對)、點人進個人視角、八卦頭條文字摘要
v4.6.0 (2026-07-15)
送禮系統 + 全球排行榜 + 效能優化 + 體驗打磨
- 🎁 送禮刷好感(投其所好加倍);🏆 全球繁榮排行榜(登入自動上榜)
- ⚡ 地形靜態底圖快取(每幀 drawImage 4800→1,手機省電);💾 存檔滿載自動瘦身
- 教學文案更新為新 UI;補齊 NPC 故事線;密碼重設加固;英文翻譯補齊
v4.5.1 (2026-07-15)
- 夜色改 multiply 混色(不再霧濛濛);時鐘加 🌅☀️🌆🌙 日夜圖示
- 修聊天面板點「日誌」沒反應
v4.5.0 (2026-07-15)
遊戲性 + 美術二輪 + 關係網 + 留存機制
- 決策 3 天後村民回來謝/怨;災害預警給防災選擇(資源換減災)
- 角色四方向、屋頂 4 色、夜窗暖光
- 💞 關係網總覽圖(戀愛/單戀/摯友/敵對/出軌一圖看清)
- 每日登入獎勵(7 天階梯)+ 離線進度結算(上限 2 天)
v4.4.2 (2026-07-15)
v4.4.1 (2026-07-15)
- 手機底部狀態帶(繁榮/銀幣/食物/人口,點擊開經濟頁)
- 8-bit UI 音效(選單/點擊/成就,跟隨 BGM 設定);按壓縮放回饋
v4.4.0 (2026-07-15)
手機版全面開羅化(機場物語式)
- 地圖永遠全螢幕;底部只剩 ☰ 選單 + 💬 聊天
- 左側浮動選單 + 置中浮動卡片(返回秒回世界);聊天保留大面板
v4.3.7 (2026-07-15)
- 修復 iOS 按鈕預設藍字問題:全域按鈕/輸入框強制主題色,btn-accent 白字
v4.3.6 (2026-07-15)
- 預設縮放拉近(手機 2x/桌面 1.6x),開場鏡頭對準玩家
v4.3.5 (2026-07-15)
- 手機版開羅式抽屜:面板 44vh 地圖為主(聊天 62vh);點目前分頁收合回全地圖
v4.3.4 (2026-07-15)
- 修復手機版互動提示直排疊字;觸控裝置顯示 👆 取代 E 鍵標籤
v4.3.3 (2026-07-15)
- 修復聊天訊息重複送出(去重誤比對時間戳)
- 設定頁簡化:金鑰設定收進「進階」摺疊,預設顯示「小鎮 AI 已啟用」;舊玩家一次性遷移至伺服器 AI
v4.3.2 (2026-07-15)
- 修復手機版 Safari 上下留白(body 深色底 + 滿版鎖定 + overscroll-behavior)
v4.3.1 (2026-07-15)
音量修正 + 整體排版優化
- BGM 改用感知音量曲線+預設調低,不再刺耳
- 桌面單列緊湊 header(chips 資訊/群組控制鈕);手機標題列壓縮不重疊
v4.3.0 (2026-07-15)
開羅風美術升級 + 小鎮伺服器 AI(免金鑰)
- 美術:草地平整明亮、道路草鬚鑲邊、水岸沙灘+動態浪花、建築落影/屋脊高光/屋簷/描邊
- 伺服器 AI:
/api/chat 代理 Groq(金鑰在伺服器),Vercel 版預設開啟,玩家零設定
- AI 每日額度:訪客 20 則 / 登入玩家 100 則(Blob 記錄),超額優雅降級為模擬對話
v4.2.0 (2026-07-15)
礦石鎮物語式操作 + 愛恨糾葛可視化
- WASD/方向鍵自由移動角色(像素級、撞牆滑行、鏡頭跟隨);手機虛擬搖桿
- 走近村民出現「交談」提示(好感愛心),按 E 立即開聊
- 點村民先看快速資訊卡:愛心等級 + 他愛誰恨誰
- 村民頭上輪播 💕💍💘🖤💢 感情表情;八卦跑馬燈即時播報戀情/劈腿/衝突
v4.1.8 (2026-07-15)
Vercel 完整帳號系統 — 脫離 WordPress
- 註冊/登入/雲端存檔/成就同步改由 Vercel Serverless Functions(
api/)+ Vercel Blob 提供
- 前端自動偵測環境:WordPress 走原 REST API,靜態站走
/api/ + JWT(localStorage 持久化,重新整理保持登入)
- 密碼 scrypt 雜湊、資料 AES-256-GCM 加密後存入 Blob
v4.1.7 (2026-07-15)
重大 bug 修復 + 聲望系統完整生效 + RWD 修正
- 修復旅行歸來居民記憶欄位錯誤導致每 3 天模擬崩潰的重大 bug(慶典/農場/任務等每日更新全部停擺)
- 聲望系統 5 種效果全部真正生效:事件護盾、移民吸引、商人交易加成、新居民初始信任(原本只有商店折扣與心情加成)
- 修復深井減災永不觸發的 bug,抗旱效果隨升級增強
- 修復手機版雙標題列(桌面 header 未隱藏)
- WordPress 版補齊缺失的桌面/手機 header 控制列(21 個元素)+ 新增桌面「帳號」按鈕
- 修復「儲存設定」把英文介面強制切回中文的 bug
- 修復 Firefox/Safari 上 PWA 註冊報錯(chrome 識別字未定義)
- 教學提示卡與訪客橫幅不再遮擋 UI;SW 快取版本同步並補上 chiptune.js;新增 favicon
- 首次部署到 Vercel:https://rimtown.vercel.app
v4.1.6 (2026-03-25)
手機版 UI 優化
- 手機版訪客模式橫幅移至底部 tab bar 上方,不再遮擋遊戲畫面
v4.1.5 (2026-03-25)
訪客試玩模式
- 新增訪客模式:不用註冊也能試玩,登入彈窗新增「🎮 訪客試玩」按鈕
- 訪客可體驗完整互動卡片(每日決策、事件選擇、NPC 求助、議會投票)
- 訪客可觀看新手教學引導
- 頂部顯示訪客模式提示橫幅,可關閉或點「註冊帳號」升級
- 登入/註冊後自動退出訪客模式
- 版號同步:所有檔案統一為 4.1.5
v4.1.4 (2026-03-17)
8-bit Chiptune 背景音樂系統
- 新增 ChiptuneEngine(Web Audio API 程序化合成,無需音檔)
- 4 首曲目隨日夜自動切換:白天(活潑冒險)、黃昏(溫暖放鬆)、夜晚(寧靜小調)、黎明(柔和甦醒)
- NES 四聲道音色:方波旋律、三角波低音、琶音和聲、噪音鼓組
- 設定面板新增「背景音樂」音量滑桿與靜音按鈕
- 預留 loadCustomTrack() 介面,可用自訂音檔替換程序化曲目
- 版號同步:所有檔案統一為 4.1.4
v4.1.3 (2026-03-17)
請託型決策 + 登入前隱藏互動
- 每日決策改為請託型框架:村民主動找你商量,取代鎮長視角的命令式決策
- 未登入時隱藏新手教學與互動圖卡(決策、事件、NPC求助、議會)
- 版號同步:所有檔案統一為 4.1.3
v4.1.2 (2026-03-17)
- 修正插件 header 版本號與 RIMTOWN_VERSION 不一致
v4.1.1 (2026-03-17)
- 修復 WordPress 版本缺少通知 HTML 元素:成就彈窗、事件公告、任務引導、新手教學、遊戲對話框、手機版頭部全部補上
v4.1.0 (2026-03-17)
建築升級系統 + Bug 修復
新功能:
- 建築升級系統:所有 12 棟建築支援 3 級升級路徑(Lv.1→Lv.2→Lv.3),每級提供更強效果加成
- 瞭望塔→強化瞭望塔→哨兵高塔、穀倉→大型穀倉→冷藏穀庫、市集→商業廣場→國際商港 等
- 升級需消耗更高資源與工時,完成後全鎮 +8 心情
- UI 顯示建築等級(星星標示)、升級區域含費用與效果預覽
- 新成就:精益求精(首次升級建築)、登峰造極(升至最高等級)
修復:
- 修復 startProject 變數遮蔽 bug:
const t 遮蔽全域翻譯函數 t(),導致建造開始訊息可能拋出 TypeError
- 修復 BuildingManager._counter 未序列化:存讀檔後建築 ID 計數器重置,可能造成 ID 衝突
- 向下相容舊存檔:自動補全 buildingKey 與 level 欄位
v4.0.0 (2026-03-16)
大型改版:玩家互動系統全面升級
核心改動:
- 每日決策卡片:每天生成一個需要玩家做出選擇的決策(水源爭議、旅人求助、慶典籌備等12種),選擇影響資源、NPC心情和關係
- 商店系統:在經濟頁新增商店子頁籤,可用銀幣買賣14種物資(食物、工具、藥品、奢侈品等)
- 事件選擇分支:中/大型事件(入侵、災難等)不再自動結算,玩家可選擇應對方式(防禦/談判/疏散等)
- NPC 求助通知:NPC 每隔幾天會因為低心情、飢餓、衝突、過勞等問題向玩家求助,玩家選擇影響好感度
- 職業動作按鈕:玩家可手動執行職業動作(農夫澆水、鐵匠鍛造、醫師看診等),獲得資源和技能經驗
- 每日報紙互動化:閱讀 AI 日報後可選擇「調查/支持/忽略」,影響全鎮心情
- 任務刷新按鈕:任務頁新增手動刷新進度按鈕
- 聲望系統(完整版):6 個聲望等級(無名之輩→傳奇人物),影響交易價格加成、NPC 初始信任、商店折扣、事件減免、移民吸引力;任務頁新增聲望面板(階級徽章、進度條、效果一覽、來源追蹤)
- 決策、幫助 NPC 現在正確給予聲望點數;每日被動聲望成長(有工作+高好感度)
- 動態天氣引擎:10 種天氣類型(晴天、下雨、暴風雨、下雪、暴風雪、熱浪、乾旱、大霧、強風、多雲),按季節加權隨機、3日天氣預報、溫度/濕度/風速追蹤,影響農業產量、NPC心情和活動
- 天然災害系統:極端天氣連續出現時觸發嚴重乾旱/暴風雪/洪水,預警機制,建築減災(深井減輕乾旱),災後恢復心情加成
- NPC 議會治理:6人以上自動組建議會(3-5名資深NPC),12種提案(經濟/福利/文化/防禦/自然),NPC依性格投票,玩家可參與投票,通過的政令持續20天影響全鎮
修復:
- Mood 算法大幅改善:深夜需求衰減速率降低60%,飢餓/疲勞的心情懲罰改為漸進式(不再全鎮同時崩潰)
- 夜間飢餓衰減速率從2降至1.2,休息衰減速率從1.5降至0.6
v3.7.1 (2026-03-16)
修復 Groq API Key 儲存後被清空
- 修復儲存設定後 Groq API Key 被清空的問題:fallbackGroqKey 讀取來源新增 settings tab input 與 localStorage fallback
- 確保 Groq 備援金鑰在各種 DOM 狀態下都能正確讀取
v3.7.0 (2026-03-16)
修復聊天頁面無法渲染
- 修復 renderChat 呼叫不存在的 renderAvatarDataURL 導致聊天頁面完全無法渲染的問題
- 加入安全檢查:avatar 渲染失敗時優雅降級,不影響聊天功能
- 更新 SW 快取名稱,確保使用者載入最新檔案
- 版號同步:所有檔案統一為 3.7.0
v3.6.16 (2026-03-16)
修復聊天閃爍 + WordPress 同步
- 修復聊天對話持續閃爍問題:模擬 tick 時跳過聊天頁面完整重繪,改用 DOM 原地更新聯絡人資訊
- 同步 WordPress 版本:像素頭像、style.css、app.js 與 Chrome Extension 完全一致
- 版號同步:所有檔案統一為 3.6.16
v3.6.15 (2026-03-16)
NPC 像素頭像 + 聊天 UX 改善 + 螢幕中央通知系統
- 聊天通訊錄頭像改為 NPC 像素風角色圖(顯示職業服裝、髮型、性別、配件)
- 新增 renderAvatarDataURL(),將 NPC chibi sprite 繪製到離屏 canvas 並快取為 data URL
- 修正訊息順序:玩家訊息現在正確顯示在「...」打字指示器之前
- 修正聊天閃爍:新增 _renderChatMessages() 只更新訊息區域,不重新渲染整個側邊欄
- NPC 聯絡人列表顯示當前心情想法作為簽名文字
- 成就/事件通知改為螢幕中央大卡片覆蓋(含背景模糊效果)
- 新增報紙通知:每日新報紙自動彈出螢幕中央卡片
- 新增通知佇列系統,支援多個同時通知
- 版號同步:所有檔案統一為 3.6.15
v3.6.14 (2026-03-16)
修復 [object Object] 顯示 + 聊天介面美化 + NPC 回覆延遲
- 修復地圖 NPC 名牌與聊天介面中職業顯示為 [object Object] 的 bug(改用 job.title)
- 美化聊天介面:漸層背景、氣泡滑入動畫、未讀紅點脈動效果、輸入框聚焦光暈
- NPC 回覆前顯示打字中動畫(三個跳動圓點),並加入 1.5~3 秒隨機延遲,對話更自然
- 版號同步:所有檔案統一為 3.6.14
v3.6.13 (2026-03-16)
聊天系統大改版 + NPC 名牌顯示
- 重新設計聊天介面為訊息 App 風格(Messaging App)
- 移除 NPC 對話距離限制,任何地方都能與 NPC 交談
- NPC 主動訊息功能:NPC 會主動傳訊息給玩家
- 地圖上所有 NPC 頭上顯示名字 + 職業卡片
- 版號同步:所有檔案統一為 3.6.13
v3.6.12 (2026-03-16)
手機版速度控制修復 + API Key 連線檢測
- 修復手機版速度控制按鈕消失的問題:補齊 mobile header HTML 結構(暫停/播放、1x~3x 速度按鈕、選單下拉),修正 CSS 讓 mobile header 在 ≤768px 時正確顯示
- 新增 API Key 連線測試功能:設定頁面中每個 API Key 輸入欄旁新增「測試連線」按鈕
- 連線狀態指示燈:🟢 綠燈(連線成功)、🔴 紅燈(連線失敗,顯示錯誤訊息)、🟡 黃燈閃爍(測試中)
- 儲存設定後自動測試 API Key 連線狀態
- 新增 LLMClient.testConnection() 方法,以最小 API 請求驗證金鑰有效性
- 版號同步:所有檔案統一為 3.6.12
v3.6.11 (2026-03-15)
Bug Fix - API Key 貼上/儲存修復
- 修正 API key 貼上/儲存時被清空的問題:renderSettings() 改為優先使用現有 DOM input 的值,只有在 input 元素不存在時才從 localStorage 讀取,避免 renderSidebar() 重繪時覆蓋使用者尚未儲存的輸入
- 版號同步:所有檔案統一為 3.6.11
v3.6.10 (2026-03-15)
Bug Fix - API Key 儲存修復
- 修復 API key 儲存時被清空的 race condition:render() 的 setInterval tick 會在點擊儲存按鈕時重新渲染 settings tab,導致未儲存的表單資料被覆蓋,現在 activeTab 為 settings 時跳過 sidebar 重繪
- 修復
_escapeHtml 未跳脫雙引號的問題:API key 若含引號字元會破壞 HTML value 屬性
- 版號同步:所有檔案統一為 3.6.10
v3.6.9 (2026-03-15)
NPC 智慧尋路 + UI 優化
- NPC 智慧尋路:實作 A* 演算法,NPC 不再撞牆,會自動繞過建築物
- 建築入口優化:門口清出泥土空地,NPC 更容易進出建築
- NPC 提前出門:睡前 1 小時回家、上班前 1 小時出門,行為更像真人
- 城鎮列表按鈕美化:新建城鎮/關閉改為圓角大按鈕
- 移除設定面板暫停/繼續按鈕
- 版號同步:所有檔案統一為 3.6.9
v3.6.8 (2026-03-15)
登入後僅讀取雲端存檔 + 按鈕操作回饋
- 登入後僅讀取雲端存檔,不再存取本地存檔,避免雲端與本地存檔衝突
- 所有按鈕操作新增成功/失敗回饋提示(視覺反饋)
- 版號同步:所有檔案統一為 3.6.8
v3.6.7 (2026-03-15)
未登入時自動顯示登入畫面 + 背景霧化城鎮地圖
- 未登入時自動顯示登入畫面,不需手動點擊
- 背景霧化城鎮地圖:登入畫面背景使用模糊濾鏡顯示城鎮地圖
- 版號同步:所有檔案統一為 3.6.7
v3.6.6 (2026-03-15)
美化對話方塊 + 修復 NPC 卡牆 + 存檔管理簡化
- 美化對話方塊:將瀏覽器原生
alert()/confirm() 替換為遊戲風格自訂彈窗
- 修復 NPC 卡牆加強版:屋頂(ROOF/ROOF2)與柵欄(FENCE)納入不可行走判定
- 修復碰撞滑動邏輯:正確拆分 X/Y 軸分量進行碰撞回避
- NPC 卡在牆內時自動傳送至最近可行走位置
- 可行走目標搜索半徑從 5 格擴大至 10 格
- 存檔管理 UI 精簡:合併「帳號」與「存檔管理」為「帳號與存檔」
- 移除匯出/匯入存檔按鈕,登入後存檔自動同步雲端
- 版號同步:所有檔案統一為 3.6.6
v3.6.5 (2026-03-15)
修復登入系統 + 走路撞牆 + 地圖自由點擊
- 修復登入功能:新增缺失的 auth-modal HTML(登入/註冊/重設密碼表單)
- 新增
wp_localize_script 注入 rimtownAuth 前端認證變數
- 新增完整 REST API 端點:
login、register、reset-password、me、logout、saves、save、achievements
- 認證端點速率限制:登入 5次/5分鐘、註冊 5次/5分鐘、重設密碼 3次/10分鐘
- 修復走路撞牆卡住:新增
_isWalkableTile() 牆壁碰撞檢測
- 新增
_findWalkableTarget() 自動尋找最近可行走位置,避免目標點落在牆內
- 走路時碰到牆壁會沿軸滑動避開,不再卡住原地
- 地圖自由點擊走路:點擊地圖任意位置都能讓玩家走過去
- 移動指示器顯示在實際點擊位置,而非區域中心
- 修復手機登入後地圖跑版:關閉 auth modal 時先 blur 輸入框、重設 viewport 縮放
- 防止 iOS 自動放大:登入表單 input font-size 設為 16px
- 版號同步:所有檔案統一為 3.6.5
v3.6.4 (2026-03-15)
腳本載入修復
- 修復 WordPress 腳本載入順序:
i18n.js 改為最先載入,所有模組加入依賴,修復 t is not defined
- 修復
processing.js 語法錯誤:移除 dailyUpdate() 中多餘的大括號,修復 Illegal continue statement
- 版號同步:所有檔案統一為 3.6.4
v3.6.3 (2026-03-15)
NPC 墓園弔念系統 + PWA 支援 + 房屋系統 + 人生報告
- NPC 弔念系統:城鎮有人過世後,NPC 會前往墓園弔念
- 家人年度弔念:配偶、子女、父母每年會固定前往墓園緬懷逝者
- 全鎮同悲:非親屬鎮民也有機率前往弔念
- 弔念行為產生記憶、心情變化與日誌訊息
- PWA 支援:新增
pwa-manifest.json、sw.js,可安裝到手機主畫面
- 全螢幕體驗:standalone 模式下隱藏瀏覽器 UI,雙擊標題可切換全螢幕
- 離線快取:核心遊戲資源離線可用
- 安裝提示橫幅:瀏覽器觸發
beforeinstallprompt 時顯示安裝按鈕
- NPC 睡眠凍結:睡眠中的 NPC 抵達家中後不再亂走
- 門進出系統:NPC 進出建築物會走門,不再穿牆
- 個別房屋系統:住宅區有 4 間可點擊的獨立房屋,每位 NPC 分配至特定房屋
- 人生總結報告:結局畫面新增豐富的人生統計、關係圖表、成就列表
- i18n 新增弔念與安裝相關中英翻譯
- 版號同步:所有檔案統一為 3.6.3
v3.6.2 (2026-03-15)
修復手機版多處 RWD 跑版問題
- 教學卡片:改用
calc(100vw - 32px) 限制寬度,防止文字溢出螢幕
- 任務引導橫幅:使用
min(500px, calc(100vw - 32px)) 避免超出手機螢幕
- 底部導覽列:加入
max-width: 100vw 防止水平溢出
- 版號同步:所有檔案統一為 3.6.2
v3.6.1 (2026-03-14)
修復手機登入狀態遺失
- 修復手機瀏覽器重新整理後登入狀態被登出的問題
- 啟動時加入
checkLogin() 伺服器驗證,即使頁面被快取也能從 cookie 還原登入狀態
- 加入
Cache-Control: no-cache headers 防止手機瀏覽器快取含有過期登入狀態的頁面
- 版號同步:所有檔案統一為 3.6.1
v3.6.0 (2026-03-14)
支線任務 / 每日目標 / 故事事件系統
- 新增 11 個支線任務(NPC 角色故事驅動):
- 第一章:王麗的私房菜、鐵匠的心事(張豪寫詩)、未寄出的情書(劉俊→許瑩)
- 第二章:古代遺跡之謎(孫雨)、老礦工的秘密(吳達)、黃莉的歌聲
- 第三章:楊鋒的戰爭記憶、趙霞的人脈
- 第四章:浪子回頭(馬強)、許瑩的夢想
- 第五章:老鎮長的心願(陳偉)
- 每個支線任務包含完整劇情文字(觸發故事 + 完成結語),增強故事沉浸感
- 支線任務根據主線進度 + NPC 好感度自動解鎖,無需手動觸發
- 任務面板新增「支線任務」區塊,橘色邊線區分主線
- 新增每日目標系統:根據章節動態生成短期目標(聊天/收集/交易/建造等),完成後自動換下一個
- 新增 7 個故事事件(自動觸發的沉浸式劇情文字):第一個夜晚、第一個朋友、第一次豐收、小鎮漸成、風雨欲來、廢墟中的希望、「你是我們的一份子」
- 故事事件以 toast 通知形式顯示,停留 8 秒,增加劇情帶入感
- 引導橫幅新增支線任務提示
- 支線/每日/故事事件資料完整支援存檔/讀檔
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.5.0 (2026-03-14)
對話泡泡優化 / 睡眠動畫 / 走路速度 / 任務引導系統
- 對話泡泡過濾:思考泡泡不再顯示「技能進步中」「建築完成%」等狀態更新,只保留情緒與對話相關內容
- 泡泡proximity限制:對話泡泡和思考泡泡只在玩家附近 8 格範圍內顯示,遠處 NPC 對話仍正常進行可從紀錄查看
- NPC 睡覺時頭上顯示動態浮動 zzz 動畫(三個 z 以不同大小向上飄動漸隱)
- NPC 走路速度從 0.6 降到 0.3 像素/幀,節奏更自然悠閒
- 新增教學後任務引導系統:教學結束後畫面上方顯示當前任務目標橫幅
- 引導橫幅根據任務進度提供情境提示(如「點擊聊天頁籤找居民打招呼」「有多種方式過冬」等)
- 引導橫幅每 5 秒自動更新,玩家可按 ✕ 關閉,切換新任務時重新顯示
- 已完成教學的老玩家重新進入遊戲也會顯示引導
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.4.0 (2026-03-14)
新手引導 / NPC 日程系統 / 夜間視覺加強
- 新增 5 步驟新手教學引導:劇情故事介紹 → 地圖操作 → 居民聊天 → 經濟產業 → 事件探索
- 首次進入遊戲自動觸發教學,完成後不再顯示(localStorage 記錄)
- NPC 日程系統改版:工作時間必須留在工作地點,不可離開崗位去聊天
- 下班後到睡前為社交時間,可自由到酒館、廣場等地聊天
- 睡覺時間 NPC 待在家中,不會發起或參與對話
- 夜晚視覺大幅加強:藍色 tint 從 15% 提升到 35%,加入紫色深度層
- 新增月亮渲染(新月造型,東升西落動畫軌跡)
- 星星從 40 顆增加到 80 顆,亮星加光暈效果
- 營火光圈從 40px 擴大到 55px,亮度提升
- 火把光圈從 18px 擴大到 26px,增加中層漸層
- 窗燈光圈半徑和亮度提升,更早出現(nightAmount > 0.15)
- 新增夜間暗角(vignette)效果,畫面邊緣自然暗化
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.3.5 (2026-03-14)
全螢幕登入畫面 / 村民對話預設展開
- 新增 WordPress 全螢幕登入畫面:未登入用戶進入遊戲前會看到登入畫面
- 登入畫面包含帳號/密碼登入、註冊帳號、忘記密碼、訪客進入功能
- 背景使用 backdrop-filter blur(12px) 模糊化底下的村莊地圖
- 登入/註冊成功後畫面淡出動畫(0.6s),顯示正常遊戲村莊
- 村民對話(紀錄 tab)改為預設展開,不需點擊即可看到完整對話
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.3.4 (2026-03-14)
職業選擇按鈕邊框修正
- 職業按鈕邊框從 var(--border) #333 改為 rgba(255,255,255,0.25),深色背景上清晰可見
- 居民列表無業提示的職業按鈕 padding 加大、邊框加亮
- 版號同步:所有檔案統一為 3.3.4
v3.3.3 (2026-03-14)
村民對話面板改版 — 預設收合 + 卡片式排版
- 村民對話預設收合,只顯示時間+人名+摘要,點擊展開完整對話
- 加入 ▶ 展開指示符,展開時旋轉 90° 提供視覺回饋
- 每組對話改為卡片式排版(圓角邊框+背景色),群組間有間距不再黏在一起
- 展開後的對話區加左側 accent 色邊線,與摘要明確區隔
- 對話行間距加大(margin 3→6px, line-height 1.4→1.5),每行加分隔線
- 修正 toggle handler: collapsed → expanded class(原本展開/收合邏輯不一致)
- 版號同步:所有檔案統一為 3.3.3
v3.3.2 (2026-03-14)
全平台 UI 字體與按鈕放大
- 桌面版:section 標題 0.85→0.9rem、按鈕 padding/字體放大、居民名稱/職業/狀態字體提升
- 手機版 (≤768px):section 標題 1.05rem、按鈕 0.85rem+min-height 36px、居民/資源/建築/新聞等全面放大
- 小螢幕 (≤480px):繼承手機版放大規則,tab 標籤微調
- iPad (769-1024px):section 標題/按鈕/居民卡片/資源等中間尺寸
- sub-tab 按鈕手機版 0.85rem、iPad 0.8rem,增加觸控友善度
- 設定面板 label 0.72→0.82rem,各 inline 小字 0.65→0.75rem
- 版號同步:所有檔案統一為 3.3.2
v3.3.1 (2026-03-14)
RWD 適配修正 & Tab Icon 放大
- 全域加上 overflow-x: hidden,防止手機版/iPad 左右滑動偏移
- 手機版 tab icon 從 1rem 放大到 1.35rem,小螢幕 1.2rem,iPad 1.1rem
- tab bar 高度提升(手機 42→48px、小螢幕 38→44px)改善觸控體驗
- sidebar content 加上 overflow-x: hidden + max-width 防止內容溢出
- sub-tab-bar 手機版取消負邊距避免水平溢出
- 新增 iPad Portrait (769-1024px) 專用媒體查詢
- 版號同步:所有檔案統一為 3.3.1
v3.3.0 (2026-03-14)
AI 日報系統重構 & UI 整合 & Bug 修正
- AI 日報從「紀錄」sub-tab 移入「事件」tab,與新聞公告、鎮長選舉等重要資訊整合
- 「紀錄」tab 簡化為「日誌」,專門顯示 NPC 對話紀錄
- AI 日報 LLM prompt 大幅增強,新增天氣、資源、選舉、NPC 活動等上下文
- 日報結構改為四段式:📰 頭條標題 → 🔥 頭條報導 → 📋 鎮務簡報 → 💬 街頭巷尾 → ✍️ 手記
- max_tokens 800→1200,產出更豐富的 NPC 視角日報內容
- 經濟面板資源列表只顯示已取得的項目(amount > 0)
- 為 30 種進階物品加上專屬 emoji icon 與中文標籤(木板、磚塊、農作物、加工品等)
- 修正手機版點擊 API Key 輸入框時鍵盤會跳掉無法輸入的問題
- 版號同步:所有檔案統一為 3.3.0
v3.2.9 (2026-03-14)
數據平衡性全面調整
- 冬季農業產量乘數 0.2→0.4,避免每年冬季必然缺糧崩潰
- NPC 老化速度減半:每 2 季老 1 歲(原本每季 1 歲),延長 NPC 壽命一倍
- 結婚門檻提高:交往時間 100→300 ticks、好感 40/35→50/45、浪漫 50/40→55/45、機率 15%→10%
- 產業系統對 NPC 職業的壓制從 70%(×0.3)降為 50%(×0.5),NPC 職業仍有存在感
- 觀星活動的浪漫值增長新增前提條件:好感度必須 >20 才會產生浪漫
- 版號同步:所有檔案統一為 3.2.9
v3.2.8 (2026-03-14)
玩家生育限制調整
- 玩家-NPC 夫妻生育不受 20 人口上限限制,改為最多 3 個孩子
- NPC-NPC 夫妻仍維持原本的人口上限
性格相容度系統
- 新增
Personality.compatibility() 靜態方法,根據特質組合計算 0.2x ~ 1.6x 倍率
- 8 組增益配對(善良+善良、浪漫+浪漫、魅力+害羞、沉穩+神經質等)
- 8 組衝突配對(刻薄+善良、懶惰+勤勞、嫉妒+魅力、神經質+神經質等)
- 套用至所有好感成長管道:NPC 對話、觀星活動、派系組成
- 個性不合的 NPC 好感成長極慢,個性相合的成長正常或略快
關係自然衰減
- 超過 50 ticks 未互動,好感每日 -0.8(情侶 -0.3)
- 非情侶的浪漫值每日 -0.5,好感 ≤ 5 時不再衰減
- 派系組成好感/信任基礎值下調(+3
8 → +25 / +25 → +13)
Bug 修復
- 修復
_checkBirths 中 npc.age 應為 agent.age 的未定義變數 bug(會導致生育系統完全無法運作)
- 版號同步:所有檔案統一為 3.2.8
v3.2.7 (2026-03-14)
玩家生育系統
- 玩家與 NPC 結婚後可觸發生育事件(
_checkBirths 支援玩家-NPC 夫妻)
- 孩子繼承父母特質(2 個)+ 1 個隨機新特質
- 孩子標記為
_isPlayerChild,用於繼承人選擇
LegacySystem 繼承引擎
- 收集繼承(collectLegacy):50% 銀幣、30% 食物、已建建築(含效果)、已開發產業(清除工人)、60% 繁榮度、已完成研究、農地解鎖狀態、NPC 對玩家的好感/記憶
- 套用繼承(applyLegacy):繼承人為玩家最年長孩子(無子嗣則新旅人帶遺產)、繼承 30% 技能經驗、NPC 好感轉移 50%、信任轉移 30%、NPC 新增「上一代的孩子來了」回憶、世代計數器 +1
UI
- 結局畫面新增「開始二周目」按鈕(含確認對話框)
- 城鎮資訊列顯示「第 N 代」金色標籤(第 2 代起顯示)
- 3 個新成就:為人父母(👶 生下第一個孩子)、二周目(🔄 開始第二代)、三代傳承(👑 進入第三代)
- 版號同步:所有檔案統一為 3.2.7
v3.2.6 (2026-03-14)
手機版導航整合:移除「更多」彈出選單
- 移除「更多」按鈕及彈出選單,改為各 Tab 內建群組 sub-tab
- 居民 Tab 整合「詳情」、聊天 Tab 整合「紀錄」
- 任務 Tab 整合「事件」+「成就」、經濟 Tab 整合「產業」
- 「設定」升級為第 5 個固定 Tab,不再隱藏
- 減少一次點擊即可到達所有功能
- 版號同步:所有檔案統一為 3.2.6
v3.2.5 (2026-03-12)
修復手機版「更多」按鈕未顯示
- 移除 inline style 衝突,修復更多按鈕不顯示的問題
- 將更多選單移出 tab 容器,避免 flex 佈局干擾
- 更多選單改為 3x2 網格,操作更直覺
- 版號同步:所有檔案統一為 3.2.5
v3.2.4 (2026-03-12)
手機版導航重新設計:5 Tab + 更多選單
- 手機版底部改為 5 個固定 Tab(居民、聊天、任務、經濟、⋯更多)
- 點擊「⋯更多」彈出選單顯示其餘功能(詳情、產業、事件、紀錄、成就、設定)
- 不再需要左右橫向滾動,操作更直覺
- 版號同步:所有檔案統一為 3.2.4
v3.2.3 (2026-03-11)
手機/平板 Header 隱藏 + 版號全面同步
- 修復手機版 mobile-header 仍然顯示的問題(≤768px display:block 覆蓋未移除)
- 手機版與平板版 header 統一隱藏,資訊整合至居民 Tab 的 town-info-bar
- app.js 版號同步更新(之前遺漏)
- 版號同步:所有檔案統一為 3.2.3
v3.2.2 (2026-03-11)
Header 整合至居民頁 + 人口顯示優化
- 頂端 Header 資訊(城鎮名稱、人口、時鐘)整合至居民 Tab 頂部的 town-info-bar
- 移除桌面版頂端 Header 列,釋放更多地圖空間
- town-info-bar 即時更新:時鐘與人口每 tick 同步刷新
- 經濟頁繁榮度標題旁新增人口數顯示
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.2.1 (2026-03-11)
99 成就系統 + 新城鎮修復 + 節慶標籤修復
- 成就從 57 個擴展到 99 個,涵蓋 7 大分類:社交(13)、戀愛(10)、經濟(24)、生存(12)、城鎮(14)、玩家(12)、特殊(14)
- 新增成就自動解鎖觸發器(每5秒檢查一次)
- 修復新建城鎮按鈕:modal 自動關閉 + 取消暫停 + 顯示確認訊息
- Header 城鎮名稱改為動態顯示(不再寫死「邊境鎮」)
- 修復節慶橫幅與城鎮廣場標籤重疊問題
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.2.0 (2026-03-11)
設定 Tab 補齊遺漏功能 + Header 中文化
- 設定 tab 新增 1x/1.5x/2x/3x 加速倍率按鈕(toolbar 遷移時遺漏)
- 設定 tab 新增 AI 連線狀態指示器(AI:已連接/未連接)
- Header「Population: 13」改為「人口:13」
- Header「(+N travelling)」改為「(+N 外出)」
- 移除 Header 中不必要的「plains #513119」地形/種子碼顯示
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.1.9 (2026-03-11)
移除頂部工具列 — 所有控制整合至設定 Tab
- 移除桌面版整條 toolbar(城鎮列表、新地圖、儲存、匯出、匯入、暫停、播放、速度、AI狀態、設定、帳號)
- 移除手機版 ⋯ 選單按鈕及下拉選單
- 設定 tab 新增「🎮 遊戲控制」區塊:暫停/繼續、城鎮列表、新地圖
- Header 精簡為只顯示城鎮名稱、人口、時間
- 版號同步:所有檔案統一為 3.1.9
v3.1.8 (2026-03-11)
合併日報+日誌為紀錄 Tab — 回到 5×2 整齊排版
- 合併「🗞️ 日報」和「📝 日誌」為單一「📝 紀錄」tab,內含子 tab 切換
- Sidebar tab 從 11 個(3 行)回到 10 個(5×2 grid),設定不再獨佔一行
- 版號同步:所有檔案統一為 3.1.8
v3.1.7 (2026-03-11)
新增設定 Tab + 修復手機 Tab Bar 裁切
- 新增 ⚙️ 設定 tab:整合帳號登入/登出、AI 語言模型設定、遊戲速度、存檔管理於側邊欄
- 工廠子標籤 icon 改為 🔧(避免與 🏭 產業 tab 重複)
- 修復手機版 tab bar 右側被裁切的問題(CSS specificity 衝突 + 寬度約束)
- 版號同步:WordPress / Chrome Extension / app.js / manifest.json 統一為 3.1.7
v3.1.6 (2026-03-11)
手機版 UI 大改版 — Bottom Sheet + 水平 Tab Bar + 移除漢堡按鈕
- 移除右下角無功能的漢堡 FAB 按鈕(☰)
- 手機版底部面板重新設計:10 個 tab 改為單行水平滾動(原本 5×2 grid 佔太多螢幕空間)
- 新增 Bottom Sheet 收合機制:預設只顯示 tab bar,點擊展開內容面板,再點同一 tab 收合
- 手機版地圖可視範圍大幅提升(底部面板收合時幾乎全螢幕地圖)
- 支援拖拽手柄上滑展開 / 下滑收合
- 版號同步:WordPress / Chrome Extension / manifest.json 統一為 3.1.6
v3.1.5 (2026-03-10)
UI 美化 — 職業面板 + 日報卡片化 + 主線任務修復
- 詳情頁職業選擇區塊美化:3x grid 圖示按鈕 + 目前職業 badge + 辭職按鈕樣式
- AI 日報卡片化:期號/日期/記者分層排版 + 摺疊預覽 + 展開全文
- 修復主線任務第一個任務(落腳邊境)可能卡在鎖定狀態的 bug
- 版號同步:WordPress / Chrome Extension / manifest.json 統一為 3.1.5
v3.1.4 (2026-03-10)
RWD 全面修復 — tabs 圖示化 + 成就 tab + 手機人口 + safe-area + 觸控優化
- WordPress sidebar tabs 加入 emoji 圖示 + tab-icon/tab-label 結構(與 Chrome Extension 一致)
- 移除多餘的農場/工廠 tab(已合併至產業子 tab)
- 新增 ⚔️任務 tab 和 🏆成就 tab
- 手機版 mobile-header 加入獨立人口顯示
- 加入 iPhone safe-area-inset(瀏海/底部 Home Indicator 適配)
- 手機按鈕觸控區域 min-height 提升至 36-40px
- 新增節慶/派系/任務/成就/繁榮度等新組件的 mobile RWD responsive 樣式
- 目前 tab 結構(10 個,5×2 grid):👥居民 💬聊天 📋詳情 💰經濟 🏭產業 ⚔️任務 🏆成就 📰事件 🗞️日報 📝日誌
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.1.3 (2026-03-10)
美化事件/成就頁面 + 改善AI日報內容 + 清理導航
- 美化事件頁面:節慶區塊、任務進度條、派系卡片全面重新設計
- 美化成就頁面:新增分類標籤篩選、成就卡片視覺升級
- 改善 AI 日報 prompt:注入居民關係動態與最近對話精華,產出更生動的報導
- 日報寫作風格升級:場景細節、人物表情、記者個性更鮮明
- 清理多餘的側邊欄導航項目(移除重複的農場/工廠 tab)
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.1.2 (2026-03-10)
修復地圖消失問題(根本原因:.main-layout 寬度被主題 CSS 壓為 0)
- 修復
.main-layout 寬度被 WordPress 主題覆蓋為 0 的問題(加上 width: 100% !important)
- 修復 mobile-header 在桌面版被主題 CSS 覆蓋顯示
- 全面加強 map-panel / canvas / main-layout 的 CSS !important 防護
- 新增地圖初始化 debug logging
v3.1.0 (2026-03-10)
大改版:多路線劇情 / 繁榮度系統 / NPC 個人故事線 / 自訂 NPC / 多結局系統
Phase G — 主線任務升級為多路線系統
- 每個任務支援多條完成路線(搜集/社交/建設),任選其一即可過關
- 5 章劇情重寫:12 個任務,每個有 2-4 條路線
- 新增聲望 (reputation) 系統和劇情旗標 (storyFlags)
- 第三章危機系統:隨機觸發蝗災/盜匪圍城/瘟疫
- NPC 對話 prompt 注入任務狀態和好感度門檻提示
- 任務 UI 升級:多路線進度顯示、危機橫幅、聲望顯示
- 向後兼容舊存檔(自動遷移舊任務結構)
Phase H — 繁榮度系統 (ProsperityEngine)
- 7 維度加權繁榮度計算(經濟/建設/人口/幸福/文化/防禦/美觀)
- 繁榮等級:荒涼→起步→發展中→繁榮→傳奇
- 繁榮度效果:影響目標人口(移民速率)、交易價格、心情、商人頻率
- 經濟面板頂部顯示繁榮度儀表板(7 維度進度條)
- NPC 對話 prompt 注入繁榮度狀態
Phase I — NPC 個人故事線 (NPCQuestSystem)
- 12 個 NPC 各有 2-3 條個人故事任務,透過好感度觸發
- 多路線完成、結果分支、連鎖觸發系統
- NPC 與產業深度綁定(好感度 → 產業加成)
- LLM prompt 注入個人心願,NPC 對話自然提及故事線
- 任務 tab 顯示 NPC 個人故事進度與產業加成
Phase J — 自訂 NPC + 多結局系統
- CustomNPCSystem:創建自訂 NPC(名字/性別/年齡/特質/職業/背景)
- 最多 3 位自訂居民,需 50 銀幣 + 30 食物
- 特質衝突檢查、名字重複檢查,創建後 AI 自動接管行為
- MultiEndingSystem:四種結局(繁榮/和平/傳奇/個人)
- 第五章完成時自動觸發結局判定,含統計數據與鎮史回顧
- 居民列表底部新增「創建新居民」按鈕
玩家體驗改善
- 玩家幸福感自動管理:夜間自動睡眠、低需求自動進食/社交/娛樂
- 場所被動恢復(酒館恢復飢餓、住宅恢復休息等)
- 無業時在居民列表直接顯示職業選擇按鈕(醒目黃色提示框)
- 場所英文名統一改中文(town_hall→鎮公所、clinic→診所、workshop→工坊等)
Bug 修復
- 修復 NPC 故事線 getIndustryBindingContext 中未定義的 world 參數引用
- 修復季節索引 -1 導致總天數計算錯誤
- 修復自訂 NPC 資源扣除非原子操作(失敗時未回滾)
- 修復夜間睡眠保護條件(rest < 95 才持續睡覺)
- 移除多處 dead code 和未使用變數
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.0.3 (2026-03-10)
UI 重構 / 主線任務 / 農場視覺 / 20+ Bug 修復 / 版本同步
- 側邊欄標籤重新設計:擠壓的單行文字標籤改為 5×2 圖示+文字 grid 佈局,RWD 支援桌面/平板/手機/小螢幕
- 標籤整合:產業+農場合併為一頁(子標籤切換)、工廠整合至經濟頁,總標籤從 10 減至 9
- 主線任務系統:14 個任務、5 章節線性推進、13 種目標類型(聊天/資源/產業/人口/農收/貿易等),完整 UI 含進度條、目標追蹤、獎勵顯示
- 農場地圖視覺強化:13 種作物專屬色盤、4 階段生長視覺、土壤紋理、水分指示條、肥料閃光、枯萎效果
- 農場動畫:成熟作物搖擺+發光脈衝、NPC 農作動畫(鋤地/翻土/澆水/採收)含工具精靈圖與粒子特效
- 修復 mood 直接修改被每 tick 重算覆蓋的問題(新增 moodModifier 機制)
- 修復情侶關係事件重複處理(每對只處理一次)
- 修復餐食消耗不完整(部分存量不被消耗)
- 修復旅行者歸來丟失技能/記憶/關係
- 修復選舉記憶存 agentId 而非 name
- 修復 SeededRandom(0) 產生退化序列
- 修復農場 sellValue 重複套用品質乘數
- 修復工廠進度重置丟棄小數部分、不可用工人仍獲得效率加成
- 修復住院/失蹤天數計算(2天週期但只計1天)
- 修復 19:00-20:00 窗燈亮度為負值
- 修復 XSS 漏洞(username 未轉義)
- 修復 night_owl 成就在遊戲開始時立即解鎖
- 修復 Chrome Extension manifest.json 版本號未同步(2.4.2→3.0.3)
- 補齊 Chrome Extension changelog 缺少的 v3.0.0/v3.0.1/v3.0.2 記錄
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.0.2 (2026-03-10)
資安強化:Gemini API 金鑰保護 + 認證端點速率限制
- Gemini API 金鑰從 URL query param 移至 x-goog-api-key header,防止洩漏至瀏覽器歷史/referrer
- WordPress 認證端點新增伺服器端速率限制(登入/註冊 5次/5分鐘、重設密碼 3次/10分鐘)
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.0.1 (2026-03-10)
Bug 修復:40+ 項代碼審查修復 / WordPress 側邊欄補齊 / NPC 事件防護
- 修復全面代碼審查發現的 40+ 個 bug(simulation / app / tilemap / processing / daily-news)
- 修正 JOB_PRODUCTION 技能鍵從英文改為中文,修復技能完全不影響生產效率的嚴重 bug
- 修正 Researcher/Mayor 職稱比對從英文改為中文(研究員/鎮長)
- 修正 toTimeString() 改為 timeStr,修復選舉系統崩潰
- 修正 agentA.id 改為 agentA.agentId,修復對話記錄 ID 為 undefined
- 修正選舉 fallbackJobs 中不存在的職業、plain object 改為 new Job() 實例
- 修正 Festival Day 改為「慶典日」,修復慶典事件永遠不觸發
- 修正選舉日計算 120→60(配合每年 60 天)
- 修正 PlayerAgent 無效特質、loadSave 恢復 personality 和 job
- 修正密碼重設使用不存在的 apiBase/nonce 變數
- 修正多處 DOM getElementById null 防護
- 修正 tilemap 道路座標與 generateLayout 一致
- 修正工廠訂單清理邏輯與生產消耗先驗證再消耗
- 修正 daily-news LLM 引用名稱
- 新增 WordPress shortcode 缺少的 4 個側邊欄標籤(產業、農場、工廠、日報)
- 新增 npc-events handleCheatingDiscovery null 防護,避免第三方已離鎮時崩潰
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v3.0.0 (2026-03-10)
大改版:四大產業 / 農場種植 / 工廠加工 / AI 日報 / NPC 事件連鎖
四大產業系統 (IndustrySystem)
- 開局四選一起始產業:伐木業🪓、採石業⛏️、農業🌾、礦業⚒️
- 每個產業 Lv1-Lv5 獨立升級路線,消耗資源升級,解鎖更高產出
- 城鎮等級系統(荒村→小村→村莊→小鎮→城鎮→大城鎮→城市),由人口與建築數決定
- 城鎮升級自動解鎖新產業槽位(最多同時四大產業全開)
- 產業協同加成:農林複合、營建雙雄、工業基礎、地下霸主等 10 種組合效果
- 產業 NPC 工人自動計算效率,匹配職業的 NPC 效率更高
- 地圖上顯示產業等級徽章
農場種植系統 (FarmSystem)
- 完整農田管理:翻土→播種→生長→收穫→清除枯萎
- 13 種作物,依農業等級解鎖(Lv1 小麥/馬鈴薯 → Lv5 金色小麥/火龍果)
- 季節限制:不同作物只能在特定季節種植,非當季自動枯萎
- 品質系統:普通/優良/極品三級,受灌溉、施肥、輪作、NPC 農夫好感影響
- 灌溉系統:農業 Lv3 後自動灌溉 +30% 生長速度
- 施肥系統:消耗草藥製作肥料,加速 20% 生長
- 收穫超過 3 天未採收自動枯萎
- 農場 UI 頁籤:田地格子、作物選擇、收穫紀錄
工廠加工系統 (ProcessingSystem)
- 7 座工廠可建造:麵包坊、紡織廠、釀酒廠、草藥工坊、茶坊、製糖廠、家具工坊
- 建造需消耗資源+等待天數,建築工匠 NPC 可加速建造
- 配方系統:每座工廠 2 種配方可切換(如小麥→麵包 或 小麥+糖→糕點)
- NPC 員工分配:拖曳分配,對應職業效率 100%,其他 60%
- 工廠倉庫:成品暫存,可收取至 stockpile 或直接販賣
- 訂單系統:隨機生成限時高價訂單,完成獲得額外獎勵
- 市集自動販賣:建了市集後每日自動售出少量成品
- 30+ 種新資源類型:木板、硬木、磚塊、大理石、鋼、金、麵包、啤酒、葡萄酒、香水等
- 工廠 UI 頁籤:建造、配方選擇、工人管理、倉庫操作、訂單列表
NPC 關係連鎖事件 (NPCEventSystem)
- 打架住院事件:仇恨值高的 NPC 可能動手打人,受害者住院 3-7 天
- 住院期間消耗藥品,有醫生加速康復,無醫無藥延長住院
- 好友探病機制:好友 NPC 心情連帶下降
- 農田破壞事件:心情極差的神經質 NPC 可能深夜破壞農田
- 劈腿被抓事件:發現劈腿→可能當街毆打→全鎮八卦→派系選邊站
- 好友合作加成:高好感 NPC 在同一工廠工作效率 +20%
- 事件結果影響產業效率(如農夫心碎→農場產量 -30% 一週)
- 所有事件自動收集為 AI 日報素材
AI 日報系統 (DailyNewsEngine)
- 每天遊戲結束自動生成一篇 AI 城鎮報紙
- 隨機選擇 NPC 當記者,帶有個人風格和偏見
- 素材自動收集:對話、經濟、事件、關係、建築、探索、生命週期等
- LLM 生成時注入記者性格、職業、鎮況、八卦等完整上下文
- 無 LLM 時使用模板生成保底日報
- 日報永久保存,可回顧歷史
- 日報 UI 頁籤:展開/收合、歷史瀏覽、記者資訊
打磨與平衡
- 地圖上渲染農場田地格子(顯示生長狀態、成熟閃爍)
- 地圖上渲染工廠建築(建造進度條、煙囪、窗戶燈光)
- 地圖上渲染產業等級徽章
- NPC 對話注入經濟上下文:產業、農場、工廠狀態影響對話內容
- 產業系統與舊生產系統平衡:已有產業的 NPC 減少 70% 舊式產出,避免疊加
- 15+ 新成就:創業家、產業帝國、初次收穫、極品農產、工廠主、訂單達人、暴力事件、八點檔、讀報人、日報收藏家、城鎮等級等
- 修復產業選擇 UI 返回值格式
- 修復產業面板工人數顯示
- 修復產業協同加成顯示
v2.4.1 (2026-03-10)
Bug 修復 / Chrome Extension 版本顯示 / Changelog 更新
- 更新 v2.4.0 changelog:補齊聊天焦點、登入驗證、存檔同步、版本顯示等 4 項修復記錄
- Chrome Extension 新增遊戲標題列版本號顯示(與 WordPress 版一致)
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v2.4.0 (2026-03-10)
地圖擴大 / NPC 行為改善 / 點擊移動 / 好友約會系統
- 修復聊天輸入框搶焦點:每次 game tick 不再重設焦點,解決 WASD 移動被中斷的問題
- 修復登入時 Cookie/nonce 驗證失敗:公開 API 端點不再發送 nonce header
- 新增遊戲標題列版本號顯示:右上角顯示目前遊戲版本
- 修復存檔按鈕:按下後同步至雲端並即時更新城鎮列表 UI
- 修復 AI 回覆顯示分析文字:過濾 LLM 推理/思考過程,只顯示對話內容
- 修復打字時聊天框失焦問題:輸入中不再重繪側邊欄
- 改善附近 NPC 聊天:自動切換到同地點的 NPC,不再卡在遠方對象
- 地圖點擊移動改善:點擊任何地方都會移動到最近的地點,並顯示移動指示圈
- NPC 工作行為改善:上班時間待在工作場所或附近,下班後回家或社交場所
- NPC 停留時間增加:工作 12-20 ticks、社交 6-10 ticks,減少頻繁走動
- 新增好友約會系統:好感度高的 NPC 會互相邀約去特定地點(甚至翹班)
- 地圖擴大為 80x60(原 64x48),建築物重新佈局,空間更寬敞
- 住宅區升級:每個住宅區有 4 棟房屋(原 2 棟),NPC 的家更明顯
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v2.3.8 (2026-03-09)
修復 NPC 移動抖動 / 雲端存檔持久化 / 派系成就
- 新增 NPC 位置停留機制:NPC 抵達目的地後會停留 3-12 ticks 再移動,解決不斷抖動的問題,也讓社交互動/對話能正常進行
- 修復雲端存檔載入:換裝置或清除快取後,優先嘗試載入雲端存檔而非直接重置,避免覆蓋雲端進度
- 雲端同步間隔從 5 分鐘縮短為 2 分鐘
- 修復
faction_drama(派系風雲)成就缺少觸發條件的問題
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v2.3.7 (2026-03-09)
修復 LLM 回覆顯示 think 標籤 / 強制繁體中文
- 修復 DeepSeek、Qwen 等模型回覆包含
<think>...</think> 推理標籤直接顯示在聊天中的問題
- 新增
_stripThinkTags() 統一在 LLM 回傳結果時過濾推理標籤
- 強化所有 AI prompt 的繁體中文(台灣用語)要求,避免模型回覆簡體中文
- 修正插件 header 版本號與
RIMTOWN_VERSION 不一致(2.2.0 → 2.3.7)
- 以上修正同步套用至 WordPress 與 Chrome Extension 版本
v2.3.6 (2026-03-09)
Groq 自動備援 / 模型升級
- Groq 預設模型從 Llama 3.3 70B 改為 Qwen3-32B(中文對話品質大幅提升)
- 新增自動 Groq 備援機制:主 AI 遇到 429 rate limit 或錯誤時,自動切換到備用 Groq
- 設定頁面新增「備用 Groq API Key」欄位(選填,免費申請於 console.groq.com)
- 只填備用 Groq Key 不設主 AI 時,直接使用 Groq 作為主要 AI
- 主 AI 冷卻機制:首次失敗冷卻 60 秒,重複失敗逐步延長至最多 5 分鐘
- 主 AI 恢復正常後自動切回,無需手動操作
- 狀態列顯示「AI:gemini+備用」表示已啟用備援
v2.3.5 (2026-03-09)
統一 AI 速率限制為 20 次/分鐘
- 所有 AI provider 統一速率限制為 20 次/分鐘(原先為 12 次/分鐘)
- 移除 MiniMax 特殊限制(NPC 冷卻、token 上限回歸與其他 provider 一致)
v2.3.4 (2026-03-09)
MiniMax 省額度模式(40 prompts/5hrs 方案適用)
- MiniMax API 每分鐘限制 2 次請求(Gemini 等其他 provider 保持 12 次/分鐘不變)
- MiniMax NPC 自動 AI 對話冷卻提升至 150 ticks(約每 5 分鐘 1 次),優先把額度留給玩家對話
- MiniMax NPC 對話 output token 上限降至 400(其他 provider 保持 800)
v2.3.3 (2026-03-09)
修復登入後雲端存檔 403 錯誤
- 修復 AJAX 登入/註冊後 WordPress REST API nonce 過期導致 403 Forbidden(Cookie 驗證失敗)
- PHP 登入/註冊 API 回傳新 nonce,前端自動更新認證令牌
v2.3.2 (2026-03-09)
修復 MiniMax 選項未在設定下拉選單顯示
- 修復 wordpress/rimtown.php 和 chrome-extension/rimtown.php 的設定 Modal HTML 缺少 MiniMax
<option>
- 實際渲染的設定面板來自 PHP 而非 index.html,之前只修了 index.html 導致選項未出現
v2.3.1 (2026-03-09)
Chrome Extension 版恢復 MiniMax 支援
- 修復 Chrome Extension 版缺少 MiniMax provider 的問題
- 新增 MiniMax API 端點與專屬請求處理(max_completion_tokens、base_resp 錯誤處理)
- 移除 chrome-extension/app.js 中誤將 minimax 標記為 deprecated 的清除邏輯
v2.3.0 (2026-03-09)
MiniMax 恢復 / AI 單一綁定 / Fallback 對話大改版
- 恢復 MiniMax(中國版)LLM provider:端點 api.minimaxi.com,模型 MiniMax-M2.5
- AI 設定強制單一綁定:切換 provider 時自動清空 API Key,防止誤綁多個
- 儲存時驗證:選了 AI 供應商就必須填入 API Key
- Fallback 對話模板全面重寫:所有對話更長、更有戲劇張力
- 新增豐富細節池:季節美食、場景描寫、禮物清單、鎮上傳聞
- 情侶對話:美食讚美打鬧、醋意風波、禮物驚喜、浪漫散步
- 敵對對話:針鋒相對的正面交鋒、流言質問、試圖和解
- 曖昧對話:落葉場景心動、星空邀約告白
- 摯友對話:分享八卦冒險、傾訴煩惱、回憶往事笑淚交織
- 陌生人對話:熱情推薦美食、小鎮消息初印象
- 一般對話:神秘發現分享、工作驚險趣事、送禮感謝、傳聞討論
- 所有對話摘要改為小說風格,包含地點/季節/情感描寫
v2.2.0 (2026-03-09)
派系系統 / 季節節慶 / NPC 生死老化 / 探索系統
- 派系/社交圈系統:NPC 自動組成小團體(工作夥伴、酒友、八卦圈等),含凝聚力、競爭、結盟與內部戲劇
- 季節節慶系統:春季慶典、仲夏篝火、豐收祭、冬至節,含特殊任務、裝飾與全鎮慶祝活動
- NPC 生死/老化系統:NPC 每季老化,可因老年/疾病/意外死亡,已婚夫妻可生育子女
- 墓園系統:死亡 NPC 安葬於墓園,附墓誌銘紀念
- 探索/地圖擴展:城鎮外 6 個可發現區域(森林、遺跡、礦坑、山脈、洞穴、沼澤)
- 探險隊派遣機制:選派居民出征探索,帶回資源與發現
- 事件頁籤新增派系、節慶、墓園、探索 UI 面板
- 地圖渲染:探索標記、墓碑、節慶裝飾
- 新增 8 個成就(派系、節慶、生死、探索相關)
v2.1.0 (2026-03-09)
忘記密碼 / 手機版大改版
- 忘記密碼功能:透過帳號+電子郵件驗證重設密碼
- 新註冊用戶自動獲得全新村莊,不帶任何舊資料或對話
- 手機版排版大改版:地圖佔 75%、功能區佔 25%
- 手機版新頂部欄:標題+時間+人口合併為一行,控制按鈕收進下拉選單
- 功能面板改為底部常駐(標籤頁永遠可見),上滑展開、下滑收合
- 新增拖拽手柄,支援觸控滑動展開/收合功能面板
- 桌面版完全不受影響
v2.0.0 (2026-03-09)
帳號系統 / 成就 / NPC 對話可視化 / 玩家互動
- 帳號系統:使用者註冊/登入,雲端存檔自動同步(每 5 分鐘)
- 雲端存檔:每帳號最多 20 個城鎮,5MB/城鎮
- 成就系統:30+ 成就里程碑,遊戲內動畫 Toast 通知
- 成就類別:社交、愛情、經濟、生存、城鎮、玩家、特殊
- NPC 對話可視化:NPC 聊天時地圖顯示圓角語音氣泡(8 秒淡出)
- 玩家深度互動:選擇 11 種職業、辭職、換工作
- 戀愛系統:調情、告白、求婚、結婚
- 選舉投票:玩家可在投票期直接投票
- 居民列表顯示玩家卡片(可查看自己的詳情和技能)
- 地圖移動改善:點擊空白處自動移向最近地點,WASD 方向判定更寬容
- Gemini API 速率限制優化:429 時暫停 60 秒,NPC 不重試
v1.5.0 (2026-03-09)
篝火之夜 / 全螢幕地圖 / 首頁 / 速率限制
- 夜晚效果重新設計:移除濃霧覆蓋,改用篝火、火把和極淡藍色調
- 篝火系統:廣場、酒館、守衛站、水井處有動態火焰動畫
- 建築旁自動放置閃爍火把,提供溫暖光暈
- 感情系統強化:新增自然浪漫吸引力(基於性格相容度)
- 降低交往/求婚門檻,增加每次對話的浪漫火花機率
- 地圖全螢幕顯示:Canvas 自動填滿容器,無邊框
- 新增雙指縮放(pinch-to-zoom)和拖曳平移
- 桌面支援滾輪縮放和拖曳平移
- 最小縮放自動計算,最大放大 4 倍
- 新增
[rimtown_landing] 首頁短碼:動畫像素背景、特色介紹、AI 模型展示
- 修復地圖消失問題:CSS class 重新命名避免 WordPress Astra 主題衝突
v1.3.0 (2026-03-09)
鎮長選舉系統
- 新增鎮長選舉系統:居民根據個性、價值觀、關係投票
- 選舉流程:競選期(3天)→ 投票期(2天)→ 結果公告(3天)
- 6 種政策主張:經濟發展、社會福利、軍事防禦、文化教育、自然保育、個人自由
- 候選人根據個性與價值觀自動選擇政策
- 投票依據:關係親密度(40%)、價值觀契合(30%)、魅力能力(20%)、隨機(10%)
- 當選鎮長的政策會產生 30 天持續效果(透過新聞系統)
- 選舉 UI:即時票數、進度條、結果展示(事件頁籤)
- 選舉歷史記錄,可在存檔中保存/載入
- 修正 MiniMax API:模型更新為 M2.5、參數修正為 max_completion_tokens
- 更新 Gemini 預設模型為 gemini-2.5-flash
v1.2.0 (2026-03-09)
響應式設計 (RWD)
- 新增 RWD 響應式設計,支援手機、平板、桌面三種佈局
- 手機版:側欄改為從底部滑出的覆蓋層,搭配浮動按鈕開關
- 手機版:點擊居民或開始聊天時自動開啟側欄
- 手機版:隱藏次要按鈕(匯出/匯入),節省畫面空間
- 手機版:Chat 輸入框使用 16px 字型,防止 iOS 自動縮放
- 小螢幕手機(≤480px):隱藏速度控制與儲存按鈕
- 平板(≤1024px):側欄縮窄至 300px
- 新增版本更新日誌系統,後台可查看完整更新記錄
v1.1.0 (2026-03-09)
WordPress 插件
- 建立 WordPress 插件架構(rimtown.php)
- 支援
[rimtown] 短碼嵌入任意頁面
- 支援
[rimtown height="800px"] 自訂高度參數
- CSS 隔離:所有樣式限定在
.rimtown-container 內,不影響主題
- 事件委派隔離:點擊事件綁定遊戲容器,不干擾 WordPress
- 自動全寬:遊戲頁面隱藏 WordPress header/footer
- Modal z-index 設為 100000,確保在 WordPress admin bar 之上
- 新增 WordPress 後台設定頁面(使用說明)
- wp_enqueue_script/style 正確載入資源,支援快取清除
v1.0.0 (2026-03-08)
初始版本
- AI 小鎮模擬核心功能
- Tilemap 地圖渲染引擎
- 居民 AI 自主行為系統
- 玩家聊天系統(支援多 LLM 供應商:Claude、GPT、Gemini、DeepSeek、Groq、Together、MiniMax)
- 經濟系統:資源、建築、研究、貿易
- 事件系統:突襲、連鎖事件、移民
- 聊天記錄存檔功能
- 多城鎮管理
- 匯出/匯入存檔