制作游戲并非易事 開發者需扮演多種角色
即使是現在,當許多讀者在閱讀這篇文章時,還會帶著制作游戲很簡單的想法,更可悲的是他們壓根也不打算改變這種想法。但是如果你能夠繼續閱讀這篇文章,你便有可能更好地理解我們該經歷的所有過程。
游戲開發者必須能夠編寫軟件。對他們而言這是需要掌握的一種技能。我常說有人會編寫程序,但卻不能算是程序員。任何人只要獲得了適當的資源便能夠學著去編寫軟件。他們可以謀得編寫軟件的工作,并從自己的辛苦工作中獲得收益。但是這也不能使他們變成真正的程序員。
真正的程序員之所以會去編寫軟件只是因為他們必須這么做,這已經成為了他們血液中的一部分。他們只會好奇是什么元素促使算式得以運行,而不會去糾結它們是如何運行的。
他們經常會在夢中編寫代碼,甚至會利用咖啡因等物質讓自己保持清醒,從而擁有更多時間去尋找那些最有效的“代碼原理”。當他們在進行編碼時,總是會投入150%的注意力于工作上。
而當他們還未開始編碼時,他們會不斷地思考著當再次回到集成開發環境時自己該如何進行編寫。正是這種超越常人的集中與完美的表達才塑造出程序員這樣的角色。他們之所以是程序員是因為他們就必須是程序員。
game developer(from bbc.co.uk)
程序員是一回事,而游戲程序員則又是另外一回事。可以說,游戲程序員是程序員職業中最復雜的一種。但同時如果游戲程序員能夠有效使用專有引擎和預制模式(以此將游戲編程工作壓縮到最基本的腳本編寫中),這種工作也會變得更加簡單。
但是對于我們這種自己編寫引擎和模塊的人來說,這便是一份非常復雜的工作——因為我們必須努力成為各個領域中最專業的專家。
我們必須成為物理學家。玩家在游戲中看到的每個移動都必須由我們進行手動制作。盒子從架子上跌落到地上這一行動在很多人眼里是再平常不過了。而如果未出現這一情形還會有許多人對此抱怨連連。
而為了做到這一點我就必須掌握物體將如何受到重力,碰撞和摩擦等外力因素的影響,并完美地模擬盒子從架子上掉落下來的動作。經過各種學習,實踐和研究,我們最終便能夠通過編寫代碼去實現這一簡單的動作。
我們必須成為心理學家。當壞人看到你,向你投射手榴彈,并匍匐藏在遮蔽物以躲避轟炸時,魔法并不會出現。游戲開發者必須通過研究人類學和心理學讓玩家角色也能夠在游戲中擁有這種特殊的感受。
而隨著游戲的發展,AI也必須跟著發展。就連簡單的AI方法,如Dijkstra算法也會變得越來越復雜且越來越難駕馭了,更別說更高級且更復雜的算法了。
我們必須成為藝術家。游戲世界必須具有視覺震撼力。游戲畫面必須能夠滿足玩家的感官需求,但是——這里還是不會有魔法出現。所以我們只能投入更多時間和努力去消除游戲世界中所有會阻礙玩家前進的邊邊角角,確保所有的對象,樹葉,燈光,粒子系統都能達到最完美的狀態,以賦予整個游戲世界最完整的生命。
我們必須成為燈光師。你知道燈光是如何在一個小小的管道上閃耀出光芒嗎?這是程序員長時間的研究與編碼的結果,通過創造出光線去模擬光量子并穿越示意圖而映射在表面上,參考其常量,并將常量與視角做比較,然后照亮材質圖;太亮的話就使用bloom,太暗就調高對比度。
思考這種在發生在60幀速度內的過程總是很容易讓人疑惑,但是游戲開發者卻連在睡覺時都在想這些內容。
我們必須成為火的制造者。我們必須掌握火,爆炸,對物體的破壞,以及相關聯的投影弧,光和熱度等元素。我們必須透露危險性。也就是我們必須讓玩家能夠在此察覺到危險!
這種物體并不可能傷害到你,但是它卻能讓你感到害怕。它能讓你充滿震驚并好似自己就真的面對著它一樣。你會擔心自己會被灼傷。作為游戲開發者,我們的任務便是通過神奇的代碼創造出玩家不可能真正經歷到的虛擬現實。
我們必需成為戰術家。讓敵人只是在游戲地圖上移動,或只是根據玩家的行動做出反應都不夠完善。你必須讓他們能夠使用戰術去反抗玩家角色,否則游戲只會顯得過于簡單。
一位優秀的游戲開發者必須能像一名經驗豐富的戰術家那樣進行思考(可能需要你投入好幾年的時間在各種艱苦的環境下進行訓練),否則玩家將有可能比游戲更加聰明并因為游戲過于簡單而感到無趣。
我們必須成為設計師。游戲必須帶給玩家沉浸感,即讓玩家完全融入游戲中而忘記了外部世界。這是游戲成功的關鍵。但是為了做到這一點,游戲開發者便需要掌握布局,作曲,環境美化,室內設計,顏色,燈光以及陰影的使用等。他們還需要學習像黃金比例等原理,并精確地使用它。如果不能做到這些,玩家將不可能真正沉浸在游戲世界中。
我們必須成為導演。其實游戲體驗與電影體驗極為相似。我們必須在此感受到冒險,游戲角色必須闡述合理的內容,游戲事件也必須以正確的方式表現出來等等。對于帶有過程生成內容的游戲來說我們更難做到這一點——因為開發者缺少參照物,所以很難有效地為玩家呈現出游戲。因此他們只能自己創造游戲技巧。他們必須“教授”游戲如何表現出樂趣,并且“相信”它能夠做到這一點。
最后,游戲開發者還必須擁有強烈的情感。不管是對于個人還是團隊來說這都是一種非常“私人”的體驗,因為他們都必須將大量的時間,金錢,能量和愛注入項目中(至少1至5年),仔仔細細地將自己的想法研磨成一塊真正的“寶石”。
對于開發者來說,他們最后需要做的便是鼓足勇氣將自己所創造的“個人世界”呈獻給全世界——公開自己的弱點,希望和害怕需要真正的勇氣。除此之外,閱讀網絡上那些來自匿名用戶的各種攻擊需要開發者表現出更大的勇氣。
對此你還需要具有寬容的態度。在經歷了一段時間的炮轟后你將會對這些言論產生免疫力。如此你便只能聽到他們對于游戲的正面言論并自動過濾掉負面評價了。Neil Gaiman(游戲邦注:近十年來歐美文壇崛起的最耀眼的明星,被視為新一代幻想文學的代表)曾經說過:如果你所從事的是能夠讓自己感到驕傲的工作,那么即使沒賺到錢,你至少也還有工作。
當游戲開發者遇到一些無知且對自己的作品不利的言論時,他們會因此而感到消沉,但是當他們又獲得一些贊揚的評價時,他們也將再次恢復自信。讓別人進入自己所創造的小小世界,并在此感受到各種驚艷的內容,我想沒有什么比這種感覺更棒吧!
但是還有一點很讓開發者抓狂,即當有人說“喔,你在制作游戲?這難道不是件很簡單的事嗎?”
這種想法是錯誤的,這并不是件簡單的事。就像著名的游戲開發者John Carmack會在制作游戲的空檔去進行火箭科學實驗。你沒聽錯,真是火箭實驗。對于他來說如此復雜的火箭科學實驗只是一種休息,可想而知游戲制作有多復雜了。(