MMORPG游戲服務(wù)器框架的可行性報告 (提高生產(chǎn)效率)
縱觀游戲服務(wù)器技術(shù)框架, 以運行在Linux操作系統(tǒng)上的居多, 為什么要運行在Linux上呢? 相信很多人會給出肯定的答案, Linux操作系統(tǒng)是開源的,而且是免費的,那叫做專業(yè)!是的,不錯,是專業(yè)。但有一個問題讓我們值得思考的是,雖然是免費的,但Linux工具比較貧乏,在某種程度上大大加在了開發(fā)成本及后期調(diào)試時間,所以我們不得不研究出一種代碼可以運行在Linux,但又要節(jié)省開發(fā)成本,提高生產(chǎn)效率的可行性方案。在Linux上,古老的Linux C程序員一般會采用一個文本編輯工具,比如:VI等,由于我以前是在windows下生活的,對VS.net這一類的工具頗為喜愛,它的開發(fā)方便快捷,又有開發(fā)輔助插件的支持,使你可以盡情使用智能提示,快捷鍵,代碼模板等高效生產(chǎn)代碼。可以說編碼更多的是依靠可視化工具查錯,快速跳轉(zhuǎn)代碼等。反正我的意思就是開發(fā)相當(dāng)愉悅。但Linux下的C程序員則不然,我也曾經(jīng)問過他們?yōu)槭裁匆捎肰I等編輯工具來編代碼,首先,他們給到我的第一答案是"專業(yè)", 其實我也不太懂他們說的專業(yè)是什么,是傳統(tǒng)意義上的,還是習(xí)慣性必須的;然后他們說:“使用makefile文件來編譯代碼很爽,速度很快”,這一點我是贊同的,但有個問題是程序員的入門門檻比較高,要求大家都要會這東西,還是麻煩,從HR招聘處可以看到,本來投C++程序員的人就比較少了,因為C++應(yīng)用的領(lǐng)域基礎(chǔ)是應(yīng)用軟件,游戲啊,電信啊,還是一些MFC界面性的東西,而且要求功底比較好,確實有時候招人還是挺難的,更不用說還要有Linux開發(fā)經(jīng)驗的人了。最后,我問了linux開發(fā)不員說那你們的調(diào)試用什么工具,他們說:“gdb”, 又是一個"手打牛肉丸",自我感覺很痛苦,心里想“為什么有那么先進(jìn)的工具,比方說:Eclipse CDT, 你們不用呢?”,其實他們心中也是有答案的,“編碼要養(yǎng)成一種好習(xí)慣,而不是依靠于某種工具”,顯然Linux程序員在編碼上大體要比windows上的程序員來得嚴(yán)格,也感覺到他們的代碼比較有質(zhì)量。但很顯然的,由于開發(fā)環(huán)境的布署比較麻煩,對于大規(guī)模生產(chǎn)是否能夠每個人都有那么高素質(zhì)的編程能力,那就是個"謎"!------ “猜不準(zhǔn)!”
針對上面的情況,我也自己分析了一下,軟件開發(fā)的三大要素是什么,成本,質(zhì)量,進(jìn)度, 只有這三項東西控制得好,那才能控制好項目。
那軟件編程的基礎(chǔ)是什么? 當(dāng)然是調(diào)用操作系統(tǒng)的API了,很顯然的, 不同操作系統(tǒng)有不同的API,除非你有一個跨平臺的開發(fā)框架,或者叫類庫也行。
接下來軟件架構(gòu)在不同領(lǐng)域是否通用?比方說:通信框架,很顯然的,還是有區(qū)別的,比方說電信系統(tǒng)與游戲系統(tǒng),那顯然還是不一樣的。
最后,軟件編碼與接口(API)是不是應(yīng)該更多人常用的,而且容易上手的(友好第一!),這樣才可以減少開發(fā)成本及協(xié)調(diào)工作。
總結(jié)一下,我心中已有答案了,必須采用一種大多數(shù)程序員可以接受的,而且是他們熟悉的(不要DIY的),而且開發(fā)速度快速的開發(fā)方式那才是真道理。
以下是我的基本方案:
一、 跨平臺框架的基礎(chǔ)設(shè)施 (組件圖)
1. MySQL數(shù)據(jù)庫操作組件
2. 線程池 及 讀寫鎖
3. 基礎(chǔ)數(shù)據(jù)類型,容器,內(nèi)存池,環(huán)形緩沖區(qū)
4. IOCP及Epoll跨平臺的面向?qū)ο笸ㄐ趴蚣?/span>
5. 集成LuaTinker腳本交互模塊等
二、 開發(fā)方式與調(diào)試環(huán)境
本框架的初步設(shè)想是前期在Windows下使用VS.net 2008進(jìn)行開發(fā)調(diào)試,爭取在Windows下解決80%左右的邏輯錯誤。之后由主程序員把代碼移植到Linux,并使用Eclipse CDT可視化開發(fā)環(huán)境進(jìn)行后期的調(diào)試工作。這樣也大大降低招聘人員的知識要求(不用懂Linux),在某一程度降低了人員成本和加快了開發(fā)效率。
posted on 2010-07-09 02:45 RedLight 閱讀(1587) 評論(2) 編輯 收藏 引用 所屬分類: 系統(tǒng)架構(gòu)設(shè)計