特別把「新」Mark起來
原因是不想把重新兩個字真的合在一起
一般來說重新開始,就是等於又要打掉重來
無限冒險的開發真的也讓我學到了不少東西
以前在開新程式,都是腦子理解要做什麼之後就先下去Coding
離開學校已十幾年,又在目前的公司安逸(算吧)工作著
所以很多新的觀念(嚴格來說,十幾年前後的觀念,對我來說都是新)也就沒主動去更新
在無限冒險算中大型開發的專案,自己又是老闆
要什麼就加什麼,要怎麼做就怎麼做之下
進行到上個月,就發現了一個大問題
就是「結果永遠不明確」
這個問題會導致想到什麼改什麼加什麼
一個項目還沒完全,也許因為需求的改變影響了很多其他已完成的項目
如果沒有進行一些管理,如果沒把範圍先設定好
我想這個無限冒險二應該會讓我寫一輩子...
當然,已經發現問題在什麼地方,總不能坐以待斃
所以跟之前一樣,卡住就得去詢求解答
但詢求解答之前,我要先來分析一下有那些問題導致這樣的後果
才可以針對這些問題去找詢解套的方法
以下是我整理出來的兩個最大的問題點:
1.程式寫得不夠彈性->需求更新時要改個東西都難找/改
2.沒有把遊戲需求範圍先定義好->只有願景,真的做下去,方向只會越來越偏
第一個問題,我想到的解決方案就是對OO的觀念加強
第二個問題,我在網路上找到「軟體工程」這四個大字,好像可以幫到我什麼
所以我重「新」學習
我的學習流程是
1.先上網找資料
2.確定合乎使用,開始找書來看
3.看不懂就去上課老實說,目前為止還沒走到第3步過的
因為遇到了這些問題,所以在程式撰寫的進度上又停下腳步
這幾天在狂卡書,好久沒有這樣的卡書動力(上次卡書是在看金庸小說)
為了解決這些問題,我已經買了兩本書
不過第一本目前只看到一半,預計兩本書這個月先看完一輪
目前我計劃要造以下順序重「新」進行遊戲產出
需求->分析->架構->程式撰寫->測試
雖然只有四個步驟,但我也身兼多職
需求->客戶&專案經理(PM)
分析->系統分析師(SA)
架構->系統設計師(SD)
程式->軟體工程師(PG)
測試->軟體工程師QC、玩家QC
幾乎是一個人要跑完全部的流程
差別在說我自己想什說什麼,沒有什麼溝通上的障礙
可能有人會問
有需要寫個遊戲搞到那麼複雜嗎?
很多目前好玩的遊戲,也不一定經過這些流程才做得出來
這樣做只會浪費更多時間在開發以外的事上,幫助沒那麼大
的確這也都是我原本心中的疑問
但回到我之前說的,我必須面對解決兩個大問題
我的解決方法定下來的,要證明它們是有用的,我必須要親自走過一次
就算最後它失敗了,我也相信我選的路,在常情況之下是正確的
會失敗只是因為自己能力的問題,在兩個解決方案中,沒有選擇對的部份進行
不過不管成功失敗,我也不會一無所有,因為我學到了一些事
而失敗了一次,我也不會放棄,檢討之後再繼續
最後要說的是,這段期間的開發跟程式碼大部份都還是有用處的
不會跟之前一樣,整個系統跟語言翻掉重來
現在在做的只是從更前頭的地方開始,讓整個開發環境更穩固