2017年9月8日 星期五

透過製作遊戲學習程式 - 完整的 C# Unity 開發者

Learn to Code by Making Games - Complete C# Unity Developer
「遊戲開發與設計、使用 Unity 5 學習 C#(與 Unity 2017 相容)、你最初的 7 個 2D 和 3D 網頁與手機遊戲。」
語言:英文。
字幕:英文。
講師:Ben TristemGameDev.tv by Ben Tristem
立即上課



本文為 胡亂說・隨便寫 擅自翻譯,詳細內容以原文為準。

2017 年 8 月 2 日更新:大部分課程同樣適用於 Unity 2017,但會有一些微小的變化差異。使用者界面非常類似,基本原則維持不變。

這是個在 Kickstarter 獲得巨大成功的線上遊戲開發學校,因此,整個字幕都是英文的。

學習如何使用免費的遊戲開發工具 Unity 3D 來建立電子遊戲。一開始超級簡單,所以,你不需要預先有 Unity 編寫程式的經驗!使用我們的線上教學,你將會驚訝於你能夠實現什麼。

受益於我們來自其它學生以及 Ben 時常在論壇的世界級支持。持續打造幾個包含使用線上多人遊戲計分板的 Pong 完整 3D 版本的遊戲,等等。

你將能夠訪問課程論壇,可以在那裡討論課程範圍內的主題,或落實到個人影片。我們豐富的討論主題將協助你學習以及與其他同學分享想法。查看我們的評論來看看人們有多喜歡這個功能。

Unity 5:課程的第一部份是在 Unity 4.6 裡教授,因為它是被確認功能良好與穩定的。當你進行到 Bowlmaster 章節的時候,我們會升級到 Unity 5,並開始使用它豐富的新功能。如果你願意,可以從一開始就使用 Unity 5,只有微小的程式碼差異。

這個課程是以專案為基礎,所以你將不會只是學習枯燥的程式概念,而是立即的套用它們到真實的獨立遊戲中。所有的專案檔案以及其它參考資料和資源將被包含在內 - 你絕不會被卡住。有說話頭像的影像、強大的圖表、優質的螢幕錄製等等。

比競爭對手要更大更好,看看評論的長度。

針對你建立的每個示範遊戲,你將會跟隨這個過程...
  • 挑戰你自己建立整個遊戲。
  • 逐步顯示如何建立它。
  • 挑戰去套用,並經常重新套用你的知識。

你將提供一次性費用獲得全面的存取。創作者是熟練又有經驗的程式人員以及狂熱的玩家,所以能夠清楚又一路愉快的解釋複雜的概念,大部分課程僅使用 C# 教授撰寫腳本。

你將會學習 C#,包含測試驅動開發(Test Driven Development),一種非常有價值的技能。在課程結束後,你將會對程式編寫和遊戲開發的基礎非常有信心,並渴望學習更多。

此課程不包含什麼?

雖然這個課程已經很大,但我們不可能同時涵蓋所有的東西。這裡有一些我們不會包含的東西...
  • 效能最佳化。
  • 編輯器插件或改裝。
  • 物理引擎修改*。
*現在可用的單獨迷你課程以涵蓋這些。

想要學習創建遊戲的任何人:Unity 3D 是個奇妙的平台,使你能夠產品級品質的遊戲。此外,這些遊戲可以從單一來源被創建於 Windows、MacOS、iOS(甚至 iOS 9)、Android 和網頁。

如果你完全是個初學者,我們將教你所有你需要的程式編寫和遊戲設計原理。如果你是個美術人員,我們將教你如何帶給你的資源生命。如果你是個程式人員,我們將教你遊戲設計原理。

注意:進入這個課程附帶一個可選的免費社群網站,你可以在那裡分享遊戲和 3D 模型,以及與其他學生聯繫。

現在就跳進來,你不會失望的!

目標受眾:
  • 具備使用電腦的能力和信心。
  • 想學習把他們的資源帶入到遊戲中的美術人員。
  • 有些編寫程式經驗會有些幫助,但不是必須的。
  • 願意努力的完全初學者。
  • 想要學習新技能跨足遊戲開發的開發人員。

