1 3D Game Programming

Slides:



Advertisements
Similar presentations
1 Game System Analysis. Idea about system analysis (SA) Idea about system analysis (SA) Mind mapping Mind mapping Case study – term project Case study.
Advertisements

數位學習經驗分享 「 E 化教學教室與虛擬攝影棚」推廣經驗分享暨觀摩 高高屏活動 義守大學應用數學系郎正廉.
 Prentice Hall Chapter 71 科技與工作流程設計.  Prentice Hall Chapter 72 學習目標 了解科技如何影響生產力 討論電腦輔設計 認識彈性製造系統 定義組織再造的三項要素 資訊科技如何支援決策.
Chapter 0 Computer Science (CS) 計算機概論 教學目標 瞭解現代電腦系統之發展歷程 瞭解電腦之元件、功能及組織架構 瞭解電腦如何表示資料及其處理方式 學習運用電腦來解決問題 認知成為一位電子資訊人才所需之基本條 件 認知進階電子資訊之相關領域.
1 st Year2 nd Year3 rd Year4 th Year FallSpringFallSpringFallSpringFallSpring 資料庫實務 (Database Practices) 資料庫系統 (Database System) 人工智慧 (Artificial Intelligence)
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
如何寫好一篇報告 釐清問題 選擇資料庫 制定檢索策略 實機操作. 報告內容 跨國公司 – 公司簡介(如公司成立時間、目前在幾個國家有據 點等) – 公司計畫 – 公司組織 – 公司領導 – 公司控制 – 總結(主要為結論,但是如果可以對該公司提出建 議,會額外加分) – 參考文獻.
1.1 電腦的特性 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。
國立成功大學性別與婦女研究中心: 回顧與展望 劉開鈴主任 2007 年 8 月 6 日. 跨領域研究,跨科際整合 成大研究型大學.
3D, 產業魅力 曹陶甬 主講. 猜猜看,哪個是真的 ? FAKE or FOTO ? area.autodesk.com/fakeorfoto CG image courtesy of Ramon Zancanaro CG image courtesy of Stanislav Klabik CG.
液晶顯示控制器之研究 謝曜式 中華大學電機工程學系 Department of Electrical Engineering Chung-Hua University Hsinchu, Taiwan.
組織與組織理論 本章內容 組織的基本概念 什麼是組織理論 企業組織的系統觀 組織的績效 組織管理的趨勢 Chapter 1
數位內容學院專業學程 說明會 廖文宏 6/8/2006. 緣由 經濟部工業局為鼓勵優秀學子積極投入數位內 容產業,並縮短業界對於應屆畢業學生的 職前訓練時間,因此委託數位內容學院與大學 院校合作,為即將畢業的大四或研究所學 生,規劃開設數位內容相關課程,讓學生能在 理論與實務兼具的課程中培養數位內容專.
專案計畫之爭取、執行與管理 2001 年 9 月 2 日 高階經營管理碩士班第四屆企業經濟學. 簡報大綱 一、 前言 二、專案方向之選擇 三、專案計畫之爭取 – 制度之規範 – 對問題之掌握 – 研究團隊 (Consortium) 之組成.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
物流通關專業教室 (052) 國貿實務專業教室 (054) 企業資源整合專業教室 (055) 整合各專業教室資訊進行 即時動態及異常管理 (051) 貿易運籌研訓中心 專業實習、 、 師生研究討論 、、 、、 海關模擬系統、貨況追蹤、貨物 進出倉管理、海空運通關承攬、 通關自動化作業等相關模組 全球運籌決策中心.
1 數位控制(一) 2 數位控制 課程計畫 課程目標 介紹數位控制理論 與工業界常用之數位控制器比較 實習數位控制器之模擬與設計 課程綱要 Introduction to Digital Control System The z Transform z-Plane Analysis of Discrete-Time.
FGU LDT. FGU EIS 96 ‧ 8 ‧ 25 FGU LDT 佛光大學學習與數位科技學系.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
多媒體概論 mm09.ppt 1 多媒體資訊服務. 多媒體概論 mm09.ppt 2 資訊服務 資訊諮詢服務業 – 以資訊為產品,利用現代的電腦和通訊網路作為手段,實現 對資訊的採集、處理、傳遞、提供、利用和服務。 分類 – 綜合型:擁有一個很大的連線網路和資料庫群,提供用戶各 方面的查詢。 – 傳媒型:新聞媒體、電視台。
8-1 Chapter 8 技術與流程 組織的技術 製造業的核心技術 服務業的核心技術 非核心技術與組織管理 工作流程的相依性.
台灣客家知識治理之研究 -- 以 行政院客委會為例 發表人: 彭安麗 南華大學公共行政與政策研究所助理教授 發表人: 彭安麗 南華大學公共行政與政策研究所助理教授
文件製作 陳彥良. Phase 1 Identifying problems Identifying opportunities Identifying objectives.
國立臺南藝術大學 材質創作與設計系 Department of Material Arts and Design Tainan National University of The Arts 學生職涯進路圖.
行政院國家科學委員會工程技術發展處自動化學門 * 試以國立成功大學製造工程研究所 鄭芳田教授 產學合作計畫 : 智慧預測保養系統之設計與實作 成果報告盤點為範例 國科會工程處專題計畫成果典藏 自動化學門成果報告盤點範例.
逢甲大學公共政策研究所座談會 與談人:何彩滿 香港大學亞洲研究中心博士後研究員. 報告結構 香港高等教育的發展沿革 香港教育體制與資源分配結構 香港高等教育的未來 — 亞太的教育樞紐 國際化與國際化的弔詭 香港的大學、研究所與台灣的比較.
資訊管理學生為何要學習商管知識? 中央大學、資訊管理系 范錚強. 資訊管理學門  “The Study of the effective design, delivery and usage of information systems in organizations.” Keen (1980)
鄭瑞興的個人簡介 中山資工所 鄭瑞興.
生產系統導論 生產系統簡介 績效衡量 現代工廠之特徵 管理機能.
教材名稱:網際網路安全之技術及其應用 (編號: 41 ) 計畫主持人:胡毓忠 副教授 聯絡電話: 教材網址: 執行單位: 政治大學資訊科學系.
資訊教育 東海大學物理系施奇廷 92 學年度第一學期. 物理研究的新方法 傳統:理論與實驗 傳統:理論與實驗 現在:理論、實驗、計算 現在:理論、實驗、計算 計算 vs. 實驗:計算物理可視為在所有的條 件皆能完美調控之下的「數值實驗室」 計算 vs. 實驗:計算物理可視為在所有的條 件皆能完美調控之下的「數值實驗室」
1 高等演算法 授課老師 : 陳建源 研究室 : 法 401 網站
資訊教育 吳桂光 東海大學物理系助理教授 Tel: 3467 Office: ST223 Office hour: Mon (10:30-12am) or by appointment.
如何進入IT就業市場.
人力資源管理 1 教 師:林昌榮 人力資源管理 2 何謂工作分析  界定職位之工作內容及工作方式  決定擔任此職位的人所具備的能 力及條件  為人力資源管理活動的磐石.
大華技術學院九十五學年度 資工系計算機概論教學大綱 吳弘翔. Wu Hung-Hsiang2 科目名稱:計算機概論與實習 授課老師:吳弘翔 學分數: 4 修別:必修 老師信箱:
寬頻通訊系統基礎教育計畫 分項計畫二 寬頻網路通訊 主要參與人員 黎碧煌 教 授 鍾順平 副教授
MANAGEMENT INFORMATION SYSTEMS 管理資訊系統. 企業的五大資源 人力 (Personnel) 人力 (Personnel) 資料 (Material) 資料 (Material) 機器設備 (Machines) 機器設備 (Machines) 金錢 (Money) 金錢.
創造力與創新之後 一 、 累積創意 二 、 專利 三 、 創新創業. 課程週數建議 一、 一、 累積創新 ( 一 ) 創新資料庫規劃、前端後端關係、創新資料性質分類 、儲存與運用、資料維護 “ 累積創新 ” 課程 : 計一週 、 二 、 專利 ( 七 ) 專利權 ( 一 ) 專利目的、專利要件、專利種類、專利效力、專利法概述.
數位家庭教學推動聯盟中心 數位家庭軟體工程 第一年教材編列進度報告 國立台灣海洋大學資訊工程學系 梁德容.
智勝文化事業有限公司製作 行銷管理 ( 再版 ) 林建煌 著 第六章 組織市場與其購買行為. 智勝文化事業有限公司製作 行銷管理 ( 再版 ) 林建煌 著 組織購買者的類型  製造廠商  中間商  服務性組織  政府組織  非營利機構.
當前客家知識治理之現況 分析與發展 發表人: 彭安麗 南華大學公共行政與政策研究所助理教授 發表人: 彭安麗 南華大學公共行政與政策研究所助理教授
概念性產品企劃書 呂學儒 李政翰.
報告人:陳錦生 校長 日 期: 99 年 10 月 21 日. 自我評鑑報告內容簡介 校務評鑑五大項目 自我評鑑過程 簡述自我評鑑過程 學校現況 校地、教職員生數、圖書冊數、院系所學位學程.
-95 學年度傑出校友 藝能體育類 陳筠安 兒童與家庭學系推薦. 學歷 輔仁大學家政系畢 (1983 年 ) 台東大學兒童文學研究所碩 士.
資訊教育 吳桂光 東海大學物理系助理教授 Tel: 3467 Office: ST223 Office hour: Tue, Fri. (10-11am)
1 Be a Brilliant Software Engineer 張維谷 Joseph Chang
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
職涯進路圖 國立台灣科技大學 電子工程學系.
1 高等管理資訊系統. 2 授課教師 : 王耀德 研究室 : 主顧 686 電話 : (04) # 課輔時間 Wednesday 09:00~13:00 介紹.
Android 遊戲設計模組 1 Android 開發環境建構 郭育政 東吳大學資訊管理系 涂昆源 萬能科技大學資訊工程系 余執彰 萬能科技大學資訊工程系 周建興 淡江大學電機工程系 林旭陽 東吳大學資訊管理系 教育部網路通訊人才培育先導型計畫 ─ 課程發展計畫.
電機工程系 選課輔導說明會. 選課輔導說明會宗旨 電機系自 95 年開始,同步進行『工程教育 認證』以及『系科本位課程』兩大與學生 課程相關的認證計畫。 電機系自 95 年開始,同步進行『工程教育 認證』以及『系科本位課程』兩大與學生 課程相關的認證計畫。 本系每年至少一次的系教育諮詢委員會, 廣邀產業界、學界、家長、畢業生、在校.
全國奈米科技人才培育推動計畫辦公室 中北區奈米科技K -12 教育發展中心計畫 簡 報 報告人:楊鏡堂教授 計畫執行單位:國立清華大學動力機械工程學系 計畫種子學校:教育部顧問室 94 年度奈米科技人才培育先導型計畫年度成果報告 中華民國九十四年十月十四日.
導論 人力資源管理 教 師:林昌榮 人力資源管理.
宏碁未來十年如何走出成功的經營方向 一、聯 網 組 織 之 分 析. 組 織 的 演 進 經濟發展產業方式組織型態 工業 資訊 知識 垂直整合 分工整合 超分工整合 層級式 扁平式 網路式.
MIS之何去何從 朝陽資管 劉熒潔.
教學經驗交流 前置基礎知識之檢定 ( 第一堂課 ) 教學研究整合 ( 國際 SCI,EI 期刊 ) 跨校聯合自編教材與教科書 ( 工程數學、 邊界元素法與有限元素法 ) 研究所課題 ─ Term paper 不定期小考 ( 取代指定作業 ) 教學與導師制度結合 ( 對學生自願加課 ) 鼓勵大學生參與國科會大專生專題研究計畫.
1 Introduction to Game Development. Game Platform Game Platform Game Types Game Types Game Team Game Team Game Development Pipeline Game Development Pipeline.
1 System Analysis for Games 王銓彰2014
王銓彰 3D Game Programming 王銓彰
1 3D Game Programming 王銓彰 2005.
1 Game Project Development 王銓彰 ● 王俊堯. 2 Game platform Game platform Game types Game types Game team Game team Game development pipeline Game development.
Prof. Shih-Hao Hung 洪士灝 Dept. of CSIE & GINM 資工網媒 [ ]
1 Game Project Development 王銓彰 ● 王俊堯. 2 Game platform Game platform Game types Game types Game team Game team Game development pipeline Game development.
1 3D Game Programming 王銓彰 2005.
1 3D Game Programming Using TheFly3D ©
Something about the Game Engine 昱泉 InterServ 王銓彰 Kevin C. Wang.
網 站 架 設 新 概 念網 站 架 設 新 概 念. 跟團自由行 國外旅遊 東京廉價航空比較.
壹、整體規劃與實施架構 英語輔導 小組定期 團務會議 研擬 計畫 成效 評估 回流 修正 匯集 成 果 形 成共識 分工合作.
Presentation transcript:

