• 沒有找到結果。

簡易3D多人線上遊戲系統

N/A
N/A
Protected

Academic year: 2021

Share "簡易3D多人線上遊戲系統"

Copied!
229
0
0

加載中.... (立即查看全文)

全文

(1)逢 甲 大 學 資訊工程學系專題報告 簡易3D多人線上遊戲系統. 學. 詹 生: 許 何 鄧. 欽 志 明 欣. 賢 信 政 宗. (四乙) (四乙) (四乙) (四乙). 指導教授 : 楊 東 麟 中華民國九十二年十一月.

(2) 簡易3D多人線上遊戲系統. 資 逢 訊 工 甲 程 大 學 系 學 專 題 報 告 簡 易 3D 多 人 線 上 遊 戲 系 統. 92. 逢甲大學 e-Paper (92學年度).

(3) 簡易3D多人線上遊戲系統. 目. 錄. 目錄......................................................I 圖目錄....................................................V 表目錄....................................................X 摘要.....................................................XI 第一章 導 論..............................................1 1.1 概述..............................................1 1.2 研究動機..........................................1 1.3 研究目標..........................................2 第二章 需 求 分 析........................................3 2.1 遊戲軟體產業的探討................................3 2.1.1 遊戲軟體種類..................................3 2.1.2 全球產業現況..................................3 2.1.3 台灣市場規模..................................4 2.1.4 國內廠商......................................5 2.2 網路遊戲..........................................6 2.2.1 背景..........................................6 2.2.2 型態分類......................................7 2.3 系統需求.........................................12 2.3.1 市場分析.....................................12 2.3.2 一般玩家的需求分析...........................14 2.3.3 建立系統需求.................................16 第三章 系 統 分 析.......................................18 3.1 系統分析方法論...................................18 3.2 系統開發模式.....................................18 3.2.1 3D 線上遊戲系統─開發過程模式分析............19 3.3 系統開發工具的探討...............................20 I 逢甲大學 e-Paper (92學年度).

(4) 簡易3D多人線上遊戲系統. 3.3.1 開發工具概觀.................................20 3.3.2 系統開發工具.................................25 3.3.3 Windows 視窗程式.............................29 3.4 軟硬體支援.......................................33 3.4.1 硬體需求.....................................33 3.4.2 測試所需硬體.................................33 第四章 系 統 設 計 與 規 劃..............................35 4.1 系統架構.........................................35 4.2 子系統架構─用戶端...............................39 4.2.1 GUI 介面系統.................................42 4.2.2 網路連線系統.................................44 4.2.3 OpenGL 點選系統..............................46 4.2.4 OpenGL 秀圖系統..............................48 4.2.5 地圖創造系統.................................51 4.2.6 2D 人物移動系統..............................53 4.2.7 戰鬥系統.....................................55 4.2.8 物件管理系統.................................55 4.2.9 音效系統.....................................55 4.3 子系統架構─伺服端...............................56 4.3.1 網路連線系統.................................58 4.3.2 遊戲世界建構系統.............................60 4.3.3 戰鬥系統.....................................62 4.3.4 事件分析系統.................................62 4.3.5 更新物件座標.................................62 4.3.6 怪物、NPC AI,系統...........................63 第五章 系 統 開 發 與 整 合..............................65 5.1 開發前的準備工作.................................65 5.1.1 軟體的準備...................................65 5.1.2 工作分配.....................................65 5.2 地圖編輯系統.....................................68 5.2.1 地圖製作的流程...............................68 II 逢甲大學 e-Paper (92學年度).

(5) 簡易3D多人線上遊戲系統. 5.2.2 依劇情繪出地圖草稿圖.........................70 5.2.3 製作地表.....................................76 5.2.4 3D 物件製作..................................84 5.2.5 特殊旗標.....................................93 5.2.6 整合.........................................96 5.3 2D 人物動作貼圖.................................101 5.4 點選系統........................................104 5.5 遊戲世界中各類角色的設定與行為能力..............107 5.5.1 玩家設定....................................108 5.5.2 怪物設定....................................118 5.5.3 NPC+怪物的移動控制..........................119 5.6 戰鬥系統........................................125 5.6.1 攻擊........................................125 5.6.2 傷害計算....................................126 5.6.3 經驗值取得與升級判斷........................126 5.6.4 提升基本能力................................128 5.7 交易系統........................................130 5.7.1 定義物品的方法..............................130 5.7.2 與物品相關之動作............................133 5.7.3 倉庫與商人..................................140 5.7.4 交易處理....................................146 5.8 物件工廠........................................152 5.8.1 基本概念....................................152 5.8.2 共享性資料概念..............................152 5.8.3 工廠實作原理................................156 5.8.4 物件生產過程................................160 5.9 視窗呈現系統....................................162 5.9.1 遊戲中的視窗種類............................162 5.9.2 視窗間的關係................................163 5.9.3 視窗背後訊息處理的模式......................164 5.10 網路連線系統...................................166 5.11 劇情創造系統...................................169 5.11.1 基本概念...................................169 III 逢甲大學 e-Paper (92學年度).

(6) 簡易3D多人線上遊戲系統. 5.11.2 劇情是如何組成?...........................170 5.11.3 劇情原始檔.................................171 5.11.4 劇情編譯器.................................174 5.11.5 劇情編譯檔.................................174 5.11.6 劇情執行程式...............................178 第六章 心 得 與 結 論...................................179 6.1 系統特色與結論..................................179 6.2 個人心得........................................180 6.2.1 明政........................................180 6.2.2 志信........................................181 6.2.3 欽賢........................................182 6.2.4 欣宗........................................183 6.3 未來展望........................................184 參考資料................................................187 附錄 A、建立資料處理、物件模型................................189 B、系統開發模式的研究....................................199 C、 DirectX、OpenGL 功能與元件之研究.......................206. IV 逢甲大學 e-Paper (92學年度).

(7) 簡易3D多人線上遊戲系統. 圖 目 錄 圖 2-1 仙境傳說點數卡及其週邊..............................8 圖 2-2 線上遊戲介面........................................9 圖 2-3 CS 戰鬥畫面.........................................10 圖 2-4 MSN 訊息傳遞介面....................................10 圖 2-5 MSN 連線遊戲介面....................................11 圖 2-6 上網人口...........................................12 圖 2-7 仙境傳說投票紀錄(資料來源:www.gamebase.com.tw).....15 圖 2-8 天堂系列投票紀錄(資料來源:www.gamebase.com.tw).....16 圖 3-1 Flash 遊戲 Rural Racer...............................21 圖 3-2 Java 手機遊戲.......................................22 圖 3-3 遊戲大廳...........................................23 圖 3-4 遊戲畫面...........................................23 圖 3-5 Windows 程式的本體與作業系統之間的關係..............31 圖 3-6 視窗的生命週期.....................................32 圖 3-7 視窗的生命週期.....................................32 圖 3-8 主從式系統硬體架構.................................34 圖 4-1 主從式系統網路架構圖...............................36 圖 4-2 系統架構圖.........................................36 圖 4-3 遊戲系統的 DFD 全景圖...............................37 圖 4-4 遊戲系統的 DFD 圖 0..................................38 圖 4-5 用戶端系統架構圖...................................40 圖 4-6 遊戲系統的 DFD 圖 1-用戶端系統.......................41 圖 4-7 GUI 介面系統架構圖..................................42 圖 4-8 用戶端系統中的"GUI 介面"的細節...................43 圖 4-9 網路連線系統架構圖.................................44 圖 4-10 用戶端系統中的"網路連線系統"的細節..............45 圖 4-11 OpenGL 點選系統架構圖..............................46 圖 4-12 用戶端系統中的"點選系統"的細節..................47. V 逢甲大學 e-Paper (92學年度).

(8) 簡易3D多人線上遊戲系統. 圖 4-13 OpenGL 圖展示系統架構圖............................48 圖 4-14 用戶端系統中的"OpenGL 圖展示系統"的細節.........50 圖 4-15 地圖創造系統架構圖................................51 圖 4-16 用戶端系統中的"地圖創造系統"的細節..............52 圖 4-17 2D 人物移動系統架構圖..............................53 圖 4-18 用戶端系統中的"2D 人物移動系統"的細節...........54 圖 4-19 伺服端系統架構圖..................................56 圖 4-20 遊戲系統的 DFD 圖 2-伺服端系統......................57 圖 4-21 網路連線系統架構圖................................58 圖 4-22 伺服器系統中的"網路連線系統"的細節..............59 圖 4-23『建構遊戲世界』之系統架構圖........................60 圖 4-24 伺服器系統中的"建構遊戲世界系統"的細節..........61 圖 4-25 怪物及 NPC 之 AI 系統架構圖..........................63 圖 4-26 伺服器系統中的"怪物及 NPC 之 AI 系統"的細節........64 圖 5-1 地形草圖...........................................71 圖 5-2 輔助用 3D 地形模型..................................72 圖 5-3 用來計算地形高低的「.raw」檔........................73 圖 5-4 讀入 raw 檔的步驟...................................76 圖 5-5 由三角形構成的地表.................................77 圖 5-6 由三角形構成的地表.................................77 圖 5-7 一般程式的陣列讀取法...............................78 圖 5-8 OpenGL 的陣列讀取法.................................79 圖 5-9 部分地圖的透明骨架.................................80 圖 5-10 地面色彩分佈圖....................................81 圖 5-11 只用一張地面色彩分布圖時,地面的效果..............82 圖 5-12 地表材質貼圖......................................82 圖 5-13 貼上材質之後的地面效果............................83 圖 5-14 3D 物件的手繪草稿..................................85 圖 5-15 正確的 3D 物件大小.................................85 圖 5-16 錯誤的 3D 物件大小.................................85 圖 5-17 整個物件..........................................86 圖 5-18 各個元件的分解圖..................................86 VI 逢甲大學 e-Paper (92學年度).

