當前位置:遊戲中心平台 - 遊戲盒子 - java遊戲服務器開發有前途嗎

java遊戲服務器開發有前途嗎

最近剛跳槽,到新公司已經幹了有兩周時間了,這兩周時間是過得比較充實的,因為這家新公司是個小公司,以前以單機開發為主,服務器方面我壹個人,做兩個遊戲的服務器開發工作,當然,壹個很簡單,另壹個就相對復雜點,簡單的那個是個弱聯網遊戲,服務器只需要做好數據存檔和登錄支付驗證就好了,而另壹個,則是相對復雜的slg遊戲,我感覺這是又壹款cok,而公司目前並不打算再招服務器了,所以估計這個項目我會壹個人幹到明年吧,等第壹款上線賺錢了,可能會再招服務器。老實說,面試的時候,我就覺得這份工作對我而言是壹個挑戰,而當我清楚的了解了公司狀況之後,我依然決定接受這個挑戰。

說說我之前的經歷吧,大四的時候,學校安排來北京培訓java(培訓沒什麽丟臉的,出來找工作我也用的真學歷真背景,不像某峰互聯),之後我去了培訓機構推薦的公司實習,那個時候,工資2k,然而工作也幹得很開心,跟著前輩學到了不少東西,當時是做微信公眾號開發的,我跟著前輩做微信後臺開發,當時使用SpringMVC+MyBatis框架,剛接觸的時候,我自己學了挺久才弄明白,後來弄明白之後想想,其實挺簡單,對於邏輯開發的程序員來說,妳只需要弄懂工作流程就好了,頁面怎麽跳轉,跳轉怎麽傳值,數據怎麽處理,這些足夠了,當然我是個不滿足的人,我會去弄明白,為什麽用這個框架、為什麽不用別的、用這個有什麽好處、如果讓我自己來做這個後臺、我會怎麽搭建?帶著這些問題,我會試著自己搭建壹下後臺框架(雖然前期大部分是復制粘貼)。除了框架部分,微信高級接口也是我研究的重點,我會去官方文檔看看微信是怎麽接入的,然後研究研究前輩的代碼是怎麽寫的,所謂的幹壹行愛壹行大概就是這樣吧,當時我覺得,微信開發,是很有前途的,而我們公司用的框架,也是最先進的(後來看來,確實這個框架組合是當前最流行的框架,而當時,微信公眾號也確實是當時互聯網行業的壹個風口,微信後來把h5帶起來了,導致現在壹個好的h5前端都是供不應求的,薪資很高)。

說了這麽多,為什麽後來又轉行做遊戲了呢?其實是這樣的,當時在第壹家公司,我的上級打算跳槽走了,帶走整個下面的技術,而不帶實習生,有那麽壹兩個月,實習生就壹直閑著沒事做,對於我來說,這樣過著就太無聊了,我喜歡挑戰,於是我投簡歷,重新找了份實習工作,在壹個遊戲公司做java服務器開發,公司挺大的,幾年前憑借壹款slg頁遊稱霸遊戲行業(什麽遊戲我就不說了,說了就知道什麽公司了),後來遊戲行業往手遊發展,這款slg也出了手遊版,這壹款遊戲,幾乎支撐了整個公司,再加上後來出的幾款手遊,公司發展挺好的,我所實習的部門做的是壹款mmorpg手遊,從實習做到了轉正,做了近壹年了,然而這款rpg手遊的數據卻不是太好,第壹次封測次日留存23,第二次26(現在這家公司的遊戲能達到80多次日留存),七日就更不用說了,而我也能感覺到,作為壹款mmo遊戲,玩家之間的交互實在太少,從頭玩下來,我覺得這是壹款單機,失去了mmo的本質,在項目組準備進行第三次封測的時候,我選擇了離開,原因很多,不僅僅因為遊戲數據不好,也有壹些個人原因吧,不過說實話,是這家公司帶我走進了遊戲行業,我很感謝,我覺得遊戲行業是壹個非常有前景的行業,甚至比之前我認為最好的微信開發還要好,遊戲行業非常暴利,在這家公司工作就能感受到,策劃文檔中,充滿了挖坑預留的計費點,這壹塊可以正常玩兒,但妳如果充錢,妳就比別人牛逼。網絡遊戲,最重要的,就是控制好平民玩家跟普通玩家的占比以及遊戲平衡(當意識到公司的遊戲如此處心積慮想要坑錢的時候,我突然明白為什麽公司的遊戲大多被騰訊代理了,為什麽騰訊控股,原來如此,沒錢玩兒妳**,哈哈)。由此也可以看出,遊戲的商業化,已經把遊戲公司帶入了壹個固定的模式——無條件坑錢,我覺得已經失去了遊戲的本質,我看過壹本書,叫《遊戲人生》(當時在cocos2014年開發者大會上買的。覺得挺值的),書已經送人了,但內容我看了壹大半,從遊戲的產生,到玩家的心理,到為什麽需要遊戲,這本書都詮釋的熱別好(我覺得遊戲策劃都應該看看這本書,做良心遊戲,拒絕壹味坑錢)。啊,突然發現這壹段說的有點偏了,說到底,我也只是做遊戲服務器開發的,我也改變不了遊戲行業,我只要做好我做的。其實大的遊戲公司,就應該走這種商業化路線,憑借幾款長生命周期的遊戲,支撐公司流水。

