星期五, 1月 12, 2007

乒乓球 / 佳宏

乒乓球 / 佳宏

佳宏的作品 - 乒乓球是一款桌球雙人對打的視訊遊戲, 藉由身體的高低位置來控制球拍位置, 也是非常受歡迎喔!

乒乓球 / 佳宏

佳宏上台分享作品...

乒乓球 / 佳宏

雲青和書涵上台玩乒乓球

乒乓球 / 佳宏

執行畫面...

乒乓球 / 佳宏

學弟上台打乒乓球...

乒乓球 / 佳宏

現場好多人呢...
 
 

星期四, 1月 11, 2007

The Virtual Fight Race / 書豪

Virtual Fight Race / 書豪

書豪的作品 - The Virtual Fight Race - 是一個真人格鬥遊戲, 藉由兩位玩家相互擊掌、踢腳, 當系統偵測到玩家動作跨越中間線後, 會去掃描對手是否出現在該區域, 如果命中, 就可以降低對方的生命值, 直到對方倒下為止。遊戲有一個好玩的特色就是玩家必須事先拍照, 才可以進行遊戲。這是今年非常受到歡迎的一款遊戲喔!

Virtual Fight Race / 書豪

盡情對打吧...

Virtual Fight Race / 書豪

Virtual Fight Race 的對打畫面...

Virtual Fight Race / 書豪

徵求兩名對打高手!

Virtual Fight Race / 書豪

書豪解說遊戲進行方式!

Virtual Fight Race / 書豪

先拍一張讓對手喪膽的照片吧!

Virtual Fight Race / 書豪

換我拍照了...

Virtual Fight Race / 書豪

接著輸入姓名!

Virtual Fight Race / 書豪

一切就緒, 開打!

Virtual Fight Race / 書豪

哎呀, 危險!

Virtual Fight Race / 書豪

比踢腿也可以!

Virtual Fight Race / 書豪

小雞的直拳!

Virtual Fight Race / 書豪

單挑吧!

Virtual Fight Race / 書豪

書豪單挑黃老師!

Virtual Fight Race / 書豪

黃老師目前略勝一籌!
 

魂狩 SoulTaker / 子軒

魂狩 SoulTaker / 子軒
子軒的作品 - 魂狩 SoulTaker - 是一個具有故事性, 結合視訊與滑鼠的遊戲, 一共有 4 個關卡, 最大的特色就是所有的插圖都是自己畫的, 非常難得!!

魂狩 SoulTaker / 子軒

魂狩的遊戲開始畫面 ...

魂狩 SoulTaker / 子軒

魂狩的故事 ...

魂狩 SoulTaker / 子軒

魂狩的關卡之一 ...

魂狩 SoulTaker / 子軒

魂狩的關卡之二 ...

魂狩 SoulTaker / 子軒

子軒上台分享, 書豪試玩魂狩...

魂狩 SoulTaker / 子軒

學弟妹玩得很盡興...

魂狩 SoulTaker / 子軒

魂狩的加油團...

 

Week 17: 課程紀實 (2007/01/11): Show Time

終於來到我們課程最後的高潮: 學生作品成果展- CAM Game Show 2007!同學們辛苦了一個學期, 都是為了今天做準備。

所有照片陸續上網中! [ View as slideshow ]

CAM Game Show 2007 大合照
成果展結束後, 全體學生大合照 (很可惜, 欣雯 & 育如趕去考試了)

CAM Game Show 2007 師生大合照
師生大合照 (有人被我擋到也不會講一下)


星期五, 1月 05, 2007

Week 16: 課程紀實 (2007/01/04): Rehearsing

今天的課程內容是下星期課程期末展 CAM Game Show 2007 的預展, 我們請一些已經大致完成作品的同學, 使用我的筆記型電腦接上投影機試玩作品, 希望在試玩的過程中, 預先發現一些問題, 事先解決, 使下星期的正式展出可以一切順利。

星落預展 ( Week 16 )

鴻達測試星落...

全民來開打預展 ( Week 16 )

全民來開打預展

碎破預展 ( Week 16 )

碎破預展...



PS: 晚上回到家, 正準備要寫本週的課程紀實, 才打開筆記型電腦, 竟然一直重複重新開機, 完全無法使用。<詳情>

星期五, 12月 29, 2006

CAM Game Show 2007

WebCam
時間: 2007/01/11 AM10:00 ~ PM1:00
地點: 銘傳大學桃園校區資訊大樓 S305
官網: CAM Game Show 2007


參展作品:
1. 睡拳 / 93360470 曾雅雯
2. The Virtual Fight Race / 93361013 張書豪
3. 旗魂 / 92360496 林家銘
4. 火影忍者的命運 / 93360265 黃培瀅
5. 魂狩 SoulTaker / 93360256 洪子軒
6. Keyboard / 93361074 柳捷舲
7. 刺氣球 / 93360363 彭書涵
8. 星落 / 93040080 劉鴻達
9. 乒乓球 / 92360303 林佳宏
10. 生死鬥 Stickman / 94363011 王柏盛
11. 太鼓達人 / 93360612 李宗翰
12. 全民來開打 / 93363650 許峰賢
13. 打磚塊 / 93360400 林俊淵
14. 躲鬼 Ghost Dodge / 93364060 王雲青
15. Dragon's Lunch / 93361031 陳映如
16. 海底世界 / 93361200 許湘苓
17. 碎破 / 93360974 盧楷壬
18. CamDrum / 93130946 劉欣雯93130141 林育如
19. 貪食蛇 / 91360500 林政瑋
 

Week 15: 課程紀實 (2006/12/28): Poster

今天同學必須準備好期末展的海報, 我們在課堂上, 我們建立了一個新的部落格平台 CAM Game Show 2007, 這個部落格的定位是同學們作品的交流平台, 包括同學們的遊戲企劃書, 海報, 期末系統..等等。

下週是期末展的預演, 同學們必須去思考如何才能將辛苦一學期完成的作品, 最好的呈現。
例如:
1. 展場的攝影機該如何擺設 ?
2. 玩家該如何玩遊戲 ?
3. 環境的光影如何 ?
4. 需不需要投影機 ?
5. 海報要貼在哪邊 ?
6. 給參觀者的小傳單要準備多少份 ?
.
.

星期四, 12月 21, 2006

Week 14: 課程紀實 (2006/12/21): Kdo's Sharing

今天的課程第一堂課我們請同學將自己對使用 callback function 的相關問題整理出來, 準備於第二堂課討論。

第二堂課起, 我邀請目前為銘傳資工所二年級的 Kdo 學長來示範 Callback function 與 VFW 的使用方法, Kdo 學長目前的研究就是與攝影機相關, 因此, 在這方面特別有經驗, 可以提供給學弟妹參考。


Kdo 示範程式下載。

星期日, 12月 17, 2006

Reading: 用熱情做好細節 實現不可能

If the wonder insight, you can do anything.
他設計的電子恐龍,被《時代》雜誌評選為今年最佳發明!15歲輟學,曾靠街頭賣藝討生活……他有什麼過人的能耐,為什麼會這麼紅?

本篇文章摘自:商業周刊第 995 期
作者:曠文琪、彭媁琳



「如果你有發自內心的渴望,你可以做任何事情!」這是一個藝術家母親對她兒子的叮嚀。

她的兒子雖然沒念大學,十五歲就輟學,做過街頭藝人。但抓住母親的這句話,四十九歲的鍾少男(Caleb Chung,有華人血統),九年前設計出電子玩具菲比(Furby),在全球大賣五千萬個、締造十二億美元(約合新台幣三百八十九億元)營收。

今年,他設計的電子恐龍Pleo,更被《時代》(Time)雜誌票選為年度最佳發明,預估明年一上市就能創造逾兩億美元(約合新台幣六十五億元)的商機。

《時代》雜誌形容,Pleo是「有生命形態(Life form)的寵物」。只要主人回到家,Pleo會對主人搖頭擺尾,順著它的毛摸,它會高興得搖尾巴,會打噴嚏、打哈欠,搔它的背,它還會一百八十度回過頭來,看是誰在跟它玩。因為內建八個處理器,讓這隻電子寵物有靈敏的觸覺、視覺與聽覺。

繼續閱讀, 原文網址: http://www.businessweekly.com.tw/webarticle.php?id=23884

星期五, 12月 15, 2006

Week 13: 課程紀實 (2006/12/14): Callback Function

本週資訊學院正舉辦專研展, 因此我決定讓同學利用上課時間讓同學去參觀資訊展, 特別是參觀與攝影機應用相關的研究, 希望對一個月後的課程成果展的『創意發想』有所幫助。

第三節課, 我們則是繼續討論有關 callback function 的主題。當視訊擷取驅動程式接收到來自視訊裝置的畫面(frame), 在 preview 模式之下, 將此畫面顯示所連結的視訊視窗之中。我們可以透過 capSetCallbackOnFrame 這個函數來指定當發生 frame preview 之前, 先執行一個特定的 callback function, 即預覽回呼函數。這個預覽回呼函數的名稱可以由我們自由命名, 但是傳入的參數個數與其資料型態則必須符合 VFW 的規定。

使用預覽回呼函數, 就可以在預覽之前, 先對畫面資料預先處理。但問題是這些畫面資料到底怎麼存取呢?

星期四, 12月 07, 2006

Week 12: 課程紀實 (2006/12/07): Callback Function

1. 什麼是 Callback Function!

當我們執行某個應用程式時, 針對 Form 上各個物件所發生的事件, 嚴格來說可以分成兩類:

一、由使用者觸發, 如使用者透過滑鼠或鍵盤所觸發的事件。這類事件, 在 object-oriented 程式語言中, 是用 event-driven 的設計, 使用者針對個別物件, 撰寫不同事件處理程序來因應。

二、非由使用者觸發, 乃系統自行發生的事件,如程式發生錯誤情況, 或系統做了特定事件, 如從視訊裝置擷取一個畫面。此類事件, 使用者就可以設定 callback function 來因應這些事件的發生。

為了讓同學完全了解 Callback Function, 我們從程式語言中, 函數的呼叫(Call) 與結束(return) 時, 電腦會做哪些處理開始講解...


2. 兩個 Forms 之間變數的使用: extern 宣告。

3. 指定閱讀: 數位內容學院 月刊 2006 九月號
 Emerging Technology ? 當數位遇見創意, 浮現的不只是科技!

4. 介紹 WebCam 小遊戲相關網站: PlaydoCAM
 

星期四, 11月 30, 2006

Week 11: 課程紀實 (2006/11/30): Honda's Sharing

今天的第一堂課, 我請同學拿去年修課同學期末繳交的光碟回去研究, 並約定下星期繳交的網誌必須包含光碟評析的部份。接著, 我和大家討論有關 位元傳輸塊 BitBlt 的相關指令怎麼使用。

第二堂課, Honda 和我們分享他所開發的系統及程式開發的經驗。之後, 我和同學討論:

1. 為什麼要用多張 frames平均來當作背景值, 其前提是什麼?
2. 有了背景影像後, 該如何判斷視訊中出現不同的物體?
3. 色彩差距公式的算法, 背後所代表的意義為何?

這些議題的背後, 其實都有理論作為支撐。除此, 我們還談到 CallBack function, 希望同學回去後, 先去查什麼是 CallBack function, 並比較 CallBack function 與 Timer 之間的不同?

第三堂課, 柏盛 講解 Bitmap 物件的影像格式不同, Scanline 程式要如何修正才不會有問題!

期末成果展, 我們要設計一張小卡片作為宣傳之用, 希望下週同學能帶一張自己最喜歡的小卡片, 作為期末成果展設計的參考。

星期四, 11月 16, 2006

Week 9: 課程紀實 (2006/11/16): Jskblack's Sharing

下星期就是期中考了, 在原先的課程規劃中, 期中考後我們就要開始進行遊戲的設計部份。因此, 我將往後幾週的預定的進行方式向同學報告。

首先, 去年修課同學期末繳交的光碟, 我們會先讓同學們帶回去研究, 然後再往後的二至三週中, 每週大約使用一個小時, 請同學上台分享對去年遊戲企劃的心得與討論。希望可以用最短的時間, 讓同學了解去年的課程成果。除此, 我會請我的專研學生到課堂上展示所開發的系統, 並交換心得。同學也可以趁此機會, 請教學長一些重要的程式開發技術。





第二堂課, 我們繼續讓同學研究視訊的控制部份, 有任何問題也是寫到白板上, 我再和同學個別討論。



第三堂課, 我請班上進度較快的同學, 上台介紹自己開發的程式, 希望藉由同學間彼此的交流, 來加速帶動整體進度。今天上台分享的是 書豪 (綠茶) 同學。



綠茶 所展示的系統是和 宗翰 一起合力完成的, 進度應該是班上最快的, 因為他們是我專研指導的學生, 所以進度快是正常的。目前, 這個系統可以做到擷取背景, 偵測物件, 並即時分別畫出水平投影與垂直投影, 作為將來的分析之用。


綠茶展示完畢之後, 果然同學提出許多問題, 希望可以釐清自己的疑惑, 班上的討論氣氛, 明顯提升不少。

關於速度的問題, 綠茶擷取單張影像的方法是透過複製裝置內容 (device context, DC) 中的點陣圖資料, 而不是直接使用 VFW 所提供的方式。關於什麼是裝置內容, 同學可以參考 Week 8 所介紹參考書籍 "Windows 程式設計 第五版"的 Chapter 5 圖形基礎; 至於點陣圖, 則是參考 Chapter 14 點陣圖和 Bitblt, Chapter 15 與裝置無關的點陣圖。

期中考後第一週的第三節課, 我們將邀請 鴻達 (Honda) 做系統展示, 與心得分享。Honda 的表現一直很優, 我對他的分享, 非常地期待呢!!
 

星期四, 11月 09, 2006

Week 8: 課程紀實 (2006/11/09): Windows Programming


今天在課堂上向大家介紹一本 Windows 程式設計的重要參考書籍 "Windows 程式設計 第五版", 這本書原文版本是 Microsoft 出版, 中文版本則是由文魁資訊所發行, 原著作者 Charles Petzold。

這本書可以說是 Win32 API 的終極指南, 當我們用 Borland C++ Builder (或者VC++) 撰寫視窗程式時, 如果 BCB 所提供的 VCL 無法滿足我們的需求, 或是遇到一些疑難雜症, 想要追根究底問題之所在, 這本書可以說是最根本的參考書籍了。

除此, 同學的閱讀應該延伸到教科書與推薦的參考書籍之外, 凡是與課程相關的, 舉凡雜誌, 或新聞報導都應該多多涉獵, 保持對產業的敏感度。在這期 (No. 141) 的 數位時代雙週 中, 就有兩篇文章是與遊戲課程相關:

(p.136) 看!遊戲市場進入新戰國期
(p.138) PS3 無力挽救新力

多閱讀, 多看, 多思考, 絕對是創意的最終源頭, 與同學共勉 ...
 

星期四, 11月 02, 2006

Week 7: 課程紀實 (2006/11/02): 擷取靜態影像

今天的第一堂課, 我們大致說明了 VFW SDK 是 如何擷取靜態影像 的, 也特別提醒同學 BCB 中 Dialog 元件的 FileName 屬性的網址 ( addres ) 在程式中應該如何取得。另外, 我們介紹一則與課程相關的新聞: 手指踢足球 科技好好玩



第二堂課起我們讓同學自己寫視訊程式, 遭遇問題還是要寫在白板上, 然後我們才給予協助, 解決問題。



這星期的課堂上, 和我討論最久的就屬 書涵 了, 書涵卡在自動縮放的地方一直無法順利做好, 幸好最後順利解決, 得以往後面的課程進度前進。另外, 本週 育如欣雯 提出的問題是 tagCaptureParms 的結構資料型態上, 我們一樣從 vfw.h 中的開始討論, 並說明如何在程式中宣告一個此資料型態的變數, 該如何在 VFW SDK 的函數中使用。
 

News: 手指踢足球 科技好好玩

〔自由時報 2006/10/28 記者袁世忠 台北報導〕

 原文網址: http://www.libertytimes.com.tw/2006/new/oct/28/today-life2.htm

用手指玩的虛擬足球、可以放在口袋的投影機、自動餵食與監測水溫的機器人……,由經濟部技術處主辦、工研院承辦的「科技夢幻體驗」展,昨天在台大醫院國際會議廳舉行,讓民眾實際體驗科技生活帶來的便利與趣味。

為了避免過去科技展總是冰冷、艱澀,這次工研院特別將各種最新技術與民生結合,例如將先進的影像捕捉技術,與投影機結合,成為虛擬足球遊戲,民眾只要伸手或踢腳,就可以將地板上的足球撥入對方球門。

工研院表示,要用手指踢足球前,民眾先在指頭上戴上一個小小的錫箔片,然後伸手進入從高懸在天花板的投影機投射出來的球場中;錫箔片會將投影機旁紅外線裝置照射的光反射,因此電腦就能計算手指的運動情形。