(9) 簡易3D多人線上遊戲系統. 圖 5-19 物件外觀..........................................87 圖 5-20 元件之間間格的特寫................................87 圖 5-21 skp 檔案的大小.....................................88 圖 5-22 3ds 檔案的大小.....................................88 圖 5-23 3ds 檔的內容.......................................89 圖 5-24 平均分割的貼圖....................................91 圖 5-25 不平均分割的貼圖..................................91 圖 5-26 地形高度圖........................................93 圖 5-27 由地形高度圖產生出的可否行走設定圖................94 圖 5-28 傳送點的外觀......................................95 圖 5-29 進入傳送點之前....................................95 圖 5-30 進入傳送點後,被傳送到另外一張地圖................96 圖 5-31 地圖資訊文件檔....................................97 圖 5-32 地圖元件的三個層次...............................100 圖 5-33 8 個分解動作......................................101 圖 5-34 材質管理系統流程圖...............................103 圖 5-35 物件命名方式─座標點命名.........................105 圖 5-36 2D 物件命名結構...................................105 圖 5-37 基本狀態類別圖...................................108 圖 5-38 最短路徑計算程序.................................114 圖 5-39 範例(3→4→5)....................................115 圖 5-40 可走不可走設定程序...............................116 圖 5-41 格子數計算程序...................................117 圖 5-42 怪物類別.........................................119 圖 5-43 隨機游走程序圖...................................121 圖 5-44 兩座標間來回走動程序圖...........................123 圖 5-45 繞圈圈範例.......................................124 圖 5-46 戰鬥系統使用案例.................................129 圖 5-47 物品類別.........................................133 圖 5-48 玩家從地圖上撿起物品之活動圖.....................135 圖 5-49 玩家將身上的物品丟到地圖上之活動圖...............136 圖 5-50 玩家使用非消耗性物品之活動圖.....................137 圖 5-51 玩家使用(消耗性)物品之活動圖.....................138 VII 逢甲大學 e-Paper (92學年度).

(10) 簡易3D多人線上遊戲系統. 圖 5-52 玩家卸下(非消耗性)物品活動圖.....................139 圖 5-53 Sets 的內部資料結構...............................141 圖 5-54 背包管理者類別...................................143 圖 5-55 背包管理者.......................................143 圖 5-56 商人產生與指定販賣物活動圖.......................145 圖 5-57 玩家向商人購買物品之活動圖.......................148 圖 5-58 玩家將物品賣給商人之活動圖.......................149 圖 5-59 玩家向玩家購買物品之活動圖.......................150 圖 5-60 玩家將物品賣給玩家之活動圖.......................151 圖 5-61 物件共享資料關係圖...............................153 圖 5-62 資料未分離時之情況...............................154 圖 5-63 資料採取共享機制之情況...........................155 圖 5-64 伺服端工廠運作架構...............................157 圖 5-65 game1 世界中負責生產的各類生產線..................158 圖 5-66 game2 世界中負責生產的各類生產線..................158 圖 5-67 伺服端、用戶端間資料的關係........................160 圖 5-68 某生產線中物件生產活動圖.........................161 圖 5-69 視窗關係圖.......................................163 圖 5-70 父子視窗關係圖...................................164 圖 5-71 父子視窗關係圖範例...............................164 圖 5-72 玩家點選商品購買之活動圖.........................165 圖 5-73 封包標頭.........................................166 圖 5-74 封包佇列說明圖...................................167 圖 5-75 不同地圖 Group 示意圖.............................168 圖 5-76 劇情系統組成元件.................................169 圖 5-77 劇情原始檔範例...................................173 圖 5-78 編譯程序.........................................174 圖 5-79 劇情執行程序活動圖...............................178 圖 A-1 學生與老師之間關聯性..............................194 圖 A-2 人的繼承..........................................195 圖 A-3 電腦合成圖........................................195 圖 A-4 類別架構圖與範例..................................196 圖 A-5 活動圖的元素......................................197 VIII 逢甲大學 e-Paper (92學年度).

(11) 簡易3D多人線上遊戲系統. 圖 A-6 活動圖架構........................................198 圖 B-1 瀑布模型..........................................201 圖 B-2 原型理念及其工作流程..............................202 圖 B-3 螺旋模型..........................................203 圖 B-4 同步模式執行程序..................................205 圖 C-1 DirectX 8.0 Graphics 系統結構.......................208 圖 C-2 DirectX 8.0 Audio 系統結構..........................209 圖 C-3 DirectPlay 系統結構................................210 圖 C-4 OpenGL 在 Windows NT 下運行機制......................215 圖 C-5 在 3D 圖形加速下 OpenGL 運行機制.....................216. IX 逢甲大學 e-Paper (92學年度).

(12) 簡易3D多人線上遊戲系統. 表 目 錄 表 3-1 軟硬體需求對照表...................................33 表 5-1 專題分工表.........................................67 表 5-2 3D 物件列表.........................................74 表 5-3 不同屬性的 Chunk 後面所跟的資料內容.................90 表 5-4 cLoad3DS 類別中的函式...............................92 表 5-5 能力效益對照表....................................110 表 5-6 前 30 級升級所需經驗值對照表.......................127 表 5-7 升級獲得點數對照表................................128 表 A-1 UML 各個觀點所定義之圖形、功能.....................193. X 逢甲大學 e-Paper (92學年度).

(13) 簡易3D多人線上遊戲系統. 摘. 要. 現在市面上充斥著許許多多令人目不暇給的遊戲軟體,據統計 2003 年 7 月份到 10 月份間,共上市了 106 套電腦遊戲,電腦玩家們 可能不僅喜歡玩遊戲,更對遊戲的製作充滿好奇與熱忱。 我們政府提出了『兩兆雙星』計畫,其中,雙星產業之一的『數 位內容』更包含電子遊戲、音樂、動畫、及網路服務等領域,政府期 盼能由二○○一年產值達新台幣一三三四億,到二○○六年時,產值 再拉高到新台幣三七○○億元。因此,製作遊戲軟體的利基不言可 喻。所以我們想把對於網路線上遊戲的愛好,轉為學習相關技術和遊 戲的設計,利用專題實作的機會實際建置一個簡易的 3D 多人線上遊 戲,從整體系統的架構、規劃乃至於分工實作,最後整合成一個完整 的系統。我們的實作成果和專題報告也可以給有相同喜好的人做參 考。 本報告的各個章節,包含以下的內容: z 第一章 導論 簡述當初鑽研之動機及系統欲達成之功能。 z 第二章 需求分析 在本章中,我們探討遊戲軟體產業未來的競爭力以及針對台灣市 場走向及玩家實際心得之解析,最後並定義出系統的需求。 z 第三章 系統分析 開發系統之前,須對開發工具及其原理有充分的了解和正確的選 擇,並適當地使用系統分析方法來設計。 z 第四章 系統設計與規劃 本章中,我們說明系統的整體架構,以及各個子系統的基本架 構、相互關係、和運作流程。 z 第五章 系統開發與整合 首先介紹我們分工的情形,再來,就是各個子系統實作的技術與 方法。 z. 第六章 心得與結論 本系統特色、組員們的心得、與未來尚需改進的地方。 XI 逢甲大學 e-Paper (92學年度).

(14) 簡易3D多人線上遊戲系統. 第一章 導 論 1.1 概述 本專題是以開發 3D 線上遊戲並以主從式連線模式進行的系統。 玩家必須安裝完成用戶端的主程式,並經由網路連線到伺服端、登入 成功後,才能進入遊戲。在遊戲世界中,玩家會依劇情來扮演主角, 並藉由破解劇情任務、不斷地提升等級等方式,來進行遊戲。. 1.2 研究動機 資訊時代來臨,凡事講求實事求是,於是乎,人們少了幻想的空 間。在暢銷電影─魔戒中,大地不僅只被人類支配,它也存在許多不 同的種族,其中,巫師擅長神秘的法術,精靈除了是幸運的象徵之外, 亦有使用弓箭戰鬥捍衛家園的能力。除此,不僅人類有善惡之分,其 它種族亦是如此,整個世界彷彿被塑造成光明與黑暗的對比。但這一 切,在現實生活中根本不可能出現,但是,除了電影之外,遊戲帶給 我們更耀眼的希望。 1. 台灣政府提出了『兩兆雙星』 計畫,其中,雙星產業之一的『數 位內容』包含電子遊戲、音樂、動畫、及網路服務等領域,政府期盼 能由二○○一年產值達新台幣一三三四億(其中以多媒體電腦軟體及 網路服務為主),到二○○六年時,產業產值再拉高到新台幣三七○○ 億元。因此,製作遊戲軟體的利基不言可喻。 綜合上述原因,興趣與前途,便成了我們製作本專題的主要動機。. 1. 見中華招商網: http://investintaiwan.nat.gov.tw/moea-web/InvestOpps/Type/2-2/index-c.htm -1逢甲大學 e-Paper (92學年度).

(15) 簡易3D多人線上遊戲系統. 1.3 研究目標 藉由本次專題實驗,我們希望能逐步地揭開遊戲的神秘面紗,實 作一套具有下述功能之系統: ¾ 主從式系統可以多人同時上線; ¾ 2D 人物/3D 環境場景; ¾ 角色扮演劇情; ¾ 即時戰鬥計算; ¾ 即時交易處理; ¾ 即時聲光效果; ¾ 聊天系統。. -2逢甲大學 e-Paper (92學年度).

