跳到主要內容

實戰 Vibe Coding:利用 Amazon Q Developer CLI 打造經典平台跳躍遊戲

本篇文章將介紹如何透過 Amazon Q Developer CLI 建構一款完整的 2D 平台跳躍遊戲,從初始生成、功能增強,到最終打造出具備多關卡、多樣互動元素的遊戲體驗。特別的是,過程中開發者並未撰寫任何一行程式碼,僅透過自然語言指令與 CLI 對話完成所有工作,實踐「Vibe Coding」( 氛圍編碼 )。

image

本文作者為 Haowen Huang, AWS Senior Developer Advocate. 擁有 20 年以上電信、互聯網以及雲端運算等行業架構設計、技術及創業管理等豐富經驗,曾任職於 Microsoft、Sun Microsystems 等企業,專注為遊戲、電商、媒體和廣告等企業客戶提供 AI/ML、數據分析和企業數字化轉型等解決方案諮詢服務。

引言

本篇文章 (English Version) 將介紹如何使用 Amazon Q Developer CLI,以無需撰寫任何程式碼的方式,打造一款經典的 2D 平台跳躍遊戲。透過「Vibe Coding」( 氛圍編碼 ) 的開發流程,開發者可以藉由簡單的語言提示詞 (prompt),逐步完成從遊戲雛型、功能擴充到完整關卡設計的開發流程。

整體開發流程將分為三個步驟:

1. 生成遊戲雛型
2. 功能擴充強化與畫面調整
3. 導入參考架構建立完整遊戲

環境建置

使用者需先安裝並設定 Amazon Q Developer CLI。對於 macOS 使用者,可透過下列步驟完成安裝:

  1. 下載並安裝 Amazon Q Developer CLI
  2. 登入 Builder ID 完成認證
  3. 開啟終端機控制與無障礙設定
  4. 執行 q doctor 指令檢查 Amazon Q Developer CLI 是否安裝成功:
  5. 遊戲開發方面,建議使用 Python 語言與 Pygame 套件,可透過下列指令完成安裝;Pygame 提供以下功能支援:
  • 畫面與動畫渲染
  • 音效播放
  • 鍵盤與搖桿輸入控制
  • 物理模擬與碰撞偵測
  • 多種媒體格式支援(圖片與音效)
$ q doctor

image

$ pip install pygame

第一步驟:初步生成遊戲雛型

透過簡單的一句 prompt,Amazon Q Developer CLI 結合 Pygame 套件可快速生成具備基本跳躍與平台邏輯的遊戲原型。CLI 自動產生完整的 Python 程式碼,使用者無需編寫任何程式碼即可執行並測試遊戲功能。👉 檢視 GitHub 原始碼(v1)

$ q chat
> Create a classic platform game using the Pygame library, replacing traditional coins with stars and standard walls with post-industrial cyberpunk style

遊戲雛型包括:

  • 主角角色控制
  • 基本平台邏輯
  • 重力與跳躍效果

image

啟動遊戲的指令如下:

source venv/bin/activate && python main.py

在第一步驟的嘗試中,Q CLI 能在輸入第一個 prompt 後,能立即完成整個遊戲的程式設計,展現了非常強大的生成能力。不過,儘管遊戲邏輯完整、可執行,整體 UI(使用者介面)仍偏向基礎與簡單。因此,建議進行第二步驟,持續與 Q CLI 對話,透過更多指令逐步強化遊戲的視覺效果與互動性。

第二步驟:功能擴充強化與畫面調整

進入第二個步驟後,開發者可透過進一步提示,引導 Q CLI 強化遊戲內容,包括:

  • 加入角色動畫與精靈圖(sprites)
  • 整合音效與背景音樂
  • 實作畫面滾動(camera scrolling)
  • 加入分數計算與顯示機制
> /quit

$ q chat 
>  Please examine the code directory located at /Users/AMAZON/DA-Stage/DA-Role/2025/CLI-Q/my-blogs/platform-game/v1, which contains the platform game code (version 1) that you previously wrote. I need you to create a new directory at /Users/AMAZON/DA-Stage/DA-Role/2025/CLI-Q/my-blogs/platform-game/v2 and copy all the version 1 code files to this new directory.

image

如上所示,Q CLI 成功建立了一個新的 v2 子資料夾,並將 v1 版本的所有程式碼完整地複製到了這個新位置。接著指示 Q CLI 將後續的開發工作切換到這個新的資料夾中:

>  You should work on the directory: /Users/AMAZON/DA-Stage/DA-Role/2025/CLI-Q/my-blogs/platform-game/v2

