主要是一些基礎的常識,比如資源消耗,數據庫讀寫等!
資源消耗主要有以下三個部分:服務器消耗,客戶端消耗和工作量的消耗。
1)服務器方面的消耗:
1.數據庫的消耗:cpu的運行是以us為單位的速度運行的,而數據據的運行速度是以us的1000倍的ms為單位運行的。所以頻繁的數據庫查詢將帶來巨大的數據庫消耗,影響遊戲服務質量。這也是服務器消耗中最大的一塊消耗。
2.Cpu消耗
3.網絡消息消耗:主要是體現在人多動作雜的玩家聚集地,會出現卡的現象。所以在策劃案設計時要對人群進行適當的分流。
2)客戶端方面的消耗:
1.圖片加載:遊戲畫面需要大量的圖形表現,所以圖片數據的加載對客戶端來說是很重要的一部分消耗。如果採用多重背景,並且有大型的必須整個加載的圖片動畫,對於客戶端來說消耗量是很大的,必須由策劃權衡後決定是否採用。
2.Cpu消耗:這部分也主要是和圖片的加載相關的,和cpu消耗相關在2d遊戲中主要是圖片的層數和圖片像素問題,3d遊戲則是多邊形(主要是三角形)的數量問題。所以在這方面策劃也要做相關的權衡。在遊戲畫面質量與遊戲消耗之間做一個適當的取捨。
3.內存量:目前公司的遊戲是基本於市場最低配置來設置,所以內存也是必須考慮的一個問題。
3)工作量方面:
程序員也可能會由於工作量方面的原因拒絕策劃的策劃案,因為有部分功能可能對於遊戲的總體來說並不是非常重要,但是程序員進行實現的話需要花費大量的時間。所以策劃在向程序員提交相關的策劃案時,必須明確此次的策劃案在遊戲中的重要性,如果不是非常重要的案子,卻需要比較多的程序工作量的話,可以建議對策劃案進行修改,縮減,甚至是放棄。
數據庫的讀寫原理
1.遊戲時啟動的數據庫數寫。遊戲啟動時,會讀取部分玩家必須用到的信息,比如地圖,物品類型,怪物等。需要加載大量的數據,以便玩家進入遊戲後調用。但是遊戲啟動時也不是無限製作的進行數據的加載的,其加載的數據量不能大於內存的大小。
2.登錄時的數據讀寫。玩家登錄時將從數據庫讀取玩家相關的資料,如玩家屬性,玩家身上裝備,玩家寵物,玩家好友,玩家社會關係等相關數據。
3.即時加載。主要包括動態動圖與玩家倉庫。由於這部分資料玩家並不是每次都會使用到的,所以採用即時加載的方式,只有玩家用到相關的東西時候才進行加載。動態動圖一般包括玩家家庭,幫派地圖,這些都是玩家在遊戲中創作的東西。倉庫則主要是玩家倉庫中的物品查詢。 (×相關建議:可以把提取金錢與提取倉庫物品分開操作,減少即時加載的使用頻率。)如果單個玩家對數據庫操作過多,時間過長,會影響其他玩家的服務效率,造成卡機現象。
4.數據庫同步。部分系統或者是功能需要進行與數據庫的同步,才能避免造成相關的錯誤。如堂主的任命,只有即時的讀取相關的信息才能正確的處理相關的問題。
消息同步的原理
1.客戶端主動。客戶端主動是指客戶端先執行玩家操作命令,服務器稍後進行相關的驗證。它的特點是響應速度快,但是如果客戶端先執行的是非法操作的話,則服務器會進行糾正。它主要運用於走路,跑步等方面。
2.服務器主動。服務器主動是指服務器對客戶端發送相關的指令後,客戶端才進行相關的響應。它的特點是消息準確,但是響應速度較慢。通常是通過在客戶端製造假象來彌補延時造成的等待。它主要運用於pk等。
3.數據的推送和查詢。數據的推送主要是服務器已經下達了消息,客戶端只是做相關的顯示。像以前的幻靈,人物的信息都是服務器那邊下達的信息,只要用鼠標點到,就可以顯示玩家的屬性,這時即使不使用鼠標點到,這些信息也都已經傳達下來。推送的特點是顯示信息量大,但是網絡消息多,cpu消耗大。查詢指的是客戶端發送查詢請求交由服務器處理,服務器反饋相關的信息給客戶端的過程。比如征服的幫派查詢,點擊按鈕,對數據庫進行查詢。查詢的特點是可以減少消息量的廣播,但是會有少量的延時。
廣播機制
1.全地圖廣播。也就是說不管此時玩家做移屏,縮屏,還是小地圖中,都可以了解所有的信息,包括玩家的信息,怪物信息,地圖信息等。幻靈就是採取這樣的方式,它的特點是消息量大,詳細,但是也是由於消息量較大,所以切屏時加載的信息量大,造成延時。另外一方面也就決定了這樣的區域廣播不太適應於大地圖的廣播。
2.區域廣播。不加對全地圖的進行消息廣播,只對部分區域的進行消息廣播,這樣能大大減少了消息量。但是它的缺點就是消息量不夠詳細,不夠多。 (×相關建議:可以把二種模式結合起來,區分玩家信息與地圖怪物信息,區域廣播部分加入全地圖的其他信息。)
遊戲網誌:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系