輸入名字就能上島:有人用原生JS做了一個網頁版動物森友會
開發者jamfer在V2EX發表網頁版3D動物森友會試玩,釣魚抓蟲建造樣樣有,體素畫風引來正反兩種圍觀聲音。
9月11日下午,V2EX的「分享創造」節點出現了一則貼文,標題寫得很直白:做了一個web版的動物森友會,3D版,試玩已經上線。發文者jamfer附上截圖和試玩網址,說輸入名字就能玩,想儲存進度再綁個信箱。到隔天中午,這則貼文累積了一千四百多次瀏覽,留言區的人數不多,但每一則都在認真討論畫面閃爍、技術選型和那個說不上來哪裡怪的畫風。
先看這座島上到底有什麼
把功能清單攤開,會發現這位開發者把動物森友會的核心迴圈幾乎搬了一遍:
- 釣魚系統,收錄二十種魚
- 捕蟲系統,同樣二十種昆蟲
- 圖鑑收集,魚蟲各有紀錄
- 採集玩法,蘋果、石頭、椰子都能撿
- 成就系統
- 與小動物島民互動,開發者自己承認還比較簡單
- 核心建造玩法,幾十種家具和地板已經做好
- 晝夜與四季系統,而且是跟著真實時間走的
最後一項特別值得停下來看。原作動物森友會最讓人念念不忘的設計之一,就是遊戲時間與現實同步,現實中的黃昏會準時落在你的島上。這個網頁版把它原樣保留,等於是把「每天回來看一眼」的那種牽掛也一起搬進了瀏覽器。
一則貼文裡的兩種圍觀
V2EX的留言區向來誠實。這則貼文底下的回應, roughly分成兩路。
一路是純粹的驚喜。有人只回了「不錯呀」「真不錯」,有人留下牛市表情的變體寫法,也有人乾脆留了兩個字「大頭菜」,用動物森友會玩家才懂的裡語打招呼。這些留言的共同點是:沒想到有人真的把這件事做完了。釣魚、蓋房子、看季節變化,這些在Switch上要花幾百小時的內容,現在打開網頁、輸入名字就能碰一下。
另一路則是工程師式的檢視。有人回報移動時房屋和線條會閃爍,jamfer很快承認「這問題確實存在」。有人問技術路線,得到的答案是原生JavaScript加voxel體素建模,資料庫用Redis。這個技術組合也引來了後續討論,畢竟多數人想到3D網頁遊戲,第一個聯想到的會是現成的3D引擎,而這裡是從頭用原生JS拼出來的。
還有針對畫風的直言。有人覺得體素的方塊感太重,地面馬賽克大到接近角色頭部的比例,看起來不舒服;也有人有類似但更溫和的建議,說與其用大塊體素,也許整成傳統像素風格會更順眼。這些意見沒有得到開發者的正面回覆,但從貼文的語氣看,這是一個還在滾動修正中的專案,聽得進回報。
為什麼「做一個動森」總是有人買單
動物森友會在2020年席捲全球之後,仿作、致敬、重製的嘗試從來沒停過。這類專案的共同宿運是:做到「看起來像」不難,做到「玩起來像」很難。前者靠美術素材,後者靠的是節奏,魚什麼時候上鉤、昆蟲什麼時候出現、家具擺下去的那一刻有沒有滿足感。這些微小的時間差,決定了玩家會停留十分鐘還是十天。
從jamfer開出的清單看,這個網頁版至少在結構上把該有的骨架都立起來了:收集、建造、社交、時間感,四大支柱都在。留言區願意花時間回報閃爍問題和畫風建議,某種程度上也是一種認可,沒人會認真幫一個自己不打算再打開第二次的東西挑毛病。
一個人的島,一羣人的圍觀
這類個人專案最動人的地方,往往不在成品完成度,而在於它展示了一種可能性:一個開發者、原生JS、一個Redis資料庫,就能在瀏覽器裡種下一座會跟著現實季節流轉的小島。沒有註冊流程,沒有啟動器,輸入名字就上島。
至於那個被嫌棄的馬賽克地面,說不定哪天就換了一副模樣。畢竟留言區已經把bug清單開好了,而開發者也說了,歡迎大家試玩。試玩網址就掛在貼文裡,有興趣的人,現在還來得及當第一批島民。