加入精靈圖與音效

Enhance this game by implementing the following extension features: 1) Improving the 3D visual effects of the gameplay graphics; 2) Add appropriate sound effects; 3) Creating a scrolling camera system

實作畫面滾動與更多遊戲元素

> Continue to enhance this platform game by: 1) Improving the 3D visual effects of the sprites; 2) Adding more levels; 3) Implementing power-ups; 4) Creating a scrolling camera; 5) Including more enemy types

透過這些強化功能,遊戲的視覺效果與互動性獲得明顯提升,如此將使遊戲更具吸引力。👉 檢視 GitHub 原始碼(v2)

image

第三步驟:導入參考架構建立完整遊戲

在初步嘗試中,開發者藉由逐步輸入 prompt 的方式與 Q CLI 互動,讓模型依據需求逐步增強遊戲功能。然而,這種逐步式開發對於開發一款結構完善、關卡漸進的遊戲而言仍不夠完整。因此我們可以思考:若能將現有的開源遊戲專案作為參考,是否能讓 Q CLI 學習其結構與邏輯,進而產出完整的遊戲設計?

而為了打造完整的遊戲體驗,開發者可以讓 Amazon Q Developer CLI 對開源專案進行分析,並根據分析結果生成新遊戲架構。本案例中,筆者選擇 GitHub 上的 PirateMaker 作為參考專案;該專案為「公有領域(Public Domain)」,授權釋出,可自由修改與應用,包含商業用途,無需取得額外授權,適合作為生成模型的參考資料。

透過 Q CLI 學習外部專案並生成新遊戲

$ q doctor
$ q chat
> Referring to the approach and implementation of the code in the project https://github.com/clear-code-projects/PirateMaker, design a complete platform game in Python.

Q CLI 在獲得使用者授權後,自動下載並分析專案架構,並生成一份全新平台遊戲的系統設計。

I'll help you design a platform game in Python using the PirateMaker project as a reference. Let's first examine the PirateMaker project structure to understand its implementation approach.

I will run the following shell command:
git clone https://github.com/clear-code-projects/PirateMaker /tmp/PirateMaker && ls -la /tmp/PirateMaker

Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:
> t

Q CLI 所生成的整體遊戲架構

透過分析 PirateMaker 專案,Q CLI 建構出了一套模組化遊戲架構,內容包括:

模組名稱 說明
main.py 控制主遊戲迴圈與狀態轉換(主選單、關卡、編輯器)
settings.py 管理遊戲參數與設定常數(螢幕尺寸、物理引擎參數等)
level.py 處理 CSV 關卡資料載入、碰撞機制、物件互動
player.py 定義主角行為與動畫邏輯,支援各種強化狀態(如火球、星星)
enemies.py 管理敵人類型(如 Goomba、Koopa)的 AI 行為與碰撞邏輯
tiles.py 建構地圖區塊與互動物件(如問號磚塊、可破壞牆)
ui.py 管理 UI 元素,如分數、時間、主選單與按鈕互動
editor.py 提供關卡編輯器功能,支援多層編輯與存檔
particles.py 負責產生各種視覺特效(如爆炸、閃爍、得分)
support.py 資源載入與輔助工具函式庫

小結而言,Amazon Q Developer CLI 對其執行下列操作:

  • 複製開源專案並解析架構
  • 擷取遊戲功能模組與邏輯
  • 根據參考設計,生成包含難度調整、敵人互動、完整關卡等功能的新遊戲 (如下所示)

platform-game/
├── main.py # 遊戲主迴圈
├── settings.py # 遊戲設定
├── level.py # 關卡控制
├── player.py # 玩家角色邏輯
├── enemies.py # 敵人系統
├── tiles.py # 遊戲場景與方塊
├── ui.py # 使用者介面
├── support.py # 輔助工具
├── editor.py # 關卡編輯器
├── particles.py # 視覺特效系統
├── assets/ # 遊戲素材資源
└── levels/ # 關卡資料儲存

補充:除錯與功能微調可透過自然語言持續優化

由於生成程式碼可能初期包含錯誤,開發者可透過 Q CLI 提供錯誤說明與除錯請求,例如:

> You previously referenced https://github.com/clear-code-projects/PirateMaker and generated some platform game code in this directory, but the game cannot run correctly now. Please modify these codes so that the game can run properly
> Could you fix the trouble "failed to print tool: stream did not contain valid UTF-8"?
> I need a 'Replay' feature
> When the red block and blue block collide with each other, the screen freezes, and you can only press 'R' to restart or press 'ESC' to exit.
> The Arrow keys used for moving left and right are not working
> How can I proceed to the next level?

