有位朋友問起,我就順便總結一下好了。個人知識有限,有謬誤歡迎指正。
本人一直從事的服務端相關的工作,對前端只能說是耳聞目染。
參與的項目主要是頁游和手游。
從程序開發角度講起,程序一般常分為前端程序和后端程序。
一.前端
前端就是指玩家所使用的客戶端,主要包括處理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.aygfsteel.com/rockblue1988/archive/2015/03/10/423328.html