(16) 簡易3D多人線上遊戲系統. 第二章 需 求 分 析 2.1 遊戲軟體產業的探討 在我們開始製作遊戲之前,須對目前市面上的遊戲軟體種類具些 許的認知,並對國內及外的市場走向有一定程度的了解,才能初步確 定遊戲系統的定位。在介紹完遊戲軟體的種類及全球產業現況後,我 們會針對台灣市場以及廠商作進一步的探討。. 2.1.1 遊戲軟體種類2 全球遊戲軟體大致可以區分為大型遊戲機(Arcade)、電視遊戲 器(game player)、單機版遊戲(PC game)及線上遊戲(On-line game)。電視遊戲機台所佔比重最高,約佔整體遊戲市場 5 成左右, 目前市場主要競爭者為 SONY 之 PS 系列、微軟之 XBOX 及任天堂之 Game Cube,目前以 SONY 之 PS 系列市佔率為最高。. 2.1.2 全球產業現況3 就全球遊戲市場而言,不管是軟硬體,每年均呈正成長走勢,2001 年更呈現 30%的高成長,主要原因為該年度 SONY 及微軟分別推出新 機種 PS2 及 XBOX,使得該年度硬體銷售比重提升到 34%,導致整體市 值提高,由於遊戲產業軟體銷售比重一向較硬體高,在 2001 年硬體 比重大幅提高後,預估之後陸續推出之軟體,將使得硬體比重逐漸下 滑,軟體比重將重回 8 成比重水準,而整體市場,在少了新硬體投入 的動力,未來幾年整體產業成長將無法與 2001 年高成長相比,成長 率將逐漸下滑,但整體產值仍是呈現正成長,主要成長動力來自軟體 市場,預估軟體市場 2002 年仍有 16.5%之成長,因此遊戲軟體未來 將成為帶動整體遊戲市場成長動力來源。. 2 3. 本節資料整理自http://intra.yuanta.com.tw/PagesA2/hot_issue/9108gam.html 本節資料整理自http://intra.yuanta.com.tw/PagesA2/hot_issue/9108gam.html -3逢甲大學 e-Paper (92學年度).

(17) 簡易3D多人線上遊戲系統. 2.1.3 台灣市場規模4 台灣號稱硬體製造王國,尤其在 PC 相關產品上,因此國內 PC 普 及化的程度相當高,再加上自 86 年起微軟 Windows 95 作業環境接近 成熟之際,CPU、DRAM 等硬體產品價格大幅滑落,以致低價的電腦普 及,使得 PC 多媒體功能提升,電腦遊戲畫面、聲光效果越顯精緻, 及多元化,更成為國內電腦遊戲蓬勃發展的原因之一。 其次,由於台灣市場規模太小,易為電視遊樂器業者所忽視,加 上電視遊樂器(TV Game)不論是硬體及軟體都由日、美商壟斷,且其 開發成本高昂須給付高額權利金費用下,國人能切入遊戲機軟體市場 是微乎其微。但台灣挾其為全球最大 PC 製造產地之便,提供了國人 切入 PC 遊戲軟體相當好的契機,因此國人在 PC 遊戲軟體之研發製 造,幾乎可以不假他人之手,自行研發出相當多元且高品質之軟體。 且在 2001 年時,國內及全球經濟不景氣,但在國內個人相關應用軟 體市場規模成長亦呈現趨緩的情況下,遊戲軟體產業,卻在遊戲軟體 廠商的成功行銷模式、及產品不斷推陳出新的推波助瀾下逆勢成長。 故台灣業者非常重視遊戲產業並以 PC 遊戲為主流。 近年來網路的快速發展,民眾對頻寬的需求日增。且隨著政府在 開放固網事業後,加上寬頻硬體設備的進步、寬頻上網費用的降低, 讓寬頻上網使用愈來愈普遍。另外,網路咖啡店的興起以及線上遊戲 強調「社群」的觀念,在在吸引青年人結伴消費及上網玩遊戲,為台 灣線上遊戲成長急速加溫。 而 Forester Research 的預估資料則指出,今年全球約有 1800 萬使用者加入線上遊戲的行列,因此線上遊戲便成為遊戲軟體業者下 一波競爭的市場所在。. 4. 本節內容整理自http://intra.yuanta.com.tw/PagesA2/hot_issue/9108gam.html及 http://www12.brinkster.com/losi/hot1.htm -4逢甲大學 e-Paper (92學年度).

(18) 簡易3D多人線上遊戲系統. 2.1.4 國內廠商5 遊戲軟體產業的上中下游可概分為三大區塊,即研發、行銷與發 行、及通路三部份。而國內上中下游超過 80 家業者爭奪有限市場, 其中較具規模與知名度的有:研發見長的奧汀、宇峻、聖教士、昱泉、 及大宇;以通路起家的智冠、第三波、華義、及華彩等;以行銷為主的 遊戲橘子、松崗及英特衛等公司,另尚有國外業者如微軟、美商藝電、 及光榮等。 由於台灣市場太小,但市場玩家卻相當多,因此為達經濟規模, 部份規模較大的廠商均進行上下游整合,例如智冠、大宇、第三波、 華義、及華彩陸續跨足研發、行銷、及通路領域,因此產業分工愈來 愈不明確,競爭相當激烈。 即使國內從事遊戲軟體廠商近兩年來投入者眾,但由於軟體研發 至成品上市時間耗日費時,短期間新進入市場者尚難取得一定市場領 導地位,早期進入市場者如智冠、大宇、昱泉、華義、及橘子等均已 取得一定市場地位,此外擁有通路也是產品是否能熱賣之主要關鍵, 在綿密的行銷通路下,無論是自製或代理產品均可在其銷售網下達到 最大行銷效果。 近年來由於線上遊戲持續發燒,使得單機板遊戲軟體逐漸萎縮, 多家原本從事單機軟體廠商均紛紛推出線上遊戲軟體,以符合市場趨 勢,由於韓國政府全力扶植線上遊戲產業,使該國線上遊戲產品無論 在質與量上均具有國際水準,因此國內線上遊戲廠商初期大多以代理 韓國產品為主,其中較熱門產品如天堂,即帶給遊戲橘子相當好的業 績,目前為國內市佔率次高之線上遊戲。但由於代理產品均需給付約 3 成之權利金,故國內廠商也積極研發自製產品。. 5. 本節內容整理自http://www.nettrade.com.tw/stock/a/01-08-03a.htm及 http://intra.yuanta.com.tw/PagesA2/hot_issue/9108gam.html -5逢甲大學 e-Paper (92學年度).

(19) 簡易3D多人線上遊戲系統. 由於線上遊戲可同時容納數千人上網對戰,同時亦可提供聊天室 的新興遊戲模式,於是深深吸引國內玩家的流連及注目,也因此形成 了一股社群的力量。此外,網路頻寬問題陸續改善及上網撥接費用下 降的趨勢,亦有利於線上遊戲玩家人數之成長。在線上遊戲的風行 下,台灣也循著南韓線上遊戲發展的模式,由線上遊戲帶動週邊的網 咖業、ISP 業、網路設備業、及通路商(傳統通路及一般通路)的蓬 勃發展。. 2.2 網路遊戲 經過上一節的探討後,我們可以確定系統的定位是個人電腦上的 遊戲軟體,且要透過網路連線來進行遊戲。因此,在本節中,我們對 網路遊戲的背景及分類作詳細的介紹,以定出系統的網路連線模式。. 2.2.1 背景 在對網路遊戲做進一步的介紹之前,我們必須對幾個相似的名詞 有一基本認識。對於所有藉由電子型態呈現的遊戲,我們都可稱之為 「電子遊戲」 ,其中包括了「電腦遊戲」 、 「電視遊樂器遊戲」 、以及「大 型電玩遊戲」等分類。最早的電子遊戲出現於 1970 年代初期,是由 美國麻省理工學院所開發在早期電腦上執行的遊戲「太空大戰」 (Space War) 。 在 1972 年,一家叫做 Syzygy 的公司首先將電子遊戲製成商品販 售,成為後來遊戲工業的先驅。此後,隨著家庭電視遊樂器的出現, 以及個人電腦的普及,電子遊戲的發展也大致以這兩者為主要平台。 而自從微軟推出了 Windows 作業系統後,其統一的發展介面大大有利 於遊戲發展環境,再加上從 1995 年後開始的網際網路風潮,以及電 腦 3D 圖形加速的技術,電腦遊戲市場正逐漸威脅到電視遊樂器的地 位,其中又以近來盛行的網路遊戲為最。. -6逢甲大學 e-Paper (92學年度).

(20) 簡易3D多人線上遊戲系統. 就前述的電子遊戲發展歷程來看,網路遊戲可說是電腦遊戲的一 6. 類,指的是所有透過網路來進行的電子遊戲 。. 2.2.2 型態分類7 網路遊戲並不是最近幾年的事,早在 WWW 尚未誕生之前,現在網 路遊戲的前身 MUD(Multi User Dungeon)就已經存在於學術網路上 了。廣義來說,目前台灣的網路遊戲可分為以下三類: z 第一種是目前最流行的線上遊戲(online game)─ 此類遊戲通常會有測試版讓玩家試玩,並持續 1~2 個月,在此之 間是不收費的。玩家透過各種管道,如上遊戲網頁下載、免費索取遊 戲光碟等,安裝完成用戶端主程式後便可連上遊戲伺服器與其他玩家 共同進行遊戲。而在正式版推出後,遊戲公司便藉由會員收費制度, 發售點數卡及月費卡,待玩家購買後上網註冊及儲值,才能在上線。 因此,線上遊戲業者主要的收益來自遊戲玩家連線帳號的使用時數 費,和單機版遊戲或區域網路型遊戲主要收益來源為販售遊戲套裝軟 體的經營模式並不相同。例如「天堂」 、 「仙境傳說」 、 「無盡的任務」、 以及「天翼之鏈」等國內目前知名遊戲,都是採取此種方式(圖 2-1)。. 6 7. 本節內容整理自http://eteacher.edu.tw/game_1.htm#3 本節內容整理自http://eteacher.edu.tw/game_1.htm#3 -7逢甲大學 e-Paper (92學年度).

