Feb 15, 2009

sc like


這個畫面是否讓你覺得眼熟?

整理備份的時候,意外發現五年前寫的程式。剛退伍時渾渾噩噩,大學時不唸書,研究所一試不中就沒打算再考了,服役時本打算考個公職,通過初試後卻忽然放棄,只是整天打電動過了空白的三個月。後來被老爹抓包唸了一頓,打算進遊戲產業,在網路上逛了一圈後就去現在已經消失的「新藝術遊戲學苑」報到。

在這之前實際上只修了一學期的計算機程式,到電機系去上的課,繼承都還沒教完學期就結束了,最後成績只有六十分,那是從後頭數過來的成績啊,我還記得期中考時班上九成的人超過九十分,滿分的比比皆是,我只有六十,不過大學時代我一向不太在乎成績,能畢業就好。這樣的成績其實很明顯,我在退伍時寫的程式,只能印些簡單的字串吧!在新藝術時就當作從完全不懂開始學,那時覺得沒退路了,所以學得格外認真。

三個月學到的東西,說多不多,很多東西還是弄不懂,但卻有了強固的基礎,坦白說那時我還是搞不懂指標是什麼東西啊!最後兩個星期每個人得做個小遊戲出來,以現在的標準看來,那時我只算會24-bit的bmp software rendering,連8-bit 都還搞不清楚是什麼東西,而且效能不好。最後就做出上面那個東西了,沒什麼特別的,不過是我第一個有點複雜的程式,名字正是「SC Like」。

我找到工具解出star craft的圖檔,裡頭的圖檔對我後來rendering的概念有很深的影響。玩過的話你也許會想知道:
  • 所有的圖都是 8-bit,但是為了區隔隊伍的顏色,所以有很多調色盤。
  • 每個動作的每個frame有32張圖代表32個方向,真的不是3d的。
  • 所有角色的圖寬都是power of 2。
  • ……忘了

這個備份加上大老闆的精神訓話,讓我想起很多事,那時為了讓整個程式跑得更快,所以特別花時間去寫,用了些其他人無力或是無心嚐試的方法,最後的結果是只有我有辦法讓飛機滿天飛也不會頓,而且每個飛機都有影子。

追求效能不正是一個程式員該有的本色嗎!

No comments: