2013年1月18日 星期五

99160734 HW5


先取背景



 彩色差異


黑白差異


區塊差異

可以用ThresholdChange來設定差異度差越大就越白


2013年1月17日 星期四

期末作業

遊戲名稱:接星星。

設計目的:
想做這項作品是因為曾經在電視上看到有人站在攝影機前
螢幕上有泡泡一直由上往下掉玩的人必須要躲過泡泡去碰星星才會得分
時間內看誰得分越高就獲勝。

遊戲方式:用手去碰星星來得分。

遊戲畫面:




 先取得背景



遊戲開始時星星跟球消失時都會有音效,在遊戲畫面下方有計算分數跟遊戲的倒數時間



碰到手時星星跟球都會消失但是碰到球會扣分碰到星星才會加分


當時間到達0時,會跳出end的視窗告知遊戲已經結束了




製作過程:

用stVirtualObject儲存圖片的位置、高、寬、位移量、還有去背的顏色... 等。
用switch case一個一個把圖Load進去再用陣列呼叫出來,再使用老師上課教的去背把圖片背景去掉之後,把老師教過的物件偵測來判斷手與圖片位置來做消失,再加入random讓圖片可以隨機出現。
最後,加入計時器計算時間,加入計分以及end的彈跳視窗。

本來想使用背景音樂 + 碰到物件的音效但是PlaySound不能兩種音樂同時播放只好作罷。




心得:

過程花了很多時間,老師教了很多,同學也給了很多幫助,學到很多程式的用法,也發現到函式庫還有好多是我們沒用過的,都需要花時間再去學習,這是我的程式作業的作品中做得最認真的一次,也是花最多時間的一次,中間遇到過很多難題,還好有同學跟老師可以問一起解決,這樣作品雖然做的不夠好,但是我相信我有盡我最大的力氣把它做到最好了!!

謝謝老師跟同學的幫忙,我相信最辛苦的應該是老師巴!

要幫助那麼多的同學debug,debug真的是一件很辛苦的工作!

一定要排版排好,括號要對好,才能節省debug的時間!


我在這堂課學到了很多,尤其是要寫好程式的首要步驟就是---排版很重要!!!



期末影片:










互動式期末報告

遊戲名稱:小飛機大冒險



一開始的想法是說利用磁力的原理,來控制一個物體要上升還是下降,但是後來想到以前曾經玩過一種飛機的小遊戲,類似我做的作品,想說就先用箭頭來控制物體好了,至於利用磁力等到以後在做出來。


這是我一開始的遊戲畫面,很簡單操作,只要碰一下開始,遊戲就會自動開始進行,然後碰觸向上跟向下箭頭時,移動物件也就是那台直升機也會跟著移動,藉由這樣的操作來躲過障礙物。

碰觸到黑色的障礙物時:



就會出現失敗的畫面

然後如果到達終點也就是紅色區塊:


就會出現勝利的圖案



這次的期末專題幾乎都利用到以前老師上過的程式,但是對於程式的程度不好的我來說,還是很吃力,但是這禮拜我還是很努力的做出來,雖然沒有說做得很好,但是已經盡力做了,對於程式有不懂的地方,可以去詢問老師或是同學,將問題解決,這次的期末專題我已經盡全力去做了。


期末專案報告

期末專題報告書

遊戲名稱:燈泡串接。

設計目的:利用視訊互動了解燈泡串接原理以及應用。

遊戲方式:使用者可操作所提供物件完成燈泡串接,形成迴路。

遊戲畫面:

1.遊戲開始時的play


2.按下play之後進入遊戲畫面


3.用手指接觸上面物件,下方會出現其位置


4.完整串接形成迴路燈泡,得到正確提示


製作過程:
  當初選擇這門課「互動視訊遊戲製作」的最主要原因是專研指導教授林珍源老師請我們來選修的!

因為在meeting的專研過程中,討論出製作的部分為結合國小科學教育的遊戲,希望國小學童透過視訊遊戲互動的方式,不僅娛樂效果滿分,也讓學童可以學習到相關的科學概念。

