2 回答

TA貢獻2016條經驗 獲得超9個贊
對于大部分的程序員語言簡直就是宗教信仰。
Photon使用C#開發,當然使用者也是用C#進行各類游戲功能開發。前后端同種語言,這對使用Unity3d游戲開發也有很大的好處。
KBEngine使用C++開發,邏輯開發是用python,也是很不錯很快速的。
開源與收費情況
Photon是Exit Games公司的產品,不開源,有好多種收費模式,官網上可以看到。開發階段可以用免費的license,后期可以看流量用戶活躍度來選擇付費模式。后續的支持,似乎是免費的,你可以選擇郵件或是到論壇發帖求助,當然是E文。
KBEngine是國人開發,開源免費,但從官網上并沒有看到商業使用的案例。有中文論壇,你可以在論壇上向開發者求助。
雖然兩者的模式不同,但作為一個Unity3d游戲開發者,我們最希望的其實是把游戲引擎當作一個安全穩定的黑箱。
操作系統
之前說了Photon使用C#開發很自然的,配套的工具也是使用C#,比如最重要的PhotonControl。所以開發環境和生產環境最好都是windows。
雖然在跨平臺上有mono,在服務器代碼部分是系統無關的,但是不管你信不信,我是不信它的一套窗體工具也能運行在Linux下。反正,官網說法是,開發和生產環境都是用windows。
KBEngine建議開發環境選擇Windows,生產環境選擇linux。畢竟你總不希望開一組服務器打開9個Console窗體,一不小心把哪個點X了吧~
協議
Photon有自己的序列化反序列化方式,你也可以使用protobuf這類的來做應用層傳輸協議。
KBEngine在這方面表示不支持自定義協議,它幫你選擇了有效的方法來處理,如果你習慣了他規定的方式,會喜歡上的。
看法
在功能上,我毫無疑問地更喜歡KBEngine,腳本化和自動持久化是極富魅力的功能。而Photon幾乎沒做這方面的功能,可能和老外的觀念有關系。就目前我對兩者功能的理解看來,Photon其實是個和SuperSocket差不多的東西,而SS是作為輕量級服務器框架存在的,Photon卻是說自己是Unity3d游戲引擎,除去提供的MMO示例代碼(未解讀),沒看到什么游戲引擎的魅力。

TA貢獻1790條經驗 獲得超9個贊
這兩個相比,gameObject好理解一點,就是你腳本掛著的那個物體。這個實例化過程是Unity幫你實現的,不用在寫代碼實例化。this.gameObject默認函數,腳本一創建直接就get到了。
例如,有一個A物體。你給它掛載一個腳本里寫this.gameObject。那就等于是直接獲?。▽嵗〢這個物體了,你直接可以引用它下面掛載的屬性。
GameObject不是對象,通常需要獲取一個對象,就像你定義一個public GameObject A;
那么屬性里就會出現一個可托選的框,那就是Unity告訴你,你定義的這個物體是哪個物體要你選擇,無論你拖拽也好,腳本里獲取也好,都是要給A賦予對象的。
這是一個強大的引擎,里面很多函數,都可以簡化,this.gameObject就是簡化實例化的一個函數,希望能給你帶來幫助~
- 2 回答
- 0 關注
- 1313 瀏覽
添加回答
舉報