你好,歡迎來(lái)到川北在線
微信
騰訊微博
新浪微博
分享業(yè)余愛(ài)好者自創(chuàng)游戲的經(jīng)驗(yàn)
時(shí)間:2013-10-27 12:39   來(lái)源:上方網(wǎng)   責(zé)任編輯:毛青青

  如果你想完成一款游戲,你就必須認(rèn)識(shí)到這一點(diǎn)。無(wú)論你有多看重自己以及自己的想法,你都要勇于拋棄其中的多數(shù)想法。

  在過(guò)去三個(gè)月中,我都在致力于開(kāi)發(fā)一款名為《Lunar Lander 3D》的小游戲。我著手這個(gè)項(xiàng)目的主要原因是希望掌握創(chuàng)造游戲所需了解的知識(shí)。除此之外,我還希望借此轉(zhuǎn)移自己在課業(yè)上的壓力。雖然這款游戲很小很簡(jiǎn)單,其開(kāi)發(fā)過(guò)程卻讓我收獲了大量有用的知識(shí)。我將在本文列出自己在開(kāi)發(fā)游戲過(guò)程中學(xué)到的一些重要知識(shí)。

  在進(jìn)入正題之前,我想先說(shuō)明一下,我并不是什么專(zhuān)業(yè)人士。我只是一個(gè)常坐在電腦前的呆子,本文內(nèi)容面向想自己試著創(chuàng)造一款游戲的業(yè)余程序員和愛(ài)好者。所以本文的重點(diǎn)是讓你如何完成一款游戲,而非制作一款技術(shù)華麗的半成品游戲。

  你的理念并不罕見(jiàn)

  如果你想完成一款游戲,你就必須認(rèn)識(shí)到這一點(diǎn)。無(wú)論你有多看重自己以及自己的想法,你都要勇于拋棄其中的多數(shù)想法。當(dāng)我開(kāi)始制作自己的游戲時(shí),滿腦子都是自己想用的理念。我想在游戲世界中加入移動(dòng)的平臺(tái)的障礙,復(fù)雜的攝像系統(tǒng)以及一系列其他元素。但我知道如果我想完成游戲,就得更改自己的多數(shù)理念。要記住當(dāng)你是孤軍奮戰(zhàn)時(shí),你就無(wú)法搞定一個(gè)專(zhuān)業(yè)團(tuán)隊(duì)需要用一年以上時(shí)間才能完成的項(xiàng)目。雖然一年以上的時(shí)間對(duì)專(zhuān)業(yè)團(tuán)隊(duì)來(lái)說(shuō)并非很長(zhǎng)的時(shí)間,但卻業(yè)余愛(ài)好者來(lái)說(shuō)卻是個(gè)大難題。要根據(jù)自己的想法合理安排開(kāi)發(fā)時(shí)間,例如將其控制在6個(gè)月以內(nèi)。

  不要從頭做起

  如果你并沒(méi)有什么編碼基礎(chǔ),那就無(wú)法一開(kāi)始就編寫(xiě)出一款游戲。這聽(tīng)起來(lái)難以讓人接受,但如果你確實(shí)沒(méi)有一系列持續(xù)使用的代碼,你可能就無(wú)法持續(xù)長(zhǎng)時(shí)間地編程。如果你沒(méi)有那么長(zhǎng)久的編程經(jīng)驗(yàn),那么就不能幻想開(kāi)發(fā)一款游戲。我開(kāi)始制作自己的游戲時(shí),已經(jīng)有了一個(gè)很大的代碼庫(kù)。我針對(duì)一般窗口創(chuàng)造、輸入管理、粒子效果、運(yùn)算以及各類(lèi)用途的代碼。有了這些現(xiàn)成的代碼,我就能夠快速展開(kāi)工作,制作與游戲相關(guān)的內(nèi)容。除此之外,我還不需要去測(cè)試這些代碼,因?yàn)槲抑熬帉?xiě)的時(shí)候就已經(jīng)測(cè)試過(guò)了。你在開(kāi)始創(chuàng)造自己的游戲之前,不需要逐個(gè)編寫(xiě)每一節(jié)代碼。只要花點(diǎn)時(shí)間先做一點(diǎn)基礎(chǔ)工作即可。如果你覺(jué)得自己還是得創(chuàng)建一個(gè)代碼庫(kù),那就先編寫(xiě)小型用來(lái)測(cè)試一下。我處理粒子效果、輸入管理和控制執(zhí)行代碼時(shí)就是這么做的。這可能不像制作游戲一樣令人興奮,但對(duì)你卻有長(zhǎng)期的幫助。

  借鑒想法

  我要再次強(qiáng)調(diào)這個(gè)環(huán)節(jié)的重要性。當(dāng)你開(kāi)始編寫(xiě)一款游戲時(shí),不要害怕使用他人的理念,庫(kù)或工具?梢员M量借鑒,因?yàn)檫@可以讓你的工作更輕松。我在制作自己的游戲時(shí),借鑒了Conor Stoke的軸線對(duì)齊邊界框樹(shù),Paul Nettle的碰撞檢測(cè)文件,id Software的Q3Radiant關(guān)卡編輯器。為什么我要用其他人的想法和工具來(lái)解決自己本可以完成的問(wèn)題呢?原因就在于,這樣更簡(jiǎn)單——我使用這些不同的資源是因?yàn)楣?jié)省時(shí)間。使用現(xiàn)成的方法進(jìn)行碰撞檢測(cè),這樣我就不需要將時(shí)間浪費(fèi)在測(cè)試自己的碰撞系統(tǒng)上了。我根據(jù)自己的需求調(diào)整了id Software的地圖編輯器,就不需要再制作自己的編輯器了。除此之外,id地圖編輯器非常適合我,這又為我節(jié)省了不少功夫。不要執(zhí)拗于自己的游戲一定要有定制工具和解決方案。如果你夠精明,就會(huì)知道何時(shí)要采用新理念,何時(shí)可以使用現(xiàn)成的東西。

  避免使用3D地形引擎

  如果是為了創(chuàng)造游戲而制作引擎,那就很可能被卡在半途。無(wú)論你多努力地嘗試,總會(huì)發(fā)現(xiàn)自己無(wú)所進(jìn)展。根據(jù)我制作游戲的經(jīng)驗(yàn),你自己編寫(xiě)游戲時(shí)并不需要用到引擎。要記住,你是一個(gè)人而不是一家公司在編寫(xiě)游戲。你不需要一個(gè)反復(fù)重用的引擎。編寫(xiě)引擎的一個(gè)理由就是代碼重用,但沒(méi)有引擎你也照樣可以做到這一點(diǎn)。只要設(shè)計(jì)合理,你就能夠?qū)⒆约浩渌?xiàng)目的元素重用到游戲上。例如,我編寫(xiě)的游戲所用的新代碼都不是特定的游戲代碼,我可以將其重用于其他項(xiàng)目。編寫(xiě)引擎以獲得引擎本身的知識(shí)及其背后的設(shè)計(jì)過(guò)程當(dāng)然可以,像如果你是要制作一款游戲那就要避免這種情況了。

  不要在圖像上畫(huà)蛇添足

  你制作自己的游戲時(shí),不要添加一些并不會(huì)讓游戲更棒的圖像特點(diǎn)。不要使用GeForce20那種很棒的擴(kuò)展功能,以及其他的逐象素、凹凸貼圖、紋理動(dòng)畫(huà)、逐象素深度陰影等元素,因?yàn)槟愀揪筒恍枰。如果你將自己的游戲定義為靠圖像來(lái)?yè)螆?chǎng)面的那種,那你可能并不了解游戲。你制作的只是一個(gè)技術(shù)演示樣本。我在自己的游戲中使用的最復(fù)雜的圖像功能就是多重紋理,但如果要游戲正常運(yùn)行也并不需要這種功能。我知道自己并非id Software成員,也并不需要很高端的硬件來(lái)支持我這款簡(jiǎn)單的游戲。如果你保持簡(jiǎn)單性,不但可以擴(kuò)大游戲受眾,還能夠?qū)⒆约旱木杏诟匾沫h(huán)節(jié),例如游戲玩法。

   投稿郵箱:chuanbeiol@163.com   詳情請(qǐng)?jiān)L問(wèn)川北在線:http://m.fishbao.com.cn/

川北在線-川北全搜索版權(quán)與免責(zé)聲明
①凡注明"來(lái)源:XXX(非在線)"的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),本網(wǎng)不承擔(dān)此類(lèi)稿件侵權(quán)行為的連帶責(zé)任。
②本站所載之信息僅為網(wǎng)民提供參考之用,不構(gòu)成任何投資建議,文章觀點(diǎn)不代表本站立場(chǎng),其真實(shí)性由作者或稿源方負(fù)責(zé),本站信息接受廣大網(wǎng)民的監(jiān)督、投訴、批評(píng)。
③本站轉(zhuǎn)載純粹出于為網(wǎng)民傳遞更多信息之目的,本站不原創(chuàng)、不存儲(chǔ)視頻,所有視頻均分享自其他視頻分享網(wǎng)站,如涉及到您的版權(quán)問(wèn)題,請(qǐng)與本網(wǎng)聯(lián)系,我站將及時(shí)進(jìn)行刪除處理。



圖庫(kù)
合作媒體
金寵物 綠植迷
法律顧問(wèn):ITLAW-莊毅雄律師