星期五, 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 ? 然後大家再來分享, 討論。

星期四, 9月 28, 2006

Week 2: 課程紀實 (2006/09/28)

為了要讓大家看 ICC, Toyko 2000 的影片, 課程一開始我們介紹了 del.icio.us 這個 Web 2.0 的網站, 也順便把del.icio.us 所提供給 firefor 的套件 ( firefox extension ) 介紹給同學方便使用。ICC, Toyko 2000 影片中的音樂瓶互動裝置, 曾經在 2005 年暑假來過台灣 國立台灣美術館 , 快感-奧地利電子藝術節 25 年大展 中展示過。不過, 今天的課程重點是請同學看乒乓球的那個部份, 透過視訊或聲音擷取乒乓球與桌面的撞擊事件, 然後產生各式各樣的互動情境, 讓同學思考要做到影片中的情境, 在我們的課程中我們應該熟悉哪些偵測技術。

星期五, 9月 22, 2006

Week 1: 課程紀實 (2006/09/21)

今年的 多媒體遊戲製作 課程, 其實與去年開的 電腦遊戲製作 課程是一樣的, 只是將課程名稱定的更符合原先的課程規劃, 將所製作的遊戲鎖定在多媒體遊戲上, 其實更精確的課程名稱應該是視訊遊戲製作。

課程的進行主軸與去年一樣, 分成兩部分: 期中考以前, 同學盡全力去了解, 弄懂視訊的程式控制部份, 這一部份可以從 多媒體視訊程式設計 - 使用 Delphi 這本參考書中獲得大部分的知識。期中考後, 同學們必須兩人組成一個開發團隊, 合力開發一個可以透過視訊互動的遊戲, 參加第 17 週期末的學生作品聯展。

修課同學必須每週繳交一篇學習網誌, 記錄自己的學習心得, 作為分享交流之用。不知道該如何去寫學習網誌的同學, 可以參考 去年修課同學 的網誌。

星期四, 9月 21, 2006

參考書籍: 多媒體視訊程式設計

多媒體遊戲製作 這門課的主要參考書籍為

多媒體視訊程式設計 - 使用 Delphi

張銘華 著 金禾出版社 ISBN 986-149-031-0

課堂上所採用的程式語言為 C++, 因此我們建議同學使用 Borland C++ Blilder 來開發視訊控制程式。會選用 多媒體視訊程式設計 - 使用 Delphi 這本書來參考的主要原因有二:

1. 市面上講解視訊控制的書籍並不多, 有書看總比沒書看好。

2. DelphiBCB 都是 Borland 所推出的程式開發工具( 整合開發環境 IDE ), 其差別只是 Delphi 的核心程式語言是 Pascal, BCB 是 C++ 而已, 功能相同的函數只是與法不同而已, 之間的轉換並不會太困難。

2006 多媒體遊戲製作修課同學部落格

91240413 承翰 ( X )
91360500 政緯 waynelin6955
91360826 建豪 s1360826
92360011 永慶 kevinlin919
92360303 佳宏 chs8801
92360496 家銘 soul730926
93040080 鴻達 honda750710
93130141 育如 yrlminami
93130946 欣雯 llykku
93360256 子軒 ( kaisudo ) s3360256
93360265 培瀅 s3360265
93360363 書涵 a1856707
93360400 俊淵 ( 小安 ) o1o1o1o1o
93360470 雅雯 ( 毛 ) foxwn06008
93360550 昌叡 darkjiang
93360612 宗翰 leecolas
93360974 楷壬 ( 雨雁 ) jarryku
93361013 書豪 ( 綠茶 ) jskblack
93361031 映如 areywu
93361074 捷舲 Candy741221
93361200 湘苓 charlene15
93363650 峰賢 hsien0616
93364060 雲青 sunsea28
94363011 柏盛 dinotrex614