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的困境
w01-04b-godot.png
  • 英文名稱: Game Programming
  • 數媒系二年級 · 3 學分 · 選修
  • 上課時間:週三 02–04 節 · M305
  • 授課教師:張軒豪
  • 修課人數:56 人(大二 46 · 大三 7 · 大四 1 · 延畢 1 · 校際 1)

關於老師

國科會 大專學生研究計畫

  • 一人一題、一位指導老師,8 個月
  • 助學金每月 6,000,共 48,000
  • 大二就能申請,而且大二比較有時間
  • 明年 1–2 月申請 → 暑假到大三上
  • 做完可角逐研究創作獎,再 2 萬
w01-02b-nstc.png

這學期就想題目:這門課的遊戲可以是題目,下課來找我。

會教什麼

週次 內容
1–2 課程介紹、版本控制
4 AI 輔助開發
5–6 Godot 基礎
7–8 資產、OOP架構、腳本、資料、函數
9–11 核心機制實作
12–15 使用者介面、角色動畫、碰撞、遊戲與 AI
16–18 期末發表、多元教學

新學期 · 新希望

w00-00-gate.png

遊戲程式設計

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

參不參加、問卷怎麼答,都不影響成績;隨時可以退出。

會用到哪些工具

工具 做什麼 什麼時候要有
Gitea(老師自架) 程式、共筆、簽到、交作業 — 全部在這 今天登入
Git 版本控制,個人貢獻的證據 W02 課堂上裝
Godot 4.7 遊戲引擎,免費、輕、Android 和網頁都出得了 W05 課堂上裝
Markdown 共筆和 README 的寫法 今天學
AI 開發工具 Claude Code、OpenAI Codex CLI、Gemini CLI 任選;允許而且鼓勵 W04 課堂上裝

教學實踐研究計畫

  • 教育部教學實踐研究計畫(115 年度,已通過)
  • 研究:用 Git 分組做遊戲,能不能讓大家更想學版本控制、更會合作
  • 這門課就是計畫的上課現場
  • 會蒐集:期初/期末問卷版本庫紀錄(commit、分支…)
  • 你只要:正常上課、分組做遊戲、填兩次問卷

你的權益:問卷、資料使用與匿名處理

  • 參與研究不影響成績
  • 問卷可以選擇不填
  • 所有資料匿名化後才分析
  • 研究成果發表時不會出現個人可識別資訊
  • 有疑問隨時可以問,也可以要求退出

不會教什麼

w01-05-scope.png
  • 不教 3D 建模 — 模型自己來,或找免費下載
  • 不教上架 — 會教匯出 Android
  • 不教畫圖、音樂 — 素材自己來
  • 不教 Unity/Unreal — 觀念通了,換引擎不難

評分方式

項目 配分 說明
出席與課堂表現 50% 每週參與 + 課堂練習
期末報告 50% 可玩的遊戲 + 發表;程式與版本庫品質
  • 這是實作課,出席與課堂表現就佔一半
  • 個人貢獻由 git 紀錄 判定 — 團隊分數不會蓋掉個人怠惰

登入 Gitea

  • 帳號:學號(大寫 A 開頭)
  • 密碼:學號倒過來A113080001100080311A
  • 第一次登入會強制改密碼 — 改完記下來
  • 進去應該看到 115-1_game-programming / notes

點名 · 分組

每組 4 人(3–6)

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

建立分組 repo

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

問卷

survey-qr.png
  • 掃 QR,或打圖下面的網址
  • 登入 Google 帳號,再填學號
  • 約 15 分鐘,不算成績
  • 第 11 題答「否」的,12、13 可以跳過

⚠️ 分組後不再換組。

今天離開前 · 下週預告

今天離開前:

w01-17-checklist.png
  • Gitea 登入、改密碼
  • 簽到頁有你的名字
  • 問卷填了

https://markdownlivepreview.com/ 左邊打、右邊馬上看到結果

Markdown 編輯器

共筆簽到:你的第一個 commit

notesattendance/w01.md → 鉛筆

w01-13-signin.png
  1. 最後加一行:- 學號 姓名
  2. 往下捲到 Commit changes
  3. 訊息:w01 簽到 你的名字
  4. Commit

這就是 git: 有名字、有時間、有理由。

沒有回家作業。 下週: 版本控制。

Markdown 是什麼

Markdown 基本語法

想要
標題 # 大標 ## 中標
粗體 **粗體**
條列 - 項目
編號 1. 項目
連結 [文字](網址)
圖片 ![說明](圖片網址)
程式碼 `一行` 或三個反引號包一段
表格 | 欄 | 欄 | 加一行 |---|---|

Markdown:現在打開試試

  • 純文字,任何編輯器都能打,Gitea 會幫你排版
  • README、共筆、Issue 全部都是它
  • 空一行才是新段落
類型 例子 好處
雲端 HackMD 開網頁就寫,一份多人同時改
本地端 ObsidianVS Code 檔案在自己手上,斷網也能寫
專案裡 Gitea 的鉛筆 改完直接 commit(今天用這個)

語法都一樣,換工具不用重學。

Gitea 長什麼樣

分頁 看什麼
Code 現在的檔案
Commits 誰、何時、改了什麼
Issues 待辦與討論
鉛筆 網頁上直接改
w01-10b-gitea.png
  • 看不到的 repo = 沒權限
  • Commit就像蓋房子,一層一層疊上
  • 今天全在網頁上,下週才裝 Git
  • 用純文字寫排版:打 **粗體**,出來就是粗體
  • 2004 年 John Gruber 做的,原則是「原始檔就讀得懂」
  • 你早就在用?:Discord、AI 的回覆、GitHub,到處可見
  • 檔名 .md,任何編輯器都打得開
w01-11-markdown.png

十分鐘學完,用一輩子。

  • 分組進行遊戲專題,從零到可玩
  • 使用AI輔助製作
  • 程式設計基礎,我們至少要看的懂AI寫的程式碼
  • 每週一個引擎主題,當週就用在自己的專案上
  • 全程用 Git 版本控制 協作
  • 期末各組上台報告成果
  • 程式設計部分依照同學程度調整
  • 遊戲引擎使用 Godot
  • 週三沒有遇到國定假日,18 週都有課

⚠️ 「業界不是都用 Unity?」 — Steam 上的 Godot 遊戲兩年成長 4.6 倍