2014年1月2日 星期四

成為遊戲開發者的條件

看來兩星期一篇和中英文發文的目標失敗了...(笑)

這次說一下成為好的遊戲開發者的條件,
先利申,我雖然CS 出身,但編程技術卻很爛,
所以不會說得太多,以免說多錯多,下面如有錯處請務必指出。

遊戲程式可以算是程式世界中其中一種最複雜的程式,
編程要做的東西十分多,而且比其他類型的程式有更多要注意的地方,
舉個例就是絕大部份的遊戲都要顧及音效,而大部份其他類型的程式都不用,
但是其他類型的程式要顧及的東西,遊戲程式都要顧及,甚至要求更高。
例如在保安方面,編寫遊戲時更需要做好保護措施,
因為玩家最喜歡做的就是在遊戲中找錯誤令到自己有得益。
另外一方面就是所謂的UX (User Experience 用戶體驗),
遊戲比其他程式更著重這個是因為遊戲比其他程式有更多的互動,
好的版面配置,特效等都能夠更容易令玩家明白遊戲想表達的訊息,
從而繼續玩你的遊戲。

作為好的遊戲開發者,首要條件當然是要寫得一手好的代碼,
甚麼才叫好的代碼我就不多說了,始終我技術真的很爛...
但有幾點我覺得對遊戲來說特別重要:

1. 開發時一定要寫好備註
這一點基本上是很多程式設計師的通病,
不少程式設計師都不會在自己編程時加上備註,
可能因為沒有時間,可能因為那部份程式很簡單,可能因為認為自己會記得,
結果就留下一大堆沒有人明白的代碼,
要知道遊戲程式比其他程式更加複雜,有更多的邏輯程序,
舉個例遊戲中有不少自創的公式,以及很多固定常數,
不加備註去說明的話跟本看不懂,
尤其是後來才加入的程式設計師,要看懂前人的代碼真的要用不少時間。
另外一點就是變量的名字,物件的名字也要用清楚簡單的,
這樣用起來就會更清晰,減少要找的時間。

2. 盡量令程式更容易修改或加減
這個對於遊戲來說特別重要,原因是因為不論在開發途中還是發佈後的改版,
遊戲專案時常會有大幅度的修改,修改時又會很容易影響到其他部份,
如果能把程式寫得獨立及靈活一點,就能方便程式設計師做修改,
也能減少出錯的機會。 (詳情可以找找design patterns,reduce coupling increase cohesion,information hiding等等東西)

3. 多從整體看
在開發時很多時候會太集中去做某一個部份而令到自己忽略了對其他部份的影響。
不同共他類型的程式,遊戲程式很多時候都會緊緊的連在一起。
所謂牽一髮動全身,改了少少部份卻會令到其他部份影響甚大,
在寫程式時,尤其是加入一個功能之前,最好先由整體去看,了解清楚功能帶來的影響,
才去決定如何編寫。

4. 記好版本編號及提交時的備註
版本編號對遊戲尤其重要,由於遊戲程式比其他程式在開發時有更多改動,
記好版本編號能令你更容易知道現時的專案是在什麼完成度,有什麼功能等,
出錯時也更容易找到錯誤的地方。
提交時的備註就是用來幫助後人了解以前的開發情形,
有助了解遊戲程式本身及進度,也是除錯的一個好幫手。

以上的東西大都適用於其他的程式專案,
只是因為遊戲程式的複雜性以及變化,令到我認為要特別注意的。
其實還有一些更專門的東西是遊戲程式要特別注意的,
好像是多線程編程(Multi-threading),MVC等結構,
還有遊戲引擎(Game Engine)等,
不過我技術不好,就不多說了。

下次說一下開發遊戲的步驟。

沒有留言:

張貼留言