1 3D Game Programming

2 課程大綱 Introduction to Game Development (3hr) Introduction to Game Development (3hr) Game System Analysis (3hr) Game System Analysis (3hr) The Game Main Loop (3hr) The Game Main Loop (3hr) 3D Game Engine Training (TheFly3D) (6hr) 3D Game Engine Training (TheFly3D) (6hr) Game Mathematics (3hr) Game Mathematics (3hr) Geometry for Games (3hr) Geometry for Games (3hr) Advanced Scene Management System (6hr) Advanced Scene Management System (6hr) Terrain (3hr) Terrain (3hr) Game AI (6hr) Game AI (6hr) Game Physics (3hr) Game Physics (3hr) Game FX (3hr) Game FX (3hr) Network Gaming (3hr) Network Gaming (3hr) Introduction to MMOG (3hr) Introduction to MMOG (3hr) The Non-3D Parts (3hr) The Non-3D Parts (3hr)

3 課程要求 One Term Project One Term Project The Students will divide into several teams The Students will divide into several teams Use TheFly3D Game Engine to code a 3D Real-time Strategy Game Use TheFly3D Game Engine to code a 3D Real-time Strategy Game The Teacher will Provide Graphics Materials The Teacher will Provide Graphics Materials Two Examinations Two Examinations Homework will be closely coupled with the term project Homework will be closely coupled with the term project