(21) 簡易3D多人線上遊戲系統. 8. 圖 2-1 仙境傳說點數卡及其週邊. 其實線上遊戲可以說是學術網路上相當風行的 MUD 的多媒體 版,又可稱為多人線上角色扮演遊戲(Massive Multiperson Online Role Playing Game,MMORPG),如圖 2-2 為線上遊戲介面。即然名之 為「角色扮演」,每個玩家必須選擇特定的性別、職業、種族、以及 能力,在遊戲過程中玩家必須以完成指定任務或是消滅怪物等方式來 提昇角色的能力。等級提昇所帶來的成就感,加上不同玩家的角色之 間的互動,是此類遊戲最吸引人的地方。. 8. 圖片來源:仙境傳說官方網站http://ro.gameflier.com/main.asp -8逢甲大學 e-Paper (92學年度).

(22) 簡易3D多人線上遊戲系統. 圖 2-2 線上遊戲介面. 9. z 第二種區域網路型遊戲(LAN Game)─ 這類遊戲通常是透過區域網路來進行,除此之外,玩家也可以連 上區域網路之外的伺服器,不過此伺服器擔任的是「中介」的工作, 使用者在找到其他玩家之後,就可以離開伺服器進行連線遊戲。在網 咖中相當流行的多人對戰遊戲,例如「戰慄時空」 (Counter-Strike) (圖 2-3)與「世紀帝國」,就是此類遊戲的代表。以網咖中相當普遍 的連線對戰遊戲「戰慄時空」為例,每個玩家可以選擇要扮演警察或 是恐怖份子,然後分成兩個陣營對戰,場面相當逼真刺激,你可以與 恐怖份子展開一場街巷槍戰,也可以埋伏在金融大樓內等待霹靂小組 上勾,許多青少年還特地為了追求勝利而定期舉行團隊的戰術演練, 俗稱「練功」 。. 9. 圖片來源:黃麒榮老師之投影片『遊戲e觀念─網路遊戲製作與發展』,p11 -9逢甲大學 e-Paper (92學年度).

(23) 簡易3D多人線上遊戲系統. 圖 2-3 CS 戰鬥畫面 z 第三種是提供小品遊戲的遊戲網站(Web Game)─ 例如「宏碁戲谷」,這類網站大多採免收費的方式,只要填寫基 本資料加入會員,就可以享受如象棋、橋牌、及麻將等回合式的線上 遊戲,其中以網路麻將最受歡迎。又如目前及時通訊軟體 MSN,也可 提供點對點式的小型連線遊戲(圖 2-4,圖 2-5)。此類遊戲由於每次 不需要持續投入太多的時間,而仍舊具有真實的互動競賽特性,因此 深受許多上班族的喜愛。. 圖 2-4 MSN 訊息傳遞介面. - 10 逢甲大學 e-Paper (92學年度).

(24) 簡易3D多人線上遊戲系統. 圖 2-5 MSN 連線遊戲介面. 在這三類網路遊戲中,又以前兩類為青少年的最愛。線上遊戲講 求的是角色扮演,玩家必須投入時間提昇人物屬性,因此往往必須與 其他玩家合作,著重的是人際互動與培養角色的過程中所帶來的樂 趣。區域網路型遊戲由於著重戰役式的對戰,不需要長時間的角色屬 性提昇,因此主要提供的是緊湊刺激的聲光享受與宣洩效果。相較於 過去單機版的電腦遊戲或是電視遊樂器,網路遊戲裡的角色是由所有 參與遊戲的「活生生」的玩家所操縱,劇情並非既定的線性發展,也 沒有特定的結局,不管是對話、情節、或劇情在線上玩家錯綜複雜的 網絡互動下,都能夠有千變萬化的展現方式。 除此之外,線上遊戲亦受業者青睞。其除了可抑止盜版問題之 外,更提供過去賣斷整套軟體所缺乏的成熟營運模式,也為網路將改 造軟體「製造業」為「服務業」作了最佳詮釋。台灣線上遊戲業者主 要的營收來自玩家的連線時數費,包括月費制及點數卡制,約佔營收 的八成以上,其餘還有銷售使用者端程式軟體、向網咖業者收取授權 費、週邊產品、及廣告等收入。因此線上遊戲除了可延長遊戲生命, 創造週邊商機外,更可擴展消費層年齡,時數費更是穩定的收入來源。 - 11 逢甲大學 e-Paper (92學年度).

(25) 簡易3D多人線上遊戲系統. 2.3 系統需求 在系統定位明確後,我們要建立系統的需求。在本節中,我們首 先對各類遊戲(以執行平台分類)在市場銷售的情形作了解,再來,便 針對兩款線上遊戲的玩家,他們所提供的意見作分析,最後確定系統 需求。. 2.3.1 市場分析10 如圖 2-6 所示,截至 2002 年 12 月底為止,我國上網人口達 859 萬人,網際網路連網應用普及率為 38%。而在這之中,至少有多達 270 萬的網路玩家。. 圖 2-6 上網人口 (資料來源:經濟部技術處&資策會) 根據台灣網路資訊中心(TWNIC)的調查,截至 2003 年第 2 季止, 上網人口已達 1,175 萬人,普及率 57.23%,其中寬頻使用人數達 937. 10. 本節內容整理自黃麒榮老師之投影片『遊戲e觀念─網路遊戲製作與發展』,p3~15 - 12 逢甲大學 e-Paper (92學年度).

(26) 簡易3D多人線上遊戲系統. 萬人佔 7 成,方式為 ADSL(64.4%)、CableModem(5.48%) ,ADSL 已成為最主要的上網連線方式。 以下便針對各類遊戲市場加以介紹: z 線上多人遊戲:天堂、仙境傳說、無境的任務。 七年前由 UO 開創,直到前年天堂累積會員百萬,再由去年的仙 境傳說拉到最高峰,現在為所有平台獲利最高的遊戲,但由於跟隨廠 商過多造成遊戲數量也過剩,以台灣的 270 萬的使用者前三名約占 7 成。而今年發表的遊戲約有 60 套。 z 多人付費對戰:瘋狂坦克、炸彈超人、泡泡龍。 去年由韓國引進的瘋狂坦克最高曾創下 15 萬會員,而今年初的 炸彈超人也有 7 萬的數字。這類的遊戲通常生命週期都在 3 個月到半 年之間,因為社群性與耐玩性都沒有線上人數多。以致於玩家的忠誠 度無法持之以恆,但是有項優勢,就是不會跟線上遊戲衝突到,這就 是付費對戰遊戲一直都有不錯成績的主因。 z PDA:40 萬 PDA 使用者(25 萬 PPC)。 Plam 與 PockPC 的主要差異是技術資源與容量,PPC 目前佔有率 與開發環境都比 Plam 來的好,是不錯遊戲開發平台,可惜 PDA 拿來 當娛樂消費的習性尚未打開,在台灣雖有過 20 萬的使用者,但遊戲 的銷售量都再 2 千套以下,接連著行銷通路的意願也跟著低落。 z Mobile:2300 萬使用者(超過 3 萬 JAVA 彩色機)。 今年最熱莫過於手機的發展,無論硬體、服務、通訊都有大幅度 的成長,台灣是手機持有率世界第一,超過 2000 萬的使用者是一塊 - 13 逢甲大學 e-Paper (92學年度).

(27) 簡易3D多人線上遊戲系統. 很大的市場,不過目前還停在語音通訊階段,加值服務正起步中。. 2.3.2 一般玩家的需求分析 台灣的線上遊戲目前最受歡迎的莫過於仙境傳說跟天堂了。在此 節中,我們將整理從全國知名遊戲網站-遊戲基地,這兩款線上遊戲 的討論區中,所引用過來的資訊,並予以分析。 z 仙境傳說玩家 如圖 2-7,在這次的投票,我們可以看到其中第 4、3、10 項是 玩家最關心的前三名。由以其中第 4 項『LAG 成為歷史』為最,而此 現象,本組的組員(欣宗)當初也經歷過此種椎心之痛,因此,既然號 稱多人線上遊戲,玩家最基本的要求便是連線品質。其次,便是玩家 資料的絕對正確、安全,過去也有很多這樣的事件在新聞上發生,玩 家常常因為帳號被入侵、盜用,而導致一些虛擬的寶物被盜用等侵害 玩家遊戲財產的事件,這是非常不能被接受的。至於最後一項,外掛 程式,事實上是遊戲本身內容安排不當所產生的副作用,而這些不當 主要包括,等級很難提升、及寶物難以獲得等,而導致玩家使用外掛 程式(利用程式運作來幫他們玩遊戲),這些都會直接反應在討論區中 玩家的抱怨文章上面。 玩家會願意付費及上網玩遊戲,有兩大基本要求,第一是系統品 質,第二便是遊戲內容。系統品質強調的是連上伺服端的速度及遊戲 過程中網路的流暢等;而遊戲的內容便是其趣味性、耐玩度甚至是新 鮮感。而仙境傳說最叫人詬病的是前者,也就是它的硬體。舉例來說, 早期,當系統(伺服端)停機維修過後,玩家要登入簡直比登天還難, 往往要耗上一天來重複著打帳號、密碼的動作。但即便如此,仙境傳 說的會員人數仍屢創新高,甚至後來還拉下盤據遊戲龍頭多年的天 堂,成為第一名,可見其遊戲內容是絕對夠吸引人的。. - 14 逢甲大學 e-Paper (92學年度).

