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