關於手遊app的開發

前端用的unity,使用xlua做熱更,基本百分之九十的功能都是使用xlua來編寫的,只有網絡、協議、核心通用工具是用c#來做的;

後端使用java,網絡使用netty框架,數據庫用mysql;

前後端通訊協議使用google的protobuf,需要到git上找protobuf的xlua支持,官方已經支持了java;

遊戲中都會有定時器的處理,比如某玩法中的發牌、搶莊、翻牌等,如果放在客戶端來控制,個人感覺是比較難的,並且在房間的同步上也會存在問題,所以都是放在服務端來做,這個時候就要考慮該用什麼樣的方案來處理大量的定時器呢?我用的是netty實現的時間輪定時器,在

HashedWheelTimer

中實現的,具體的用法可以自行去學習。

關於時間輪定時器

定義一個時鐘週期和步長,當指針每走一步時就獲取當前時鐘刻度上掛載的任務並執行。

關於protobuf

前端用的是lua-protobuf,在git上可以找到,用起來比較方便。還有一個protoc-gen-lua,也可以在git上找到,這個需要自己下載整個項目後編譯,有些麻煩。

後端直接下載官方的java支持就可以使用。

.proto文件一定要按包劃分,不然生成協議文件會過大,影響編碼(打開慢)和性能。

年前是幫朋友公司做這個app,資金有限,所以只招了兩個剛畢業的前端來編寫前端,我寫後端和前端的socket代碼,也一起和前端同學處理他們無法解決的問題,之後因爲公司問題,項目就擱置了,目前基本都做完了,只剩下ipa包沒打出來。

有興趣的朋友可以找我瞭解。

扣扣:七九零六九二八九零

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章