4 王銓彰 目前 目前 昱泉國際股份有限公司 技術顧問 昱泉國際股份有限公司 技術顧問 數位內容學院 專任講師 / 顧問 數位內容學院 專任講師 / 顧問 資策會多媒體研究所 專案顧問 資策會多媒體研究所 專案顧問 學歷 學歷 台灣大學土木工程學系畢業 台灣大學土木工程學系畢業 資歷 資歷 昱泉國際股份有限公司 技術長 昱泉國際股份有限公司 技術長 虛擬實境電腦動畫股份有限公司 研發經理 虛擬實境電腦動畫股份有限公司 研發經理 西基電腦動畫股份有限公司 研發經理 西基電腦動畫股份有限公司 研發經理 國家高速電腦中心 助理研究員 國家高速電腦中心 助理研究員 台灣大學土木工程學系 CAE Lab 研究助理 台灣大學土木工程學系 CAE Lab 研究助理

5 王銓彰 Game 作品 Game 作品 昱泉國際 昱泉國際 DragonFly 3D Game Engine DragonFly 3D Game Engine –M2 神甲奇兵, VRLobby, 天劍記 Lizard 3D Game Engine Lizard 3D Game Engine – 幻影特攻、笑傲江湖 I & II 、神鵰俠侶 I & II 、風雲、小李飛刀、笑傲江 湖網路版、怪獸總動員、聖劍大陸、笑傲外傳 西基電腦動畫 西基電腦動畫 Ultimate Fighter – 1 st Realtime 3D fighting game in Taiwan Ultimate Fighter – 1 st Realtime 3D fighting game in Taiwan