包含:
  • 45.5 小時 的隨選影片。
  • 17 篇文章。
  • 38 個補充資源。
  • 完整終身存取權。
  • 透過行動裝置與電視存取。
  • 結業證書。

學些什麼?
  • 學習強大的現代語言 C#。
  • 發展積極的態度去解決問題。
  • 獲得優良的遊戲創作的普遍知識。
  • 學習物件導向程式設計在實踐中如何運作。
  • 將你的知識轉移到 .NET、其它語言等。

需求:
  • 能夠運行 Unity 3D 的 Mac 或 PC。
  • 供早期內容用的 Unity 4.6.3,免費的。
  • 供後期內容用的 Unity 5,也是免費。
  • Blender,從 www.Blender.org 免費獲得。
  • 有一些編寫程式經驗,或者有意願自學。

立即上課

課程大綱:
  • 介紹與設置。
    • 宣傳影片和遊戲列表。
    • 歡迎來到這個課程。
    • 如何問個好問題。
    • 安裝 Unity。
    • Unity,你的整合開發環境(IDE)以及你的檔案。
    • 你如何能夠遵循 Unity 5.x 和 Unity 2017。
    • 介紹 Unity 編輯器。
    • Mac 與 PC 的差異。
    • Monodevelop 101。
    • 儲存和關閉你的專案。
  • Number Wizard:基本腳本編寫。
    • 介紹 Number Wizard。
    • 第 2 章節註釋。
    • 將文字列出到 Console 視窗。
    • 使用變數。
    • 回應按鍵。
    • 使用 if 做選擇。
    • 變數的範圍與脈絡。
    • 透過創建功能簡化。
    • 完成 Number Wizard。
    • 如何排除程式錯誤。
    • 第 2 章節總結。
  • Text101 - 文字歷險。
    • 介紹 Text101。
    • 你的 Text101 資源。
    • 建立新專案。
    • 添加 2D 使用者介面文字。
    • 自動換行與連接字串。
    • 建立你的遊戲引擎。
    • 重新組織你的編碼。
    • 擴充我們的監獄故事。
    • 構建網頁並分享。
    • Text101 的 Unity 5 與 WebGL 構建(可選)。
    • 下載第 3 章節的 Unity 專案。
    • 第 3 章節總結。
  • Number Wizard 的 UI。
    • 介紹使用者介面。
    • 關於物件與類。
    • 建立和儲存關卡。
    • 如何添加文字到場景。
    • 添加開始按鈕。
    • 從按鈕呼叫腳本。
    • 如何載入與退出場景。
    • 使用遊戲設計文件。
    • 匯入先前的 Number Wizard 腳本。
    • 完成 Number Wizard 的 UI。
    • Number Wizard 的 Unity 5 和 WebGL 分享(可選)。
    • 下載第 4 章節 Unity 專案。
    • 第 4 章節總結。
  • Block Breaker。
    • 介紹 Block Breaker。
    • Gimp 圖像編輯 101。
    • 建立一個 2D 磚塊 Sprite。
    • 匯入選單系統。
    • 播放背景音樂。
    • 關於靜態(Static)與單例(Singleton)。
    • 使用靜態變數。
    • 關於音樂管理器的注意事項。
    • 2D 遊戲中的 Z 深度。
    • 設置你的遊玩空間。
    • 球+重力+碰撞=樂趣。
    • 碰撞器(Collider)、觸發器(Trigger)與碰撞(Collision)。
    • 在繼續前進之前整理。
    • 在 Unity 中選擇碰撞器類型。
    • 使用物理材質。
    • 透過滑鼠移動。
    • 點擊滑鼠發射球。
    • 無形的碰撞器與重力規模。
    • 建立和使用 Unity 的 Prefab。
    • Unity 編輯器貼齊網格。
    • Prefab 做每件事。
    • GameObject.FindObjectOfType(透過類型尋找物件)。
    • 關卡構建順序。
    • 擊中時銷毀。
    • 匯入 Sprite 表。
    • 在腳本中調換 Sprite。
    • 整合集中次數。
    • 靜態檢測勝利條件。
    • 碰撞播放音效。
    • 使用 Random.Range()(隨機範圍)。
    • 自動播放測試。
    • 構建並分享在網頁上。
    • 修正使用者報告的錯誤。
    • 更複雜的碰撞形狀。
    • 使編碼可擴充。
    • 使用粒子系統。
    • Block Breaker 的 Unity 5 升級與 WebGL 構建。
    • 下載第 5 章節的 Unity 專案。
    • 第 5 章節總結。
  • Laser Defender。
    • 介紹 Laser Defender。
    • 匯入選單系統。
    • 我們可以控制的飛船。
    • 限制玩家的位置。
    • 創建敵人。
    • 建立敵人位置。
    • 移動敵人編隊。
    • 固定編隊移動。
    • 生產導彈。
    • 射擊敵人。
    • 敵人還擊。
    • 使用 Layer 控制碰撞。
    • 檢查已被摧毀的敵人。
    • 一個接一個產生敵人。
    • 敵人定位動畫。
    • 建立星空。
    • 保持得分。
    • 好玩與獲利的音效。
    • Sprite 呈現順序。
    • 改進選單系統 I。
    • 改進選單系統 II。
    • Laser Defender 的 Unity 5 和 WebGL 分享(可選)。
    • 下載第 6 章節的 Unity 專案。
    • 第 6 章節總結。
  • Glitch Garden:植物對殭屍副本。
    • 介紹 Glitch Garden。
    • 第 7 章節遊戲設計文件。
    • 製作一個啟動畫面。
    • 縮放比例。
    • 挑選音樂管理器。
    • 選單、選項與音樂。
    • 添加淡化轉換。
    • 縮放關卡背景。
    • 介紹 PlayerPrefs。
    • 我們的 PlayerPrefsManager.cs。
    • 我們的 PlayerPrefsManager - 第 2 部分。
    • 選項的 UI 滑條。
    • Sprite 表的動畫。
    • 比率運算入門。
    • 世界空間 UI 的 Canvas。
    • 動畫控制器。
    • 紋理大小與壓縮。
    • 使用 Gimp 裁切圖像。
    • 2D「骨骼」動畫。
    • 動畫化我們的蜥蜴。
    • 動畫化我們的仙人掌。
    • 完成我們的防守者。
    • 完成我們的攻擊者。
    • 導彈動畫。
    • 使用 Unity Remote。
    • 預覽與改進。
    • 從腳本移動攻擊者。
    • 在腳本中的碰撞矩陣。
    • 使用動畫事件(Animation Event)。
    • 組件與繼承。
    • 使用體力(Health)組件。
    • 動畫化防守者與導彈。
    • Animator 發射導彈。
    • 個別攻擊與發射狀態。
    • 處理導彈傷害。
    • 「塔」選擇器按鈕。
    • 需要時建立。
    • 生產防守者到網格。
    • 敵人產生與流量。
    • 射手檢測攻擊者。
    • 使用星星做為貨幣。
    • 花費星星貨幣。
    • 處理損失條件。
    • UI 滑條級別計時器。
    • 預覽與整理。
    • 播放測試與調整。
    • 安裝 Android Studio。
    • 構建到 Android。
    • 構建到 iOS 模擬器。
    • 使用者測試調整。
    • Glitch Garden 的 Unity 5 與 WebGL 分享(可選)。
    • 下載第 7 章節的 Unity 專案。
    • 第 7 章節總結。
  • Bowlmaster:10 瓶保齡球。
    • 介紹 Bowlmaster。
    • 安裝 Unity 5。
    • 建立 3D 立方體地板。
    • 如何安裝 Blender。
    • 從 Blender 匯入球瓶。
    • 3D 球體做為保齡球。
    • 控制攝影機去追蹤球。
    • 3D 碰撞與凸面網格。
    • 頂級攝影機渲染紋理(Render Texture)。
    • 改善 UI 縮放。
    • 簡單的觸碰控制系統。
    • 添加箭頭來推動球。
    • 動畫子狀態機(Sub-State Machine)。
    • 使用巢狀 Prefab。
    • 計算直立物件。
    • 保持前進!
    • 檢測瓶子已經停妥 1。
    • 檢測瓶子已經停妥 2。
    • 子狀態與預設狀態。
    • 呼叫動畫助手腳本(Animator Helper)。
    • 一些除錯技巧。
    • 常見物理問題。
    • 整理與重構程式碼。
    • 10 瓶保齡球得分如何運作。
    • 測試驅動開發(TDD:Test Driven Development)。
    • 安裝 Unity 測試工具。
    • 製作你的第一個測試通道。
    • 紅 > 綠 > 重構。
    • 完成我們的控制程式碼。
    • 失敗測試挑戰。
    • 錯誤報告週期。
    • 接通 ActionMaster.cs。
    • 使用 OnTriggerExit()(觸發結束)。
    • 建立可測試的架構。
    • 在繼續下去之前整理。
    • 重構程式碼與測試。
    • 具備狀態的遊戲管理器。
    • Epic TDD 挑戰。
    • 即時保齡球得分解決方案。
    • 黃金副本測試。
    • UI 文字的陣列。
    • 使用 Console 視窗追蹤錯誤。
    • 提供錯誤處理的 Try、Catch。
    • C# 的靜態類。
    • 單元測試 Monobehavious。
    • 設計你自己的測試。
    • 最終修正與完成結果。
    • 錯誤修復與升級測試工具。
    • 下載第 8 章節的 Unity 專案。
    • 第 8 章節總結。
  • Zombie Runner FPS。
    • 介紹 Zombie Runner。
    • 你的 Zombie Runner 資源。
    • 關於 Unity 5.1 功能。
    • 建立地形。
    • 第一人稱角色控制器。
    • 放置樹和細節。
    • 添加水位。
    • 你的場景照明。
    • 設置你的導航網格(NavMesh)。
    • 縮放你的角色。
    • 設置玩家出生點。
    • 使用輸入映射。
    • 添加 3D 直升機聲音。
    • 裝束 Mecanim 動畫。
    • 探索人形動畫。
    • 簡單的日夜循環。
    • 搜尋清晰區域。
    • 使用 SendMessageUpwards。
    • 內在語音引導玩家。
    • 使用 BroadcastMessage()。
    • 重構我們的訊息系統。
    • 規範化聲音檔案。
    • 陸地區域 Prefab。
    • 壓縮你的 Unity 資料夾。
    • 下載第 9 章節的 Unity 專案。
    • 第 9 章節總結。
  • Twin Sticks 2.5D。
    • 介紹 Twin Sticks。
    • 你的 Twin Stick 資源。
    • 介紹版本控管。
    • 使用  Git 共享你的遊戲。
    • 使用 SourceTree 和 Git。
    • 使用跨平台輸入管理器(CrossPlatformInputManager)。
    • 使用類比遊戲手把(可選)。
    • 使用滾球(RollerBall)Prefab。
    • 設計重播系統。
    • C# 的 Class 與 Struct。
    • 建立重播系統。
    • 觸碰螢幕搖桿控制。
    • Unity 中的關卡解鎖。
    • 暫停你的遊戲。
    • 從第 2 個操作桿讀取。
    • 下載第 10 章節的 Unity 專案。
    • 第 10 章節總結。
  • Ahoy Matey RTS。
    • 第 11 章節註釋。
    • 第 11 章節遊戲設計文件(GDD:Game Design Document)。
    • 測試本地的網路遊戲。
    • 部署我們的本地遊戲。
    • 介紹網路管理器。
    • 重構網路管理器 HUD。
    • 關於 Override 關鍵字。
    • 記錄客戶端啟動請求。
    • 使用 NetworkTransform。
    • 網路玩家運動。
    • 具備本地權限的多位玩家。
    • 多玩家攝影機。
    • 網路概述與下一步是什麼。
    • 下載第 11 章節的 Unity 專案。
    • 第 11 章節總結。
  • 繼續你的遊戲開發旅程。
    • 顯示關卡載入進度條。
    • 挑戰:製作體力條 Prefab。
    • 關於動態音樂。
    • 我們的 Facebook 社團。
    • 退出的內容存檔。
    • 結束。
    • 我們的其它課程。
    • 學分。

本文為 胡亂說・隨便寫 擅自翻譯,詳細內容以原文為準。