有位朋友問起,我就順便總結一下好了。個人知識有限,有謬誤歡迎指正。本人一直從事的服務端相關的工作,對前端只能說是耳聞目染。參與的項目主要是頁游和手游。從程序開發角度講起,程序一般常分為前端程序和后端程序。一.前端前端就是指玩家所使用的客戶端,主要包括處理UI事件和向服務端發送請求。頁游主流的技術有ActionScript及新興的Unity框架,由html5和JavaScript做的小游戲也不少。手游上現在比較火的框架就是cocos2d-x和Unity 3D,cocos2d-x 是開源的,Unity 對開發者收費。兩者都支持多平臺,就是說一次開發,ios、android等平臺都可以生成相應代碼。我自己只稍微玩過一點cocos2d-x,主要用的語言是C++,也可以跟Lua混合使用。Unity平臺則支持C#、Boo、JavaScript、Lua,我沒玩過,不發表評論。2者現在都很火,行情都還不錯。最近比較大的新聞,就是Unreal Engine虛幻引擎宣布開發者免費,感興趣的可以自行google下。二.后端通常所說的后端,常指的客戶端發送請求的接收和處理者。語言的選擇就很多了,Java、C++、Python、PHP等等。端游等對實時性能要求比較高的場合,一般會選擇C++,與之相應的開發成本更高。相對來講,手游頁游選其它語言的就很多了。一般根據對實時性的要求,來選擇合適的通信方式,長連接或短連接,以及合適的通訊協議如http、protobuf、amf3,及自定義協議等。大多數時間,你主要的工作在定義協議、寫游戲邏輯然后與客戶端聯調。另外,服務端一個重要的工作就是負責數據的存儲,mysql數據庫是一個很常見的選擇,還有這幾年興起的各種Nosql數據庫,其中尤其是redis(有人說它不是數據庫),用的越來越多。最后,對于日志的處理,也是至關重要的。常用到的框架有log4j以及logback。簡單粗暴點的,你可以另外開線程,直接丟入數據庫,精細點的可以先寫log文件,然后用腳本解析,轉發到日志服務器然后再存入數據庫。如果是放mysql數據庫,記得把二進制日志關掉,不然沒跑幾天硬盤就爆了。工作內容上,除了上述事務,經常需要你做的事情還有:其一,各種游戲平臺的SDK對接,頁游如騰訊、360、37wan,手游如蘋果官方、谷歌官方以及各種大小平臺;其二,制作游戲測試工具,GM命令等;其三,開發供運維人員使用的WEB版本的游戲管理平臺。小規模的公司,你可能啥都要做,人力配置稍微寬松的公司,這些工作往往會區分開來。架構上來說,大型游戲的服務端,會分成登錄服、邏輯服、數據存儲服、日志服、GM管理服甚至更復雜。一般服務器承載量不高的情況下,單進程的登錄-邏輯-數據的架構也很常見。從團隊結構角度講,常見的職位分配:
1.策劃類:主策劃、關卡策劃、數值策劃、劇本策劃2.美術類:主美、UI、3D建模、動作、特效、場景、原畫3.程序類:后端、前端4.其它:商務、運營、維護、QA一個大規模團隊里往往美術是最多的,現在是看臉的時代,囧RZ!好的美術都是用錢砸的。小團隊來說,自然就是需要各種身兼數職的牛人。策劃?一個就夠了,前端?策劃也能兼,后端?一個就夠了運維?后端也能干美術?不好搞就外包吧這個世界上永遠不缺少一個人搞定以上所有事情的大牛。答博友問:我們當時的團隊是,策劃兼前端,共3前端,后期只剩倆了,后端,前期倆,后期只剩我一個,還有一位特效,美術外包。答畢。該休息了
在此申明,轉載——請注明出處。來自:http://www.tkk7.com/rockblue1988/archive/2015/03/10/423328.html
posted on 2015-03-10 02:05
Jimi 閱讀(4175)
評論(3) 編輯 收藏 所屬分類:
生活隨筆