(28) 簡易3D多人線上遊戲系統. 圖 2-7 仙境傳說投票紀錄(資料來源:www.gamebase.com.tw) z 天堂系列玩家 在過去幾年,天堂一直是線上遊戲第一名,故玩家對於遊戲內容 會失去較多的新鮮感,因此,在兩次的投票中我們可以發現,玩家最 在意的便是遊戲改版後的功能及內容。也因此,天堂代理商(遊戲橘 子)也決定要在明年引進全新的天堂 2 代,來取代舊有的遊戲系統。 而在圖 2-8 左邊的投票紀錄中,我們可以發現一個很好笑的選項 『殺光所有白目』,其實,不只是在天堂甚至是其他線上遊戲,都會 出現一種玩家,他們專門作一些惡劣的事,比如搶怪及亂殺人等,而 這些人後來也就被稱為「小白」並成為遊戲中「過街老鼠」的角色。 因此,在遊戲中必須要有管理者(Game Master,GM)來負責維持秩序, 這些 GM 都是遊業者專職聘任的。. - 15 逢甲大學 e-Paper (92學年度).

(29) 簡易3D多人線上遊戲系統. 圖 2-8 天堂系列投票紀錄(資料來源:www.gamebase.com.tw). 2.3.3 建立系統需求 在市場分析一節中,我們發現到,網路普及率在未來幾年絕對有 機會追上手機普及率(據調查,台灣目前的手機普及率已到達人手一 機的情形)。因此,儘管國內現階段已充斥著許多線上遊戲,但多半 來自國內大廠向國外的代理及引進,且在代理權利金高漲的情況下, 國內大廠紛紛成立研發小組,準備由國人自行研發。 而在使用者需求分析一節中,我們更可以確定,線上遊戲受歡迎 的程度是非常驚人的。在系統品質與遊戲內容兼顧的前提下,線上遊 戲發展的潛力將會無與倫比。 因此,綜合第二章中各小節的介紹與探討,我們決定,系統要以 打造一個多人連線的角色扮演遊戲為目標。在我們的遊戲世界中,每 個人擁有自已的遊戲角色,藉由此角色可以與其他玩家產生互動,如 透過聊天系統,與其他玩家聊天甚至相約探險打怪。而在遊戲畫面的 表現上,則以 3D 環境來真實呈現場景、再輔以轉動視角、多角度的 方式操作角色,以求達到無場景死角。而人物的建構則以 2D 的繪圖 方式呈現。在遊戲內容方面,以劇情對話方式加上打怪系統(即時戰 鬥的方式,搭配即時的音效播放),創造出多元的遊戲故事。 - 16 逢甲大學 e-Paper (92學年度).

(30) 簡易3D多人線上遊戲系統. 將上述內容整理條列出來後,需求便確定如下: ¾ 即時動作 RPG 遊戲 ¾ 即時聲光音效 ¾ 2D 人物/3D 環境場景 ¾ 主從式系統可以多人連線 ¾ 聊天系統 ¾ Windows 作業系統平台. - 17 逢甲大學 e-Paper (92學年度).

(31) 簡易3D多人線上遊戲系統. 第三章 系 統 分 析 3.1 系統分析方法論 不論是傳統的結構化系統分析(structured analysis)或是另一 種目前非常盛行的物件導向分析與設計(object-oriented analysis and design),在系統的開發過程中,都必須有一套可以遵循的方法。 而每種方法論又各有許多變形,因此,在系統分析的過程吾人應該充 分的了解各種不同方法的優缺點。 有些公司發展出自己的一套方法,或是修改軟體廠商及顧問所提 供的方法。甚至大部份的資訊科技專家都認為沒有單一方法是所謂最 佳的系統開發方法,也因此,我們在分析系統以便建構出系統初步模 型時所採用的便是結構化分析跟物件導向式方法的結合。 在主從式系統間資料傳遞及處理我們使用 DFD(資料流程圖)來表 現,而物件與物件之間(如玩家與怪物)的互動便以 UML 來表達出彼此 的互動及關聯性。我們參考的資料整理節錄於附錄 A。. 3.2 系統開發模式 硬體技術不斷成長,相對的,與之契合軟體的需求與實用性日益 多元及複雜化,往往不是開過幾次會議便能通盤掌握。而隨著軟體開 發的過程,process model 往往扮演重要的角色。它是軟體系統開發 一連串的步驟及執行程序,當系統照一定程序開發時,它亦成為開發 者重要的依據及規範。 許多專家經過實際經驗與研究分別定義出許多不同的模型,如: 線 性 序 列 模 型 (linear sequential) 、 遞 增 模 型 (incremental model)、及正式方法模型(formal methods model)等各式各樣的模 型。這些模型的理論,我們經整理後將其節錄在附錄 B。此外,在經 - 18 逢甲大學 e-Paper (92學年度).

(32) 簡易3D多人線上遊戲系統. 過一段時間研究及探討後,在下一段的內容中,我們提出在系統開發 過程中該注意的事項。. 3.2.1 3D 線上遊戲系統-開發過程模式分析 跟所有能在電腦系統上執行的軟體程式一樣,遊戲也是軟體的一 種。但比較特別的是,遊戲的需求在一開始企劃專案時往往能很明確 的表述及策劃出來,儘管現在市面上充斥著各式各樣的遊戲,但對遊 戲程式撰寫者而言,較基本的需求及規格是相去不遠的。 儘管如此,遊戲開發廠商並不會因此公開他們的技術文件,這些 都是他們的財產或者說是商業機密。因此,我們僅能在有限的參考資 料及親身的經驗(玩遊戲)來將遊戲相關的需求及技術一層一層地抽 絲剝繭開來。 基於這樣的原由,再加上上節對各模型定義的些許認知之後,我 們主要以螺旋模型的理論再輔以原型。一開始我們採取原型模式,希 望能在<第二章 需求分析>一章所述的工作一一完成後能盡快將軟體 的原型定義出來,接下來便遵照著螺旋模型的技巧,以期在各個週期 循序建構出越來越完整的系統。但這樣的方法卻會有某些嚴重的問 題: ¾ 定義出軟體原型會相當耗時耗力,但卻是必須。 ¾ 每一週期所需評估的風險相對增多,而這些風險隨著系統的 不斷擴大往往會是由容易忽視的小細節所引起。 ¾ 功能開發者兼使用者的我們可能會因技術上的不足而放棄了 當初所定義的需求,也就是對需求作出讓步。 當然,問題或許不只這些,但上述確實是我們在開發的過程更須 密切及謹慎注意的。. - 19 逢甲大學 e-Paper (92學年度).

(33) 簡易3D多人線上遊戲系統. 3.3 系統開發工具的探討 開發一套遊戲,並不需要特定的工具,只要有創意,記事本也一 樣可以設計出以簡易的文字遊戲,但其能表現出來的形式有限。所以 在選擇開發工具之前,須對本身產品的走向,要有明確的定位。在 3.3.1 節中,我們會介紹目前開發工具的類型,3.3.2 節,便針對系 統需求,明確定義出,在開發過程中我們所使用的工具。. 3.3.1 開發工具概觀 目前語言大至上分為三類: ¾ 第一類─描述性語言,如 Flash、JavaScript、或 VBScript。 這一類最大的優點是容易撰寫,但效率慢。 ¾ 第二類─半編譯、半直譯,如 Java 或 VB6。而 Java 最大的 好處是,能達到跨平台的特性,但需透過虛擬機器架構在不 同的硬體平台上,會影響到效能。 ¾ 第三類─純編譯,如 C/C++或 Delphi。能與硬體直接做溝通, 有效發揮效能,但是對硬體有依賴性。. - 20 逢甲大學 e-Paper (92學年度).

(34) 簡易3D多人線上遊戲系統. 一、Flash Flash 是 Macromedia 公司所推出的軟體,專門用來設計互動式 的多媒體動畫,用向量繪圖和流式播放技術,產生的 swf 檔,所佔空 間很少,有助於在網際網路之間流傳。而 Flash 本身有 ActionScript 的語法,可以輕鬆地寫出互動式動畫,再加上創意,就是遊戲(圖 3-1)。. 11. 圖 3-1 Flash遊戲Rural Racer. 11. 圖片來源:http://www.miniclip.com/Homepage.htm - 21 逢甲大學 e-Paper (92學年度).

(35) 簡易3D多人線上遊戲系統. 二、Java 這是一種由美國昇陽電腦公司所研發出來的語言,可透過 JVM(虛 擬機器)達到跨平台的特性,而且 Java 具有純物件導向的性質,使得 程式維護較為容易。另一方面 Java 主要是經由網際網路發展,所以 在安全性上的設計,有多方面的考量,原則上 Java 程式是無法破壞 系統。而 Java 在記憶體管理方面,也有強大的能力,可經由 JVM 幫 助,可將不需要的記憶體空間自動釋放,即所謂的資源回收處理。 因為 Java 主要有著跨平台的特色,所以能在不同的硬體設備上 開發遊戲。現在各大手機公司紛紛推出 Java 遊戲,如圖 3-2 便是由 台灣大哥大所提供的 Java 遊戲。. 圖 3-2 Java手機遊戲. 12. 另一個特色,在個人電腦的環境上,透過網頁開啟 Java 遊戲, 不需要另外安裝,就可以盡情玩樂。Java 遊戲也可以做到多人連線, 享受多人同樂,如 iGame 遊戲網間,就提供多種遊戲,包括單人或是 多人。如圖 3-3,便是他們大老二遊戲的大廳,玩家可以透過此處, 跟其他玩家接觸,每一桌湊足四個人就可以進入遊戲如圖 3-4。. 12. 圖片來源:http://www.gamecool.com.tw/softstar/tccjava/index.htm - 22 逢甲大學 e-Paper (92學年度).

