所有文章

一個世界,五個平台 — 開發日誌 #2:跨平台 MMORPG 開發的挑戰

讓同一款 MMORPG 能用滑鼠、觸控螢幕與手把遊玩:Ancient Online 在介面、操作、30 種語言與本機聊天翻譯上的取捨。

昏暗光線下,桌上的遊戲手把映著紅色與青綠色的反光

我們把《Ancient Online: Remastered》設計成單一的世界,讓 Windows、Linux、macOS、Android 與 iOS 玩家在此相遇。紙上談兵聽起來很簡單:一款遊戲,五個平台。實際上,要把一款為滑鼠點擊而設計的經典 MMORPG 帶到手機與手把上,意味著一連串困難的決定。在這一篇開發日誌中,我們分享這些決定與背後的理由。

遊戲仍在開發中。開發版本目前在 Windows 與 Android 裝置上測試;macOS、Linux 與 iOS 是我們鎖定的其他平台。

規則 1:一個世界,一套規則

行動裝置玩家沒有另外的伺服器,也沒有「簡化版」的平衡設定。由於遊戲的所有規則都在伺服器上執行,無論你從哪種裝置連線,都是在同一個世界、依同一套規則遊玩。你的帳號、角色、背包與公會都與裝置無關。伺服器端的部分,我們已在開發日誌第一篇中介紹過。

對用戶端來說,這條規則代表不同平台可以提供不同的操作方式,但不能提供不同的能力。

觸控螢幕:重新思考,而不是縮小

把經典 MMORPG 的介面原封不動縮小後塞進手機是行不通的;按鈕會小到手指按不準,畫面也會過於擁擠。所以我們為行動裝置另外設計了一層介面:

  • 浮動搖桿:無論你把手指放在螢幕左半邊的哪個位置,搖桿都會跟過來;玩家不必對準螢幕上的特定位置。
  • 按住即可攻擊的按鈕,周圍環繞著一道技能弧。
  • 點擊選取目標:相當於把 PC 上「點擊怪物」的習慣搬到觸控上。

還有一件事是我們刻意不做的:點擊移動。移動交給搖桿。如果有兩套移動系統,每一次沒點中目標的點擊都會變成一段非本意的奔跑,而在戰鬥當中,這是無法接受的。

還有一個雖小卻重要的決定:手機上一次只能看到少數幾個欄位,因此切換技能頁面的頻率遠高於電腦。我們讓藥水欄位與頁面脫鉤;切換頁面時,藥水會留在原位。要做到這一點,不只是在介面上搬動一個格子那麼簡單:我們必須把使用藥水欄位的程式碼與頁面邏輯完全分開。

視角與多點觸控

在手機上,用手指在空白區域拖曳就能轉動視角。在介面上方疊一個全螢幕的「視角區」來實現這件事,看起來很誘人,但這樣的圖層會吞掉原本要給底下每個按鈕的觸控。我們改在玩家控制器而不是介面層處理視角拖曳,避免了按鈕與視角之間的衝突。我們也用一個小小的移動門檻來區分選取目標與拖曳視角:超過門檻之前,視角紋風不動;一旦超過,視角就會開始轉動,而不會突然跳一下。

手把:連選單也能操作

我們為整個介面設計手把支援,而不只是戰鬥。為了用手把操作背包與選單,我們加入了以十字鍵進行的焦點導覽。這裡同樣有個陷阱:十字鍵與確認/返回鍵既要用來操作選單,也要用來使用快捷欄。解決方法是:視窗開啟時,這些按鍵用來操作選單;視窗關閉後,它們就回到快捷欄。在戰鬥當中悄悄滑進「選單模式」,會是這套系統可能出現的最糟糕的錯誤。

遊戲會記住你最後使用的輸入裝置:切換到手把時,觸控按鈕會從螢幕上隱藏。

設定也跟著平台走

設定視窗會依裝置調整樣貌:滑鼠與鍵盤分頁只會出現在 PC 上,觸控分頁只會出現在手機上。Lumen、DLSS 與 FSR 這類電腦專屬的圖形選項,在行動裝置上會換成解析度與反鋸齒選項。在每種裝置上,我們只顯示在那裡真正有作用的設定。

30 種語言與逐語言量測的介面

遊戲與我們的網站以支援 30 種語言為目標。多語言介面隱藏的難題是文字長度:同一個按鈕標籤,在某種語言裡很短,在另一種語言裡卻可能長上一倍。設定視窗中各分頁的寬度,我們不是平均分配,而是依每個標籤在該語言中的實際寬度計算;語言變更時,版面會重新計算。在語言選單中,每種語言都以它自己的名稱書寫。

在自家伺服器上進行的聊天翻譯

為了讓來自不同國家的玩家能在同一個世界彼此溝通,聊天訊息會翻譯成閱讀者的語言。打造這套系統時,我們堅持兩項原則:

  1. 訊息不離開我們的伺服器。翻譯由只用 CPU 的本機模型在我們自家的伺服器上完成;不使用任何外部翻譯 API。
  2. 保留遊戲的語言。MMORPG 的聊天充滿縮寫、遊戲術語與表情符號。我們使用遊戲專屬的詞彙表,並另外保護表情符號,避免它們在翻譯過程中遺失。

接下來

行動裝置的效能,以及我們鎖定的其他平台,相關工作仍在持續進行。想看玩家端完整的操作清單,請參閱遊戲網站上的 PC 與行動裝置跨平台指南。想認識我們的工作室,請閱讀「Astronaut Entertainment 是誰?」。

分享:
其他語言版本29