關於MMORPG遊戲開發中配置資料的一些思考

      MMORPG遊戲在開發中會涉及到大量的配置資料,這些配置資料有如下幾個特徵:      1)配置資料在伺服器啟動時進行初始化載入;      2)配置資料會經常變更,一些重要模組的配置資料幾乎每個小版本都會有修改,如:技能系統、任務系統等;      3)錯誤的配置資料往往會引發程式許多意想不到的Bug;      4)各個模組的配置資料累加起來紛繁雜多,而這些配置資料一般是由策劃同事來添加和修改的,實際工作中經常容易配錯;     

gtest試用初感

      昨天就說著要應用一下gtest,今天上班歸來,就在網上找一些有關使用的資料,總體評論都很不錯。於是乎,說幹就幹,馬上去官網(這可是google支援的開源項目啊,可惜google馬上就要離開中國了,默哀一下!)下一個最新1.4版的,在suse linux下依照configure、make、make install等步驟操作後安裝搞定。立馬寫了一個小小測試案例,運行,OK!     

進程結束new出的記憶體會回收嗎?

      今天偵錯工具,弄得有點糾結。無意間,和一幫同事討論起一個問題:進程結束作業系統會回收new的記憶體嗎?在自己的印象中,一直固執地認為,在使用C++操作指派至記憶體後,如果程式員自己不用相應的delete操作回收的話,這塊從堆記憶體是一直存在。在討論中,有同事提醒說,在進程結束後,new操作的記憶體會被回收。但也只是結論,也說不出具體理由。      沒關係,何不google一下,一查下去,答案已是清晰:     

《程式員的職業素養》讀書筆記

        書籍地址:http://book.douban.com/subject/11614538/             一句話點評該書:Bob大叔的職業生涯經驗總結,現身說法,可信可敬!   

思考遊戲伺服器的tick機制

      遊戲伺服器程式內部都會統一設計所謂的tick機制,這個機制一般來說有兩個用途,一是許多業務模組都會有定時處理的需求,如:技能Buff計時、時間道具檢查、定時給玩家收益(打坐定時回血和藍,跳舞定時回經驗等)等等;二是遊戲伺服器內部會有一些日常主動驅動的事件,如:怪物移動、玩家移動等,這些需求都需要用到這個tick處理,誇張一點說,遊戲伺服器商務邏輯的處理絕大部分都會有涉及到tick處理的需求。     

遊戲伺服器程式的效能思考

      今天看到做的項目(具體來說是伺服器程式)被測試組同事做完壓力測試後的郵件,有一些感觸。      對於一個伺服器程式來說,效能指標無非有CPU負載、記憶體消耗、I/O回寫壓力、網路包的流量等,目前測試組的測試都是在公司內網來做的,所以,網路包的流量不是瓶頸,但從測試的結果來說,這塊恰好是我們的短板。我在想,有幾個地方可能是我們可以最佳化的地方:   

samba伺服器一些筆記

如果想要共用檔案,在 Linux 對 Linux 的環境下,最簡單的方法就是透過 NIS (網路資訊服務——NIS) (Network Information Service) 是集中控制幾個系統管理資料庫的網路用品。)這玩意兒了!至於Windows 對 Windows 的環境下,最簡單的方法則是網路位置。那如果你的區網中有 Windows也有 Linux 而且想要共用檔案系統的話,那該怎辦? 那就使用 Samba 伺服器吧!Samba 可以讓 Linux,加入 Windows 的網路位置支援,

資料結構::鏈表::約瑟夫環問題

這是我遇到的第一個真正的演算法,資料結構應用問題。這也是老大問了我這問題很多天后,我才恍然,原來這叫約瑟夫環問題。這是我尋找鏈表時,發現的。長話短說,說說這上午的總結。約瑟夫環問題主要分兩種,    第一種問題的描述是:N個人按順時針圍成一個圈,從1到N,然後報數,報到M的人就出去,然後剩餘的人仍然圍成一個圈,從出局的人下一個人開始重新報數,到M的人出局,如此迴圈。   

lua學習:lua環境搭建

Lua除了是一門擴充的言語外,還是一門“膠水語言”。最著名的就是作為遊戲的指令碼開發。這裡主要說lua怎樣與c互動。Lua和c語言通訊的主要方法是一個無所不在的虛擬棧。幾乎所有的API調用都會操作這個棧上的值。所有的資料交換,無論是Lua到C語言或C語言到Lua都通過這個棧來完成。棧可以解決Lua和C語言之間存在的兩大差異,第一種差異是Lua使用垃圾收集,而C語言要求顯式地釋放記憶體;第二種是Lua使用動態類型,而C語言使用靜態類型。下載好Lua源碼,可以選擇在不同的平台編譯,編譯也很簡單,下面

當別人反駁你的時候

      當別人反駁你的時候,你不要心跳加速,也不要不由自主的激動,不要急著去爭辯,而是先要告訴自己:冷靜,小夥子!然後,仔細的聆聽他的反駁意見,無論對錯,無論有益與否,姑且聽之!這是尊重他人的批評意見。尤其這個人是你的上級,更應如此!一般情況下,沒有人會無緣無故反駁另一個人的,他反駁的時候,一定是掌握了某方面的證據,或者是他個人的思考,無論如何,都是集思廣益之道!      請你放下任何其它的顧慮!要的是你的胸襟開闊!要的是你善於學習他人之長!