6 王銓彰 專長 (Expertise) 專長 (Expertise) 3D Computer Graphics 3D Computer Graphics Geometric Modeling Geometric Modeling Numerical Methods Numerical Methods Character Animation Character Animation Photo-realistic Rendering Photo-realistic Rendering Real-time Shading Real-time Shading Volume Rendering Volume Rendering

7 王銓彰 應用領域 (Applications) 應用領域 (Applications) 即時 3D 遊戲開發 (Real-time 3D Game Development) 即時 3D 遊戲開發 (Real-time 3D Game Development) 電腦動畫 (Computer Animation) 電腦動畫 (Computer Animation) 虛擬實境 (Virtual Reality) 虛擬實境 (Virtual Reality) 電腦輔助設計 (Computer-aided Design) 電腦輔助設計 (Computer-aided Design) 科學視算 (Scientific Visualization) 科學視算 (Scientific Visualization)

8 IntroductionTo Game Development

9 Introduction to Game Dev Game Platform Game Platform Game Types Game Types Game Team Game Team Game Development Pipeline Game Development Pipeline Game Software System Game Software System Tools Tools

10 Game Platform PC PC Single player Single player Match Makings Match Makings MMOG (Massive Multi-player Online Game) MMOG (Massive Multi-player Online Game) Web-based Games Web-based Games Console Console Sony PS2 Sony PS2 MS Xbox MS Xbox Nintedo GameCube Nintedo GameCube Arcade Arcade Mobile Mobile GBA GBA Hand-held Hand-held

