[請益] 2D橫向卷軸動作遊戲的各種架構

看板GameDesign作者 (魔物を討つ者)時間13年前 (2010/09/22 14:01), 編輯推噓14(20680)
留言106則, 28人參與, 最新討論串1/2 (看更多)
關於像洛克人或Mario那種遊戲 有幾個問題想要請教 1.平台: C+似乎是比較多人推薦的,可是對於有物件的東西一開始的宣告不太友善 Flash可直接進行物件建立,可是作出來的遊戲就是會保有Flash的痕跡,選單之類的 GM的話很多東西似乎很死,要作到洛克人X攀牆的技術似乎不太容易,成品也有GM痕跡 那個比較好?還是有推薦的? 2.判定: 上次似乎有問過,拿一個方塊狀物體進行判定 然後將人物貼圖跟蹤那個方塊製造人物假象 這樣判定似乎會好一些? 不過這代表所有的狀態都得另外宣告? 3.狀態: 承上題 以洛克人來說,行走,衝刺,攀牆,發射等等 有各種動作和變化 如果是先用方塊來進行動作的話 意思是得用一個變數來宣告他的狀態,然後進行選擇肢? 像是原地跳,向前跳等等 是要用狀態進行if還是利用按鍵的巢狀if進行判定比較方便? 而且像是撞到牆停止,攀牆下滑,牆壁彈跳 還有彈跳中放開而下墜,或是彈跳中撞到天花板等等 if的先後順序都有點亂 只要寫反了就可能會造成穿牆..... 4.場景: 有一點問題是大多人物在左方開始,走到中間之後換成場景移動 回到某個點時則又變成人物移動 是宣告另外一個變數進行距離記錄? 還是有其他方法? 感覺這東西技術不難 可是光是動作選擇肢的世界樹就令人頭大 有沒有範例可以參考之類的? 還是有經驗的大大可以說一下秘訣? -- ▼▼ /﹊ // \ ╲ ◥◣ ── ノ /▄▄▄◣ 川澄 舞˙兔子mode — ~ ◢◤ @binshaunMKII ▼◤ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.150.86

09/22 14:04, , 1F
我想如果你要問這些問題, 這個 project 應該是不會完成的
09/22 14:04, 1F

09/22 14:18, , 2F
你拿c+ (?) 跟flash比 就是個很大的問題了...
09/22 14:18, 2F

09/22 14:20, , 3F
你們不要這麼酸咩... (其實我要推的被搶走了)
09/22 14:20, 3F

09/22 14:21, , 4F
WHY....為什麼這些東西不能問?
09/22 14:21, 4F

09/22 14:23, , 5F
只是來問一下秘訣,也沒犯版規,還是純粹覺得我太懶?
09/22 14:23, 5F

09/22 14:31, , 6F
這就好像看過電影之後問"魔戒的瑪猛怎麼長的跟大象一樣?"...
09/22 14:31, 6F

09/22 14:32, , 7F
好爛的比喻XD
09/22 14:32, 7F

09/22 15:03, , 8F
如果原po是說 C++ ,那真的是很突兀 orz
09/22 15:03, 8F

09/22 15:11, , 9F
不然還有什麼推薦的嗎?
09/22 15:11, 9F

09/22 15:38, , 10F
動作遊戲製作大師?
09/22 15:38, 10F

09/22 15:49, , 11F
我想如果你要問這些問題, 這個 project 應該是不會完成的
09/22 15:49, 11F

09/22 16:12, , 12F
那就不要完成啊,我只要知識和經驗
09/22 16:12, 12F

09/22 16:13, , 13F
來這裡問問題都是要考慮是否有錢賺和有成品嗎?
09/22 16:13, 13F

09/22 16:20, , 14F
先去做吧.其實你想了很多.做下去就會慢慢得到問題的答案.
09/22 16:20, 14F

09/22 16:22, , 15F
平台不是重點。如何運用這工具實現想法比較重要
09/22 16:22, 15F