(36) 簡易3D多人線上遊戲系統. 圖 3-3 遊戲大廳. 圖 3-4 遊戲畫面. 13. 13. 14. 圖片來源:http://www.igame.com.tw/. 14. 圖片來源:http://www.igame.com.tw/ - 23 逢甲大學 e-Paper (92學年度).

(37) 簡易3D多人線上遊戲系統. 三、Visual C++ 這是由微軟公司研發出來的開發工具,保有 c 語言精簡的語法及 高效能的執行能力,並加入物件導向的設計理念,提供了更有彈性, 管理性的設計環境。加上 c/c++早已盛行多年,擁有無數強大的函式 庫,如 STL、DirectX、及 OpenGL 提供給程式員使用。而且現在的個 人電腦還是以微軟的 Windows 作業系統佔有率較高,因為以上種種原 因,各大遊戲公司多半以 VC++開發大型遊戲軟體,VC++更是被評為 遊戲開發中最佳的開發工具。而 VC++所開發出來的遊戲也非常多樣 化。. - 24 逢甲大學 e-Paper (92學年度).

(38) 簡易3D多人線上遊戲系統. 3.3.2 系統開發工具 在 2.3.3 節中曾明確定義出以下的系統需求: ¾ 即時動作 RPG 遊戲 ¾ 即時聲光音效 ¾ 2D 人物/3D 環境場景 ¾ 主從式系統可以多人連線 ¾ 聊天系統 ¾ Windows 作業系統平台 以下就針對這些需求分析,決定在開發的過程中,我們使用到的工具。 所謂即時性(作業),就是要能立即對使用者所下達的命令做出反 應,所以首先要以效能來做優先考量。再來就是遊戲所牽扯到的硬體 控制介面,如鍵盤跟滑鼠的輸入。而在影像及音效的輸出方面,對於 硬體的介面,更要有完整的支援,因此,在影像方面需要 3D 繪圖 API, 目前兩大主流為 OpenGL 及 Direct3D。另一方面,就是要能寫出網路 程式,以建立主對從的傳送方式。最後,在聊天系統方面,在於字串 輸入的處理上,要能做到中及英文輸入。 一、效能方面 在一開始就已經對程式語言做簡單地介紹,因為不需做到跨平 台,就沒必要犧牲效能,所以純編譯式的程式語言(C/C++及 Delphi 等)為最佳選擇。以 C/C++和 Delphi 兩種程式語言來做考量,C/C++ 與 Delphi 的語言發展至今,在彼此之間效能上的差異,已相差不多 了,所以兩者在書架上或是網路上都有不少遊戲程式寫作技術相關的 資料。就單以效能,來說這兩套語言都是不錯的選擇。. - 25 逢甲大學 e-Paper (92學年度).

(39) 簡易3D多人線上遊戲系統. 二、硬體介面控制方面 因為是要在 Windows 作業系統上開發,加上 Windows 本身就提供 Windows API 應用程式介面,以事件觸發、訊息傳送的方式,來傳達 週邊設備的狀態,這樣的方式對一般的應用軟體來說是足夠的;但以 遊戲來說,其需要做出即時的回應,還稍嫌不足。因為周邊設備所觸 發的訊息會進入訊息佇列中等待處理,當系統忙於其他行程的時候, 將會造成訊息的延遲。 所幸在這一方面,微軟有發展出 DirectX,其元件包含 Direct Graphics、Direct Audio、DirectPlay、DirectInput、DirectShow、 及 DirectSetup 等許多的軟體介面可直接與硬體層溝通,而這些幾乎 都具備開發遊戲所需要的元件。且 DirectX 內部結構是由硬體抽象層 (HAL),和硬體模擬層(HEL)組成,這對程式設計師做硬體控制的時 候,硬體抽像層會自動針對不同的硬體將功能實做出來。就算硬體有 不支援的功能,也可以透過硬體模擬層,模擬出類似的功能。這對於 開發遊戲者來說,可以大大減少研發時間,並能更專注於遊戲內容的 程式設計。並且,DirectX 所實作出來的效能,更受到大家的肯定。 大部分 Windows 上的遊戲都有使用到 DirectX,所以 DirectX 成 為這次遊戲開發的主要工具之一。 三、3D 繪畫技術方面 目前的遊戲種類大部分都標榜著 3D 遊戲的口號進軍市場,以吸 引更多玩家的青睞。這似乎說明著 3D 畫面的遊戲,快成為現今遊戲 的基本條件。或許有些人不這麼認同,他們認為 2D 畫面一樣可以表 現出豐富好玩的遊戲。這一點我們也是不否認,只是觀察現在的市場 反應,受歡迎的遊戲當中,多數為 3D 遊戲。這都是因為現在 3D 繪畫 技術不斷地推陳出新,表現出令人讚嘆效果所帶來的效益。. - 26 逢甲大學 e-Paper (92學年度).

(40) 簡易3D多人線上遊戲系統. 目前,兩大主流技術,分為 OpenGL 和 Direct3D。前者為 OpenGL Architecture Review Board (簡稱 ARB)委員會共同定制標準;後者 由 Microsoft(原本是 ARB 委員其中一員)跳出來自行開發。兩者實作 出來的效果也都有高水準的表現,個別擁有支持者。像是 ID software 生產的知名遊戲 Quake3,就是以 OpenGL 技術所開發出來的;而 Epic MegaGames 出產的 Unreal Tournament 則是以 Direct3D 技術開發, 當然也有同時支援 OpenGL 跟 Direct3D 的遊戲。因此,以一個遊戲程 式設計師來說,最好是學會這兩種技術。 在抱著想學會這兩種技術的前提之下,首先選擇了 OpenGL 為入 門語言,主要的原因是因為 OpenGL 採用 C 語言風格來當介面程式, 以 呼 叫 函 式 的 方 式 就 能 輕 易 撰 寫 。 再 加 上 Direct3D 是 構 築 於 COM(Common Object Model)上的套件,對於還沒接觸過 COM 的人來 說,這將是一個學習阻礙。而且 OpenGL 為公開原始碼,這對想了解 實做原理的人,有很大的幫助。 最後原因則是,OpenGL 是由 ARB 共同定下的標準,也就是可以 跨平台,以後可以在其他的作業系統下開發 3D 遊戲。 四、網路方面 Windows 自己有提供一套網路程式的應用程式介面 winsock,但 和 DirectPlay 比較之下,DirectPlay 提供更方便的介面,不用再撰 寫較低層 sock 服務的程式,DirectPlay 已經寫到內部,所以可以更 專注於撰寫伺服端與用戶端之間遊戲資料傳送的設計。 五、總結 根據上述一至四項的分析,可以整理出這次的開發工具,是以 OpenGL 為 3D 繪圖介面。鍵盤、滑鼠、音效、和網路則分別使用 DirectX 的套件 DirectInput、DirectAudio 和 DirectPlay。其中,OpenGL 與 - 27 逢甲大學 e-Paper (92學年度).

(41) 簡易3D多人線上遊戲系統. DirectX 的相關技術介紹,我們整理節錄於附錄 C。 在開發語言的選擇上,基於 OpenGL 和 DirectX 都是以 C/C++語 言為介面程式,而且 C/C++語言撰寫上,自由度大,效能高,又為我 們擅常的語言,所以就以 C/C++為開發語言,另外,我們是以 Visual C++.Net 作為軟體開發平台。 最後,由於系統是以視窗的方式呈現,因此,我們必須對 Windows 視窗程式設計有些許的了解,在下一小節,我們便會說明一些 Windows 視窗程式設計的基本概念。. - 28 逢甲大學 e-Paper (92學年度).

(42) 簡易3D多人線上遊戲系統. 3.3.3 Windows視窗程式15 要在 Windows 上開發視窗程式,必須要先對 Windows 程式的事件 驅動特性,包括訊息的產生、獲得、分派、判斷、及處理等,有一定 的了解,才能對於整個視窗程式的架構有明確的認知。 視窗程式設計跟 DOS 模式下的程式設計,有幾點不一樣的地方: z 視窗程式的進入點為 WinMain,一般 C 程式的進入點為 Main。 z 視窗程式是架構在事件驅動的方式之下,等到有事件發生時,系 統會將事件放入所謂的訊息佇列,並通知它去處理。而 DOS 模式 下則是靠中斷系統,提供一些中斷服務。 z 視窗程式,就如其名,是以視窗來表現出程式行為,所以必須跟 系統呼叫一個視窗資源,經由 WndProc()(視窗函式),提供給系 統 callback,DOS 下本身就提供一個顯示平台,不需要再另外提 供,所以程式行為上比較直觀,所寫的程式行為都會一一呈現, 不會有系統內部的行為。 以下便針對 Windows 視窗程式,做簡單的介紹: 一、以訊息為基礎,以事件驅動之。 Windows 程式的進行依靠外部發生的事件來驅動。換句話說,程 式持續等待(利用一個 while 迴路),等待任何可能的輸入,然後做判 斷,再做適當的處理。上述的「輸入」是由作業系統捕捉到之後,以 訊息形式(一種資料結構)進入程式之中。 作業系統如何捕捉週邊設備(如鍵盤和滑鼠)所發生的事件呢? 15. 本節內容整理自侯俊傑之書"深入淺出MFC程式設計"p7-8 及p25-26 - 29 逢甲大學 e-Paper (92學年度).

