Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 150 additions & 0 deletions Proposal/111590036/Proposal.md
Original file line number Diff line number Diff line change
@@ -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前微調難度等參數




<!--來自別組的設計流程參考
:準備素材
- [ ] 蒐集遊戲的素材
:處理遊戲的封面
- [ ] 處理遊戲封面的素材
- [ ] 進行遊戲封面的設計
:設計遊戲角色
- [ ] 開始設計遊戲中的主要角色
- [ ] 撰寫腳色能力與數據的規格
:設計遊戲世界觀與關卡
- [ ] 撰寫遊戲世界觀的背景故事
- [ ] 規劃遊戲的關卡設計(地圖、場景、挑戰等)
:關卡設計與流程
- [ ] 設計後續關卡及其挑戰
- [ ] 測試並優化遊戲關卡流程
:開發遊戲基本架構
 - [ ] 開始遊戲的程式架構開發(UI設計、主菜單)
- [ ] 建立遊戲的基礎動作系統(移動、跳躍、攻擊等)
- [ ] 編寫遊戲的基礎框架(開始畫面、選單功能)
:遊戲AI開發
- [ ] 開始設計遊戲中的敵人AI
- [ ] 撰寫敵人的行為邏輯(巡邏、攻擊、逃跑等)
- [ ] 測試AI的行為和反應
:遊戲音效與音樂
- [ ] 準備遊戲的背景音樂與音效
- [ ] 編輯並整合遊戲音樂
- [ ] 測試音效在不同場景中的表現
:遊戲角色與物品設計
- [ ] 設計遊戲中的武器與道具
- [ ] 編排角色可以使用的物品清單
- [ ] 測試角色裝備與物品使用的效果
:遊戲界面設計
- [ ] 設計遊戲UI(血量、道具、等級等顯示元素)
- [ ] 開發遊戲選單與過場動畫
- [ ] 測試界面的使用性與直觀性
:遊戲視覺效果與特效
- [ ] 設計遊戲中的視覺特效(爆炸、光暈、技能效果等)
- [ ] 開發與優化遊戲的視覺效果
- [ ] 測試特效在遊戲中的表現
:單機內容擴充與調整
- [ ] 設計與實現更多的關卡或挑戰
- [ ] 開發遊戲的額外內容,如支線任務、隱藏地點、隱藏角色等
- [ ] 優化遊戲的遊玩體驗,調整單人遊戲的進度和挑戰性
- [ ] 測試新增內容的平衡性,確保不影響遊戲主線進程
:遊戲進度與儲存系統
- [ ] 開發遊戲的儲存與載入系統
- [ ] 設計進度條系統與成就系統
- [ ] 測試存檔與讀取的穩定性
:遊戲平衡性調整
- [ ] 調整遊戲內部的角色與敵人屬性
- [ ] 測試不同難度設定與遊戲平衡
- [ ] 改進遊戲內的數值系統
:遊戲測試與修正
- [ ] 進行內部測試,發現並修正漏洞
- [ ] 優化遊戲的加載時間與性能
- [ ] 收集測試反饋,進行必要的修正
:測試與修正
- [ ] 進行遊戲的內部測試,專注於找出並修正漏洞或錯誤
- [ ] 確保遊戲的主要流程順暢,調整關卡設計與遊戲平衡
- [ ] 根據測試結果進行調整,提升遊戲的穩定性和體驗
:優化與完善
- [ ] 對遊戲的性能進行優化,減少加載時間,提升遊戲運行流暢度
- [ ] 改進遊戲中的視覺效果、音效及過場動畫,提升整體質感
- [ ] 調整遊戲內部數值和平衡,確保玩家的挑戰性和樂趣
-->