09/22 17:57, , 16F
樓上說得中肯,我只是想知道前輩的想法避免碰太多壁
09/22 17:57, 16F

09/22 17:58, , 17F
如果都要從0開始然後得到答案就不用來發問了...
09/22 17:58, 17F

09/22 18:29, , 18F
你不去碰壁 怎麼累積知識和經驗 怎麼去理解背後的道理
09/22 18:29, 18F

09/22 18:30, , 19F
這些都是你動手做馬上就可以得到答案的問題
09/22 18:30, 19F

09/22 21:00, , 21F
一開始先試著寫站立、行走、跳躍,等到這三種都寫好了,剩
09/22 21:00, 21F

09/22 21:00, , 22F
下的也難不倒你了。一開始的規劃是很好沒有錯
09/22 21:00, 22F

09/22 21:01, , 23F
但是看的太遠,往往就會怯於踏出第一步。
09/22 21:01, 23F

09/22 21:16, , 24F
其實重點正是你應該從零開始才知道自己要的是甚麼.
09/22 21:16, 24F

09/22 21:18, , 25F
這些問題全都沒答案, 因為這全部都是選擇而沒最優解.
09/22 21:18, 25F

09/22 21:19, , 26F
但這些問題卻是想先要一個最優解才開始做.
09/22 21:19, 26F

09/22 21:20, , 27F
如果有人告訴你答案你跟著做, 你就失去了做下去的能力.
09/22 21:20, 27F

09/22 21:20, , 28F
那是喪失了從判斷需要中學習的機會.
09/22 21:20, 28F

09/22 21:23, , 29F
因為, 你要實行的話, 你是不需要別人幫你選語言的.
09/22 21:23, 29F

09/22 21:25, , 30F
你該先確定你是否真的想去實行.
09/22 21:25, 30F

09/22 21:36, , 31F
如果你想做理想的遊戲, 你應該先學好寫程式.
09/22 21:36, 31F

09/22 21:37, , 32F
學了之後你自然能知道用甚麼語言可實行.
09/22 21:37, 32F

09/22 21:37, , 33F
而問這些問題是因為你打算用捷徑, 那一定會產生瓶頸.
09/22 21:37, 33F

09/22 23:45, , 34F
會什麼工具就用什麼工具作 工具都不會只會空想
09/22 23:45, 34F

09/22 23:46, , 35F
那遊戲只能在你的腦袋裡玩..
09/22 23:46, 35F

09/22 23:47, , 36F
player根本不會在意你用什麼東西作出遊戲 重點是遊戲好玩
09/22 23:47, 36F

09/22 23:48, , 37F
board game也是遊戲 它不需要會c++/flash 但它好玩
09/22 23:48, 37F

09/23 01:15, , 38F
我可以接受這種說法
09/23 01:15, 38F

09/23 01:16, , 39F
如果一開始就像syntex這樣的回答我認為說服力更夠
09/23 01:16, 39F
還有 27 則推文
09/23 21:17, , 67F
既然天花板也算地板,你就應該讓它們繼承同樣的特性,用同
09/23 21:17, 67F

09/23 21:18, , 68F
一個判定跟公式。會因為是天花板或是地板而跑出不同的情況
09/23 21:18, 68F

09/23 21:18, , 69F
代表你這個統整的工作沒有做好,你應該整理一下你的物件繼
09/23 21:18, 69F

09/23 21:19, , 70F
承樹(不是指語言寫作中的OOP繼承,是指概念上的)
09/23 21:19, 70F

09/23 21:24, , 71F
另外角落穿牆很明顯代表你並沒有檢查所在位置的合理性,而
09/23 21:24, 71F

09/23 21:25, , 72F
是每動完一次才檢查一次,這樣做在簡單的運動模型中是OK的
09/23 21:25, 72F

09/23 21:26, , 73F
,但是複雜的模型中(單單一次運動可能連鎖先後多次改變運
09/23 21:26, 73F

09/23 21:27, , 74F
動形式)就不OK了,你要改為觸發式的方式來處理
09/23 21:27, 74F