開發流程總結

步驟 內容 成果
1 初始生成 平台邏輯 + 跳躍控制
2 功能增強 精靈圖、音效、滾動畫面
3 完整遊戲 難度設計、多關卡、敵人互動

最終成果展示

透過 Amazon Q Developer CLI,筆者成功打造出具備三種難度模式、支援多關卡、敵人互動、視覺特效與編輯器的經典平台跳躍遊戲。全程透過自然語言溝通與命令列操作完成,實踐真正的「Vibe Coding」( 氛圍編碼 ) 體驗。

若想進一步了解完整示範過程,筆者亦製作了相關展示影片並上傳至 YouTube

雖然目前版本的美術細節仍有進一步優化的空間,例如尚未指示 Q CLI 產生寫實的牆面材質,但整體程式碼架構已具備高度完整性。只需再投入一些時間,持續與 Q CLI 對話,就能建構出更具視覺深度與互動性的遊戲體驗。若讀者有興趣深入了解技術細節,可前往以下 GitHub 查看完整程式碼 👉 檢視 GitHub 原始碼(v3)

在本機 macOS 執行遊戲的指令如下:

source venv/bin/activate 
python fixed_game_v1.py

專案總結:全程無需撰寫程式碼,打造完整跳躍遊戲

透過 Amazon Q Developer CLI,本專案實現了無需手動撰寫任何程式碼,即完成一款具備完整邏輯、音效與視覺效果的經典平台跳躍遊戲。整體開發歷程可分為三大步驟:

  1. 初步生成遊戲雛型:以一行 Prompt 建構出可執行的基本平台遊戲雛型。
  2. 功能擴充強化與畫面調整:透過逐步輸入需求,加入精靈圖、音效與捲動畫面等互動效果。
  3. 完整遊戲架構建構:引用開源專案 PirateMaker,指示 Q CLI 分析並生成一套結構化的遊戲系統,涵蓋關卡管理、物理機制與敵人行為等要素。

在開發過程中,若遇技術性錯誤,皆可透過自然語言提示修復。最終成果包含自訂角色動畫、三種難度關卡與完整 UI 系統,充分體現大型語言模型在軟體創作上的潛力。

給開發者的建議:創作門檻再降低,創意邊界再拓寬

本次遊戲開發歷程驗證了 Amazon Q Developer CLI 作為程式開發助手的可行性與靈活性。它不僅適用於原型 (Prototype) 快速開發,更具備學習與模仿開源架構的能力,能協助開發者快速構築成熟產品;隨著「Vibe Coding」(氛圍編碼) 模式日益普及,開發門檻正快速降低,而創意實現的速度也正被大幅提升。

對於想要進入遊戲開發、工具創作或教育應用領域的開發者,Amazon Q Developer CLI 著實提供了一個值得探索的全新可能性!

🎮 現在就啟動你的 CLI,讓創意與 Q Developer 一起展開旅程。Happy Vibe Coding!

留言

這個網誌中的熱門文章

會眾新服務「療癒市集」結合紅酒瑜伽、冥想正念、按摩小站、氮氣咖啡 | Introducing the Healing Market with Yoga Wine, Meditations, Massage Station, Nitro Coffee

