原创 搖一搖加好友功能實現

搖一搖加好友功能       遊戲中的好友系統通常會就有面對面添加好友的功能, 功能具體內容就是輸入相同數字串進行搜索,就能搜索到一定時間內輸入相同數字串的玩家。從理解上看功能描述較爲簡單,但具體的實現過程還是有很多需要注意的地方。   

原创 服務器集羣中代理服的選取與遷移

服務器集羣中代理服的選取與遷移        在服務集羣中,處於減小系統開銷或者訪問受限的情況, 某項功能可能需要在服務端集羣中選擇出一個代理來完成任務,那麼就牽扯到代理服務器的選擇,故障遷移, 數據傳播等問題, 以下爲遊戲中直播數據請求

原创 Python 使用objgraph 定位內存泄露

內存泄露   既然Python中通過引用計數和垃圾回收來管理內存,那麼什麼情況下還會產生內存泄露呢?有兩種情況:   第一是對象被另一個生命週期特別長的對象所引用,比如網絡服務器,可能存在一個全局的單例ConnectionManager,

原创 空間索引之網格與四叉樹

在介紹空間索引之前,先談談什麼叫“索引“。對一個數據集做”索引“,是爲了提高對這個數據集檢索的效率。書的”目錄“就是這本書內容的”索引“,當我們拿到一本新書,想查看感興趣內容的時候,我們會先查看目錄,確定感興趣的內容會在哪些頁裏,直接翻到

原创 視頻彈幕的Python實現

視頻彈幕管理器的實現方法        直播接口提供的彈幕是通過消息的形式發送過來的, 在我們播放器進行展示的時候, 需要實現彈幕的移動與排布。實現的過程中將彈幕進行抽象,最終抽象出了的三個對象,其層次關係如圖:圖1 彈幕管理抽象出的對象

原创 遊戲中AOI視野算法

AOI(Area Of Interest),中文就是感興趣區域。通俗一點說,感興趣區域就是玩家在場景實時看到的區域;也就是AOI會隨着英雄的移動改變而改變。遊戲的AOI算法應該算作遊戲的基礎核心了,許多邏輯都是因爲AOI進出事件驅動的,許

原创 23種設計模式彙總整理

設計模式分爲三大類: 創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。 結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。 行爲型模式,共十一種:策略模式、模板方

原创 數據庫訪問的數據緩存類

數據庫數據緩存類設計       對於需要從數據庫中獲取的數據,如果頻繁的進行數據庫操作,在高併發的情況下會對數據庫造成較大的壓力, 此時可以對每次數據的查詢結果進行緩存,並進行定期的更新,可以有效的解決這個問題。        在遊戲中

原创 Python 多線程與多進程之concurrent.futures

Concurrent.futures 模塊        Python標準庫爲我們提供了threading和multiprocessing模塊編寫相應的多線程/多進程代碼。從Python3.2開始,標準庫爲我們提供了concurrent.

原创 Python 使用 Mongo

Python 使用 Mongo1. 安裝 Pymongo要用 Python 來驅動 mongodb,必須要安裝驅動模塊,即 Pymongo,這跟操作 mysql 類似。安裝方法,我最推薦如下:$ sudo pip install Pymo

原创 Python多進程

multiprocessing模塊 multiprocessing包是Python中的多進程管理包。它與 threading.Thread類似,可以利用multiprocessing.Process對象來創建一個進程。該進程可以允許放在P

原创 Mongo學習筆記

MongoDB 概念解析不管我們學習什麼數據庫都應該學習其中的基礎概念,在mongodb中基本的概念是文檔、集合、數據庫,下面我們挨個介紹。下表將幫助您更容易理解Mongo中的一些概念:SQL術語/概念MongoDB術語/概念解釋/說明d

原创 Python 線程池

線程池          在IBM文檔庫中這樣的一段描寫:“在面向對象編程中,創建和銷燬對象是很費時間的,因爲創建一個對象要獲取內存資源或者其它更多資源。在Java中更是如此,虛擬機將試圖跟蹤每一個對象,以便能夠在對象銷燬後進行垃圾回收。

原创 數據緩衝池

數據緩存池類        遊戲中AI必不可少,爲了營造更加真實的AI需要賦予AI更加真實的數據, 其中最爲矚目的就是名字和匹配時的頭像, 解決的辦法有隨機和名稱庫。顯然這些數據不如採用真實的玩家數據。        使用真實的玩家數據可

原创 遊戲中的物品管理系統

物品管理系統        遊戲中物品管理普遍存在,各類物品的解鎖與默認配置以及切換是物品管理的基本功能, 物品管理還需要支持各種物品的體驗與限時免費,除此之外對於物品的獲取需要記錄日誌系統,對於獲取的量需要進行監控報警, 爲而在客戶端都