Survive之前采用的是C+lua的設計方式,其中網關服務器全部由C編寫,其余服務全部是C框架運行lua回調函數的方式編寫游戲邏輯.
鑒於一般的手游對服務器端的壓力不會太大,便將Survive用distri.lua框架重寫了一便,distri.lua天生的支持協程,RPC和數據庫訪問直接使用同步接口實現,大大減少了對回調函數的使用,也使得邏輯代碼的編寫更加清晰和直觀。
首先簡單介紹一下Survive,Survive是我目前開發的手機游戲使用的服務器的開源版本,因為是一個開源框架,所以Survive並不包含太多具體的游戲邏輯.目前Survive只提供以下功能:
- 角色的驗證和創建
- 場景地圖的管理和選擇
- 場景中移動,尋路以及視野同步
- 簡單的背包數據,角色數據和技能
- 一個簡單的測試客戶端和機器人客戶端
- 客戶端斷線重連
整個開源框架非常輕量級,目前全部lua代碼(不包括distri.lua的部分)數量只有2800行左右.
下面帖一些測試客戶端的截屏:
登錄
角色創建
地圖選擇
場景1
場景2
場景3
100個機器人
感興趣的朋友可以關注:Survive