11 Game Development on PC Designed for Office Application Designed for Office Application Not for Entertainment Not for Entertainment A Virtual Memory System A Virtual Memory System Unlimited memory using Unlimited memory using But Video Memory is Limited But Video Memory is Limited PCI/AGP might be a Challenge PCI/AGP might be a Challenge Open Architecture Open Architecture Compatibility Test is Important Compatibility Test is Important Development is Easy to Setup Development is Easy to Setup

12 Game Development on Console Specific Hardware Designed for Games Specific Hardware Designed for Games Single User / Single Process OS Single User / Single Process OS In General no Hard Disk Drive (??) In General no Hard Disk Drive (??) Closed System Closed System Very Native Coding Way Very Native Coding Way Proprietary SDK Proprietary SDK Hardware related features Hardware related features Limited Resources Limited Resources Memory Memory One Console runs, the others do! One Console runs, the others do!

13 Game Types RPG (Role playing games) RPG (Role playing games) AVG (Adventure games) AVG (Adventure games) RTS (Real-time strategy games) RTS (Real-time strategy games) FPS (First-person shooting games) FPS (First-person shooting games) MMORPG MMORPG SLG (???, 戰棋 ) SLG (???, 戰棋 ) Simulation Simulation Sports Sports Puzzle games Puzzle games Table games Table games

14 Game Team 組成 開發團隊 開發團隊 製作人 製作人 執行製作人 執行製作人 企劃團隊 企劃團隊 程式團隊 程式團隊 美術團隊 美術團隊 行銷業務團隊 行銷業務團隊 測試團隊 測試團隊 遊戲審議委員會 遊戲審議委員會

15 遊戲製作人 (Producer) Team Leader (always) Team Leader (always) 資源管理 (Resource Management) 資源管理 (Resource Management) 行政管理 (Administration) 行政管理 (Administration) 向上負責 (Upward Management) 向上負責 (Upward Management) 專案管理 (Project Management) 專案管理 (Project Management)

16 遊戲執行製作人 專案管理執行 (Project Management) 專案管理執行 (Project Management) Daily 運作 Daily 運作 House Keeping House Keeping Not full-time job position Not full-time job position

17 遊戲企劃 故事設計 (Story Telling) 故事設計 (Story Telling) 腳本設計 (Scripting) 腳本設計 (Scripting) 玩法設計 (Game Play Design) 玩法設計 (Game Play Design) 關卡設計 (Level Design) 關卡設計 (Level Design) 遊戲調適 (Game Tuning) 遊戲調適 (Game Tuning) 數值設定 (Numerical Setup) 數值設定 (Numerical Setup) AI 設計 (Game AI) AI 設計 (Game AI) 音效設定 (Sound FX Setup) 音效設定 (Sound FX Setup) 場景設定 (Scene Setup) 場景設定 (Scene Setup)

