場景編輯器開發(fā)第五天,設(shè)計架構(gòu)重回flash,很多問題不是出在技術(shù)上而是策劃上
?經(jīng)過昨天第四天的努力研發(fā)基本上把繪畫功能搞定了,接下來就是對于場景編輯器操作部分的配置,為此我已經(jīng)把大體架構(gòu)設(shè)計寫好了,本身準備今天就開工的,沒想到?jīng)Q策又有了變化,不過我還是先把架構(gòu)設(shè)計放出來吧~
1.首先有一個容器存放所有要放進來的顯示對象。
2.單獨有一個組作為操作器ui的層。
3.選擇框功能,用鼠標拖動出一個區(qū)域,場景也是活動的,可以拖動,按下-move-抬起,確定一個拖動區(qū)域,這個區(qū)域算法計算覆蓋。
4.每個顯示對象都有活動狀態(tài)和非活動狀態(tài),處于活動狀態(tài)則可以對活動狀態(tài)的顯示對象進行各種操作。
5.活動狀態(tài)移動,每個活動狀態(tài)的每一個對象都有按下事件和抬起事件,移動的話就是移動位置,確定移動的量。
功能0:整體拷貝,取消原選擇物品,創(chuàng)建副本,選擇副本內(nèi)容
功能1:整體還原變形
功能2:指定變量固定修改,輸入改變量
功能3:指定變量隨機修改,輸入隨機范圍
功能4:依賴功能2,3,隨機屬性生成。
功能:依賴功能2,整體固定移動指定量
功能:依賴功能3,整體隨機移動指定量
功能:依賴功能2,整體固定旋轉(zhuǎn)指定量
功能:依賴功能3,整體隨機旋轉(zhuǎn)指定量
功能:依賴功能2,整體固定縮放指定量
功能:依賴功能3,整體隨機縮放指定量
?
實際上一個場景編輯器系統(tǒng)對于目前在研發(fā)的兔寶世界來說沖突還是挺多的,玩法設(shè)計沒辦法適應(yīng)當前的整體玩法設(shè)計,其中就包括了玩家惡意創(chuàng)造那種直接采集物資的場景,然后獲取物資,這樣最終導(dǎo)致游戲的平衡破壞,而避免這種情況的解決方法就是對玩家創(chuàng)作進行限制,但是限制了又就難以實現(xiàn)場景編輯器本身應(yīng)有的創(chuàng)意設(shè)計,大量的為了平衡而設(shè)定的限制不管是對玩家還是對游戲平衡來說都不好,做下來都是一個挑戰(zhàn),曾經(jīng)的想象太美好了,看上去沒什么問題,感覺沒問題就開工做了,沒想到細致思考后問題會這么多,所以場景編輯器從對玩家開放回到僅對自己研發(fā)開放,作為內(nèi)部工具實現(xiàn),所以又大調(diào)矛頭,放棄了在egret引擎上搭建的想法,改為繼續(xù)在flash pro上開發(fā),并且盡量降低成本,其中的目的無非就是為了,提高其他系統(tǒng)重要性而做出的邊緣化決定,所以前面的努力都白做了,不過也不完全白做,畢竟有一個大的繪畫模塊完成了,以后可以無限利用,比如做畫板呀,做一些特有的各種各樣的融合進畫板繪畫的玩法也是很棒的。
參考我的世界游戲設(shè)計,我的世界是沙盒游戲,而兔寶世界是一個休閑養(yǎng)成游戲,我的世界開放了公開去開啟服務(wù)器功能,而兔寶世界開放這種功能則會導(dǎo)致游戲裂開,因為太多關(guān)于這套系統(tǒng)整合物品等等內(nèi)容的工具了,而我的世界則并沒有這樣的影響。
創(chuàng)作是工程師的事情,決策是老板的事情,但是決策往往比做一個項目難的多,可能大多數(shù)老板也是今天一個想法明天一個想法,后天又改一個想法,曾經(jīng)合作的甲方,開始合作的時候說的是一種需求,做到最后變成另一種東西,這當然是一點點的去改出來的,所以就是這樣哦。

我來繼續(xù)說一下后續(xù)的研發(fā)架構(gòu)實現(xiàn)吧,首先我要做的事情就是在flash中建立多個類,這些類是基礎(chǔ)的類型,對應(yīng)了20種un系統(tǒng)基礎(chǔ)模塊,然后具體物品是派生這些類實現(xiàn)的,派生類創(chuàng)建物品,然后全部依賴flash的類導(dǎo)出功能,直接放到flash pro中進行編輯,編輯完以后直接通過as代碼寫的算法導(dǎo)出場景配置表這些。這就是后續(xù)的實現(xiàn)邏輯了,這樣簡單也可以做成一個場景編輯系統(tǒng),只不過,過度依賴flash技術(shù)。
場景編輯器開發(fā),從選擇flash到放棄flash又到重新拾起flash,整個過程充滿戲劇性,太有趣了,那么今天就是這樣了,而且我想吐槽一下actionscript3.0的面向?qū)ο笾貙懛椒ㄕ骐y受。