客戶端負責表現、服務器端負責數據。
以掉血為例:
一、玩家A砍了B一刀
二、服務器計算傷害,修改B的血量
三、把B的血量發給B,A砍B的動作發給所有能看到的玩家
四、客戶端播放掉血量(如果允許可見),播放動作
以抽卡為例:
一、客戶端發起抽卡請求
二、服務器端根據此玩家的消費、等級等隨機產生一張卡牌
三、服務器把結果發給客戶端
四、客戶端播放抽卡動畫,然后出結果。
如何防外掛:
一、關鍵的計算,放在服務器
二、服務器做足驗證,超出正常人為水平就理解為外掛
三、有些只能在客戶端計算,可以進行代碼混淆、資源加密
語言選擇
一、技術線路的選擇,和需求、偏好、能力都有關
二、客戶端受限於引擎,Cocos(C++,Lua,JS),Unity(C#,Lua),UE4(C++,藍圖)
三、服務器可選方案更多:C++、Python、Java、PHP