(43) 簡易3D多人線上遊戲系統. 是藉由 USER 模組掌管各個週邊的驅動程式,它們各有偵測迴路。如 果把應用程式獲得的各種「輸入」分類,可以分為由硬體裝置所產生 的訊息(如滑鼠移動或鍵盤被按下),放在系統佇列(system queue) 中。以及由 Windows 系統或其它 Windows 程式傳送過來的訊息,放在 程式佇列(application queue)中。 若以應用程式的眼光來看,訊息就是訊息,來自哪裡或放在哪裡 其實並沒有太大區別,反正程式呼叫 GetMessage API 就取得一個訊 息,程式的生命靠它來推動。所有的 GUI 系統,包括 UNIX 的 X Windows 以及 OS/2 的 Presentation Manager,就像這樣,是以訊息為基礎的 事件驅動系統。每一個 Windows 程式都應該有一個迴路如下: MSG msg; While(GetMessage(&msg,NULL,NULL,NULL)){ TranslateMessage(&msg); DispatchMessage(&msg); }//以上出現的都是 Windows API 函式 訊息,也就是上面出現的 MSG 結構,其實是 Windows 內定的一種 資料格式: /*Queued message structure*/ typedef struct tagMSG { HWND. hwnd;. UINT. message <- -WM_xxxx. WPARAM wParam; (例如 WM_MOUSEMOVE,WM_SIZE, WM_LBUTTONDOWN…) LPARAM. lParam;. DWORD. time;. POINT. pt; - 30 逢甲大學 e-Paper (92學年度).

(44) 簡易3D多人線上遊戲系統. }MSG; 接受並處理訊息的主角就是視窗,每一個視窗都應該有一個函式 負責處理訊息,程式員必須負責設計這個所謂的「視窗函式」(window procedure,或稱為 window function)。如果視窗獲得一個訊息,這 個視窗函式必須判斷訊息的類別,決定處理的方式。 以上就是 Windows 程式設計最重要的觀念。至於視窗的產生與顯 示、十分簡單,有專門的 API 函式負責。稍後我們就會看到 Windows 程式如何把這個訊息的取得、分派、處理動作表現出來。而從圖 3-5 可得知 Win32 應用程式的本體與作業系統之間的關系。. 圖 3-5 Windows 程式的本體與作業系統之間的關係 二、Windows 程式的生與死 對 Windows 訊息種類以及發生時機的透徹了解,正是程式設計的 關鍵,現在,我以視窗的誕生和死亡來說明訊息的發生與傳遞,以及. - 31 逢甲大學 e-Paper (92學年度).

(45) 簡易3D多人線上遊戲系統. 應用程式的興起與結束。如圖 3-6、圖 3-7 所示。. 圖 3-6 視窗的生命週期 (細詳說明請看圖 3-7). 圖 3-7 視窗的生命週期 (細詳說明請看圖 3-6) - 32 逢甲大學 e-Paper (92學年度).

(46) 簡易3D多人線上遊戲系統. 3.4 軟硬體支援 3.4.1 軟硬體需求 本系統的操作環境要求如表 3-1 所示。 表 3-1 軟硬體需求對照表 執行環境. 基本配備. 建議配備. 作業系統. Windows2000/XP(繁體中文版). CPU. P III 500. 記憶體容. 128MB. P III 733. 量 硬碟空間. 50MB. 顯示卡. 支援 Direct X8.0 以上、OpenGL 之 16MB 顯. 32MB 以上. 示卡 音效卡. 支援 Direct Sound 的音效卡. 操作設備. 滑鼠(必備)、鍵盤. 3.4.2 測試所需硬體 在開發的過程,我們需要建立一個網路連線平台,來實際測試本 系統階段性任務的完成與否。且本系統的目的之一是以提供一個平 台,讓多人能藉由網路同時上線並進行角色扮演之遊戲為主,故分散 式處理的結果必須正確且有效。藉由下圖的架構,我們得以測試連線 處理的結果是否(如預期)正確。. - 33 逢甲大學 e-Paper (92學年度).

(47) 簡易3D多人線上遊戲系統. 圖 3-8 左端之伺服器(Server),是整個 3D 遊戲最核心的元件。 透過網路,它會依照設定檔來建構出遊戲世界中所有的物件跟設定 值,再來就等待用戶端(Client)連線進來。當用戶端的玩家連線登入 成功之後,伺服將會依照帳號來傳送玩家的角色資料,用戶端接收後 再依照資料建構出玩家所在的遊戲世界,包括附近的其他玩家角色、 怪物、NPC(電腦控制角色)等都會一併傳送給用戶。之後用戶端便一 直等待直到玩家有新的動作出現,再依玩家所下的訊息處理完後,便 將訊息傳給伺服端處理,而處理過後的結果再回傳給玩家(用戶端), 完成彼此之間的互動。同樣的,這些互動會一一傳送給其他玩家知 道,以建構出一個虛擬的世界。. 圖 3-8 主從式系統硬體架構. - 34 逢甲大學 e-Paper (92學年度).

(48) 簡易3D多人線上遊戲系統. 第四章 系 統 設 計 與 規 劃 在系統開發的過程,系統設計與規劃的好壞,會影響到往後系統 整體效能的表現。本章利用 DFD 圖的特性,說明一個系統內部在處理 工作時,是如何將輸入的資料轉換成有用的資訊,且在這設計過程中 明白地指出系統做了那些事,而不去考慮如何做的邏輯問題,這樣較 能尋找出系統的最佳化。. 4.1 系統架構 我們的遊戲系統基本上分為兩大子系統,一為用戶端系統,另一 個為伺服端系統,這兩大子系統以主從式的網路系統為基礎互相溝 通。伺服端集中管理所有用戶端的行為,每個用戶端間,透過網路, 必須經由伺服端系統的同意才能進行互相溝通。 這種方式可以確保資料的安全性以及遊戲的公平性,使得玩家不 能透過修改器改變本機上的資料數值,即便改了,伺服端在下次更新 資料的時後,還是以其原本的資料做為更新。但現在越來越多的電腦 駭客,以各種方式進行修改,如以解讀封包格式,再自已撰改封包內 容送到伺服端,達到做弊的目的,而封包的加密及解密又是一門堅深 的學問,此系統中暫時不對封包加密及解密有進一步的設計。如圖 4-1 所示為此系統的網路架構圖。 本遊戲系統中的用戶端系統偏重於如何將伺服端所傳送的資 訊,以圖形化的方式清楚地表達出來,並提供方便的介面給使用者傳 達命令給伺服端,而伺服器則偏重於處理用戶端所傳過來的指令運 算,如圖 4-2 將說明更詳細的系統架構圖。如以資料流程圖(DFD,Data Flow Diagram) 來表明這個系統的資料流向,首先第一步是畫出這個 系統的全景圖,來表示系統的界限,如圖 4-3 所示,這個系統的外部 實體有四個:玩家、管理者、顯示器、和喇叭。玩家輸入指令,而管 理者則將設定給遊戲系統,遊戲系統將會把結果呈現到顯示器和喇叭 - 35 逢甲大學 e-Paper (92學年度).

(49) 簡易3D多人線上遊戲系統. 上。除此之外,圖 4-4 將全景圖中圖 0 展開為更多的細節,說明遊戲 系統內是由兩大系統,用戶端和伺服端組成,彼此互相傳送訊息。. 伺服端 用戶端. 用戶端. 用戶端. 用戶端 用戶端. 圖 4-1 主從式系統網路架構圖. 圖 4-2 系統架構圖. - 36 逢甲大學 e-Paper (92學年度).

(50) 簡易3D多人線上遊戲系統. 圖 4-3 遊戲系統的 DFD 全景圖. - 37 逢甲大學 e-Paper (92學年度).

(51) 簡易3D多人線上遊戲系統. 圖 4-4 遊戲系統的 DFD 圖 0. - 38 逢甲大學 e-Paper (92學年度).

(52) 簡易3D多人線上遊戲系統. 4.2 子系統架構─用戶端 用戶端系統,主要是一個介面程式,把伺服端傳回來的資料以 3D 繪圖方式呈現出來,使用者再經由視窗畫面下達命令給伺服端。 所以用戶端系統主要的系統技術在於將資料圖形化和配上音效,如伺 服端傳回戰鬥的訊息回來,用戶端必須依照動作編號將連序戰鬥動作 的圖片逐一顯示出來,和發出戰鬥的聲音,讓玩家了解到已經發動攻 擊,再加以做出反應傳給伺服端。所以用戶端的聲光畫面的表現會直 接影響到玩家對這個遊戲的評價。 圖 4-5 為用戶端的細部架構圖,在這個系統中最重要的就是 OpenGL 技術的部分,當用戶端接收到封包的時後,透過網路連線系 統會把每一個封包內容解讀成不同的命令指示,之後再傳達到對應的 系統中,如戰鬥系統、物件管理系統、交易系統、和 2D 人物移動系 統中。而在這各個系統中會把封包內所傳達的資訊,更新到物件資料 上。而這些有關物件資料的數值,會傳給 GUI 介面系統,其主要是將 更新後的數值能表現給玩家知道最近的情形,如角色的血量是否達個 下限,是,就該做出逃跑或補血等應變行為;在另一個地圖創造系統 中,它會從物件資料中取得玩家角色的位置,載入那個位置的周遭環 璄的資料。之後 OpenGL 圖展示系統就會從物件資料及 GUI 介面內的 視窗資料和地圖資料取得畫面上各個部分的資料數值,處理之後轉換 成影像交給螢幕顯示出。然而玩家就能從螢幕上了解到目前的狀況, 透過滑鼠和鍵盤輸入指令,經由 GUI 介面系統,解析之後,判斷出各 個指令的意義,將其包裝成封包傳送到伺服端。如圖 4-6 為此系統內 部工作系統詳細的資料流動情形。以下各小節將會再針點各個工作系 統做介紹。. - 39 逢甲大學 e-Paper (92學年度).

