Presentation is loading. Please wait.

Presentation is loading. Please wait.

3D PACMAN! Student: Chia-Wei Yao ID:

Similar presentations


Presentation on theme: "3D PACMAN! Student: Chia-Wei Yao ID:"— Presentation transcript:

1 3D PACMAN! Student: Chia-Wei Yao ID:601415129
Computational Photography: Applied Graphics and Imaging Final Project 2013/01/15

2 Outline Introduction Implementation Operation Demo References

3 Introduction(1/2) Final Project: 目標為實作出令人懷念的《小精靈》(Pac-Man)的小遊戲。
並使用OpenGL修改成3D版本,再利用SDL(Simple Direct-Media Layer) API加入音效等功能。 What is “Pacman”: 小精靈(Pac-Man)是電子遊戲歷史上的經典街機遊戲,由Namco公司設計並由Midway Games在1980年發行。遊戲的目的就是控制遊戲的主角小精靈吃掉藏在迷宮內所有的豆子,並且不能被鬼魂抓到。迷宮的四個角落有大的閃爍點稱為大力丸,提供小精靈一小段時間,可以反過來吃掉鬼魂。鬼魂在這段時間內會變成深藍色並到處逃逸。當鬼魂被吃掉時會飛回原點,並再生而回復正常的顏色。 (from Wiki)

4 Introduction(2/2) 上圖為Google紀念活動,為紀念遊戲誕生30周年,Google標誌改為遊戲圖片,可進行線上遊戲。遊戲原本只放在傳統首頁48小時[3]。因為頗受好評,因此Google將當時的首頁改為永久版本。

5 Outline Introduction Implementation Operation Demo References

6 Implementation(1/5) Tools: Libraries:
1. OpenGL(Open Graphics Library):For Drawing. 2. GLUT 3.7 (OpenGL Utility Toolkit):Create Window. 3. GLUI 2.1 (OpenGL User Interface Toolkit): GUI. 4. SDL (Simple Direct Media Layer):Audio Handling. 5. SDL-mixer:An audio mixer library based on SDL library. IDE: Microsoft Visual Studio 2008 SP1.

7 Implementation(2/5) 場景建立: 1.利用讀取txt檔,即可明確建立牆壁與玩家、敵人等配置,並且可隨時變更設計。如圖所示:

8 Implementation(3/5) 場景建立(cont.): 2. 背景材質:
使用TGA format 作為牆壁的材質圖檔格式,並非一般常見之Jpeg或bmp,最主要TGA有Alpha Channel在texture mapping方面表現較佳。 3. 建立牆壁cube與enemy, player, 黃點(called ‘Food’), 藍點(called ‘Invincible Point’)。 4.在畫面中心打光,且視角設定在y軸正上方。

9 Implementation(4/5) 物件處理: 1.
將各個物件如monster, player, light, map, material, texture等建立屬性,開始實作函式細節。 2. 而控制的重點在於glutIdleFunc(idle),callback函式idle裡必須對目前game state與keyboard event進行判定,例如鍵盤輸入上下左右的事件、與monsters碰撞機制的條件設定、無敵狀態(Invincible)的控制等,都是要在這callback函式處理同步問題。

10 Implementation(5/5) 音效控制: 1. 使用SDL (Simple Direct-Media Layer) API:
由於OpenGL並未支援audio格式的處理,因此必須藉由使用其他有支援的API來進行存取wav檔,這裡使用SDL做audio格式處理。 2. 雖然SDL可以開啟wav檔,但相關設定繁雜,這裡再另外加入SDL-mixer可大量相關簡化處理步驟。 3. 藉由SDL-mixer可以輕易地欲開啟的wav檔,可設定不同channel區別不同wav檔,且可以隨時開啟與關閉wav檔。

11 Outline Introduction Implementation Operation Demo References

12 Operation <SPACEBAR>(空白鍵):
可按下SPACEBAR開始進行遊戲。若不幸死亡可以再按下SPACEBAR繼續遊戲。 <Up>(方向鍵上↑): 控制Pacman往上行動。 <Down>(方向鍵下↓): 控制Pacman往下行動。 <Left>(方向鍵左←): 控制Pacman往左行動。 <Right>(方向鍵右→): 控制Pacman往右行動。

13 Outline Introduction Implementation Operation Demo References

14 Demo Invincible State You Lose You Win

15 Demo See Demo.avi

16 Outline Introduction Implementation Operation Demo References

17 References 1. OpenGL Programming Guide
2. Simple Direct-Media Layer (SDL) 3. SDL mixer 4. GLUT - The OpenGL Utility Toolkit 5. GLUI User Interface Library


Download ppt "3D PACMAN! Student: Chia-Wei Yao ID:"

Similar presentations


Ads by Google