18 遊戲美術 場景 (Terrain) 場景 (Terrain) 人物 (Character) 人物 (Character) 建模 (Models) 建模 (Models) 材質 (Textures) 材質 (Textures) 動作 (Motion / Animation) 動作 (Motion / Animation) 特效 (FX) 特效 (FX) User Interface User Interface

19 遊戲程式 遊戲程式 (Game Program) 遊戲程式 (Game Program) 遊戲開發工具 (Game Tools) 遊戲開發工具 (Game Tools) Level Editor Level Editor Scene Editor Scene Editor FX Editor FX Editor Script Editor Script Editor 遊戲 Data Exporters from 3D Software 遊戲 Data Exporters from 3D Software 3dsMax / Maya / Softimage 3dsMax / Maya / Softimage Game Engine Development Game Engine Development Online Game Server Development Online Game Server Development

20 遊戲開發流程 Basic Procedures for Game Development IdeaProposalProductionIntegration Testing DebugTuning Concept Approval PrototypePre-alphaAlphaBetaFinal 發想 (Idea) 發想 (Idea) 提案 (Proposal) 提案 (Proposal) 製作 (Production) 製作 (Production) 整合 (Integration) 整合 (Integration) 測試 (Testing) 測試 (Testing) 除錯 (Debug) 除錯 (Debug) 調適 (Tuning) 調適 (Tuning) > Concept Approval > 雛形 (Prototype) > Pre-alpha > Alpha > Beta

21 遊戲發想 (Concept Design) 遊戲類型 (Game Types) 遊戲類型 (Game Types) 遊戲世界觀 (Game World) 遊戲世界觀 (Game World) 故事 (Story) 故事 (Story) 遊戲特色 (Features) 遊戲特色 (Features) 遊戲玩法 (Game Play) 遊戲玩法 (Game Play) 遊戲定位 (Game Product Positioning) 遊戲定位 (Game Product Positioning) Target player Target player Marketing segmentation / positioning Marketing segmentation / positioning 風險評估 (Risk) 風險評估 (Risk) SWOT (Strength/Weakness/Opportunity/Threat) SWOT (Strength/Weakness/Opportunity/Threat)

22 遊戲提案 (Proposal) 系統分析 (System Analysis) 系統分析 (System Analysis) GDD 撰寫 (Game Design Document) GDD 撰寫 (Game Design Document) MDD 撰寫 (Media Design Document) MDD 撰寫 (Media Design Document) TDD 撰寫 (Technical Design Document) TDD 撰寫 (Technical Design Document) 遊戲專案建立 (Game Project) 遊戲專案建立 (Game Project) Schedule Schedule Milestones / Check points Milestones / Check points Risk management Risk management 測試計畫書 測試計畫書 團隊建立 (Team Building) 團隊建立 (Team Building)

23 遊戲開發 (Production) 美術量產製作 美術量產製作 Modeling Modeling Textures Textures Animation Animation Motion Motion FX FX 程式開發 (Coding) 程式開發 (Coding) 企劃數值設定 企劃數值設定 … 量產 !

24 遊戲整合 (Integration) 關卡串聯 (Level Integration) 關卡串聯 (Level Integration) 數值調整 (Number Tuning) 數值調整 (Number Tuning) 音效置入 (Audio) 音效置入 (Audio) 完成所有美術 完成所有美術 程式與美術結合 程式與美術結合 Focus Group (User Study) Focus Group (User Study) Release some playable levels for focus group Release some playable levels for focus group

25 遊戲測試 (Testing) Alpha 測試 Alpha 測試 除錯 (Debug) 除錯 (Debug) Beta 測試 Beta 測試 數值微調 數值微調 Game play 微調 Game play 微調 對線上遊戲而言 (MMOG) 對線上遊戲而言 (MMOG) 封閉測試 (Closed Beta) 封閉測試 (Closed Beta) 開放測試 (Open Beta) 開放測試 (Open Beta) 極限測試 (Critical Testing) 極限測試 (Critical Testing) 線上遊戲才有 線上遊戲才有