新 [English version below] 今年的 COSCUP x KCD 2022 Taiwan 嘗試推出新的會眾服務,希望在繁忙的平日還抽空在假日來參與活動時、能夠療癒一下心靈與身體的負擔,「 療癒市集 」希望能夠為你帶來不一樣的體驗! 由於部分課程需要 預先報名 ,如果你有意參與課程,請直接 寄信報名 ,並等候志工收件處理,感謝! 以下是相關的課程簡介。 紅酒瑜伽 照片來源:台南安平雅樂軒酒店 都市生活步調快,上班壓力大,周末總想找些紓壓的活動幫自己充飽電,用更好的狀態去迎接下個挑戰。而說到現在最新穎,時尚的選擇那就不能不提風靡歐美的「紅酒瑜珈」。現在不用出國,在 COSCUP 也可以體驗這種身心靈保養的運動。 課程中,老師也會指引學員在不同階段品嘗手中的葡萄酒,感受這支紅酒在不同醒酒階段的各種風味,細細品嚐它的層次與韻味。酒精也同時能夠增加血液循環,讓身體發熱,達到肌肉暖身,類似熱瑜珈的運動效果! 紅酒瑜珈是什麼? 於 2017 年誕生於紐約,紅酒瑜珈是把紅酒帶進瑜珈練習的一種課程。在瑜珈練習的過程中,學員們手上各有一杯紅酒。老師帶領著學員練習瑜珈姿勢,並加入酒杯動作來增加難度與運動量。比如說,手握紅酒杯進行戰士三式(Warrior III),為了不讓液體撒出來,其實比起沒有道具輔助的瑜珈需要多一點肌耐力,所以可以達到更大的脂肪燃燒跟運動效果。 課程須知 每一課程時長為一個小時,費用 $470元/人,每一堂最多 12 人。 講座內容包含:活動包含約 45 分鐘的紅酒瑜珈活動,及約 15 分鐘的講解,課程會提供酒杯,若損壞葡萄酒杯,則每只費用 $250。 需自備:瑜伽墊、水壺、毛巾等個人用品。 ★ 由於課程需要預先報名,如果你有意參與此課程,請參閱 課程時間表 並直接 寄信報名 、等候志工收件處理,感謝! 冥想正念 我們都渴望獲得內心的平靜,尤其在現在這個快速、忙碌更迭的時代,在這個無時無刻都在面對比較、落後焦慮的世代。透過冥想與正念,你會更加理解你自己,你也會更加理解你的周遭一切,而點滴的時光之間,再次放下自我,又擁抱自我。 課程須知 每一課程時長為一個小時,費用 $350元/人,每一堂最多 10 人(未滿 5 人不開課)。 講座內容包含:冥想正念概念介紹、正念心理...

「智慧政府」該如何成功向政府申請資料?

  如何寫出精確的『資料申請』需求? 前往使用資料申請產生器: https://dataopener.tw/application 資料開放的狀況有哪些? 「尚」未開放:沒有資料、產製中或可能會產製 「尚」未開放:資訊公開但非開放資料,或需要申請 部分開放:值得再開放或更開放的資料 已開放:Open by default 階段,將既有資料轉成開放資料 不開放:最後無法開放的資料 常見不同意開放資料的理由? 沒有該資料(尚未收集或彙整) 沒有該資料(不存在該類別) 尚未蒐集完整 申請者所提出的需求資料並無明確定義 擔心資料品質 涉及個資 涉及營業秘密 屬於秘密類文件 非資料所有機關 資料在委辦單位 屬地方自治事務 要收費 擔心外界誤用、誤判 資料僅供內部參考 開放後將妨礙行政 依檔案法為維護公共利益不公開 非權責明定應提供之資料 要 A 給 B 已提供單筆查詢功能 僅能提供統計資料故無法呈現細項 當前的演算技術無法達成該資料需求內容 無開放格式 採用說明文件較為適合 建置中 硬體維護成本太高 視預算經費狀況再行評估 還要研議 開放資料產製過程中的困難? 一起來跟政府申請資料吧! 專注我們 GitHub:  https://github.com/opengovdatatw Facebook:  https://www.facebook.com/2125769830846436/

OSCVPass 使用說明,VIP 室與氮氣咖啡 / OSCVPass, VIP Room and nitro cold brew(NCB) coffee

贈 如果在 2020–07-29 前通過 OSCVPass 方案,將可在 COSCUP 活動日使用 VIP 室與每日一杯 氮氣咖啡 或氮氣紅茶。 "Nitro cold brew" by T.Tseng is licensed under CC BY 2.0 示意圖僅供參考 / Picture for reference only 詳細兌換方式 申請 OSCVPass ,並在 2020-07-29 前通過。 收到 COSCUP 寄送的 認證碼 信件。 (2020-07-30 前寄送) 活動二日到「 志工服務台 」驗證、領取兌換券。 其他注意事項 「志工服務台」的位置在 TR2樓左轉角落,與「大會服務台」同位置。 VIP 室位於 TR515、氮氣咖啡攤位在 TR1樓廣場。 位在 TR1樓廣場還有其他小餐車,也歡迎捧場! 近期活動訊息 個人贊助 (34%) : 活動詳情 遊樂園預約服務: 活動詳情 前夜派對: 活動詳情 If you passed the OSCVPass project before 2020-07-29. On COSCUP 2020 two days, you can show the token-code letter to exchange the ticket for VIP room and one cup of nitro cold brew(NCB) coffee or tea per day on the volunteer service desk. How-to Submit application to OSCVPass and approved before 2020-07-29. Receive the token-code letter from COSCUP. (will send by 2020-07-30) Take the token code to exchange the tickets for the VIP room and one cup of nitro cold brew(NCB) coffee or tea per day on the volunteer...