二十二章 功能取舍
迴到2000年做遊戲 作者:曾啟動 投票推薦 加入書簽 留言反饋
功能取舍
遊戲開發中,程序員總會遇到這樣的問題:是不是硬著寫?
最早開發遊戲,都是由程序員進行,那時候遊戲相對簡單,一個人寫代碼就可以了,可以說早年的遊戲都是硬著寫的。
比如怎麽讀取資源,怎樣控製角色,怎樣對話,都是程序員自己寫的。
一個人開發的遊戲都是如此。這樣從程序寫代碼,實現遊戲玩法角度是最快的。
缺點是遊戲哪怕有輕微的調整,有一絲的修改,都要程序員來協助。小的遊戲還好,項目規模一大,往往就會失控,而這時候,即使別的程序員想去幫忙,也無從下手。
相對規模的遊戲,務必要做到邏輯,功能,資源互相分開。
硬寫的遊戲代碼。策劃想改一句對白,改一個人物站立的位置,都需要程序來協助。對於一個遊戲來說,這種調整和優化是時時刻刻都要做的。
極端的情況這個單幹的程序生病罷工,情緒不佳,乃至消失,連能接著他幹活的人都沒有,很多時候這個項目就會廢掉。
硬寫會產生很多弊端,行業內開發遊戲還是免不了這樣的事情。
主要原因是兩個,第一是工期:這個做任何軟件工程或者商務工程的人都明白,對外宣傳已經開啟了,而產品必須按時推出跟上市場的節奏。
最出名的案例就是雅利達的《et外星人》,為了趕上電影的熱度,這款遊戲的開發時間隻有幾周,最終這個暢銷後大規模退貨的產品摧毀了雅利達和那一代遊戲產業,上百萬個遊戲卡被填埋在新墨西哥的沙漠中。
還有國內著名的兩款遊戲《血獅》和《江湖》。
《血獅》在連demo都沒有的情況下開始了非常宣傳,沒有經驗的開發人員低估了開發的難度(主要是c&c這種即時戰略的ai),而上市的時間不能一拖再拖,有一批光盤甚至沒有印刷就被經銷商拿走,迫不得已舉行的首發式,玩家甚至擠破了聯邦軟件的玻璃門。硬寫趕工的遊戲甚至沒有可能出一個較為完善的版本。
另一個前一年上演的例子,深圳金智塔的《江湖》(這個在第三幕中有較多的介紹,此處簡述),主要原因是開發過半時,製作人離職,公司現金流斷了,幾乎倒閉,最後在極短的時間內完成遊戲,撲向市場帶來了收入。據當時看到第一版客戶端光盤的內容,第一張遊戲隻有一個可執行文字和一個運行庫,其他都是各種美術音樂文件,第二張光盤則是告知玩家把所有的文件拷貝到安裝布魯下,這就是程序強行寫就的遊戲,bug連篇。
另外一種硬寫的情況,貫穿行業始終,那就是為了合成版本來應付。
應付的對象是老板,投資商,客戶等等。
遊戲的開發是有階段的,好比拍電影的時候,並不是按照電影的播出順序去拍鏡頭,而是分成各個小組,分頭去拍攝。如果隨時看一個段落是可以,看類似於最終的成片效果,那是絕不可能的。
對於遊戲也是如此,不可能隨時看到一個可運行的階段,而必須要看的時候,就要填寫很多臨時資料,很多臨時代碼,暫時對付看一下。等看完之後,還要拆掉這些臨時的東西,在有些大公司,差不多四分之一的時間都要花費在這裏。
吳導說硬寫的意思是:如果想在二十號完成這個能給人看的版本,勢必要寫一些臨時性的代碼,而這些代碼注定會浪費掉!
這時候就是需要製作人做抉擇的時候了,究竟哪一部分可以在未來犧牲掉,哪一部分必須要寫的靈活,方便以後製作。
如果把遊戲製作當做一段長長的流程,那麽每時每刻做的就是決斷。
曾啟分析,這是一款以劇情推進的迴合製戰鬥遊戲,要以劇情為主的,電視劇假設有47集,那麽應對電視劇做的營銷,勢必考慮做47個章節的關卡,假設每個掛機點有20-30個掛機點,總共要做的掛機點要超過1000個,這些掛機點根據策劃初步設計,需要對話,動作,或者切換到戰鬥,都要手動進行編輯,這個將是未來很大的工作量,所以這個勢必不能硬寫。
曾啟要求程序關於掛機點和關卡的製作務必模塊化,這個意思是。策劃可以用習慣的excel根據格式來編寫關卡,對話(幾十集電視劇對話的文本要按照序列使用),劇情(劇情包括調用指定的npc,走位,動作,如說完轉身還是原地不動等等),這個工作,策劃需要根據畫麵,視覺效果來反複調整,所以一定要能方便的工作。
(著名的遊戲製作書籍《遊戲編程精粹》中特別強調一點,編程的歸編程,設計的歸設計,程序把功能設計的便於策劃工作即可,千萬不要自己做微調)
既然確定了劇情表現要模塊化製作,那麽勢必要決定對另一處模塊做刪減。曾啟的決定是戰鬥,理由是,我們的演示版本是給影視出品方看的,他們看重的是什麽,是劇情的表現而不是戰鬥!
曾啟告訴吳導和程序部門,戰鬥可以套用簡單的表現,隻要能完成多人對多人(5v5)的迴合製戰鬥,你來我往的打一架就可以,要求僅僅是展示,可以硬寫。這個硬寫表示:任何一次戰鬥,玩家和四個助手的生命都是500,攻擊力都是100;任何一次戰鬥,五個對手的生命是150、150、200、200、200,攻擊力為80。攻擊力就是傷害值,然後按照排列順序互相格鬥,玩家的角色每次打敵人100點血,敵人打玩家80點血,玩家打敵人2-3迴合打死,這種差距導致玩家一定能獲勝。
既然玩家肯定獲勝,那麽就能順利的把關卡推下去。
計算工作量,對於一個有足夠經驗和模塊的程序員,隻需要二天就能寫完這場戰鬥,這是寫死的,無論調整敵人的生命還是我方技能的效果,都需要程序一行行代碼的修改。
如果真正完成一場迴合製戰鬥(指的是類似於仙劍1代那種迴合製),即允許策劃配置敵我,調用戰鬥公式,使用技能,達到各種效果的話,至少是一個月(如果是網絡配合組隊式迴合製,則至少兩個月)。麵對二十天後必須拿出來的版本,隻能采用這場臨時的戰鬥玩法才能做到。
臨時寫的戰鬥代碼,以後會怎麽樣呢?肯定的說,實際製作戰鬥的時候勢必全部廢掉,這也是遊戲研發過程常常強調的取舍,從來沒有充分的時間,充足的資源和無限的人力,所有的遊戲製作都是在有限的時間,有限的人力和技術條件下完成的。好比這個影視劇的項目,由於前麵已經浪費了近半年,那麽要麽做出來,要麽放棄,魏總選擇的是前者,曾啟也選擇的是前者,時間越緊張,就越要懂得取舍。
所以當曾啟和程序們討論完1月20日的版本計劃後,就召集老金和美術,自己手下的策劃小彬和文案小琳,製定後麵的工作計劃。
一個遊戲項目研發前期,程序和策劃是分開工作的,程序去搭建整個遊戲的框架,策劃去製定遊戲長遠的規則,美術則是去製作早期的設定,還有替程序來製作測試的樣品。這包括,根據電視劇提供的定妝照來做三個3d的q版人物,狄仁傑和武則天和李元芳。根據一些電視劇的劇照,從1993年開始的劉威、林芳兵版《唐明皇》,劉曉慶、陳寶國版的《武則天》,和陳紅趙文瑄,周迅版《大明宮詞》以及聶遠、沈傲君、唐國強、秦嵐的《大唐情史》,直到2003年今年賈乃亮,馬蘇的《大唐歌飛》來做場景圖片。這一串dvd碟片看的曾啟和相關的檔案,看得曾啟頭大。總結起來,自己似乎可以寫一部《從1993開始》,講述角色參加拍攝這些唐代電視劇的故事,說不定還可以和唐國強先生拍一些廣告呢,開開挖掘機呢?
總之,預計程序會在兩周後,也就是1月14日提交第一個版本,然後大家坐在一起,把美術整合進去,再進行一番包裝就可以做出版本。
當然,這是理想的情況。
遊戲開發從來沒有出現過理想的情況,古今中外,從來沒有!
fpzw
遊戲開發中,程序員總會遇到這樣的問題:是不是硬著寫?
最早開發遊戲,都是由程序員進行,那時候遊戲相對簡單,一個人寫代碼就可以了,可以說早年的遊戲都是硬著寫的。
比如怎麽讀取資源,怎樣控製角色,怎樣對話,都是程序員自己寫的。
一個人開發的遊戲都是如此。這樣從程序寫代碼,實現遊戲玩法角度是最快的。
缺點是遊戲哪怕有輕微的調整,有一絲的修改,都要程序員來協助。小的遊戲還好,項目規模一大,往往就會失控,而這時候,即使別的程序員想去幫忙,也無從下手。
相對規模的遊戲,務必要做到邏輯,功能,資源互相分開。
硬寫的遊戲代碼。策劃想改一句對白,改一個人物站立的位置,都需要程序來協助。對於一個遊戲來說,這種調整和優化是時時刻刻都要做的。
極端的情況這個單幹的程序生病罷工,情緒不佳,乃至消失,連能接著他幹活的人都沒有,很多時候這個項目就會廢掉。
硬寫會產生很多弊端,行業內開發遊戲還是免不了這樣的事情。
主要原因是兩個,第一是工期:這個做任何軟件工程或者商務工程的人都明白,對外宣傳已經開啟了,而產品必須按時推出跟上市場的節奏。
最出名的案例就是雅利達的《et外星人》,為了趕上電影的熱度,這款遊戲的開發時間隻有幾周,最終這個暢銷後大規模退貨的產品摧毀了雅利達和那一代遊戲產業,上百萬個遊戲卡被填埋在新墨西哥的沙漠中。
還有國內著名的兩款遊戲《血獅》和《江湖》。
《血獅》在連demo都沒有的情況下開始了非常宣傳,沒有經驗的開發人員低估了開發的難度(主要是c&c這種即時戰略的ai),而上市的時間不能一拖再拖,有一批光盤甚至沒有印刷就被經銷商拿走,迫不得已舉行的首發式,玩家甚至擠破了聯邦軟件的玻璃門。硬寫趕工的遊戲甚至沒有可能出一個較為完善的版本。
另一個前一年上演的例子,深圳金智塔的《江湖》(這個在第三幕中有較多的介紹,此處簡述),主要原因是開發過半時,製作人離職,公司現金流斷了,幾乎倒閉,最後在極短的時間內完成遊戲,撲向市場帶來了收入。據當時看到第一版客戶端光盤的內容,第一張遊戲隻有一個可執行文字和一個運行庫,其他都是各種美術音樂文件,第二張光盤則是告知玩家把所有的文件拷貝到安裝布魯下,這就是程序強行寫就的遊戲,bug連篇。
另外一種硬寫的情況,貫穿行業始終,那就是為了合成版本來應付。
應付的對象是老板,投資商,客戶等等。
遊戲的開發是有階段的,好比拍電影的時候,並不是按照電影的播出順序去拍鏡頭,而是分成各個小組,分頭去拍攝。如果隨時看一個段落是可以,看類似於最終的成片效果,那是絕不可能的。
對於遊戲也是如此,不可能隨時看到一個可運行的階段,而必須要看的時候,就要填寫很多臨時資料,很多臨時代碼,暫時對付看一下。等看完之後,還要拆掉這些臨時的東西,在有些大公司,差不多四分之一的時間都要花費在這裏。
吳導說硬寫的意思是:如果想在二十號完成這個能給人看的版本,勢必要寫一些臨時性的代碼,而這些代碼注定會浪費掉!
這時候就是需要製作人做抉擇的時候了,究竟哪一部分可以在未來犧牲掉,哪一部分必須要寫的靈活,方便以後製作。
如果把遊戲製作當做一段長長的流程,那麽每時每刻做的就是決斷。
曾啟分析,這是一款以劇情推進的迴合製戰鬥遊戲,要以劇情為主的,電視劇假設有47集,那麽應對電視劇做的營銷,勢必考慮做47個章節的關卡,假設每個掛機點有20-30個掛機點,總共要做的掛機點要超過1000個,這些掛機點根據策劃初步設計,需要對話,動作,或者切換到戰鬥,都要手動進行編輯,這個將是未來很大的工作量,所以這個勢必不能硬寫。
曾啟要求程序關於掛機點和關卡的製作務必模塊化,這個意思是。策劃可以用習慣的excel根據格式來編寫關卡,對話(幾十集電視劇對話的文本要按照序列使用),劇情(劇情包括調用指定的npc,走位,動作,如說完轉身還是原地不動等等),這個工作,策劃需要根據畫麵,視覺效果來反複調整,所以一定要能方便的工作。
(著名的遊戲製作書籍《遊戲編程精粹》中特別強調一點,編程的歸編程,設計的歸設計,程序把功能設計的便於策劃工作即可,千萬不要自己做微調)
既然確定了劇情表現要模塊化製作,那麽勢必要決定對另一處模塊做刪減。曾啟的決定是戰鬥,理由是,我們的演示版本是給影視出品方看的,他們看重的是什麽,是劇情的表現而不是戰鬥!
曾啟告訴吳導和程序部門,戰鬥可以套用簡單的表現,隻要能完成多人對多人(5v5)的迴合製戰鬥,你來我往的打一架就可以,要求僅僅是展示,可以硬寫。這個硬寫表示:任何一次戰鬥,玩家和四個助手的生命都是500,攻擊力都是100;任何一次戰鬥,五個對手的生命是150、150、200、200、200,攻擊力為80。攻擊力就是傷害值,然後按照排列順序互相格鬥,玩家的角色每次打敵人100點血,敵人打玩家80點血,玩家打敵人2-3迴合打死,這種差距導致玩家一定能獲勝。
既然玩家肯定獲勝,那麽就能順利的把關卡推下去。
計算工作量,對於一個有足夠經驗和模塊的程序員,隻需要二天就能寫完這場戰鬥,這是寫死的,無論調整敵人的生命還是我方技能的效果,都需要程序一行行代碼的修改。
如果真正完成一場迴合製戰鬥(指的是類似於仙劍1代那種迴合製),即允許策劃配置敵我,調用戰鬥公式,使用技能,達到各種效果的話,至少是一個月(如果是網絡配合組隊式迴合製,則至少兩個月)。麵對二十天後必須拿出來的版本,隻能采用這場臨時的戰鬥玩法才能做到。
臨時寫的戰鬥代碼,以後會怎麽樣呢?肯定的說,實際製作戰鬥的時候勢必全部廢掉,這也是遊戲研發過程常常強調的取舍,從來沒有充分的時間,充足的資源和無限的人力,所有的遊戲製作都是在有限的時間,有限的人力和技術條件下完成的。好比這個影視劇的項目,由於前麵已經浪費了近半年,那麽要麽做出來,要麽放棄,魏總選擇的是前者,曾啟也選擇的是前者,時間越緊張,就越要懂得取舍。
所以當曾啟和程序們討論完1月20日的版本計劃後,就召集老金和美術,自己手下的策劃小彬和文案小琳,製定後麵的工作計劃。
一個遊戲項目研發前期,程序和策劃是分開工作的,程序去搭建整個遊戲的框架,策劃去製定遊戲長遠的規則,美術則是去製作早期的設定,還有替程序來製作測試的樣品。這包括,根據電視劇提供的定妝照來做三個3d的q版人物,狄仁傑和武則天和李元芳。根據一些電視劇的劇照,從1993年開始的劉威、林芳兵版《唐明皇》,劉曉慶、陳寶國版的《武則天》,和陳紅趙文瑄,周迅版《大明宮詞》以及聶遠、沈傲君、唐國強、秦嵐的《大唐情史》,直到2003年今年賈乃亮,馬蘇的《大唐歌飛》來做場景圖片。這一串dvd碟片看的曾啟和相關的檔案,看得曾啟頭大。總結起來,自己似乎可以寫一部《從1993開始》,講述角色參加拍攝這些唐代電視劇的故事,說不定還可以和唐國強先生拍一些廣告呢,開開挖掘機呢?
總之,預計程序會在兩周後,也就是1月14日提交第一個版本,然後大家坐在一起,把美術整合進去,再進行一番包裝就可以做出版本。
當然,這是理想的情況。
遊戲開發從來沒有出現過理想的情況,古今中外,從來沒有!
fpzw