而腳踢虛擬足球,則是利用攝影機,捕捉身體阻擋投影機照射光而產生的影子,讓電腦計算可能的動作與球的前進方位,再把結果透過投影機照射出來。

現場也展出一款可以放在口袋中的投影機,大小僅有一般的五分之一,重量也與手機差不多,還能用市售電池充當電源。工研院表示,利用台灣擅長的LED取代燈泡後,不但體積縮小,散熱問題也獲得解決,壽命、省電效果都大幅提升。預料技轉上市後,價格可以壓到三百美元。

可以放在水族箱中使用的「水之械」,是一款可以自動偵測水溫、自動餵食的機器人;另因製作太陽能電池的元素矽被世界五大廠壟斷,工研院也開發出利用有機染料製成的太陽能電池。

星期四, 10月 26, 2006

Week 6: 課程紀實 (2006/10/26): 剪貼簿與字串處理


今天課程的焦點主要是針對 鴻達 所提出, 剪貼簿 ( Clipboard ) 與字串運算的相關問題討論。

星期四, 10月 19, 2006

Week 5: 課程紀實 (2006/10/19): 視訊擷取視窗操作



今天的課程分成四個部份:

1. 個別討論: 書涵, 永慶, 捷舲, 育如, 欣雯

2. Handle Review: 這個單元是根據 建豪的網誌內容, 做延伸討論, 希望同學可以完全了解什麼是 Win32 handle。

3. 視訊擷取視窗操作, 包含: 視訊裝置效能之取得, tagCapDriverCaps 結構的使用說明, ..等等。

4. 概述什麼是對話視窗? 讓同學在課後, 可以嘗試開啟視訊裝置廠商所提供之控制視訊裝置的對話視窗。

星期四, 10月 12, 2006

Week 4: 課程紀實 (2006/10/12)

Week 4 的課程著重在如何建立一個視訊擷取視窗 ( capCreateCaptureWindow ) 與將其與視訊裝置連接起來 ( capDriverConnect ), 讓視訊的畫面可以顯示在我們所開發的 BCB 程式之中。

今天的個別討論則是和 捷舲, 峰賢 還有資管系來修的兩位同學 育如欣雯 討論。和 捷舲 討論完後, 我才發現他的問題其實 小安 已經在部落格幫她解答了。峰賢的問題 比較棘手, 說實在的, 我也沒有遇過, 也不知道該怎麼解決, 只好胡亂嘗試一通!

我們也嚐試了在 Google 用 DWORD FAR PASCAL VideoForWindowsVersion 這串文字搜尋, 果真還 有人遇過相同的問題, 在椰林風情 BBS 的 Programming 中問過, 只不過還是沒有找到解答就是了。

後來, 為了確認程式出問題的點在哪? 只好先將所有的程式碼刪去, 看看會不會有相同的問題! 結果還是一樣, 只好再把 #include <vfw.h> 這行刪去, 程式果然就可以執行了。根據編譯程式的錯誤訊息, 很顯然地, BCB 編譯器似乎看不懂 vfw.h 中的 Delphi 的語法, 可是別人都沒有這樣的問題。

最後, 我把 #include <vfw.h> 加回去 峰賢 的程式中, 不過是放在第二行, 也就是 #include <vcl.h> 的後面, 所有的錯誤訊息就消失了。

原來這兩行 #include 的次序是不可以寫相反的, 把 #include <vfw.h> 寫在前面, BCB Compiler 是看不懂 Delphi 的宣告語法的, 先 #include <vcl.h> 之後, 很可以認得用 Delphi 寫成的 vfw.h 了。

這真是一次難得的 debug 經驗!

星期四, 10月 05, 2006

Week 3: 課程紀實 (2006/10/05)

今天多媒體遊戲開發的第一堂課, 我們請 昌叡, 小安, 捷舲鴻達 等四位同學, 上台分享這星期自己的學習心得 。


第二堂課我們針對同學寫在白板上的問題解釋, 也介紹了什麼是匈牙利命名法(Hungarian Convention), 希望同學將來在寫程式時, 對於變數的命名有一套標準可以依循。

第三節課我們針對 小安 的問題, 請同學先上網查什麼是 handle ? 然後大家再來分享, 討論。