團隊專案(第二週)—GG隊
專案需求規格分析
隊員資訊
隊員 |
學號 |
葉尚文(隊長) |
3116008802 |
蔡曉晴 |
3216008808 |
杜婷萱 |
3216008809 |
龍劍初 |
3116004647 |
於澤浩 |
3116004661 |
專案背景:
近年來音樂遊戲層出不窮,其中不乏創新性作品,我們產品將面向愛好音遊及RPG遊戲的玩家,結合兩者的特點開發一款遊戲。
真實性:
目前市場上還不停地有各種各樣的音游出現,音遊實際上是能
給玩家一種體驗還沒接觸過的樂器,或者作為練習某種樂器的
一種途徑。所以說音遊具有市場的真實性
可行性:
該遊戲在顯示上主要有有鋼琴的樂譜和冒險“跑酷”兩部分,聽
覺上是玩家通過按下琴鍵發出的旋律,兩者結合後,玩家可在
鋼琴跑酷這個遊戲中通過“鍵盤式琴鍵”可以有很好的體驗效果,
同時玩家可以通過樂譜和遊戲中的主人公來更好地掌握節奏。
玩家可以在學習的同時體驗遊戲的樂趣,很大程度避免了學習
的枯燥和遊戲的單一性。
價值性:
“遊戲+教育”已經逐漸成為社會的發展趨勢。遊戲不再像以前那
樣是為了玩樂的片面產品,很多遊戲慢慢轉向職業化、多功能化,
其中從遊戲中學習是最大的市場趨勢。鋼琴跑酷這個遊戲避免了
市場上很多體驗效果較差和功能單一的產品,把遊戲和學習較好
地結合在一起。市場上還不斷有音遊的產品出現,說明音遊有一
定的市場。鋼琴跑酷這個遊戲的最大賣點就是很好地把學習和完
結合在一起,很好地做到了“遊戲+教育”。
專案需求:
使用者需求:
體驗效果好同時模仿操作相似的鋼琴音遊
擺脫傳統音遊的單一操作和單一視覺效果
在體驗過程可以藉助樂譜音符外的動態效果提示
藉助遊戲闖關效果來更好讓玩家保持興趣
功能需求:
一般需求:
實現高音區樂譜控制主人公跳躍跑圖;
實現樂譜的規格化及提高可讀性和可編輯性;
實現遊戲畫面整體可動。
高階需求:
實現低音區控制主人公的行為及動作;
實現使用者向遊戲自行匯入樂譜。音樂以及對地圖進行構建;
設定BOSS,根據樂譜和節奏設定QTE(Quick Time Event)操作。
後期改進需求:
實現遊戲聯網;
支援使用者的樂譜和地圖上傳伺服器並分享;
支援匯入音樂自動生成對應的規格化樂譜並完成地圖構建;
支援使用者自行修改遊戲貼圖,改變風格。
環境需求:
使用語言:
H5(HTML + CSS + JavaScript)
開發軟體:
Webstorm 或 Dreamweaver 等前端開發軟體
heX(用於將HTML專案轉化為.exe的桌面應用程式)
Photoshop(設計頁面及元素)
技術需求:
團隊要熟悉HTML,CSS,JAVAScript等語言
需同時對多個開發軟體的操作熟悉
根據樂譜的音符生成遊戲中不同的動態地圖地形及障礙物
監聽鍵盤輸入指示,遊戲中的冒險主人公要作出相應行為
團隊分工:
程式構建及設計:葉尚文
根據需求構建整個程式的物件及函式關係,設計介面,制定DOM樹和對應的元素設計
動態介面:龍劍初,於澤浩
讀取樂譜檔案,根據樂譜動態生成地圖中的地形及障礙,怪物等。
靜態介面:杜婷宣,蔡曉晴
讀取組成介面的圖片檔案,構建靜態UI的介面,並實現除遊戲主介面外的歡迎頁、介紹頁等靜態頁面。
主人公控制及響應:葉尚文
監聽鍵盤動作,根據鍵盤動作控制主人公行為;讀取檔案,根據檔案判斷行為是否正確,並給出相對應的反饋。
測試:於澤浩
測試各個階段程式是否達到預期目標,並保證程式不會因樂譜文件的錯誤及資料量而出現嚴重崩潰。
任務簡述:
實現檢視:
事前說明:
開發過程中的測試請以heX的顯示介面效果為準。
檔案讀取方式請參考專案內的player.js
檔案說明:音樂為歡樂頌
第一行是速率(現在是2秒四小節(8個字元)),第二行開始是簡譜,1,2及以下對應高度1,3,4對應高度2,5,6對應高度3,7,8及以上對應高度4。
背景要求:
使用給定圖片,在限定的div裡通過指定的css及js檔案,完成如圖背景和前景;
要求五線譜中間的判定線位置可調(調節引數用備註標明);
背景每一張圖片都可以獨立迴圈向左移動播放,且移動速度可調(調節引數用備註標明)。
方塊以及音符生成要求:
在限定的div裡通過指定的css及js檔案,讀取給定的txt檔案(規格化樂譜,路徑:“../src/txt/test1.txt”),得出旋律和拍子時間,生成符合旋律高低的音符,字母以及方塊,方塊向上生成,然後向左移動,音符和字母從右漸顯生成向左移動;
音符,字母及方塊的移動速率可調,並可調節延遲(兩者引數請備註說明);
方塊的種類要根據旋律的種類建立:
0x0y:建立種類1的方塊;
0x00000y:建立種類2,3的方塊,並在中間的0處新增對應數量的種類4的方塊;
0xy:迴圈建立種類5,6的方塊。
例項效果:
動作及響應要求:
主人公還沒畫好,不放圖了。。。。
在限定的div裡通過指定的css及js檔案,讀取給定的txt檔案(規格化樂譜,路徑:“../src/txt/test1.txt”),得出旋律和拍子時間,根據時間及旋律計算得出當前狀態;
判定區示意圖:
編碼規則:
命名:
儘量遵循駝峰原則命名,並在宣告時備註作用(如必要)
用於迴圈、記錄狀態、暫存的變數請用loop,state, temp開頭並加上編號(編號計算以函式為單位)或者說明(如必要)
括號:
大括號內為空前面和內部都不用換行,否則:
左大括號前不換行,後換行;
右大括號前換行,後除規定語句塊(else, while等)外換行;
連續同種小括號間空格。
符號:
各類運算子或判斷符前後都有空格;
逗號後帶空格。
字數:
每行不超過(111 - 11)字元,如超過:
從100字元內的最後空格開始換行;
若是運算子的空格則從運算子前的空格開始換行;
換行後在上一行換行處備註 ”//next line“。
縮排:
用4個空格,tab鍵請設定為4個空格。
其他:
if/for/while/switch/do等保留字與左右括號之間都必須加空格;
除判斷及for/while等外,一行一個語句;
函式中,實現不同小功能的語句塊之間空行,語句塊內不空行,如必要在語句塊前加上備註說明,例:
int a;
int b;
int temp
for(。。。){
。。。
//交換a,b的值
temp = a;
a = b;
b = temp;
}
while 。。。
函式前請務必說明函式功能,若複雜請文件註釋說明大概思路。
專案安排:
原安排表:
第6周 |
1.團隊組隊、團隊部落格(✔) |
|
2.團隊介紹、成員展示、角色分配、選題確定(✔) |
|
3.制定團隊計劃安排(✔) |
第7周 |
1.需求規格說明書(✔) |
|
2.原型設計,隊員估計任務難度並學習必要的技術(✔) |
|
3.編碼規範完成、平臺環境搭建完成、初步架構搭建(✔) |
第8周 |
1.原型改進(給目標使用者展現原型,並進一步理解需求) |
|
2.架構設計,WBS, 團隊成員估計各自任務所需時間 |
|
3.測試計劃 |
第9周 |
1. 團隊專案Alpha任務分配計劃 |
|
2. 連續7天的Alpha敏捷衝刺,7 篇 每日Scrum Meeting部落格+程式碼提交 |
第10周 |
1.使用者反饋+測試計劃改進 |
|
2. 團隊Alpha階段個人總結 |
|
3. 團隊專案Alpha部落格:釋出說明、測試報告、展示部落格、專案管理 |
第11周 |
1. 團隊專案Alpha部落格:事後分析 |
|
2. 每個團隊有一人必須離開,自己尋找下一個接納自己的團隊。團隊發部落格宣佈離隊和接納的成員。 |
第12周 |
1. 團隊專案Beta任務分配計劃,介紹新成員 |
|
2. 連續7天的Beta敏捷衝刺,7 篇 每日Scrum Meeting部落格+程式碼提交 |
第13周 |
1. 團隊專案Beta部落格:釋出說明、測試報告、展示部落格 |
|
2. 團隊Beta階段個人總結 |
第14周 |
1. 團隊專案Beta部落格:事後分析, 宣佈每人的貢獻分 |
第15周 |
1.團隊整個階段總結,分析使用者資料,整理文件,保證以後的團隊能接手。 |
校正後安排:
第8周 |
初步實現各個模組原始介面效果,合併程式碼後尋找不足並改進,以儘量避免後續功能實現的程式碼產生不相容情況 |
第9周 |
制定Alpha計劃,搭建整體框架,實現各模組功能併合並 |
第10周 |
對各個功能模組進行測試,讓使用者試用並通過反饋進行改進 |
第11周 |
總結收穫和不足,團隊調整 |
第12周~~ |
依情況從新規劃 |
校正方法:
剛開始的規劃還沒有對專案進行深入的解剖和分析,很多安排都沒能很好地按計劃完成。
因為本次專案用到的程式語言並不是都會,所以經過分析後,主要的功能和測試放在了第
10和11周兩週,在各模組功能完成時就可以進行初步的測試,等預期功能都實現的時候,
再進行統一的整體測試,這樣就可以把最終測試出現的不足很好地鎖定。
隊員感想:
葉尚文:第一次開發自己創造的遊戲,有點興奮又有點緊張。第一次帶領隊伍,第一次5人的
團隊合作,我希望能帶領好這個團隊。也希望在這個過程中提升自身的領導能力,同時
從中找到自己的不足。
蔡曉晴:這個星期還沒有開始寫程式碼,但是葉尚文大佬給了我們一個清晰的架構和程式碼標準,
十分利於我們後期打程式碼。這個星期我也學習了很多js的知識。
杜婷萱:感覺開發前的充分溝通,明確的任務分工很重要。我和曉晴共同完成靜態背景的實現,
但js剛開始學接觸的還不是很多(°ー°〃)因此要向團隊多多請教,希望能通過這次的項
目學到更多的知識 (*^▽^*)
龍劍初:在這一週裡,團隊對專案進行了進一步的探索和理解,在隊長尚文大佬的帶領下,我
們把專案的主要功能模組和大致的架構做了初步的確定,同時進行了任務的分配。項
目要用到js和css等還沒接觸過的語言,這對於我來說是個極大的挑戰。自知程式碼能力
不強,但也會盡力。接下來好好努力,跟著大佬們學習。
於澤浩:和同學一起團隊協作,每個人都有每個人的長處,讓我認識到了自己太多需要學習,
但是團隊協作依靠的也不只是每個人的能力,清晰的統籌才能一步步將計劃完成。非
常期待接下來一步步將計劃完成。