2013年5月1日 星期三

Week11,HW11,99160025_鍾毅軍,99160770_吳姿儀

1. 方案一:Processing+SimplOpenNI
2. 方案二:Kinect SDK 1.7
3. 方案三:OpenNI2

(1) 這周進度完成了什麼?
(2) 這周要做什麼?
(3) 遇到什麼問題?

Vision:
動物合唱團

功能-List (可demo):
1. 動物圖片10種(靜態圖、張嘴圖)
=>找不到就自己畫
2. 動物叫聲(有音階或一般叫聲)
3. 播放影片(介紹動物-獨唱、合唱)
4. 指揮棒定位(製作指揮棒)
5. 點到動物會發出叫、換張嘴圖片
6.三個關卡
第一關-三隻動物
第二關-五隻動物
第三關-八隻動物
7. 題目方式
(1) 看(畫面顯示題目)
(2) 聽(放動物叫聲)
8. 成功和失敗畫面、開始畫面和遊戲畫面

紅底為本週進度(第11週)
 


















由於這週討論到底決定要做哪一個遊戲時突發奇想,突然想到一個點子,
感覺還不錯,也挺有畫面的, 就決定要改題目了。動物合唱團!!!!!!!!!
此企劃書會再補到期中作品企畫書部分。
這週因網路或雲端等問題,不能連到老師架的分享區導致無法下載安裝軟體,
改換成寫SCRUM專案開發技術,透過SCRUM把所規劃的流程、步驟詳細地寫下來,
以及時間分配,按部就班的規劃行程,感覺更有目標了!

99160522_沈奕均, 99160743_紀詠心, HW11, Week11,


遊戲名稱:叢蟲危機


1.開始game之前
a.背景
b.介面(遊戲說明)
c.人物偵測

2.game中
a.蟲圖製作(蟲要會動的)
b.蟲隨機出現的程式碼+單字提示字
c.蟲光(黃、紅)+計時器
d.介面(暫停遊戲+目前分數(和血條)+提早結束)

3.game結束後
a.成績算法
b.結束畫面(再玩一次)

4.音效部分
a.game前
b.BG
c.蟲被打
d.人被咬
e.game後




99160150_林秉燁,99160494_陳孟琳,Week11,HW11

構想:

Vision :紅藍舉旗樂

功能:

1、一進入遊戲畫面時,會有選單供玩家選擇:
      (1)按開始遊戲→遊戲畫面、
      (2)按遊戲說明→遊戲說明的畫面、
      (3)按結束遊戲→結束遊戲的畫面。
2、結束遊戲的選項、GO、GAME OVER的畫面。
3、在遊戲中,玩家會擺出的姿勢(有四種姿勢)。
4、當玩家的動作是對或錯時,適當的給予影音回饋。
5、測試玩家執行動作的口令(紅旗舉起來,藍旗放下來等)。
6、判斷玩家在執行口令的動作是對或錯。
7、遊戲說明。
8、播放音樂檔-背景音樂(mp3檔)。
9、播放錄音檔-口令(wav檔)。
10、測試玩家執行動作的口令(紅旗舉起來,藍旗放下來等)。

11、在遊戲說明的畫面按復原鍵可以切回至一開始的畫面(提供選單的畫面)。
12、在結束遊戲的畫面有"是"和"否"的選項,可以切換至不同的畫面。
13、在結束遊戲的畫面"是",直接結束遊戲畫面。"否",切換至一開始的畫面。


--------------------------------------------------------------------------------------------------

延伸功能:

1、有單人或多人遊戲的選項。
2、設置排行榜,刺激玩家間的競爭。
3、有計分功能。
4、有倒數計時的功能。
5、當玩家答對的越多,速度會加快一點。
6、每位玩家有三次舉錯的機會(當三次用光時,會顯示GAME OVER字樣)。
7、玩家每舉對一次分數為一分。
8、當玩家連續答對10次時,分數會以雙倍計算。之後若是答錯,分數則是以一次一分計算。


