訓練盒挑戰賽 - 好想工作室 iOS Camp

工程師2018年05月23日

在學員自學 3~ 6 個的 iOS 開發以後,我們在工作室進行了一場「訓練盒挑戰賽」

挑戰賽最大的特色就是壓力與挑戰

面對從來沒見過的需求、突發的臨時情況,在時間壓力下被迫與別人合作完成任務 ... ...

這過程很有趣 :D


訓練盒

訓練盒挑戰賽的由來

「訓練盒」是我學習 iOS 開發大約 3 個月左右的時候用 Objective-C 寫的

其中的畫面和動畫都是通過 code 來寫, 目前看來有部分畫面跑版,但不影響遊戲進行,而當時我手裡只有 iPhone 4.

我在2014年的時候開始轉型做工程師,經過一段時間的學習,準備要找工作。

找工作前想要自己做一個比較完整的應用,於是決定做一個遊戲「訓練盒」。

「訓練盒」是一個小遊戲集合,其中關卡會根據分數的情況拿到不同的徽章(紅黃藍綠),根據徽章的數量可以解鎖其他遊戲。

製作「訓練盒」的過程一開始花了些時間來規劃整個遊戲,後面變成大概半天到一天的時間規劃遊戲,一天到兩天的時間做出遊戲。

這個過程非常有挑戰性,因為第一個階段我只想遊戲,而第二個階段我只想怎麼做出來。

最後我從 10 幾個遊戲裡面挑了比較合適的 8 個做成了「訓練盒」,這是我第一個上架的 App.

我到現在還記得當時每天都很興奮的過程,每一次突破困難都讓我獲得滿滿的成就感,而這一份感受我想要讓周圍的朋友也能體會


iOS Camp 訓練盒挑戰賽

這是一個連續一週的挑戰賽,除了告知每天要準時進工作室以外,沒有透露其他資訊。

每天 9:00 公布當天的任務, 中午 11:30 強制停下手邊的工作去吃午餐,當天結束時間是 17:00.

Day 0 準備日

App Campus 學員各自提出 10 個與開發相關的問題。

這一天我把所有的時間空出來,和大家討論問題。

Day 1 暖身

從近百個問題中提出 30 個尚未解釋清楚的問題來當作任務,讓學員互相認領,互相解答。

Day 2 訓練盒 – 做一個遊戲

這是挑戰賽的第一天 - 從突發狀況開始

在宣布當天任務的同時,我們提了一個「突發情況」學員需要先下載「訓練盒」並解鎖 7 關。

因為遊戲有難度,很有可能會需要用掉 30 ~ 60 min 並且會先消耗你不少精神 :D

任務

  • 解鎖「訓練盒」七個關卡。

  • 做一個遊戲、要有分數的機制、能夠重新開始遊戲、要有動畫

需求

  • 中午休息時間暫停討論挑戰賽內容(好好放鬆)

  • 專案推上 Github

  • 發現有做一樣規則的遊戲,需要協調換遊戲,否則都算 fail

  • Fail 的學員在接下來幾天不用進工作室了 :D

挑戰賽部分作品

  

Day 3 訓練盒 – 運氣是一種實力

Coding Challenge 的第二天,確認參與者是否有最基本閱讀/修改 code 的能力

我們通過「爬樓梯」的方式來隨機分配今天要整合的遊戲。

任務 – 合併遊戲並開發新功能

  • 增加一個首頁,需要有一張背景圖。

  • 可以選擇你的遊戲和朋友的遊戲。

  • 為你的遊戲和朋友的遊戲取一個名字。

  • 畫面需要顯示「遊戲 icon」、「遊戲名稱」、「玩了幾次」、「歷史最高分」

  • 紀錄整合過程中你碰到的問題,你是如何解決的。

  • deadline 16:00

結尾

  • 除了讀懂別人的 code 以外,我想大家也花了不少時間在將兩個 Project 整合在一起的問題上。

  • 驗收時發現了不少跑版的情況。

挑戰賽部分作品

 

Day 4 訓練盒 – 合作

Coding Challenge 的第三天 - 感受自己能力的不足

遊戲規則

  • 8 個人分成以菘駿 / Gavin 為 Team Leader 的兩個隊伍,組員通過「爬樓梯」分配。

  • 需要先為你的隊伍取一個名字,才能開始解任務。

  • 「未完成組」請「完成組」喝星巴克,如果兩隊都完成,我請 8 名挑戰者喝星巴克

需求

  • 整合兩個遊戲。

  • 建立首頁,可以選擇遊戲進入。

  • 引入「代幣」功能,玩遊戲會消耗代幣,通過相機掃描 QRCode 儲值代幣。

  • 首頁顯示 App 開啟次數、玩了多少次遊戲、代幣餘額。

限制

  • 競賽期間只能與團隊成員討論。

  • 可以互相討論但不能直接幫對方寫 Code, 驗收期我會通過隨機詢問來了解每個人做的事情。

  • 如果隊伍討論過程有爭議,由 Team leader 負責拍板。

  • Deadline 16:00

 

這是整個挑戰賽最刺激的一天,隨機組合的隊伍、互相競爭、從頭衝到尾。

雖然兩個隊伍在最後 deadline 上都逾時了,但我仍舊覺得他們都做得非常好。

有一組甚至在這個過程中完全重新寫了兩個新遊戲,我非常欣賞這種願意挑戰的人。

Coding Challenge 部分作品

 

Day 5 訓練盒 – 為了成長

訓練盒挑戰的最後一天,我認為做總結對進步很有幫助。

任務

  • 9:00 ~ 10:30 所有成員總結過去幾天的開發心得,整理成問題集並提出解決方案。

  • 10:30 ~ 11:30 成員開始進行發言,我會對發言內容做紀錄。

規則

  • 時間到則停止發言,在此期間內若沒有提出建設性意見給你一個禮拜的時間不進工作室,好好思考未來。

  • 我手裡會有一副撲克牌,當我翻出黑色時,爭奪桌子中央的道具,如果拿到則可以發言。

  • 如果翻出的是紅色的卡牌,而有人將手伸出,則跳過一次爭取發言的機會。


恭喜完賽的各位,玩的開心最重要 :D