森靈劍境:自製的Web RPG,全部自架在 Docker 上

這篇不是教學文,是想跟平常來看Docker/NAS文章的大家,分享一個全部由Claude Code從零開始做出來的側專案——一款免費的瀏覽器像素風RPG「森靈劍境」。整個遊戲後端是Node.js + Socket.io,前端用Phaser畫面引擎,跟這個部落格一樣,全部自己Docker化、自己架在家裡的主機上,沒有用任何現成的遊戲引擎服務。

先講重點:免安裝、免下載,手機瀏覽器打開網址就能玩,也可以「加入主畫面」變成像 App 一樣的圖示。

👉 game.dswhi.com/rpg

森靈劍境主城廣場,玩家站在深邃森林入口前

上面這張是遊戲的主城「廣場」——所有玩家的家。噴水池、公告欄、技能商店、醫院都在這裡,往四個方向的拱門會分別通往危險森林、安全森林、草原、礦場,各自有不同的怪物跟玩法。

六種職業,三種進階型態

戰士、法師、箭手三種基礎職業隨時可以自由切換,練到45級後可以「解鎖」死亡騎士、大法師、神射手三種進階型態——一次解鎖、永久保留,之後照樣能自由切換回基礎職業。每個職業都有自己專屬的技能組合,死亡騎士有短時間的「死亡形態」全面強化,大法師可以召喚永久跟隨的奧術史萊姆幫忙打怪,神射手有貫穿多個目標的「鷹眼模式」。

角色面板:六種基礎與進階職業選擇畫面

怪物圖鑑:從史萊姆打到深淵魔王

遊戲裡有十幾種造型各異的怪物,從最基礎的史萊姆、樹妖、石魔,到會範圍投石的投石魔像、會分裂增援的史萊姆聚合體,一路到王城地牢裡的骷髏兵、墮落騎士、石像鬼、深淵守衛。每一種都會自動記錄在圖鑑裡(打過一下就算「遭遇」),標示血量、反擊力、掉落物跟出沒地點——沒遇過的維持神秘剪影,遇過的才會秀出完整資料,也算是探索的一點小樂趣。

怪物圖鑑面板,展示各種已遭遇怪物的詳細資料
在深邃森林裡與怪物戰鬥的畫面

戰鬥是即時的,普通攻擊、技能都有各自的特效——近戰的揮砍弧光、法師的火球彈道、箭手貫穿多個目標的箭矢,被怪物反擊時也會有明確的閃白震動跟飄字提示,不是那種點一下看數字跳動的回合制。

蓋房子、練公會、打城堡

主城的住宅區可以認領地塊蓋房子,從1級小屋一路升到5級城堡,解鎖石碑、金庫、伐木屋、市集等設施;蓋房子跟練功一樣是長期投入的東西,不是點一下就結束。

住宅區地塊,不同玩家蓋的各等級房屋

公會系統也有做完整——建立公會、招募成員、公會銀行,最有份量的是攻城戰:公會可以宣戰爭奪主城裡唯一的城堡,佔領的公會會被標示在城堡上方,全主城都看得到現在是誰在統治。

主城裡的城堡,攻城戰的舞台

每天限時開放的世界首領

每天固定時段(會提前30分鐘公告),主城外會開啟「深淵祭壇」,裡面的世界首領最多同時容納50名玩家一起圍攻——會施放範圍法術、血量過半會召喚小怪,全服玩家可以同時上線一起打,論傷害排名分寶石跟技能卡獎勵,不用像一般副本那樣單獨組隊。

技術面小記(給常看這個部落格的朋友)

整套遊戲是 Node.js + Express + Socket.io 寫的即時伺服器,資料庫用 SQLite(better-sqlite3),前端畫面用 Phaser 3,跟這個 WordPress 一樣包成 Docker image、跑在自己的主機上,透過 Nginx Proxy Manager 對外。沒有用任何雲端遊戲後端服務,連怪物AI、攻城戰排程、世界首領的多人同步廣播都是自己刻的。每次改版都會先在跟正式站完全隔離的測試容器裡(正式資料庫的快照複本)跑過完整回歸測試,確認沒問題才會真的部署,玩家的進度資料不會因為我在改東西而被搞壞。

目前支援用 Google 帳號一鍵登入,也支援訪客模式(部分功能會受限)。整個專案還在持續更新中,職業、怪物、地圖都是這幾個月陸續加上去的,之後應該還會繼續長大。

現在就進去看看

免費、免下載,手機或電腦瀏覽器打開就能玩:

👉 game.dswhi.com/rpg

玩過之後有任何想法或抓到什麼問題,歡迎在下面留言告訴我。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *