網絡遊戲:爲什麼失敗

        繼互聯網、電子商務、軟件培訓後,網絡遊戲是又一個被炒得過熱的領域。隨着鈔票瘋狂的砸下來,血拼的優勝劣汰進程也就開始了,如果不能走向成熟,就會走向失敗。

        開始的時候依靠的是概念和狂熱,或者爆發或者默默消亡。第二批開始有競爭,但出於搶站市場的慾望,不論輸贏都可以繼續砸錢。第三批就是不理智的stampede,一擁而上,不想被踩死就要跑在最前面。

 

        常見錯誤1:包羅萬象的目標

 

        有遠大的目標是好事,但不是做事的方法。當問到“我們要做的遊戲是什麼”,如果回答如“我們的遊戲將包含遊戲A的所有功能,還有遊戲B裏的新花樣,並且還改進了C系統,增加了獨一無二的D系統,還有……”,那麼這個項目就有這種危險了。如果一個東西什麼都是,那麼它就什麼都不是。在設計如此龐大的體系前,最好先研究一下:

 

        1.         項目的預算有多少

        2.         能允許的最長開發時間是多少

        3.         人員數量和經驗,以及對複雜系統的控制能力

        4.         目標用戶羣是什麼樣的人,他們喜歡玩哪些東西

        5.         競爭對手有哪些,他們的產品的特點

 

        尤其對資金有限的創業公司來說,預算和開發週期是主要制約因素,必須以儘量小的代價去獲取儘量大的成果,盲目開始項目只會讓後期進入進退兩難的境地。

 

        常見錯誤2:顯示引擎就是用來顯示場景

 

        經常能看到有些客戶端的招聘要求裏只有對Direct3D和顯示特效的強調。也就是說,很多人只看到了3D引擎、在3D引擎裏又只看到了模型和特效。但它們只是一小部分,而且並不是最有技術含量的部分。因爲3D技術已經發展了很多年,尤其是硬件發展速度快,硬件廠商巴不得軟件開發人員用上他們提供的所有先進技術,所有的技術都是開放的,都有詳細的文檔和樣例。到今天已經是幾乎每個人都自己寫一套3D引擎的地步,開源的引擎都已經一抓一大把了。

 

        但這並不是說每個3D引擎都一樣,相反它們有很大的差別,一個好的引擎是有很多重要而有技術含量的功能的,而一般個人做的引擎都很簡單,功能甚少,但它仍然可以叫引擎,可以繪製模型和一些特效。需要什麼樣的引擎由遊戲本身的需求決定,也可能很簡單的就夠了,也可能要功能相當完整的。這裏給出個比較完整的顯示引擎功能的單子:

 

        1.         圖元繪製

        2.         模型繪製,最好支持多種模型格式

        3.         模型預覽工具

        4.         給3DSMax、Maya等的模型導出插件

        5.         半透明對象的排序

        6.         動畫(硬動畫、頂點動畫、骨骼動畫)

        7.         貼片功能

        8.         Billboard支持

        9.         Lightmap貼圖

        10.     至少一種繪製影子的技術,如Shadow Volume, Shadow Map或者簡單的投影一個黑圈

        11.     至少一種繪製天空的技術,如SphereMap、CubeMap

        12.     資源滾動裝載(在顯示資源很多時很重要)

        13.     粒子系統,最好是可由腳本編輯的,這樣就不再需要程序員干預製作過程

        14.     對Shader支持和足夠的調試功能

        15.     Unicode的文字繪製

        16.     Scene Graph管理,QuadTree、OctTree或者BSP等

        17.     大場景會用到LOD的功能

        18.     圖層支持

        19.     GUI系統

        20.     資源文件打包支持,最好支持ZIP格式

        21.     性能分析支持,至少包括FPS、每幀三角面數、每幀DrawPrimitive的數量

        22.     室外遊戲會需要Terrain系統的支持

        23.     鏡頭特效,如光暈、震動等

        24.     文檔,包括針對使用引擎的程序員和使用相關工具的美工人員的

 

        可以發現,一個比較完整的3D引擎是個龐大的系統,它的整體架構的好壞就變得很重要。細心的人會注意到這裏沒怎麼提到特效,也就是很多人最關注的問題。事實上,大部分的特效製作源於美工,而程序提供一個基礎的支持,如果等着程序員寫出每個特效,那就只能指望延長工期了。

 

        常見錯誤3:客戶端就是顯示引擎

        顯示引擎只是個基礎層,它不是業務層,而業務層纔是真正的客戶端。好比你有了錘子和釘子,你只是有了工具,釘釘子纔是你要做的事情。客戶端要做的事情如:

 

        1.         處理網絡的數據

        2.         聲音引擎

        3.         維護、預測遊戲世界的一個窗口的狀態,並聰明地進行圖像聲音上的表現

        4.         輸入處理

        5.         GUI系統的交互,想盡各種辦法改進用戶體驗

        6.         遊戲編輯、調試工具

        7.         安裝、在線更新工具

 

        這裏很可能需要把一部分定製的工作交給製作人員,比如GUI界面,因爲他們經常需要調整改善設計,因此,設計可定製的GUI系統會增加一些難度。如果3D引擎裏已經支持則只需要再提供一些遊戲邏輯的接口,否則就要費些心,在這裏提供一套配置方案。

 

        常見錯誤4:直接向最終目標努力

        網絡遊戲是個大工程,不是幾個月就能完成的。早期的設計不可能是完美的。如果直接向最終目標努力,那麼可能到後期遊戲才運行起來,纔會發現問題,但這時已經太晚了,更不用說長時間的看不到效果的工作會讓士氣低落。正確的方法是儘量早的讓遊戲運轉起來,哪怕只能發幾條Hello消息,然後再向裏面加入更多的功能。不要等半年之後底層系統完成之後纔開始搭建遊戲,這時很容易會因發現問題或者需求變化不得不修改底層,如此反覆,拖累甚久。

發佈了6 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章