(53) 簡易3D多人線上遊戲系統. 圖 4-5 用戶端系統架構圖. - 40 逢甲大學 e-Paper (92學年度).

(54) 簡易3D多人線上遊戲系統. 圖 4-6 遊戲系統的 DFD 圖 1-用戶端系統. - 41 逢甲大學 e-Paper (92學年度).

(55) 簡易3D多人線上遊戲系統. 4.2.1 GUI 介面系統 使用者圖形介面系統,是使用者第一個接觸到的系統。其架構圖 如圖 4-7 所示,此系統提供一個方便操作的圖形視窗介面,藉由此介 面,可幫助使用者閱讀,玩家能以滑鼠鍵盤輸入指令進行點選及拖曳 等動作,來操作及控制遊戲系統,並做出資料輸入(如,登入資料或 對話內容),視窗系統就會將這些動作,加入封包中交給網路連線系 統傳送,詳細情形如圖 4-8 所示。做得好的話,能讓第一次使用的使 用者,在圖形的表達下,直觀的了解此圖形所代表的使用方法跟意 義,當然,這也是我們最大的目標。. 圖 4-7 GUI 介面系統架構圖. - 42 逢甲大學 e-Paper (92學年度).

(56) 簡易3D多人線上遊戲系統. 圖 4-8 用戶端系統中的"GUI 介面"的細節. - 43 逢甲大學 e-Paper (92學年度).

(57) 簡易3D多人線上遊戲系統. 4.2.2 網路連線系統 網路連線系統是搭起用戶端跟伺服端之間的橋樑,其架構圖如上 圖 4-9 所示。傳送端將指令訊息封裝成封包資料形態,透過網路線傳 送到接收端;接收端則將收到的封包進行分析,並把封包上各式各樣 的資訊分配給各別對應的系統處理。圖 4-10 為本系統內部更詳細的 資料流情形。. 圖 4-9 網路連線系統架構圖. - 44 逢甲大學 e-Paper (92學年度).

(58) 簡易3D多人線上遊戲系統. 圖 4-10 用戶端系統中的"網路連線系統"的細節. - 45 逢甲大學 e-Paper (92學年度).

(59) 簡易3D多人線上遊戲系統. 4.2.3 OpenGL 點選系統 圖 4-11 為 OpenGL 點選系統的架構圖,點選系統必須對玩家點選 之對象,包括地表座標,作出判斷。點選時會依照點選的對象不同而 做出不同的處理動作,如:點選怪物由 2D 物件點選模式來判斷出, 那一隻怪物被點選,並對它進行攻擊、點選 NPC 則同樣透過 2D 物件 點選模式,來進行對話或進行買賣;點選地表則是透過另一個 3D 地 圖點選模式,判斷出所點選的座標,進行移動的動作。而這其中的差 異必須由動作分析來解讀後並發出動作訊息。圖 4-12 為本系統內部 更詳細的資料流情形。. 圖 4-11 OpenGL 點選系統架構圖. - 46 逢甲大學 e-Paper (92學年度).

(60) 簡易3D多人線上遊戲系統. 圖 4-12 用戶端系統中的"點選系統"的細節. - 47 逢甲大學 e-Paper (92學年度).

(61) 簡易3D多人線上遊戲系統. 4.2.4 OpenGL 圖展示系統 簡單來說,此系統會依照我們所設定的顯示圖資料,透過 OpenGL 介面函式,把畫面顯示到螢幕上。整個系統,包括 2D 人物貼圖動畫、 3D 地形建模和視窗圖形介面繪製。圖 4-13 為此系統的架構圖。. 圖 4-13 OpenGL 圖展示系統架構圖. - 48 逢甲大學 e-Paper (92學年度).

(62) 簡易3D多人線上遊戲系統. 圖 4-14 為 OpenGL 圖展示系統的細節,主要有三大子系統 2D 物 件貼圖、2D 視窗繪製、和 3D 地圖創造建模。2D 貼圖如何產生動畫? 先將連續動作的圖一張一張繪製好,一起放進記憶體,再依照預先定 義好的順序顯示出,利用眼睛的視覺暫留,讓觀看者有物體會動的錯 覺。上述提到記憶體空間,有可能是顯示卡記憶體或系統記憶體, OpenGL 會偵測顯示卡記憶體大小後,再放進適當的圖量,不夠的先 用系統記憶體暫存。因此,顯示卡記憶體大小會明顯的影響遊戲畫面 的流暢。 視窗圖形繪製,這是屬於另一個 2D 繪畫模式,把視窗圖形畫在 最上層。統稱遊戲視窗系統,有別於 Windows 提供的視窗介面,這是 由程式設計者自行設計,可依照需求擴充設計,本系統提供的視窗介 面有對話視窗、玩家狀態視窗、登入視窗、裝備視窗、和交易視窗等。 3D 地形建模會依我們指定的座標填入一連串三角形(OpenGL 的 3D 元件以三角形組成) ,連續的三角形蜿蜒高低表現出地形變化,而 地表的處理會讓影像看起來更真實;地表通常要經過 2 層處理:第一 層先將地圖基本顏色攤開貼上,第二層將紋路放上。. - 49 逢甲大學 e-Paper (92學年度).

(63) 簡易3D多人線上遊戲系統. 圖 4-14 用戶端系統中的"OpenGL 圖展示系統"的細節. - 50 逢甲大學 e-Paper (92學年度).

(64) 簡易3D多人線上遊戲系統. 4.2.5 地圖創造系統 地圖創造系統中只有三個子系統,如圖 4-15 所示,依照地圖設 計者所製作的設定檔,本系統會載入所需的 3D 物件以及地形高低座 標值。系統所載入的 3D 物件檔案格式是『.3DS』 ,市面上,有很多套 的 3D 繪圖軟體都能支援這樣的模型格式,如 3ds Max、Maya、和 SketchUp 等。所以在設計 3D 物件上可以使用現成的軟體。 而在地形產生器方面,地形的產生是依照 raw 圖檔所設定的地形 產生。raw 圖檔的特性就是,圖檔沒有外加圖檔格式的檔頭,以數值 由小到大表示黑到白,地形的高低就能依顏色的深淺變化設定,而在 這方面的細節將在第五章介紹。當地形跟 3D 物件的資料都讀入之 後,就會依照玩家的座標位置,畫出可視範圍內的地形和地表上的 3D 物件,此系統的資料流情形如圖 4-16 所示。這樣可提高繪圖效能, 而且可創造出較大的地圖場景,給玩家有更寬廣的感覺。. 圖 4-15 地圖創造系統架構圖. - 51 逢甲大學 e-Paper (92學年度).

(65) 簡易3D多人線上遊戲系統. 圖 4-16 用戶端系統中的"地圖創造系統"的細節. - 52 逢甲大學 e-Paper (92學年度).

(66) 簡易3D多人線上遊戲系統. 4.2.6 2D 人物移動系統 2D 人物移動系統其架構圖如圖 4-17,這是對包括所有玩家、怪 物、和 NPC 的移動,作處理。人物的移動會依照事先設定的移動速度, 再乘上時間間距,就是移動的距離。以這種方式運作,有一個優點, 就是當程式並不是以等速的方式進行時,難免會吃資源,而造成每秒 的繪圖張數跳動很大,可能從一秒六七十張跳到三四十張,將近是減 少一半的張數,這時,也不會影響到移動的速度。 以計算最短路徑來說,一方面,可以方便玩家控制角色移動到指 定位置而不需要一步一步移動;而另一方面,伺服端傳送移動訊息給 用戶端時,可以只傳送目地作標點,然後用戶端再依照相同的最短路 徑公式去算出移動過程的座標點,這樣用戶端所看到的移動的軌跡是 一樣的,這樣可大幅度減少傳送封包的數量,只要傳目地點的座標封 包就好,不用把每一個經過的點都一併傳送,而且也會因為行徑的過 程是由用戶端的最短路徑公式算出來的,反而移動起來會比每一步都 要由伺服端來傳送的順暢,其細節如圖 4-18 所示。. 圖 4-17 2D 人物移動系統架構圖. - 53 逢甲大學 e-Paper (92學年度).

(67) 簡易3D多人線上遊戲系統. 圖 4-18 用戶端系統中的"2D 人物移動系統"的細節. - 54 逢甲大學 e-Paper (92學年度).

參考文獻

相關文件

進行 18 以內的加法和減法口算 學生須透過口算解主要以圖像闡述的應用 題,並以橫式作記錄。.. 加法和減法的直式在學習單位 1N4

D5.1 應用1個具體圖像代表 1個單位,製作象形圖 D5.2

如圖,空間中所有平行的直線,投影在 image 上面,必會相交於一點(圖中的 v 點),此點即為 Vanishing Point。由同一個平面上的兩組平行線會得到兩個

如圖,已知平面上不共線 A、B、D 三點,小明利用尺規作 圖找出另一點 C,使得四邊形 ABCD

如圖,已知平面上不共線 A、B、D 三點,小明利用尺規作 圖找出另一點 C,使得四邊形 ABCD

圖 4.7 是場景一的俯視圖,可以由圖中得知牆壁出現在自走車的左側,而 自走車根據所在位置定義直走是 Y 軸方向,而右轉是 X 軸方向。初始位置自走車

Mutual information is a good method widely used in image registration, so that we use the mutual information to register images.. Single-threaded program would cost

It allows a much wider range of algorithms to be applied to the input data and can avoid problems such as the build-up of noise and signal distortion during processing.. Since