從轉行做遊戲之後,我倒是覺得,遊戲開發比web開發有趣多了,當然技術上也比web難多了,之前發過壹篇討論,web開發何和遊戲開發的區別,/content/wendetail/7082370,我把我的答案再粘貼壹遍(實際上是別人要求我上他的號去回答的,於是我就自己回答了我自己的問題):

1.從第三方支持來說,web後臺有很多成熟的第三方框架,開發者不需要關心底層控制器跳轉的實現,只需要壹個或幾個配置文件,就能完成核心控制器的部分,而開發者只需要關註web自身的業務邏輯,將邏輯與框架融合即可,使用框架壹方面簡化控制層代碼,壹方面很好的實現了業務邏輯的分層。而遊戲後臺開發中,因為各種遊戲的需求差異性很大,從網絡層,到業務邏輯層,各方面都必須根據自己遊戲需求搭建適合自己的框架,因此很難有壹些通用的東西能提煉出來壹款成熟的框架,遊戲後臺開發基本上需要自己搭建適合自己的框架。

2.從業務邏輯層面來說,web後臺基本上邏輯都是大同小異的,或許這壹套系統,稍微改改,另壹套系統就能用,而遊戲就不同了,每個遊戲都有自己的特色,根據策劃的不同需求而實現不同的邏輯,不過也會有壹些通用的模塊,但整體上差異性還是很大的。

3.從數據持久化來說,web的數據基本上是很規整的,表與表之間關系很明確,並且以後也不會有太大的變化,而遊戲中的數據多種多樣,隨著開服之後,數據的變化也是多種多樣,甚至傳統的關系型數據庫根本無法滿足遊戲數據持久化的需求,遊戲中有很多狀態和數據是需要服務器來保存的,我個人認為,在遊戲開發中,nosql比關系型數據庫更實用。

4.從通信層來說,web中的用戶都是壹個個獨立的個體,而遊戲中是多人在線的壹個遊戲世界,在這個遊戲世界中,玩家與玩家之間需要進行交互,這就需要服務器實時的向所有在線玩家進行消息廣播,這壹點很損耗服務器性能的,在這方面,遊戲後臺要比web做更多的處理,遊戲服務器是壹個IO密集的服務器類型。

以上便是我當時的答案,或許我的見解尚淺,畢竟我做遊戲不到壹年,不過對於後臺開發這塊,我還是有壹點話語權的,從實習遊戲開發開始,我便經歷了壹個轉換的過程,幾乎又是壹個從零開始的學習過程,從mina框架到protobuffer,這些東西,我相信web開發很少接觸(mina作為網絡通信框架,web中幾乎只有ty,數據怎麽存儲mysql還是mongo,是否需要緩存redis存什麽,memcached存什麽,緩存什麽數據,數據傳輸用什麽協議,json還是protobuffer,怎麽寫效率高,最高支持多少並發等等,我想這些都是我現在需要考慮的問題,當然這些都需要根據遊戲具體的需求來決定的,最終服務器能否高效穩定的運行,都是取決於我的架構是否高效穩定,所以這個過程我要不斷學習,不斷吸取別人的經驗。剛到新公司的時候,我才體會到,自己寫代碼其實也是壹種挑戰,整個後端我自己壹個人實現,代碼是否規範,數據如何存儲,都是我說了算,我想我的代碼不僅要高效,還要讓別人看得懂,後來的人能接著我的代碼繼續寫下去。

最後說說Java的題外話,語言之爭,從未停過,為什麽有人擁護Java,有人擁護PHP,有人喜歡C#,有人喜歡C++,各個語言各有各的優勢,業余時間,我也了解了不少其他語言,go,node.js我都有了解,我覺得go的語言層面支持協程並發以及node.js的異步,都是很適合遊戲服務器的,我特別看好node.js,異步io真的是對遊戲服務器很好的特性,並且加入對原聲js支持的mongo模塊也是很方便的(上面我有說到,我相信nosql是很適合存儲遊戲數據的)。說到遊戲行業,我認為h5遊戲的發展也是越來越快了,上次白鷺的h5開發者生態大會我去了,白鷺的壹整套工作流程,以及web vr,真的很令人興奮(第壹輪抽獎我還抽了壹個暴風魔鏡,哈哈!),另外,大會的模特挺漂亮,哈哈!2015年,互聯網行業也略呈下降趨勢了,不少創業公司面臨倒閉,泡沫經濟破滅,因為很多老板抓不住當前經濟形勢,以為不管是啥,有個app就是創業了,其實全然不知壹款app後面有多少運營模式、盈利模式,就像壹句諷刺的話,“我有個絕壁好的idea,可以顛覆bat,什麽都不缺,就缺個程序員了,等等,千萬別告訴馬雲!”,哈哈,聽到這句話,當時我就笑了,估計好多倒閉的創業公司老板都這麽想的吧,他們並不能抓住用戶真正的需求,只有抓住用戶真正的需求,才會抓住用戶的心,真正活下來的,才是用戶真正需要的,然而,相對來說,遊戲行業更是復雜多變,或許今天玩家喜歡這種遊戲,明天玩家就喜歡另壹種遊戲了,就像我們永遠也想不到,flappy bird、圍住神經病貓這類的遊戲竟然能活起來,愚公移山竟然也能讓h5遊戲變為付費的可能。就像壹句話,“只要站在風口上,豬也能飛起來!”,只要抓住了玩家此時此刻真正想要的,產品就壹定能做起來。

  • 上一篇:2021年謝師宴餐廳活動方案範文五篇
  • 下一篇:越南戰爭:胡誌明路線的遊戲介紹
  • copyright 2024遊戲中心平台