-------------------------------------------------------------------------------------------------
拆解小動作:

1、美工:畫出開始遊戲、結束遊戲、倒數遊戲、GO、GAME OVER的畫面。
2、美工:畫出玩家和背景(以2D方式呈現)。
3、美工:四種姿勢:
      (1) 紅旗舉起來,藍旗不要舉
      (2) 紅旗放下來,藍旗舉起來
      (3) 白旗舉起來,藍旗放下來
      (4) 白旗放下來,藍旗舉起來
4、程式:
      切換不同的畫面
      (按"開始遊戲"→"遊戲畫面";按"遊戲說明"→"遊戲說明";按"結束遊戲"→"結束遊戲"。
5、程式:口令隨機出現。
6、錄製測試玩家執行動作的口令(例如,紅旗舉起來,藍旗放下來等)。
      (口令要分一小段一小段錄製。一個口令一小段)。
7、找影音回饋。
8、程式:將口令放到程式裡。
9、程式:將影音回饋放到程式裡。
10、程式:判斷玩家的動作,是對還是錯。
11、製作遊戲說明。
12、程式:背景音樂(mp3檔)放至程式裡。
13、程式:錄音檔(wav檔)放至程式裡。
14、找背景音樂。
15、程式:倒數"3"→"2"→"1"→"GO" 和 "ganeover" 畫面。
16、程式:判斷玩家的動作是對或錯完成後,並給予適當的影音回饋。
17、在遊戲說明的畫面按復原鍵可以切回至一開始的畫面(提供選單的畫面)。
18、在結束遊戲的畫面有"是"和"否"的選項,可以切換至不同的畫面。
19、在結束遊戲的畫面"是",直接結束遊戲畫面。"否",切換至一開始的畫面。

-------------------------------------------------------------------------------------------------

心得:
  這週進度是討論我們期中企劃書的Vision、功能、拆解小動作、每項工作需要完成的小時數,也可以討論延伸功能。拆解小動作的好處是,讓我們每週都可以有工作進度,也可以更快完成期末作品,如果在做作業的過程中遇到問題,都可以跟老師討埨,老師會指導我們。

以上是我們這組的討論。


-------------------------------------------------------------------------------------------------

week11的作業:(week12 demo檢查)


製作以下三個的影像:
1、美工:
      畫出開始遊戲、結束遊戲、倒數遊戲、GO、GAME OVER的畫面。

2、美工:
     畫出玩家和背景(以2D方式呈現)。

3、美工:
      (1)玩家一開始,沒有任何動作的畫面。
      (2) 紅旗舉起來,藍旗不要舉的畫面。
      (3) 紅旗不要舉,藍旗放下來的畫面。
      (4) 紅旗不要舉,藍旗放下來的畫面。
      (5) 紅旗放下來,藍旗不要舉的畫面。

99160663_溫媁婷, HW11, Week11

ToDo :
1. 實作
    120.125.83.198:8080
2. 專案開發技術
  • 列出您的VISION
  • 列出產品功能 
           Example : 做一個地鼠的遊戲
                       I. 地書畫出來 (2D,3D)
                      II. 地鼠會跑
                     III. 打到地鼠
                     IV. 影音回饋等等..
  •  再把每一個功能拆解,在分成各個細節的小步驟 ,以方便日後檢查工作。  
    3. ASUS 說明


   

           

99163116_鄭祥斌, HW11, Week11

實作:
專案開發技術:
     example:1.列出您的vision
                       (1)做一個地鼠遊戲
                  2.列出產品功能
                       (1)地鼠畫出來 2D/3D
                       (2)地鼠會跑 固定/會跑
                       (3)打到地鼠
                       (4)影音回饋
                       (5)分數.排名
再把每一項功能都拆解,在分成每個細節小步驟,然後再決定分配時間


專案開發技術:
                  1.列出您的vision
                       (1)棒球9宮格
                  2.列出產品功能
                       (1)畫出9宮格板2D
                       (2)9宮格板旁邊的人物會動,並且會播報投中哪一板子
                       (3)會偵測到手,所以螢幕上的棒球會跟著手的移動而跟著移動
                       (4)當手投出時,棒球也會跟著投出,然後程式就會計算手揮動的速度轉換成球                        的速度
                       (5)當球打到9宮格板之後,此時9宮格旁的人物就會播報投中哪一個板子,並得幾分
                       (6)當投中時,觀眾台上的人就會出現歡呼的聲音
                       (7)每當投出去一顆球時,螢幕上右下角就會顯示剩餘球數
                       (8)當遊戲結束後就會出現分數及排名

Week11 葉正聖老師示範

請填你們的 SCRUM 列清單
https://docs.google.com/spreadsheet/ccc?key=0AiYbu0zjxrp1dG5iWFFJME93N3I0MGk1cjZCbXpXb2c&usp=sharing


SCRUM 影片教學
http://scrum.tw/index.php/tw/aboutscrum/2011-11-07-08-20-59
SCRUM簡介
http://scrum.tw/index.php/tw/scrum

99160522_沈奕均, HW10, Week10

本週目標:期中作品計畫書+改程式碼做小遊戲
一.安裝
(一定要下載32不然會慘)

開始過processing 1.5.1版後,SimpleOpenNI 資夾放在\文件\processing\libraries
(libraries不要拼錯喔!)
(接kinect的延長線記得開電源)

二.式寫最短的程式碼
import SimpleOpenNI.*;
SimpleOpenNI openni;
void setuup(){
openni= newSimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
size(640+640,480);
}
void draw(){
openni.update();
image(openni.depthImage(),0,0);
image(openni.RGBImage(),640,0);
}

三.改寫範例hand3D

import SimpleOpenNI.*;
//import processing.opengl.*;

SimpleOpenNI context;
float        zoomF =0.5f;
float        rotX = radians(180);  // by default rotate the hole scene 180deg around the x-axis,
                                   // the data from openni comes upside down
float        rotY = radians(0);
boolean      handsTrackFlag = false;
PVector      handVec = new PVector();
ArrayList    handVecList = new ArrayList();
int          handVecListSize = 30;
String       lastGesture = "";

PImage imgB;
PImage imgF; 


void setup()
{
  imgB=loadImage("b.jpg");
  imgF=loadImage("f.png"); 



  size(1024,768,P3D);  // strange, get drawing error in the cameraFrustum if i use P3D, in opengl there is no problem
  //size(1024,768,OPENGL);

  context = new SimpleOpenNI(this);
  
  // disable mirror
  context.setMirror(false);

  // enable depthMap generation
  if(context.enableDepth() == false)
  {
     println("Can't open the depthMap, maybe the camera is not connected!");
     exit();
     return;
  }

  // enable hands + gesture generation
  context.enableGesture();
  context.enableHands();

  // add focus gestures  / here i do have some problems on the mac, i only recognize raiseHand ? Maybe cpu performance ?
  context.addGesture("Wave");
  context.addGesture("Click");
  context.addGesture("RaiseHand");

  // set how smooth the hand capturing should be
  //context.setSmoothingHands(.5);

  stroke(255,255,255);
  smooth();

  perspective(radians(45),
              float(width)/float(height),
              10.0f,150000.0f);
 }

void draw()
{
  // update the cam
  context.update();

  image(imgB,0,0,1024,768);
  image(imgF,1024/2-handVec.x,768/2-handVec.y); 
  return;

}
//以下相同
結果:



本週心得:
經過老師精心講解範例程式碼後,相信自己也是有能力可以改寫程式碼的!覺得很有成就感,會繼續努力,慢慢越改越多程式碼,本週最大收穫就是從重獲自信~耶