09/23 21:47, , 75F
樓上大大請受我一拜,受教了
09/23 21:47, 75F

09/23 21:48, , 76F
所以比起enterframe的hittest,似乎要動用到監聽器
09/23 21:48, 76F

09/23 21:50, , 77F
不一定要用真的監聽器,你只要裝得有監聽的樣子就好。
09/23 21:50, 77F

09/23 21:51, , 78F
比如說,在一個動作進行中,它必然有起點終點跟中間變動的
09/23 21:51, 78F

09/23 21:52, , 79F
函數,然後你就可以用這些東西算出過程中是否會觸發別的行
09/23 21:52, 79F

09/23 21:52, , 80F
動。若否,就可以直接更新到底。會觸發新動作的話,就先更
09/23 21:52, 80F

09/23 21:53, , 81F
新到觸發點,然後重新算新的動作函數及終點。
09/23 21:53, 81F

09/23 21:53, , 82F
當然用哪種作法是不一定,依架構而定也有可能真的監看反而
09/23 21:53, 82F

09/23 21:54, , 83F
易作,這要看你的動作距離單位如何定的。說是監看,其實也
09/23 21:54, 83F

09/23 21:55, , 84F
不過是把那些計算包起來藏在監看器裡一併處理就是。
09/23 21:55, 84F

09/23 21:57, , 85F
如果這些處理有很好的統一性,很容易整合成幾條規則,就用
09/23 21:57, 85F

09/23 21:58, , 86F
監看的方式。不然太多的規則堆在監看器內只會造成效率很恐
09/23 21:58, 86F

09/23 21:58, , 87F
怖的降低──每個Frame都做多到可怕的一大堆運算,結果大多
09/23 21:58, 87F

09/23 21:59, , 88F
數時間是什麼都不會碰到或只有一兩條rule真的會被用到之類
09/23 21:59, 88F

09/23 22:48, , 89F
原po你應該蠻需要這個 http://tinyurl.com/n9r9t4
09/23 22:48, 89F

09/23 22:49, , 90F
沒有不好的意思,但是如果你可以更精確的描述問題,別人會
09/23 22:49, 90F

09/23 22:50, , 91F
比較容易抓到問題的癥結回答你 @"@
09/23 22:50, 91F

09/24 00:08, , 92F
09/24 00:08, 92F

09/24 07:31, , 93F
閱 我找上你了啾咪^.<
09/24 07:31, 93F

09/24 10:57, , 94F
原Po 用Action Script的邏輯問C++問題不覺得有些奇怪嗎?
09/24 10:57, 94F

09/24 11:01, , 95F
固然 as ~= java ,物件導向的觀念跟C++也很相似
09/24 11:01, 95F

09/24 11:02, , 96F
但是在實作的細節上還是有很多差異的 @@"
09/24 11:02, 96F

09/24 11:03, , 97F
建議你可以稍微google一下 AS,Java,C++ 之間的差異
09/24 11:03, 97F

09/24 23:22, , 98F
09/24 23:22, 98F

09/25 04:14, , 99F
GOOGLE了一下你說的料理鼠王銘言(怎麼會有人引用這種..)
09/25 04:14, 99F

09/25 04:15, , 100F
原意是說評論家的心情 不是讓你拿來反擊別人的指教
09/25 04:15, 100F

09/25 10:17, , 101F
如擬
09/25 10:17, 101F

09/26 18:12, , 102F
原本想講...但是題目太大了 不想打這麼多字@@
09/26 18:12, 102F


09/26 18:33, , 104F
4年沒碰flash 很久以前寫的 看看對你有沒有用 有錯請見諒
09/26 18:33, 104F

09/26 21:54, , 105F
技術不難? so是邏輯比較難摟?
09/26 21:54, 105F

11/14 02:52, , 106F
大開眼界
11/14 02:52, 106F
文章代碼(AID): #1CcPlEn2 (GameDesign)
文章代碼(AID): #1CcPlEn2 (GameDesign)