上次於【RMXP】關於XPA與RGD 中介紹了
XP使用Ace核心(XPA)與RGD(directX)的方法,藉此提高效率、降低畫面撕裂與延遲
而這次的"跨平台可行性",與那篇有些微的關係,就當作是延續主題吧
順便補充 原XP、XPA、RGD、MKXP的優缺點
眾所皆知,RM系列除了MV外,其他的版本預設是不能跨平台的,在遊戲開發出來後,只能藉由其他軟體的輔助來達成多平台的"運行",而非原生支援該系統
像是要在macOS、Linux中運行遊戲的話,可以使用Wine軟體,
又或者直接運行虛擬機器 Virtualbox、VMware,建立一個虛擬的Windows平來來運行,
而行動裝置平台的話,也有JoiPlay App插件
但這些做法都是藉由外部的軟體,輔助你運行該遊戲,而且前提是你得知道這些軟體的存在
(大多數的玩家,只要看到無法運行,就會直接放棄遊玩了吧……
這也是為什麼《魔女之家》重製的其中一個原因了
而RMXP、RMVX、RMVA若要達成原生支援的話,可以使用MKXP
MKXP允許上面這個三個版本,能夠在不改動遊戲內容的情況下,進行跨平台的運行
"不需要額外的軟體輔助,點擊遊戲即可運行"
"MKXP並不是隨插即用的,他是幫助你完成跨平台目的的建構方案"
這也意味著,開發者必須瞭解並精通 Ruby / RGSS
MKXP-Gitbook ←說明與解釋
如果對《To the Moon》有些瞭解的話,會知道它有出過多平台的版本
而macOS與Linux的版本正是由MKXP達成的
雖然《To the Moon》在行動裝置平台是使用Unity,且重製後發布的
但MKXP依特性來說,應該是能達成行動裝置運行
在GitHub上也有相關的程式文件,雖然年代有些久遠(5年),名為android-mkxp
MKXP也有另一分支:MKXP-z
XP易於開發且容易編輯,所以在早期有許多人用它來製作Pokemon
MKXP-z原先的目標是完成多平台的Pokemon Essentials遊戲運行
而該遊戲有使用到Windows API,而MKXP-z完成了跨平台的Windows API使用
這表示可以將封裝好的dll檔案,跨平台的使用了
那MKXP與其他版本的差異在哪裡呢?
MKXP可以支援到Ruby2.7,且使用OpenGL作為渲染,無疑在效能上可能會是其他版本的好幾倍不只。然而在下並沒有對MKXP實作,所以還不能下定論,就它的說明來看,可能會比XPA硬轉的RGD還來的強許多(畢竟內部程式並沒有針對XP做優化)
這裡做個表格方便瞭解各版本差異
各版本優缺點:
目前還不知道使用了XPA後在MKXP的情況如何
XPA的原帖是有人在留言討論的
未來若有需要跨平台的情況,也許會考慮使用MKXP吧