26 Bug Bug 分級 (Bug Classification) Bug 分級 (Bug Classification) A Bug A Bug B Bug B Bug C Bug C Bug S Bug S Bug Principles Principles Bug 分級從嚴 Bug 分級從嚴 Tester vs Debugger Tester vs Debugger Bug Classification Bug Dispatch Debug Verify Bug FAQ Y N ?

27 Game Software System Hardware 3D Graphics API2D APIInput DeviceOS API3D Scene Mngmt2D SpriteGamepadNetworkAudioTerrainCollisionCharacterUIDynamicsSound FX Fighting SystemFX SystemGame AIScript System NPC SystemVirtual AgentTrading SystemStory Game Game Play Layer Engine Layer System Layer

28 System Layer - APIs 3D Graphics API 3D Graphics API DirectX 9.0 SDK – Direct3D DirectX 9.0 SDK – Direct3D OpenGL 2.0 OpenGL 2.0 2D API 2D API DirectX 9.0 SDK - DirectMedia DirectX 9.0 SDK - DirectMedia Win32 GDI Win32 GDI Input Device Input Device DirectX 9.0 SDK – DirectInput DirectX 9.0 SDK – DirectInput Audio Audio DirectX 9.0 SDK – DirectSound / Direct3DSound / DirectMedia DirectX 9.0 SDK – DirectSound / Direct3DSound / DirectMedia OpenAL OpenAL

29 System Layer - APIs OS API OS API Win32 SDK Win32 SDK MFC MFC Network Network DirectX 9.0 SDK – DirectPlay DirectX 9.0 SDK – DirectPlay Socket library Socket library

30 Engine Layer 3D Scene Management System 3D Scene Management System Scene Graph Scene Graph Shaders Shaders 2D Sprite System 2D Sprite System Audio System Audio System Gamepad Gamepad Hotkey Hotkey Mouse Mouse Timers Timers Network Network DDK Interface DDK Interface

31 Engine Layer Terrain Terrain Advanced Scene Management – Space Partition Advanced Scene Management – Space Partition BSP Tree BSP Tree Octree Octree Character System Character System Motion Blending Techniques Motion Blending Techniques Dynamics Dynamics Collision Detection Collision Detection SoundFX SoundFX User Interface User Interface

32 Game Play Modula NPC (Non-playable Characters) NPC (Non-playable Characters) Game AI Game AI Path Finding Path Finding Finite State Machine Finite State Machine … Avatar Avatar Combat System Combat System FX System FX System Script System Script System Trading System Trading System Number System Number System …

33 Game Dev Tools Visual C/C++ Visual C/C++.net 2003.net 2003 Visual C/C SP5 Visual C/C SP5 DirectX DirectX Current 9.0c Current 9.0c NuMega BoundsChecker NuMega BoundsChecker Intel vTune Intel vTune 3D Tools 3D Tools 3dsMax/Maya/Softimage 3dsMax/Maya/Softimage In-house Tools In-house Tools

34 Game System Analysis

35 What Will We Talk Here Idea about System Analysis (SA) Idea about System Analysis (SA) Mind mapping Mind mapping Case Study - Our Term Project Case Study - Our Term Project

36 Why SA ? (1/2) For 程式結構 Analysis For 程式結構 Analysis Program modulus Program modulus Tools Tools To Identify 工作量 To Identify 工作量 Programs/tools under development Programs/tools under development For 資源 management For 資源 management Man month Man month How many programmers ? How many programmers ? Development tools ? Development tools ? Specific tools ? Specific tools ? For Job Dependency Analysis For Job Dependency Analysis

37 Why SA ? (2/2) To make 技術可行性 Analysis To make 技術可行性 Analysis R&D ? R&D ? Pre-processor for Pre-processor for Technical design document Technical design document Project management Project management Bridge from Game Design to Programming Bridge from Game Design to Programming

