: 推 fan17173: 內個RW更新不會炸MOD?!還有這種好事喔ww 10/13 08:47
: 推 is789789: 更換引擎還不影響到現有mod的相容性,這合理嗎? 10/13 08:51
: → h0103661: 合理阿,本來官方就是做成接口,一般mod用腳本語言跟二 10/13 08:54
: → h0103661: 進制檔,並不是直接跟引擎對接,應該只有直接動到核心 10/13 08:54
: → h0103661: 的mod會死 10/13 08:54
1.
Unity 引擎的強項就是跨平台容易 引擎使用C/C++ 開發
但是SDK 推薦語言是 C#
C# 這語言經過M$多年打磨 已經是Tier 0的遊戲語言
在Windows/macOS/Android 都可以透過 .NET Framework 上面執行
在PS/XBOX 上會用IL2CPP 把C# 轉成C++
再由 console SDK 編譯 C++
Unity 的強項就是 IL2CPP 可以讓你無痛用C# 移植到主機上
因為 C# Runtime 有 GC (garbage collection)
C++ Runtime 沒有
所以IL2CPP 還要特別做 lifetime management
針對主機CPU 要用SIMD 指令集最佳化
換自製引擎 遇到最大的麻煩就是硬體相容性跟跨平台
2.
Unity 另一個特點是強大的 Asset pipeline
從DCC(Digital Content Creation) 素材匯入
mesh optimizer, texture compression, texture atlas
metadata 資料庫管理, 打包
Unity Asset pipeline 做得非常好
這也是商業引擎跟免費引擎(ex: Godot) 的差距
3.
Mod 管理
遊戲容不容易寫 Mod 遊戲引擎也很重要
Unity 使用了類似VFS(Virtual File System)
的技術 使得檔案只要放到 /Mods 就可以覆蓋原本的檔案
自製引擎要用原本的方式做Mod
就要自己弄一套 VFS
另外還要(部分)兼容舊的Mod
Mod API還要解決兼容系的問題
以上幾點是 要換自製引擎的考量
所以Rimworld 團隊還蠻用心的