【本文由ERODUCATE授權17173發布,轉載請註明出處】
大家早上好中午好下午好,大家好才是真的好!我已經好久沒有寫文章了,因為最近很忙而且我其實也沒有寫的義務嘿嘿嘿。不過我還是挺想寫一篇關於我最近做的事情的文章的。想寫這篇文章其實還有點私心,計劃著可能過個一段時間拿出來看看會頗有感觸。
當然,我寫這篇文章主要還是想要分享一下我踩過的一些坑以及中間的點點滴滴,讓各位可能也想要做遊戲,甚至不一定是想要做遊戲,只要是想做點什麼有意義的事情的能夠避免走那些我走過的彎路。
所以,我從零開始,做了一款遊戲
怎麼算從零開始?
整個遊戲除了音樂和字體這些素材外,全都是我和我的朋友們(指CTB小隊成員,假設他們把我當成朋友)原創的。整個遊戲從想法到發行都是我們一步步自己做出來的。這當中包括但不限於:研究和我們要做的遊戲有關的任何東西,寫遊戲框架,拍遊戲素材,上線軟體商店,宣傳。。。。。。
先說說研究。
還記得那天晚上,我正在快樂反恐(我是彩虹六號著名下包瘋子),然後手機就收到一條消息。那時候我正好在下包,手機震了一下影響到了我的操作(雖然我沒什麼操作可以被影響),便抱怨了句:「誰這個點給我發消息?」打完了那盤後打開手機一看,發現是我去年的CTB隊友給我發的。她這麼一個漂漂亮亮的小姑娘我自然不敢怠慢,趕忙解鎖手機查看消息,一邊在心裡打自己耳光為剛才說過的話道歉。
哦,原來是問我要不要再搞一次CTB啊
面對這樣的請求,我自然是不敢拒絕的。所以我就應了。但是假如我當時沒答應,會不會現在的我不會在寫這篇文章而是在做其他事情呢?那我會做什麼呢?我會不會還有這和現在一樣的思想,我身邊會不會有著不一樣的東西。萬一我拒絕了我現在沒有變得更差反而變得更好了呢?我當時就想過這件事情了,就算我的生活會變得更好又怎樣,我當時清楚地知道對於當時的我來說選擇去做這件事情是對我最好的。不管選擇這件事時候發生的事情有多糟糕,我都認。因為這是我自己做的決定,只要是我自己做的決定,那未來就是最好的。
所以我說,幹吧
做什麼遊戲?
說了這麼多還沒說要做啥遊戲。我當時和這位趙小姐討論出來說做關於性教育的課題,想想看性教育這玩意兒怎麼和科技結合起來。畢竟不和科技結合也不會看上我這麼個人。我想了想說:「做個遊戲唄,就像最近很火的那個Super Seducer一樣。」
感興趣的朋友可以自己去查一下這遊戲到底是幹嘛的,這裡就不細說了。
怎麼做?
從這兒開始,就是咱們這回憶錄(算是吧)真正關於做遊戲的地方了。
首先最重要的問題就是,這遊戲做出來是給什麼設備玩的?
小孩子才做選擇,我這遊戲是打算全平臺的,甚至包括WindowsPhone。既然要做這麼一款全平臺向的遊戲,那麼肯定要用一個合適的遊戲引擎。擁有三年Unity3D瞎折騰亂鼓搗經驗的我不假思索地選擇了Unity3D作為我們的遊戲引擎。
Unity3D難嗎?
開頭難,中間也難,到頭了我也不知道,因為我還在中間階段。Unity3D這款遊戲引擎在剛接觸的時候可能會覺得很複雜,但是實際上如果你玩過遊戲(必然的吧)就覺得像在玩遊戲一樣(這點做得比Unreal好)鑑於我這次要製作的是一款2D遊戲,難度會更加低一點。因為我想做的遊戲和那種橙光遊戲類似,所以一開始我是打算找找看Unity有沒有那種做AVG遊戲的框架的。結果用下來發現很多功能都用不到,而且用起來也挺麻煩的。所以最後打算自己造一個輪子,讓我這遊戲跑起來。
用橙光遊戲製作工具做的遊戲
自己做遊戲系統,怎麼做?
我之前遇到過一個做遊戲的,我問他做遊戲技術上是不是很困難,是不是最重要的。他和我說,做遊戲最重要的是想法,只要你有了一個好的想法,技術不是問題。到了我自己做遊戲的那一天,我覺得他說的話只對了一半。一個好的想法固然很重要,但是你如果沒有技術去支持這個想法,那就是空想。
空想,是我最愛幹的最沒用但自己又覺得最有用的事兒
我想了下我的遊戲需要實現的功能大概有以下這兩個:
存檔功能,
彈出個對話框,選擇不同的選項會有不同的結果
把這兩個拆得細一點,就有了這些事兒要做:
保存當前章節的當前節點, 讀取存檔內容並載入存檔章節中的存檔節點, 新遊戲, 對話框將會在每段節點(視頻)結束後彈出, 選擇不同的選項將會觸發(播放)不同的節點(視頻)所以這遊戲的主要系統需要實現以上這五個需求。
我怎麼做出遊戲的主要系統?
如果你只想看這篇文章裡面關於我做遊戲的時候發生的有趣的事情,那麼你可以跳過這個部分。如果你想看看我是怎麼試著像一個計算機一樣思考,可以看看。
系統工作流概述:
Unity支持C#語言,由於我對Unity的C#環境還不是很熟悉並且開發周期比較緊迫,我這邊使用了一款叫做PlayMaker的插件。這款插件我極力推薦,很適合初學者,對代碼一竅不通的人,或者就是像我一樣懶得去翻Unity的api庫想要直接開幹做遊戲的人。它可以讓我不去使用代碼而是使用可視化代碼塊來解決一些事情,但是在使用它之前儘量還是要掌握基本的編程知識,畢竟這個插件只是幫你省去了構建諸如videoPlayer A = new videoPlayer(GameObject.findByTag("A"));(我不知道有沒有這種方法和用法,但是大意差不多)的變量或方法。
保存當前章節的當前節點,讀取存檔內容並載入存檔章節中的存檔節點,新遊戲
每個節點都有一串字符串標識,比如說第一個章節的第二個節點就是」102「遊戲系統會在開始的時候檢測存檔文件有沒有這串字符串,如果沒有的話就是新遊戲,如果有的話就會讀取相應的節點。我使用了一款叫做EasySave3的插件,這個插件能夠讓你很方便的實現存檔功能,推薦一下。
對話框將會在每段節點(視頻)結束後彈出,選擇不同的選項將會觸發(播放)不同的節點(視頻)
遊戲種有許多視頻和對話框,我選擇把他們都存在數組裡面。通過平行數組的方式(平行數組其實不好,如果我用代碼寫的話會寫一個Class去代替平行數組)觸發這些視頻和對話框。當電腦檢測到一段視頻播放完畢,就會去觸發相對應的對話框數組中的對應元素,實現選擇的效果。
以上就是功能的操作邏輯,現在讓我們看看我們如何去具體實現他們吧。我就給你們看一部分把畢竟這些東西可能有點枯燥。
取視頻數組將暫存變量的值設為標識變量,暫存變量會用來存檔,標識變量會在之後被變為-1(因為邏輯設計關係如果表示變量在整個系統循環的時候大於等於0就會直接再跑從而陷入死循環)將視頻播放器組件的播放源設為視頻數組中的第標識變量個元素播放視頻每幀都檢查視頻有沒有播放結束,如果播放結束則設定videoKey變量為true每幀都檢查videoKey變量是否為true,如果是true就觸發對話框設計遊戲界面
作為一個資深工具男,我肯定是熟練掌握Photoshop操作的。我一個人設計了整個遊戲的ui元素,整體採用了蒸汽波的風格。這裡得感謝萬能的淘寶為我提供了這麼多好的蒸汽波素材。
除了設計好這些元素後,還得應用。我使用了一款叫做DoozyUI的插件來幫助我快速構建一個UI系統。
是不是感覺界面還挺友好的,千萬不要用這裡面的GameEvent功能,就是個大坑。為了擺脫這個坑我花了三個多小時重新綁定頁面。
但是DoozyUI的一些坑算小坑了,再在這之前我使用了一款叫做EasyMainMenu的插件。那款插件自帶了主菜單,也很炫酷,但是坑更大,具體什麼坑我就不說了你們可以去看我ctb小站上的日誌。
你們永遠不知道我在發布這條日誌之前經歷了什麼可怕的事情
製作遊戲內容(Shoot, Edit, Repeat)
光光有遊戲系統可不行,內容也是很重要的。我們的遊戲每章都有劇本,劇本是我們整個CTB小隊大家一起寫的。所以你會發現我們的遊戲內容一個章節裡經常會有風格很不一樣的地方。比如說下面這兩段的比較,他們都來自一個劇本。
這個不是我寫的
這個是我寫的
風格是不是很不一樣哈哈哈哈哈。
在寫完後呢會有兩名成員進行劇本的翻譯工作,畢竟我們這遊戲說是還要給洋人玩。
拍攝日:
我們第一章的拍攝是在其中一個隊員,也是你們熟悉的老朋友了MikeWallace51(兼MoreClub社長)家裡,因為他家還蠻大的。
拍攝並不是拿個相機就去拍,需要布光,布景,錄音等等。。。。。。並且還有布景,化妝這種事情要做。這裡說到化妝就順帶提一下那天專門從距離拍攝地點三公裡左右的家中趕來的MikeWallace51的好朋友了,就是第三張圖中間的那位小姐姐。我們整個劇組的妝都是她幫忙畫的。
性感MikeWallace51,在線化妝
給你們看一下她化的妝+我布的光拍出來的超級可愛的趙小姐。
這裡安利一下影視颶風的颶風燈,支持1600萬色的調光+新版支持micro usb供電,簡直就是拍攝神器。
這位是男主,它後面的傘是柔光傘,這個比起柔光箱來說便宜了太多的東西是上次幫一個學長去拍電影的時候了解到的,也很好用。
MikeWallace51和我的激情自拍
最後分享一張我們的殺青照:
(化妝小姐姐上午有事走了所以她自己把自己p了上去,早知道我就和MikeWallace51換個位置了)
剪輯
既然是從0開始製作一款遊戲,那麼在製作了遊戲系統,拍攝了內容後,當然也要把視頻剪了。我這個人不喜歡熬夜,但是如果是做喜歡的事情可能就會熬夜到一發不可收拾。去年在做歷史電影的時候在拍攝完素材後回家就興致勃勃地剪視頻剪到了凌晨三點。所以我也挺擔心自己萬一哪天猝死了怎麼辦,但是如果我是在做自己喜歡的事情的時候猝死的,那也死而無憾了吧。
這是我的Premiere工作區布局,大家看得起的話可以參考一下。
說到Premiere我就不得不說我和它的愛恨情仇。從七年級開始學這軟體開始算,假如它每一次崩潰我都能拿一塊錢,那我現在就是個百萬富翁。不過我還是很愛它的,否則也不會每年花兩千多塊錢去訂閱他的正版(好吧給Pr太多面子了還有一部分原因是因為Ps)
我也有在用Final Cut Pro,這軟體的操作邏輯比Pr人性化,比Pr好看,而且奔潰次數也比Pr要少的太多。但是我只有在剪小的Project的時候才會使用Final Cut Pro,因為我的Mac容量太小了用不動Final Cut Pro那怪獸般的資源庫機制。
而且,我對Pr竟然還他媽的有點感情。
與國內審核機制和美帝資本主義的鬥爭。
遊戲做完後肯定要通過商店發行的咯,當時我考慮了GOG,杉果,Steam,AppStore,GooglePlay,酷安,TapTap這些商店。最終因為GOG沒有回覆,GooglePlay還要交錢(我蘋果和Steam交了錢GooglePlay覺得沒必要交錢所以沒交),酷安要營業許可證明而選擇了杉果,Steam,AppStore和TapTap。在向杉果和Taptap提交遊戲簡介的時候我感受到了偉大的國內審核制度。杉果直接拒了我的遊戲,而Taptap則給出了一系列的約束。但是畢竟人家還是願意發行我們的遊戲的,所以我還是愛TapTap的。
唉,憑什麼某些充斥著巨乳的策略類卡牌遊戲能過審還能上推薦,我這麼一款正能量的,有教育意義的遊戲,全程啥都沒露被套上了這些枷鎖。這一刻我意識到了國內的審核制度是有多麼落後,多麼敏感。就好像魯迅先生說的一樣:
一見短袖子,立刻想到白臂膊,立刻想到全裸體,立刻想到生殖器,立刻想到性交,立刻想到雜交,立刻想到私生子。中國人的想像惟在這一層能夠如此躍進。
無獨有偶,國內商店有著奇怪的審核制度,而國外這裡又有憨態可掬的G胖準備朝你一個純公益的免費遊戲開發商收取30%的營業額。雖然G胖賺不到這30%的營業額,因為我們的遊戲是免費的,但是我還是被搞得很惱火。在你註冊Steam開發平臺的時候要需要填寫一份稅務調查表,因為保密協議規定我這裡就不放出稅務調查表了。這張稅務調查表審核需要一周,而我被駁回了兩次。所以一共花了一個多月的時間去解決這個事情,幸好我在做遊戲的初期就申請了Steam開發者平臺,否則肯定會影響到遊戲的發布。
哦我可以給你們看看Steam商店上我們的遊戲長啥樣,這個不用保密的因為已經公開了。
商店地址:https://store.steampowered.com/app/1016110/SelfReliance/
我們的遊戲兩月八號就正式發布了哦,歡迎大家到時候去玩,電腦平臺支持PC和Mac,移動端可能還得等等,或者如果我牛逼的話就不會延期。
最後說點雜的
總的來說,從零開始做一款遊戲對我和我們CTB小隊的每一位成員來說都是一次很有挑戰性的事情,但是也很好玩。通過從零開始做一件事情你真的可以學到很多很多學校裡學不到的東西。網際網路會成為你最好的夥伴。你一定要對你正在做的事情有足夠的動力才能完成它,因為你可能會體驗到做一件事情到凌晨(貌似大家都熬夜所以這個應該對大家來說是小case),去解決一個連網際網路都不能幫到你的問題,和不同的人打交道(為了做這款遊戲我們找過醫生,其他學校的人,遊戲商店的人甚至是檢察官),以及面對無人問津的勇氣。很可能我這遊戲做出來後沒有人玩,甚至這篇文章都沒有人看。我雖然會氣餒,但是我絕不會後悔。我在做每一件事,每一個決定之前都想好了。要是這件事情或這個決定沒做好,我也不會後悔,因為他們已經成為了歷史,是既定並無法改變的事實。我能做的只有去改變未來。
所以,假如這文章沒人看,這遊戲沒人玩,我也會自豪地和別人說:
「瞧,我多偉大,我從零開始做了一款遊戲!」
我衷心感謝並感到榮幸與以上的所有人(除了我自己)共同參與到這次的CTB體驗中,並且一起去製作這款遊戲。把這款遊戲從0變成1。
【來源:dailymore666】