2012年5月1日

四人兩天開發的《Dora》- MIT Game Jam 心得分享

有沒有想過,週末的兩天能拿來做什麼?看電影?吃大餐?賞花賞貓去?

上個週末,有一群熱愛遊戲的人參與了一個叫做 Game Jam 的活動,Game Jam 指的是在短時間內(通常是兩天 48 小時內)依照活動主辦者所公布的題目,快速開發出一款遊戲。上週所舉辦的 MIT Game Jam 便是台灣第一次的 Game Jam 活動。我在前幾天參加了這場 Game Jam,並且和當天第一次碰面認識的朋友們,合力完成了一款 iOS 遊戲。

dora the game

關於遊戲

我們做的遊戲叫做《Dora》,遊戲以 Objective-C + cocos2d 開發,在 iOS 上運作。活動結束後會放到 App Store 上供免費下載。除了遊戲本體外,程式碼也完全開放,兩天內兩名程式累積了 55 次 commit,有興趣的人可以點下面連結看看。不過真的是看看就好,Game Jam 時所寫的程式碼品質是非常慘不忍睹的…

  • Source Code Repository at [bitbucket]
  • App Store 下載:iTunes Link
  • 活動實況影片:[Link]
  • 遊戲實際畫面可以看此實況影片,從 44:0047:00。影片中也有其他組的成果發表。
  • #mitgj at Twitter (Twitter 上的相關推文)

背景

我們這款遊戲的故事,主要是說有一個叫 Dora 的超強大機器人,她在看購物頻道時,意外愛上了吸塵器這個小東西。然而製作出 Dora 的瘋狂博士卻不想看到他的 Dora 因為愛上吸塵器而不務正業(幫博士征服地球),於是派出大軍要消滅吸塵器與 Dora。

玩法

遊戲中有三個吸塵器。吸塵器會受到攻擊而消滅,不過 Dora 可以把吸塵器撿起來,裝備在自己身上,這時吸塵器不僅可以免於被 NPC 攻擊,Dora 也可以幫吸塵器回復 HP,但同時也會消耗自己的 HP。此外,裝備(保護)越多的吸塵器,Dora 的動作就會受到限制,當三個都裝備起來時,Dora 甚至無法攻擊,行動也會變得緩慢。

這種「主角很強,配角很弱;主角的目的是要保護配角,但是當保護配角時,主角本身也會因為牽絆而喪失自己的強大。」便是我們對於這次主題的詮釋。

game jam topic

操作

遊戲的操作分成左右按鍵與 A, B, C 三個按鈕。左右是移動,A, B, C 則分別是「近攻」、「遠攻」與「把吸塵器抓起來」。當抓起一個吸塵器後,B 鈕的作用會變成「把第一個吸塵器拋出」;抓起第二個時,要按 A 鈕才能拋出。因此,抓越多吸塵器在身上保護,能作的攻擊選項就越少。

開發日誌

Day 1

  • 10:00 離集合時間還很早就已經到元智了,天氣不錯。
  • 11:00 公布題目與分組。我們組成員一企劃(橘之介)、一美術(建愷)、兩程式(Jason 和我),共四人。
  • 12:00 針對要開發的題材與類型進行討論。
  • 13:00 初步討論完後便悠閒地一起去吃午餐。吃完回來進行更細部的製作規劃,並決定以 Objective-C 作為開發語言。
  • 14:30 各組開始進行報告。
  • 16:00 有初步的角色移動,以及 UI 介面。
  • 18:00 角色的移動與 UI (Virtual Pad) 整合。加入背景與角色移動動畫。
  • 20:00 加入了產生 NPC 的功能,以及主角的攻擊動畫與操作。
  • 20:30 各組階段性成果 demo。在 demo 前我們又加上了背景音樂。還有晚餐是麥當勞。
  • 21:00 Demo 結束後,程式與企劃都回家休息,企劃因為家住比較遠,所以留在現場過夜(辛苦了~)

Day 2

  • 08:00 我昨天回家後就休息了。早上比較早起來,編寫敵人的動畫演出。
  • 10:00 由於出門比較晚(程式沒寫到一個段落,不想就這樣擱著先出門),到達會場的時間差點遲到。
  • 11:00 隊友也完成了吸塵器(就是遊戲主角 Dora 要保護的對象)功能。美術今天開始將昨天所使用的圖全部重新刻一遍,企劃整理開發資料與簡報,準備下午的 present。
  • 12:00 加入了 Dora 與吸塵器的血量,還有 NPC 出現的波次。已經比較有關卡的感覺了。
  • 13:00 中午大家一起出去校外用餐,休息一下轉換心情。感謝建愷,推薦了不錯的涼麵店。下午 1 點回來後開始最後衝刺。
  • 14:00 加入 Game Over 功能。NPC 原本只會亂走一通,現在會追著主角了。
  • 15:00 更新美術繪製好的新圖檔,質感一整個提昇。加入 NPC 攻擊動作(但打了還不痛)
  • 16:00 Dora 與吸塵器會受傷了。換上新的 splash 圖檔與 icon。
  • 16:30 修正 Bug, Game Over 顯示 NPC 進攻波次與砍殺數。進入最後各組 demo。對了,吃披薩。

心得感想

在參加 Game Jam 之前,我原本想要用 python + pygame 進行開發,還因此在活動開始前幾天刻意熟悉了一下,不過事後發現這些都是多餘的。事前的練習與準備,對於單人隊伍的開發或許 OK,不過如果是隨機湊隊的活動,我們無法預料到會與什麼樣的隊友合作,因此拼的就是平常累積的基本功了。在這方面,好在 Jason 對於我們所使用的 cocos2d 引擎有深厚的瞭解,我許多開發上遇到的問題都可以請教,從而省下許多開發時間。也在這短短的兩天裡學了不少,也許平常一個禮拜都還沒辦法做到這麼快的熟悉吧。

另外,在 Game Jam 的過程中,休息本身--或者說,開發的疏密節奏--也是很重要的。雖然是短期開發,可是人的身體畢竟不能連續好幾個小時保持高速運轉狀態,適當的休息喘口氣,讓腦袋沈澱、身體充電,才是維持開發速度的不二法門。我第一天幾乎都忘了休息,結果第二天早上呵欠連連。

感謝

最後在這邊要感謝獨立遊戲開發者分享會 (IGDSHARE) 與元智大學舉辦了這個活動,IGDSHARE 的工作人員可是從活動前一天開始就在會場準備了,最後也順利圓滿完成了第一屆以台灣開發者為主的 Game Jam。也要謝謝我們 E 組的每個組員:Jason, 建愷與橘之介,你們真是太棒了,少了任何一個人,我們都無法在這麼短的時間內做出這麼完整的遊戲。

最後的最後,我想要感謝我的家人,謝謝你們的支持,讓我能無後顧之憂地全心投入開發。感謝你們。

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...