0 · 新學期 · 新希望
1 · 遊戲程式設計
2 · 關於老師
2b · 國科會 大專學生研究計畫
3 · 這門課要做什麼:一學期做出一款遊戲
4 · 會教什麼
4b · 為什麼用 Godot
5 · 不會教什麼
6 · 評分方式
7 · 會用到哪些工具
8 · 教學實踐研究計畫
9 · 你的權益:問卷、資料使用與匿名處理
10 · 問卷
11 · 點名 · 分組
11b · 建立分組 repo
12 · 登入 Gitea
12b · Gitea 長什麼樣
13 · Markdown 是什麼
14 · Markdown 基本語法
14b · Markdown:現在打開試試
14c · Markdown 編輯器
15 · 共筆簽到:你的第一個 commit
16 · 今天離開前 · 下週預告
這門課要做什麼:一學期做出一款遊戲
為什麼用 Godot
- 免費、開源、無版稅
- 裝得動 — 安裝小、啟動快,學生筆電跑得動
- Android 和 Web 直接匯出,不用另外買工具
- GDScript 好入門
- Unity/Unreal的困境

- 英文名稱: Game Programming
- 數媒系二年級 · 3 學分 · 選修
- 上課時間:週三 02–04 節 · M305
- 授課教師:張軒豪
- 修課人數:56 人(大二 46 · 大三 7 · 大四 1 · 延畢 1 · 校際 1)
關於老師
國科會 大專學生研究計畫
- 一人一題、一位指導老師,8 個月
- 助學金每月 6,000,共 48,000
- 大二就能申請,而且大二比較有時間
- 明年 1–2 月申請 → 暑假到大三上做
- 做完可角逐研究創作獎,再 2 萬

這學期就想題目:這門課的遊戲可以是題目,下課來找我。
會教什麼
| 週次 | 內容 |
|---|---|
| 1–2 | 課程介紹、版本控制 |
| 4 | AI 輔助開發 |
| 5–6 | Godot 基礎 |
| 7–8 | 資產、OOP架構、腳本、資料、函數 |
| 9–11 | 核心機制實作 |
| 12–15 | 使用者介面、角色動畫、碰撞、遊戲與 AI |
| 16–18 | 期末發表、多元教學 |
新學期 · 新希望

遊戲程式設計


- 張軒豪
- 研究與教學領域:遊戲程式設計、遊戲引擎、程序化內容、動畫與遊戲流程、插件開發
- 聯繫方式:hsuanhao@mail.shu.edu.tw
- 座班:週五 9–12 節(16:10–20:00)M702

參不參加、問卷怎麼答,都不影響成績;隨時可以退出。
會用到哪些工具
| 工具 | 做什麼 | 什麼時候要有 |
|---|---|---|
| Gitea(老師自架) | 程式、共筆、簽到、交作業 — 全部在這 | 今天登入 |
| Git | 版本控制,個人貢獻的證據 | W02 課堂上裝 |
| Godot 4.7 | 遊戲引擎,免費、輕、Android 和網頁都出得了 | W05 課堂上裝 |
| Markdown | 共筆和 README 的寫法 | 今天學 |
| AI 開發工具 | Claude Code、OpenAI Codex CLI、Gemini CLI 任選;允許而且鼓勵 | W04 課堂上裝 |
教學實踐研究計畫
- 教育部教學實踐研究計畫(115 年度,已通過)
- 研究:用 Git 分組做遊戲,能不能讓大家更想學版本控制、更會合作
- 這門課就是計畫的上課現場
- 會蒐集:期初/期末問卷 + 版本庫紀錄(commit、分支…)
- 你只要:正常上課、分組做遊戲、填兩次問卷
你的權益:問卷、資料使用與匿名處理
- 參與研究不影響成績
- 問卷可以選擇不填
- 所有資料匿名化後才分析
- 研究成果發表時不會出現個人可識別資訊
- 有疑問隨時可以問,也可以要求退出
不會教什麼