我所選擇的科學概念是「燈泡串並聯相關主題」,遊戲的構想來自於國小四年級上學期自然科學的燈泡串並聯!

當初規劃是讓使用玩家,能直接選取上面物件,移至下方框框中,藉由互動移動來直接拚串出完整的燈泡組,藉此了解燈泡串接還有電池的關係,但是因為時間和能力有限,最後期末報告展示時只選取上面物件下方會直接連結出初階串並聯燈泡組。

在製作遊戲過程中,也碰到了相當多的困難..其實也是自己的程式設計基礎並不是很扎實,感覺跟資傳系比起來是有所落差的,其實在大一修程式設計這門課的時候,就有了解過電子系的程式設計實力實在有待加強...者我覺得跟學生的學習態度以及指導教授有所關連。

其實後來發現的困難跟「變數命名」和「程式碼清楚排列」有相當大的關聯,如果這兩個地方沒弄清楚,在除錯上會花費大量的時間跟精力,實在是非常的浪費時間成本....

跟前面幾次的課程所用到的差異偵測方面的了解還有回呼函數的宣告部分以及迴圈上面的應用!

若能更深入了解,加上一些基本架構能力有所具備,完成期末小遊戲製作,其實並非難事。


心得:
        當初會選擇這門課是因為指導教授希望我們學會擴充虛擬實境的技術,所以選修這門課,而且一開始發現這門課選修人數不到20人....就感覺是門不好過的科目。

然而在上課的過程中,發現小班上課也有小班上課的好處,尤其是程式設計課程相關,遇到不懂的問題可以直接向老師提出討論,老師也較有時間能跟我們進行了解程式碼錯誤的部分,學習效果會大大提升!

其實在上課的過程中,在老師的教學態度上而言,
我覺得是我念了快三年銘傳大學的教授中,教學態度最良好的老師了!

準備的資料跟上課內容都算是相當充實完善的。上課講話也不會過於無聊沉悶!

如果有心想學習程式語言相關,上這門課的確會使你功力大增!

建議:
   在最後兩三周完成小專題的過程中,我覺得老師挺辛苦的...
花費了很多時間解決了很多,我們了解之後其實是很小的問題= =..
其實也只是我們寫程式的一些習慣還有編碼上面產生的初階問題而已!

如果老師下學期或是給之後的學弟妹,能做出一份資料庫,統籌出這兩三年上課期末小專研會做出的問題!有資料整理出來,給下次選修課程的同學先行過目,我覺得會加速期末報告的效率!

不然以我而言,其實問題真的發現之後挺無言的...也不是程式不會寫之類的..只是某的地方略過或是邏輯上的瑕疵,就能卡上半小時到一節課,我覺得真是很浪費時間的過程..

還有如果可以收集歷屆優秀同學的程式碼,經過同意後公布於課程部落格,也可以豐富之後遊戲製作的精采程度,也能避免在小地方重複一直進行繞路的動作..更能多出時間進行創意發想.更換圖片,觸發控制,這些簡單的一些程式碼,我覺得花太多時間在這個過程中,東卡一點西卡一點時間都被耗損了。

最後謝謝曾經幫助我的同學,也老師這學期來的指導、意見和麥當勞。


Youtube的網址:http://www.youtube.com/watch?v=ujjP_ESnPaA


2013年1月16日 星期三

99160734 hw4


單一方塊物件顏色


畫面變灰色


單一方塊變色


加相框


加龍珠


變換物件

這次做的東西很多   程式碼很長
去背有點麻煩背景顏色一定要是紅色(255,0,0)



Webcam Programming (6)


Object -> Image
Disappear

偵測物體碰到Image,消失
因為解析度的關係,前面幾次測試一直跳出記憶體位址錯誤,找了很久才把全部都調整成640*480,程式才可順利執行。

2013年1月15日 星期二

Webcam Programming (5)



Cap Background
waiting for 31 frames

Image -> Background


Callback Function -> Color

Callback Function -> Binary

Callback Function -> N88Block
第一次完成時,Color一直是錯誤的,也找不到原因,只好全部重做才成功。