Contents
透過使用 JavaScript、SDL 和 C 程式語言建立 raycaster 來學習遊戲開發基礎知識
從這 16 小時的課程,你會學到
- C
- Raycasting 技術
- SDL
- 三角學
- 3D 投影
要求
- 瞭解編碼的基礎知識(變數、條件、迴圈和函式)。
課程說明
你是否已經知道如何編寫程式碼,並想學習C語言的基本工作原理?
您是否想了解像《德軍總部3D》這樣的遊戲製作技術背後的理論?
Raycasting 是一個非常簡單但優雅的解決方案,它允許我們基於一個非常簡單的2D世界表示來建立一個模擬的3D投影場景。
在本課程中,您將
- 學習射線投射( ray casting )背後的數學知識
- 透過複習有關角度、三角形和遊戲中使用的一般幾何學來鍛鍊你的三角學
- 瞭解在我們的遊戲場景中,射線如何被轉化為牆壁
- 透過一個快速的 2D JavaScript 原型來理解射線投射背後的數學
- 使用 C 和 SDL 建立一個簡單的 2D 地圖,其中有一個移動的玩家
- 對牆壁進行紋理處理並渲染3D場景
- 使用C語言工作,並建構你的C程式碼
你將學習所有的基本概念,以建立你的基本射線鑄造場景,以及所有的工具,以擴大它的品味。
我們將建立的程式碼將適用於Windows,macOS和Linux。但請注意,我將在影片中使用 Linux 機器。
這是一門適合初學者的課程。但對程式設計概念的基本理解將幫助你從這門課程中獲得最大的收穫(變數、if-else、迴圈、函式等)。
另外,有幾種不同的技術來實現 raycasting 的效果。我將忠實於 Wolfenstein3D開發者使用的技術。
如果這聽起來很有趣……那麼你就來對地方了。
現在就加入我們吧。
目標受眾
- 有興趣學習射線投射數學的初級程式設計師
- 好奇的程式設計師想了解《德軍總部3D》如何使用射線投射和投影
- 程式設計師對學習C程式語言充滿好奇
講師簡介
Gustavo Pezzi 大學講師
我在倫敦BPP大學教授電腦科學和數學。我的主要研究領域是研究遊戲程式設計教學如何幫助提高對數學和物理的認識和理解。
我也是一名專業的軟體工程師,擁有超過10年的經驗,在3D系統、遊戲和物理引擎、網路系統、資料庫和資料分析等方面都有行業背景。
我的學術歷程包括匹茲堡州立大學、倫敦城市大學和牛津大學等院校。
英文字幕:有
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
報名參加課程

也許你會有興趣
- 三堂線上課程教你電腦遊戲背後的數學原理
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
發表迴響