遊戲結構
首頁 ] 向上 ] 前言 ] 功能 ] [ 遊戲結構 ] 遊戲畫面 ] 遊戲音樂 ] 結論 ] 研究建議 ] 安裝說明 ]

.   遊戲結構說明:

整個設計過程在 Microsoft Windows 9x 作業平台下完成, 其中主要的設計與創作部分包括 影像 聲音 程式三大部分。

A. 影像

小畫家為主要繪圖工具, 用以繪製顏色數少與線條明顯之圖素, 例如人物的走動與室內擺設的物品。

 

Fig 4A.1 室內圖素  by 林書賢

 

在室外的場景除以小畫家繪製外, 另使用其他繪圖功能較小畫家強之繪圖工具, Corel CorelDRAWUlead PhotoImpact …等相關軟體, 利用其中的倒影、漸層、擴散,重疊等繪圖功能, 室外背景得以完成。

 

Fig 4A.2 部分室外圖素  by Boki

 

在這部分為加快資料解碼的速度,除人物與水流屬於可動元素外, 生長在草原上的樹木, 架設在河流上的橋墩, 以及其他所有以草原或河流為基底而生成的物件,皆屬於單一元素, 單一元素利於程式撰寫的理由是把A樹木加草原整理成有塊草原上長有樹木A的一個單一元素, 於是程式處理畫面時省去兩層解碼的動作

 

組員完成專題裡所有的人物肖像與動作, 在小畫家中把圖片比例放大至600% 並設定顯示格線, 讓工作得以更準確的進行, 除自行創造設計的人物外, 模仿當下流行的電腦遊戲-勇者鬥惡龍裡的人物樣式, 彷造而設計出適合此專題的人物比例與顏色限制, 不過仍然是透過小畫家親手一個點一個點, 加上組員的用心與恆心才得以完成。

 

Fig 4A.3 由小畫家繪製之人物造型 by 林書賢


 

B. 聲音

遊戲中可聽到的聲音分成音樂與音效兩種。 音樂以MIDI檔案型式撥放, 主要用在搭配劇情與場景所需之背景音樂。 較高級的MIDI解碼晶片或音源器可以獲的較逼真的樂器聲音¸ 使用新加坡創巨公司出品的 Creative AWE64 wavetable 即可獲得良好效果。 聲音錄製採16位元 44.100kHz 雙聲道PCM 壓縮格式, wav為副檔名儲存, 使用的軟體為 Creative WaveStudio 主要用在反應主角週遭環境與動作之聲音, 如行走至河岸時所聽到之流水聲, 碰撞牆壁或樹木等物品之撞擊聲, 未來的發展方向為劇情對白錄音與加上更多真實的背景音效。

 

Fig 4B.1無力道偵測式迷你MIDI Keyboard

 

    錄製MIDI音樂時採用無力道偵測式迷你MIDI Keyboard 除了使用恩雅MIDI創作軟體創作外, 邀請音樂系同學以MIDI Keyboard 為介面彈奏多首樂曲, 收錄為後續發展之使用, 最後以當下流行之電腦遊戲-太空戰之主題曲為Sample供使用者測試。


 

C. 程式

程式以 Microsoft Visual Basic 6.0 Professional (以下簡稱VB) 為主要開發工具, 主要分成畫面處理單元、聲音撥放單元、操作介面單元以及資料庫四大部分:

 

(1) 畫面處理單元

由於遊戲中需快速地處理大量影像資料,  VB所提供之畫面處理物件無法提供高速的繪處理,加上Windows 作業系統由程式端發出之畫面處理指令須經過核心審核與整理才反應至螢幕畫面, 整體而言單純使用VB物件撰寫畫面處理將獲得不佳的效果,

為加速畫面的處理, 程式中無使用VB所提供之繪圖物件,處理方式採以API 控制為主,主要參考 Dan Appleman. “Visual Basic Programmer’s Guide To The WIN32 API所提供之處理方式。 使程式碼對畫面下指令時,畫面上的一點一線一圖片能有較VB所提供之工具有較快的反應速度。

