◎本文翻譯自 OpenSource.com,原作者為George Saines:
https://opensource.com/education/14/1/open-source-game-codecombat
當我在 2008 年創立第一家公司時,我只是個程式設計菜鳥。歐柏林學院的經濟學學位,並沒有讓我對寫程式的職涯做好準備。雖然我在拼揍粗糙的 HTML 與 CSS Django 模板上,盡了最大努力,我對我們代碼庫的貢獻仍然相當有限。因此我開始透過線上教材與課程自學寫程式。歷經許多令人沮喪的跌跌撞撞,我終於了解到為什麼我總是無法堅持下去:程式課程與影片對我而言感覺就像學校,而我已經沒興趣重返校園。
我們之後著手 CodeCombat,一套教導孩童與學生寫程式的遊戲。玩家在與怪物敵人對戰中,利用咒語 (JavaScript) 控制力量。今年 1 月 8 日我們開源釋出了整個專案,包括伺服器、美術等等。你可以複製我們的代碼庫,並在幾分鐘內在你的機器上擁有可以運行的版本。
CodeCombat 是由 YCombinator 支持的一家營利新創公司,我們認為程式教育的未來,應該始於教學,而終於對開源專案的貢獻。當我們在設計該產品時,我們已經確定要把所有程式碼開源出去。我們想像玩家在網站上透過教材學習寫程式,一旦他們熟練到某種程度,就投入有著貨真價實程式碼與世界級開發者網絡的代碼庫,協助他們學習並著手對他們有意義的專案。
自從我們宣布開放源碼後,我們的代碼庫已經吸引超過 2000 顆星星、400 個分支、200 位觀察者、25 位貢獻者。CodeCombat 一直是 GitHub 上前 10 大趨勢代碼庫。
我們的公告說:封閉源碼或許幾乎是各新創公司與遊戲工作室的選擇,但我們認為這項慣例應該重新思考。CodeCombat 已經是社群專案,有著數百位玩家自願創造關卡、撰寫文件、協助新手、測試遊戲,甚至是翻譯成 17 種語言。現在,程式開發者也可以加入這場派對。
我們的目標是教你寫程式。在我們擁有超過 9 千個關卡,可以帶你一路從新手到像貝拉那樣的高手(指法國程式開發者 Fabrice Bellard)之前,為什麼不跳進友善新手的開源專案持續學習?我們不僅是把程式碼放出來而已,我們努力讓你更容易加入貢獻。你不需要了解 git,也不需要安裝什麼東西,你甚至不需要知道如何寫程式,就可以協助解決我們在 GitHub 上的某些問題。
當前我們的目標是吸引開發者的關注,並持續為專案打造有參與感的貢獻者社群。遊戲為學生和年輕開發者接觸電腦科學,提供了豐富且互動的方式,我們希望 CodeCombat 最終能成為數百萬學生踏上他們編程冒險的理由。