2016年7月4日 星期一

02361072 互動視訊遊戲製作課程心得

        一開始選這門課也沒太多念想,因為本身對需要做專案的課程不太喜歡,可這學期想盡量將課表排滿,所以把能修的選修都修滿了。雖然一開始修課動機薄弱,但經過第一堂課遠坤老師的講授,按部就班的課程進度還有VR的介紹讓我有了上課的動力。

        還記得一開始老師用了許多電影、動畫、遊戲一些相關影視產業來介紹何為實境、何為虛擬、何為擴增...結果我一下課回家就把上課介紹到的實境電影──《楚門的世界》給載來看,好看!其中演員(戲中的)不斷重複的一些日常被楚門戳破時,有點想笑但內心又深深的感到可悲,現實何嘗不是如此(電影寓意甚多,值得看)。經由老師舉了許許多多生活中的例子,讓我們很快就能理解也讓我們被深深吸引。

        除了相關應用和發展歷程,還有老師不斷分享給我們的最新資訊,有設計、遊戲上的;還有許多視覺上的應用,給予更加便利的觀察與彈性,不用花費多餘的材料來製作模型。到了期中,上過遠坤老師課的都知道,按部就班來就沒什麼好需要擔心的。

        每次上課聽到虛擬實境新的應用或類似的技術發想,都會深深吸引住我的眼球,覺得這也太好玩了吧!不過到了自己要實作時,又懶蟲上身缺乏耐心,加上一開始沒有乖乖地跟著進度,後面剩一兩天開始動工BUG一堆只能嗚呼哀哉,徒喚奈何。(實作三完)

        最一開始的發想是一種推娃娃的機器(下圖),這遊戲機的玩法就是操縱上下左右移動,最後對準洞口按下確定,高一點低一點點點點都不行!因為用手來控制操縱手把來推動機器多少會有點細微的差距,難度超高,所以想做個虛擬的來玩玩,利用影像擷取來直接偵測手部移動感覺應該比機器靈活的多。或許以後這種需要人手親自觸碰操控的機械都將被淘汰~

2016年7月2日 星期六

02360076_作業2


作業二



做出可以放入相框的按鈕

先明白如何將圖片放入視窗內
再將圖片改成想要的大小
以及將陣列大小改為旱象片原始大小相同
就可以順利將相框放入視窗

遇到問題 : 
圖片原始大小與陣列大小不符合
右邊就會出現亂象
但是修改為相同後就可以呈現了


原本老師給的範例
將圖片放入視訊視窗

解決問題前
右邊會重複出現


最後修改圖片以及陣列大小
將相框圖片放入視窗

2016年7月1日 星期五

02360076_期末專案


期末專案

主題 : 史迪奇大作戰

想法 :
先用processing做一款由鍵盤控制的小遊戲 
再運用老師上課所教的程式加以改變 
將圖片改為按鈕用來連接鍵盤
用以下程式做鍵盤連結
keybd_event("ASCII碼",0,0,0);
Delay(100);
keybd_event("ASCII碼",0,KEYEVENTF_KEYUP,0);


遇到問題 :
1.圖片原始大小與顯示大小不符合
程式就會出問題
但是修改為相同後就可以呈現了

2.Binary 沒有設定到鏡射
所以取道的背景一直是不相同的
那整個程式也無法運作

3.win10 突然無法使用XE2
因為有些連結無法連結到資料庫
最後多存檔幾次就可以解決了



遊戲開始


遊戲進行


遊戲勝利


遊戲失敗




心得 :
本身就對遊戲很有興趣
但是都沒體驗過用視訊來玩遊戲
所以選擇了這門課
因為有興趣
在寫程式與構想發麵也沒有卡關太久
一路算順利地寫出專案
也非常感謝老師在我有問題時
隨時都能給予最快速與正確的解答
這次是很大的經驗也學到很多
雖然幾乎都是用老師的程式碼
但是其實上課認真去學
整個操作都是很順利的
也讓大三下這歌沒什麼程式課程的學期
學到很多程式碼的撰寫
更讓我獲益良多的是
老師上課教很多現在最熱門的互動遊戲
就算是以前看過或是現在才知道的
都讓我有新的了解
這堂課不是讓我們有背就有分的課程
而是讓我們學以致用的課程
很開心有選到這門課^ ^