遊戲馬上技術封測了,姑且閑聊之… …

      項目馬上就要進入技術封測了,這陣子加班也成了家常便飯,每天都是進行到淩晨1、2點,每天出一個版本,我知道這種工作方式是有待商榷的,雖然,明知道疲勞作戰效率低下;雖然,明知道過度加班會導致Bug叢生;可目前似乎也就只能這樣了。作為一名戰士,首先你得服從。      午飯時,碰到了一位web

《Lua遊戲開發實踐指南》讀後感

      書籍地址:http://book.douban.com/subject/20392269/       

awk學習精要

1. awk語言的最準系統是在檔案或字串中基於指定規則來分解抽取資訊,也可以基於指定的規則來輸出資料。完整的awk指令碼通常用來格式化文字檔中的資訊。2. 三種方式調用awk1) awk [opion] 'awk_script' input_file1 [input_file2 ...] awk的常用選項option有:① -F fs : 使用fs作為輸入記錄的欄位分隔符號,如果省略該選項,wak使用環境變數IFS的值。② -f filename :

這是一個好兆頭

      雙休歸來,又是新一周的開始。      早知道,今天淩晨有皇馬的比賽的,但自從冠軍杯意外出局,在那個讓人無比失望的淩晨,我就跟女友說,這個賽季我再也不看皇馬的比賽了(還多虧心愛的女友陪我一起看球,真TNND太不給面子了!)。看體育新聞,看到皇馬贏球了,在客場4:1大勝,這多少能給我些許安慰,看到伊瓜因帽子戲法,又不禁為這小子能從逆境中知恥而後勇的精神而折服。希望這個賽季唯一的聯賽冠軍不要再旁落了,加油吧!C羅,卡卡,伊瓜因...

GAE部署時urllib2.py錯誤解決辦法

Google App Engine Launcher出問題,點擊 Deploy 後卻發現不能正常工作啦,囧啊,報的錯誤如下: 2010-06-16 16:32:27,427 ERROR appcfg.py:1568 An unexpected error occurred. Aborting. Traceback (most recent call last):  File "C:/Program

讀書與看代碼

      有一段時間沒有在Blog寫點東東了,可是,這段時間卻一直在看項目代碼和讀專業方面的書籍。也輸出了不少讀書和看代碼的心得,這種感覺其實是挺充實的。      讀書,應該成為一種習慣。而且,是一個受益終生的好習慣。近期在看的兩本專業類書籍《軟體隨想錄》和《0Bug--C/C++商用工程這道》,書已讀了大半,一路讀來,就十分有趣。曾經對自己說,如果有一天,能把枯燥、苦澀、難懂的專業書籍,當成小說,不但能從中擷取專業技術,而且讀的過程還很有趣,那麼,這就不僅僅單純是一種充電的行為,而且是一種

cocos2d-x 2.x適應多平台多解析度的方案

Cocos2d-x從2.0開始支援多平台多解析度,但無論是從官方的介紹還是官方的demo都介紹得比較模糊,其中只提到使用CCFileUtils::sharedFileUtils()->setResourceDirectory()CCEGLView::sharedOpenGLView()->setDesignResolutionSize()這兩個方法來控制。但我感覺通常情況下,Demo裡所展示的代碼並不能滿足大部分開發人員的要求。例如拿一個RPG的遊戲來舉例,一般是地圖是全螢幕顯示,然

Numerical Example of K-Means Clustering

The basic step of k-means clustering is simple. In the beginning we determine number of cluster K and we assume the centroid or center of these clusters. We can take any random objects as the initial centroids or the first K objects in sequence can

DNP遙控問題

今天在山東的一個供電局用DNP規約通下面的配網,遙控一直遙不了,有返校但是執行不了,老報沒有接受到select報文。 我發的選擇報文如下(16進位): xx xx            03(選擇)  0c 01 17 01 01 03(合) 01 00 00 00 00 00 00 00 00 00 收到返校 xx xx  a0 00  03(選擇)  0c 01 17 01 01 03(合) 01 00 00 00 00 00 00 00 00 00(00 表示返校成功)  發執行: xx

常用的測試方法

1. 黑箱測試     黑箱測試顧名思義就是將被測系統看成一個黑盒,從外界取得輸入,然後再輸出。整個測試基於需求文檔,看是否能滿足需求文檔中的所有要求。黑箱測試要求測試者在測試時不能使用與被測系統內部結構相關的知識或經驗,它適用於對系統的功能進行測試。    黑箱測試的優點有:     1)比較簡單,不需要瞭解程式內部的代碼及實現;     2)與軟體的內部實現無關;     3)從使用者角度出發,能很容易的知道使用者會用到哪些功能,會遇到哪些問題;    

總頁數: 61357 1 .... 7835 7836 7837 7838 7839 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.