38 Something about SA No Standard Procedures No Standard Procedures It’s Not a Theory, Just Something Must Be Done! It’s Not a Theory, Just Something Must Be Done! You Can Have Your Own Method You Can Have Your Own Method UML UML Mind mapping ( 心智圖法 ) Mind mapping ( 心智圖法 ) This is the one we will use for this course This is the one we will use for this course …

39 The SA Steps I Used Brainstorming Brainstorming Integration Integration Dependency Analysis Dependency Analysis Create the Project Create the Project Write the Technical Design Document (TDD) Write the Technical Design Document (TDD)

40 SA – Brainstorming Based on the Game Design to Put Everything As Many As You Could Based on the Game Design to Put Everything As Many As You Could Use Mind mapping Use Mind mapping Including Including Game system Game system Combat / Village / Puzzle / … Combat / Village / Puzzle / … Program modulus Program modulus Camera / PC control / NPC AI / UI / FX /… Camera / PC control / NPC AI / UI / FX /… Tools Tools Level editor / Scene editor / … Level editor / Scene editor / … Entities in games Entities in games Characters / vehicle / terrain / audio / … Characters / vehicle / terrain / audio / …

41 SA – Integration Confirm the Resource Limitation Confirm the Resource Limitation Technical Implement Possibility Technical Implement Possibility Put All Related Items Together Put All Related Items Together Man Month Analysis Man Month Analysis How many ? How many ? Who ? Who ? Jobs/System Identification Jobs/System Identification

42 SA – Dependency Analysis Sort the Jobs Sort the Jobs By dependency By dependency By programmers By programmers Prototype for scheduling Prototype for scheduling

43 SA – Create the Project Scheduling Scheduling Job Assignment Job Assignment Resource Allocation Resource Allocation Check points Check points Milestones Milestones Risk Management Policy Risk Management Policy

44 SA – Write the TDD Specification Specification Resources Resources Design in details Design in details Implement Methods ( 工法 ) Implement Methods ( 工法 ) Algorithms Algorithms The Project The Project Output in Each Milestone Output in Each Milestone SOP (optional) SOP (optional)

45 Mind Mapping 心智圖法 心智圖法 A Radiant Thinking Tool A Radiant Thinking Tool Applications Applications 讀書心得 讀書心得 Proposal Proposal 上課筆記 上課筆記 遊記 遊記 System Analysis System Analysis … Reference Reference Program Program Visio Visio MindManager MindManager Tony Buzan, Barry Buzan, “ The Mind Map Book: How to Use Radiant Thinking to Maximize Your Brain's Untapped Potential ” Tony Buzan, Barry Buzan, “ The Mind Map Book: How to Use Radiant Thinking to Maximize Your Brain's Untapped Potential ”

46

47

48 Mind Mapping Demo Use MindManager X5 pro Use MindManager X5 pro Developed By MindJet Developed By MindJet

49 Term Project System Analysis

50 Game Design (1/3) Real-time Strategy War Game Real-time Strategy War Game Mission-based Levels Mission-based Levels Mouse-driven Controls Mouse-driven Controls Player vs Computer Player vs Computer State-based AI State-based AI Group Movement Group Movement

51 Game Design (2/3) PC – Controlled by Player PC – Controlled by Player “Blue Team” “Blue Team” Move Move Attack Attack AI AI Standby Standby Anti-attack Anti-attack NPC – Controlled by Computer NPC – Controlled by Computer “Red Team” - Enemy “Red Team” - Enemy Triggered by time table Triggered by time table AI AI Move Move Standby Standby Anti-attack Anti-attack Attack Attack

52 Game Design (3/3) Game AI Game AI Finite state machine Finite state machine Path finding Path finding 3D 3D A* A* Steering behavior Steering behavior Flocks / Schools / Herds Flocks / Schools / Herds Flocks / Schools / Herds Flocks / Schools / Herds AI Game Programming Wisdom, Charles River Media (1 & 2) AI Game Programming Wisdom, Charles River Media (1 & 2)

53 System Analysis Run MindManager.exe Run MindManager.exe