遊戲影片連結




小朋友齊打交-使用視訊介面遊玩

互動視訊:期末專案
小朋友齊打交-使用視訊介面遊玩
設計發想:
   在這學期的課程中學到許多有關於視訊互動的方法及程式技巧,最後期末的專案開發時,想將課程中對背景差異偵測的技巧應用在童年的回憶上----”小朋友齊打交。小朋友齊打交是一款可以4人同時在同一台電腦透過鍵盤一起遊玩的2.5D遊戲,但想想那畫面,可想而知那是非常非常擁擠的。若是能透過攝影機對手部動作的偵測並將其設置到相對應的按鍵上,那就可以從小小的鍵盤解脫出來,獲得更加的遊戲體驗。
 


製作歷程:
最初設想使用色彩偵測,對應到滑鼠上,用來設置遊戲畫面的基礎設定。依據視訊鏡頭中接收到的單一藍點(藍筆筆蓋)做為控制。嘗試讓程式能夠追蹤該藍點的移動路徑,讓滑鼠接收路徑的軌跡並模擬出一樣的路徑。但隨之而來的困難為如何偵測滑鼠定位(X,Y坐標軸)以及視訊擷取視窗所擷取的藍點定位(X,Y座標軸)。以及如何讓程式內的滑鼠移動擴充Window系統介面。最後在第二個問題時遇到無法突破的瓶頸,並放棄這個主題。



在第一次嘗試失敗之後,決定跳過設置的步驟,直接開始遊戲。使用背景差異偵測的技巧做開發。在製作過程中遇到的困難為鏡像處理以及按鍵偵測的精準度。鏡像處理的問題沒有花太久的時間就成功解決;但可惜的是對按鍵偵測的準確度,直到最後都沒辦法完美的偵測。按鍵的介面也比理想中的狀況差異甚遠。
介面介紹:

https://youtu.be/TjaAOrUqm6Y

移動介紹:上下左右


動作介紹:守跳攻


施放技能:
1. 技能:火焰彈

2. 技能:烈火焚身

3. 技能:大轟炸



製作心得:
   在這次專案製作中,學習到了許多如:按鍵偵測,Delay函式的使用,滑鼠事件呼叫,HHookwin10真的頗難用,而最大的體悟就是現實與理想真的有段差距,且最痛苦的事情是花了極多的時間卻在最後不得已而放棄的那種失落;但這也讓我不禁想起Steve Jobs在史丹佛大學給畢業生的一段話:"你無法預先把點點滴滴串連起來,只有在未來回顧時,你才會明白那些點點滴滴是如何串在一起的。"you can't connect the dots look-ing forward; you can only connect them looking backwards )。

最後非常感謝老師在這堂課的指導,當我遇到問題時,協助我並給予我明確的提示,讓我能夠順利的完成這次專案的開發。

互動視訊:作業


作業一: 視訊擷取視窗基本訊息處理
在這個作業中,嘗試抓取許多的基本視訊擷取視窗的訊息及設定功能;
對整個概念有了更進一步的理解。

作業二:影像色彩選擇
在這次作業中學會了對視訊擷取視窗色彩的調校,但在使用調色盤這個工具時卻出現了無法正確顯示所想要顏色的問題。
作業2-1:灰階
作業2-2:調色盤

作業三:膚色偵測
這個作業花了我許久的時間,一來是一開始對這部分沒有完善的理解,一知半解的狀況下去實作也遇到了許多的困難,不過感謝老師及時的指導讓我可以順利完成這部分的作業。最後遇到的困難是有時背景與膚色調相近的部分也容易被截取進去。

作業四:相框
在實境中放入虛擬元件的單元中,對壁虎的放置,互動等等的學習其實並沒有很了解;但透過這次的作業練習讓我可以更加明白指令的呼叫及程式技巧。但遇到的困難是相框在最後480處就會重複,我猜應該是BYTE*  ptr...的那個變數呼叫內容有錯誤。不過嘗試了許久並沒有成功。好在最後和同學討論下找到了問題點,果然是在變數設置時的錯誤,不過其實沒有那麼複雜,只是陣列長寬取錯了。


02360466 何京霖 平時作業