在決定使用API為主要畫面處理方式前, 曾參考 Microsoft 出售之GAME SDK,一個專為Windows遊戲設計師所開發之函數庫,GAME SDK可提供較API快速與多功能之畫面處理能力,但並不支援VB Studio Game SDK 支援的是 Visual C

 

(2) 聲音撥放單元

VB提供之物件不足以完成程式設計師要求的問題同樣發生在聲音撥放上, MCI佔去較多的記憶體也影響其他程式碼執行之效能, API 仍是最後的選擇


 

(3) 操作介面單元

由於Windows 9x作業系統之MultithreadingMultiple Input Queues…等特色,開發效率在撰寫操作介面程式碼時得以發現。比較以DOS作業系統為平台之程式語言, CBasicPascalASM…等,MS Studio系列開發工具提供較DOS程式語言佳的解決方案, 常見有中斷偵測方式與中斷動作之執行。節省DOS作業下需考慮的中斷工作。 VB開發是直接使用內建之Mouse Click Mouse Double ClickMouse MoveMouse Locate…,等功能。

遊戲操作分成滑鼠操作與鍵盤操作兩種︰

 

1 滑鼠操作︰在使用編輯地圖與編輯圖素功能時是由滑鼠操作,運用滑鼠單擊、滑鼠雙擊、按鍵保持VB提供之滑鼠動作函數可完成大部分要求功能。

2 鍵盤操作︰鍵盤操作在第三功能-測試部分,與滑鼠中斷類似的方法使用在偵測鍵盤中斷。

Fig 4C.1 操作介面開發平台比較

 

    VB在操作介面提供完整操作指令與功能函數, 在無使用API或其他額外工具情形下完成操作介面主要程式碼


(4) 資料庫

程式中資料庫分為三部份,分別為圖素資料庫、人物資料庫以及地圖資料庫,其中圖素資料庫以及人物資料庫整合在圖素編輯器中統一管理,地圖資料庫以地圖編輯器為其新增與編輯之程式。

1 . 圖素資料庫:

圖素製作: Boki + 林書賢 + 黃維程 + 大柱

每一圖素資料檔儲存108筆圖形資料為一點陣圖檔,格式為Windows 24位元點陣圖,供圖素編輯器解碼對取得應圖片,如花草樹木河流等圖片,透過畫面處理與操作介面單元,供使用者對資料檔以圖形方式編輯。

 

2 . 人物資料庫:

 

人物設計: 林書賢 

背影製作: Boki

人物資料檔案架構同於圖素資料庫,但在解碼時解碼方式不盡相同。在圖素資料庫解碼時每筆資料代表一張圖片,在人物資料庫中,每兩筆資料代表一個角色的其中一個動作,以主角行動來說,上下左右四個方向八個動作加上八個對應圖片,主角單一個人物需要16張圖片來表示,越多的圖片可以表現越細膩的人物動作。

 

3 . 地圖資料庫

每一地圖資料檔儲存20000筆資料,以循序檔方式儲存,每筆資料為整數型態,含零不含負數,程式解碼時每100筆資料視為一段,每一檔含200段,每段中的每一筆資料代表圖素資料庫中一筆50*50=250的點陣大小的圖素資料。

Fig 4.2資料庫連結解碼示意圖

資料庫的解碼流程為先從地圖資料庫取得地圖資訊後由程式將資料送交圖素資料處理單元解碼取得對應之圖片後再交由畫面處理單元整合送入Windows核心畫面處理單元做最後審核與刷新。

4 . 對白資料庫

對白資料庫儲存遊戲中主角與各場景人物的對話內容。大部分的對白都是在特定時間與地點使用一次就不再使用,加上對白資料料無Temporal locality 與少量的 Spatial locality特性,最後考慮遊戲的未來擴充與實際記憶體限制後,對白內容是採直接讀取檔案資料方式取得,這一點與地圖資料庫處理方式不同,原因是地圖資料是固定大小與長度的資料­,而對白資料是不固定長度且遠大於地圖資料庫大小的的資料。

Fig 4C.4 角色對話一景

 
1