diff --git a/Proposal/111590036/Proposal.md b/Proposal/111590036/Proposal.md new file mode 100644 index 0000000..a635bff --- /dev/null +++ b/Proposal/111590036/Proposal.md @@ -0,0 +1,150 @@ + +# Abstract +遊戲名稱:在PTSD上實作3D遊戲(以DOOM 64為目標) + + +組員: +- 111590036 葉積夫 + + + + +# Game Introduction +範例影片: +DOOM 64 +youtube.com/watch?v=jswXuV30e1k +DOOM是一個經典的FPS遊戲,最初的《毀滅戰士》被認為是最早的開創性第一人稱射擊遊戲之一,擁有3D圖形、第三維度空間、網路多人遊戲等功能。Doom引擎將渲染與遊戲的其餘部分分開,無論硬體如何,遊戲世界都以每秒 35 幀的速度運行。 +# Original Game Engine Introduction +雖然引擎渲染的是 3D 空間,但該空間是從二維平面圖投影而來的。視線始終與地板平行,牆壁必須與地板垂直,並且不能創建多層結構或傾斜區域(具有不同角度的地板和天花板) +# Project Introduction +嘗試在PTSD上實作3D遊戲(更著重完成3d遊戲運算框架的實作),可能往FPS的DOOM 64、或如同minecraft的第一人稱遊戲去實作3d場景與互動(交互)反應。這樣的實作挑戰大約可以劃分為:物件位置矩陣、物件呈現計算(不同角度)、物件碰撞計算;以及物件渲染過多的優化問題。 +在設想上可以在一學期內完成DEMO故想往這個方向做做看。完成的話只要改變圖片素材與增加函式就能實現其他的3d遊戲,大約是這樣的願景去實作。 + +實作核心條目:三維矩陣空間場景、視角旋轉與視野範圍、物件不同距離與不同角度之呈現、物件生成與回收、碰撞處理、角色與敵人屬性、關卡轉場與開始結束。 + + + + + + +# Development timeline + +- Week 1:設想3d遊戲實作框架 + - [ ] 確立往3d遊戲去做 + - [ ] 預想的接下來的工作分支:素材收集、三維矩陣與操作:對應不同角度的素材處理、對應不同距離的素材處理、碰撞計算與處理、功能對應鼠鍵、 +- Week 2:嘗試完成PR lab + - [ ] 被cmake卡住 + - [ ] 超過三小時都沒cmake成功 + - [ ] 失去總分2分 +- Week 3:完成proposal + - [ ]時程規劃 + - [ ]工作類型劃分與套用OOP設計觀念 + - [ ]簡化目標以實踐“可行性”(再循序漸進往高面數/高精度3d實作 +- Week 4~6:實作三維矩陣與視野邏輯 + - [ ]完成遊戲封面 + - [ ]三維矩陣建置 + - [ ]第一人稱畫面視角與視野處理 + - [ ]素材於不同距離處理與不同角度處理 +- Week 7:素材套用場景與射擊設計 + - [ ]收集素材 + - [ ]將素材組合成場景 + - [ ]讓子彈飛顯示與定時/碰撞後回收 + - [ ]武器切換與子彈切換 +- Week 8:DEMO前調整 + - [ ]確定素材正常顯示 + - [ ]測試多角度場景顯示效果 + - [ ]分析OOP實作程度/比例 + - [ ]鼠鍵參數調整(視角轉動靈敏度) +- Week 9~10:MID DEMO ;碰撞處理與資源回收 + - [ ]預期期末前完成度並調整實作時程 + - [ ]碰撞處理、物件生成與物件回收 + - [ ]敵人屬性(生命、攻擊力、移動速度與模式) +- Week 11~12:關卡轉場與物件動畫 + - [ ]部分數據保留與空間釋放 + - [ ]轉場後物件顯示優先順序 + - [ ]多關卡場景設計 + - [ ]同一物件連續切換圖片(武器、敵人、動態背景) +- Week 13~14:玩家屬性 + - [ ]生命與死亡(HP、GG) + - [ ]力量與速度(ATK、MOVEMENT) + - [ ]能力與跳躍(功能性函式與柵欄跨越/碰撞問題) +- Week 15:遊戲內容補充 + - [ ]設計開始畫面選項與結束情況 + - [ ]增加道具與功能函式 + - [ ]作弊功能 +- Week 16:DEMO前調整 + - [ ]OOP觀念應用檢視與優化比例 + - [ ]通關一遍(測試作弊功能) + - [ ]測試素材與程式能否在其他電腦運作 + - [ ]請其他人測試看看 +- Week 17~18:FINAL DEMO + - [ ]在DEMO前微調難度等參數 + + + + +