- 不教 3D 建模 — 模型自己來,或找免費下載
- 不教上架 — 會教匯出 Android
- 不教畫圖、音樂 — 素材自己來
- 不教 Unity/Unreal — 觀念通了,換引擎不難
評分方式
| 項目 | 配分 | 說明 |
|---|---|---|
| 出席與課堂表現 | 50% | 每週參與 + 課堂練習 |
| 期末報告 | 50% | 可玩的遊戲 + 發表;程式與版本庫品質 |
- 這是實作課,出席與課堂表現就佔一半
- 個人貢獻由 git 紀錄 判定 — 團隊分數不會蓋掉個人怠惰
登入 Gitea
- 帳號:學號(大寫 A 開頭)
- 密碼:學號倒過來(
A113080001→100080311A) - 第一次登入會強制改密碼 — 改完記下來
- 進去應該看到
115-1_game-programming / notes
點名 · 分組
每組 4 人(3–6)

- 程式、美術/UI、企劃 各要有人扛
- 一人可兼多職
- 組名英文、無空白(例
PixelCats)= repo 名 - 交:組名 + 4 個學號
建立分組 repo

- 每組一個 repo,名字=組名
- 只有你們這組和老師看得到
notes是全班共用的,跟你們的 repo 不一樣- 建好後重新整理 Gitea 首頁,應該多一個 repo

問卷

- 掃 QR,或打圖下面的網址
- 要登入 Google 帳號,再填學號
- 約 15 分鐘,不算成績
- 第 11 題答「否」的,12、13 可以跳過
⚠️ 分組後不再換組。
今天離開前 · 下週預告
今天離開前:

- Gitea 登入、改密碼
- 簽到頁有你的名字
- 問卷填了
https://markdownlivepreview.com/ 左邊打、右邊馬上看到結果
Markdown 編輯器
共筆簽到:你的第一個 commit
notes → attendance/w01.md → 鉛筆

- 最後加一行:
- 學號 姓名 - 往下捲到 Commit changes
- 訊息:
w01 簽到 你的名字 - 按 Commit
這就是 git: 有名字、有時間、有理由。
沒有回家作業。 下週: 版本控制。
Markdown 是什麼
Markdown 基本語法
| 想要 | 打 |
|---|---|
| 標題 | # 大標 ## 中標 |
| 粗體 | **粗體** |
| 條列 | - 項目 |
| 編號 | 1. 項目 |
| 連結 | [文字](網址) |
| 圖片 |  |
| 程式碼 | `一行` 或三個反引號包一段 |
| 表格 | | 欄 | 欄 | 加一行 |---|---| |
Markdown:現在打開試試
- 純文字,任何編輯器都能打,Gitea 會幫你排版
- README、共筆、Issue 全部都是它
- 空一行才是新段落
| 類型 | 例子 | 好處 |
|---|---|---|
| 雲端 | HackMD | 開網頁就寫,一份多人同時改 |
| 本地端 | Obsidian、VS Code | 檔案在自己手上,斷網也能寫 |
| 專案裡 | Gitea 的鉛筆 | 改完直接 commit(今天用這個) |
語法都一樣,換工具不用重學。
Gitea 長什麼樣
| 分頁 | 看什麼 |
|---|---|
| Code | 現在的檔案 |
| Commits | 誰、何時、改了什麼 |
| Issues | 待辦與討論 |
| 鉛筆 | 網頁上直接改 |

- 看不到的 repo = 沒權限
- Commit就像蓋房子,一層一層疊上
- 今天全在網頁上,下週才裝 Git
- 用純文字寫排版:打
**粗體**,出來就是粗體 - 2004 年 John Gruber 做的,原則是「原始檔就讀得懂」
- 你早就在用?:Discord、AI 的回覆、GitHub,到處可見
- 檔名
.md,任何編輯器都打得開

十分鐘學完,用一輩子。
- 分組進行遊戲專題,從零到可玩
- 使用AI輔助製作
- 程式設計基礎,我們至少要看的懂AI寫的程式碼
- 每週一個引擎主題,當週就用在自己的專案上
- 全程用 Git 版本控制 協作
- 期末各組上台報告成果
- 程式設計部分依照同學程度調整
- 遊戲引擎使用 Godot
- 週三沒有遇到國定假日,18 週都有課。
⚠️ 「業界不是都用 Unity?」 — Steam 上的 Godot 遊戲兩年成長 4.6 倍