遊戲行業的100種死法(六十七)
來自專欄 有關宇宙,生命及遊戲的終極答案
KrKr的作死獨立遊戲記錄(2)
從零開始學代碼
其實從一開始,也沒想著要一個人包攬所有代碼工作。只是作為獨立遊戲的策劃來講,代碼能力還是很必要的,因為獨立遊戲的策劃工作一般都不飽和。策劃花一個上午寫的設計案,程序實現可能需要一周的時間,那這一周之中策劃幹什麼呢?有代碼能力的策划起碼可以幫程序分擔一些「體力活」,比如調UI什麼的。
由於完全沒有代碼基礎,就需要先選好大方向,學哪種程序語言呢?因為這個項目在美術效果上是一種自暴自棄的態度,因此虛幻引擎就不考慮了,unity成為了唯一的選擇。要使用unity,可以選擇C#或者JavaScript,跟程序朋友們諮詢了一下,大家一致建議學C#,一來微軟的大腿比較粗,二來據說C#的學習難度是最低的。
然後我就去知乎上搜了一下,學習C#應該買些什麼書,大佬們(比如輪子哥)推薦這一本:
書買到手以後我潛心讀了兩天,得出一個結論:看不懂!
並不是書本身的問題,只是不能滿足我的需求。這種經典的教材為了嚴謹,講什麼事情都要從底層說起,對於需要全面掌握代碼知識的人來說很好,但對我這種急功近利的來說就顯得有點慢了。
C#本身的內容很多,對於在unity上做遊戲(或者是做一個遊戲DEMO)來說,絕大多數的知識都沒什麼用……我需要掌握的可能只是其中的一小部分。況且沒有實踐,書看完一遍也記不住多少。看書學代碼這條路走不通~
看書不行就換個方法,於是我開始到優酷上搜索「C#基礎」的相關視頻,還真有不少。很多培訓機構都會將基礎的概念教學視頻免費放到網上作為招生環節的一部分。大概花了一個上午把幾個視頻的第一課過了一遍,挑選了其中一個我覺得講的比較好的老師,把他的系列視頻都緩存了下來。其實,這種基礎課程內容都差不多,誰來講差別不大,只要內容完整邏輯清晰就好了。
接下來的半個月時間,我就像在家函授上課一樣,每天早上起床就開始看視頻,中午吃完飯繼續看。從VS怎麼安裝調試學起,自己寫第一個「hello world」……
基礎的C#概念課程學完了,下一步就是學習unity了。以前做項目用過unity,基本操作什麼的比較熟悉,不過我還是買了一本這個:
書到了以後大概看了一下,跟我想像的差不多,這書買回來不是用來讀的,而是作為工具書放在身邊,實際做的時候有哪個地方想不起來了,或者有些地方不是很確定,看一下官方的解釋查一下。
看來真要學習還是得靠老辦法,看視頻照著做。
於是我故技重施,到視頻網站上搜索unity相關的教學視頻,從中選了一兩個看起來質量不錯的系列。這些視頻都是一步一步教你怎麼做一個小的遊戲DEMO,從創建工程開始,每一行代碼都帶著你寫,寫的時候還會詳細解釋代碼是什麼意思。如果有操作不知道怎麼實現,或者看不懂代碼是什麼意思,只要倒回去再看一遍就基本都能搞懂。只能說通過跟著視頻一步一步做來學習,確實比看書效率高。一開始做出來的DEMO可能只是一個方塊打一個球這樣簡單的東西,在這種簡陋的DEMO製作過程中,可以學習基本的遊戲實現方法,比如移動,射擊,扣血,死亡銷毀等等。更複雜的遊戲機制無非就是將這些基本方法綜合利用,舉一反三。對於方法有了一定了解後,就可以參考遊戲蠻牛翻譯的unity手冊自學更多的API方法。
為了避免軟文的嫌疑,就不說我看的是哪家的視頻了。
就這樣,我大概花了兩個月的時間來學習C#以及unity的基礎知識。雖然沒寫過代碼,但我對unity非常熟悉,因此學起來可能還算比較快的。
但是有一點需要說一下,我並不是鼓吹「只需要看兩個月視頻就能掌握遊戲相關的編程知識」。打個比方,程序員就好比廚師,作為一名專業的廚師需要什麼菜都會做,因為你不知道以後要就職的飯館是做什麼菜的,你也不知道顧客會點什麼,因此要掌握很多知識。程序員也一樣,不知道以後進了公司要做什麼項目,也預料不到策劃會提什麼奇葩需求,因此打好基礎就很重要。我這種情況就好比一開始就想好了要做西紅柿炒雞蛋,與做西紅柿炒雞蛋無關的東西我都可以先不學,所以相對比較輕鬆。
這次就先寫到這裡,下一期要正式開始做項目了,說一說我想做一個什麼樣的獨立遊戲。
推薦閱讀:
※《Sky光?遇》——關於社交的一場社會實驗
※歡迎來到Valhalla——《VA-11 Hall-A》漫談
※關於《鬼商》
※GML 學習手記(GML概況一)
※為你的遊戲自動生成文檔