2012年6月17日 星期日

作業五 Final Project

組員:
983304 蔡易霖 
983321 陳欣裕 
983326 簡志佳
主題名稱 - 計程車不要來撞我
發揮你的想像力,想像一下
當你正駕駛著一台逆向行駛的轎車,迎面而來的卻是一台接著一台的小黃計程車
此時!你不能剎車更不能轉向,只能勇往直前的閃躲
你有勇氣接受挑戰嗎? 

本遊戲娛樂性十足,適合各年齡層使用

結果呈現
遊戲規則
1. 玩家控制一台計程車,可藉由左右鍵閃躲對向來車
2. 來車的數量隨著公里數增加而增加
3. 有三次撞車機會,LIFE 顯示 0 的時候 GAME OVER
4. 最後的分數就是玩家行駛的公里數
控制鍵
[F2] : New game 
[←] : left
[→] : right
[Esc] : Exit
遊戲畫面


遊戲一開始詢問是否要全螢幕

loading 畫面,等待遊戲將模型載入

開始遊戲的畫面
左上角為玩家的生命數
右上角為行駛的公里數

發生碰撞就會扣掉生命,並顯示 LIFE -1

這裡可以看到里程碑顯示為 1 KM

當生命數降為 0 時,表示遊戲結束

遊戲影片



實作問題
我主要負責貼圖部份
貼圖的首要步驟就是找圖,這張天空真的是超像的啦,找到之後就開始裁減成2的次方數
glTexParameteri(GL_TEXTURE_2D, GL_TEXURE_MIN_FILTER, GL_LINEAR);
glTexCoord2f(1.0f, 1.0f); glVertex3f( x, y,  z );
然後在用上面三個程式碼完成貼圖,但是,天空貼太小會破圖,貼太大會變形 
接著,再試著貼草地的圖,草地太大片,貼一塊會整個模糊,所以採用多塊拼貼 
glTexCoord2f(50, 50);
原本連馬路都使用貼圖,但是找不到適合的圖,貼的好不好看也是難題,所以本遊戲內只有天空和草地使用貼圖
另外, 我還協助組員做碰撞偵測
最後,值得一提的是,我們的車子是亂數產生在車道上,所以每次遊戲時的來車會在不固定的位置朝玩家奔馳,還有發生碰撞後會有無敵時間,可以預防連續車禍。 
請盡情享受此遊戲帶來的刺激吧

 心得與討論
這是計圖的最後一個作業 - final project
經過組員的討論之後,我們決定要做一個老少咸宜的遊戲,並將我們這學期所學的技巧運用在這次的專案裡面。我們用了一開始教的繪畫2D模型(字)3D模型(道路、里程碑),再來控制相機和模型(開場畫面、左右鍵、F2)載入模型設定光源(樹、計程車、腳踏車),最後是貼圖(天空、草地)
沒想到經過一番努力之後,真的把這個小遊戲做出來了,不過它有個問題,我們覺得還滿嚴重的,因為它在別台電腦執行時會很 lag,不知道是少了甚麼設備還是我們寫法上的問題,而且目前還無解,害怕助教批改時不能痛快的來一場。 
除了 lag 問題之外,實作完成真的很開心,在此特別感謝組員蔡易霖跟簡志佳的努力唷 :) 

沒有留言:

張貼留言