㈠ unity3d 網游伺服器端如何選擇
如果對樓主有幫助,給個採納好不,謝謝啦
Photon和KBEngineunity3d是最適用Unity3d游戲開發的兩個伺服器引擎,但它們還是有區別的,只有清楚地了解區別在哪才能正確使用,下面簡單描述下兩者的共同點和不同點。
語言
對於大部分的程序員語言簡直就是宗教信仰。
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示例代碼(未解讀),沒看到什麼游戲引擎的魅力。