iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0

今天又花了一些時間進行重構,終於達到可以再往下進行的階段。其中最主要的部份是確立Hosting的引用,並將原先重複的專案再進行整合。由於是不同agent所產生的,產生的層級,程式碼等都不太統一。之前為了先將遊戲能概略的運行,並不理會重複,但要持續徒下開發還是要整理。

既然已整理到可以往下開發的部份,那接下來就要著手進行

  • Inventory
  • Battle
  • Quest

等地城遊戲通常會有的基本功能,一樣是會以plugin的方式進行,讓程式運行時能動態進行加載。對於這些基礎的系統,沒有太多等有的想法,就由AI先將基本的框架產出後,再來進行微調。

隨著遊戲玩法的調整,比較麻煩的是測試,由其是單元測試完全無法協助玩法,所以還是要加入其它的測試才行,然過去有試Integration測試,效果並不好。於專案初期就想過的asciinema,也一直找不到比較合適的方式進行記錄後比對。就此,接下來數天還是要再實驗看是否能經由asciinema得到一份完整的比對。

此外,為了要確定plugin的架構有助於多平台可以呈現特定的玩法,故導入另一個windows呈現的專案,但開發上還是會以console app為主體,多了一個專案只是要確立是否在切分玩法時有效的將功能抽離出。若是沒有抽離好,則會造成二個專案重複的程式碼被撰寫出來。雖然多一個對照用的專案會增加專案維護成本,但沒有這個對照用的專案,agent寫出來的程式碼有可能會太狹隘。

現有的UI還是很基礎的,但要如何擴增管理也還沒有定論。只是從Terminal.Gui v2的API來看,似乎少了stack管理,所以panel本身沒有前後層的概念,這點對於多選單呈現的UI來說非常重要。若是真的缺少,勢必會影響後續的開發,到時只能再請agent額外處理這部份。

至於敵人的移動是採取半即時制,這點在後續的調整上也要逐漸週整成回合制。且敵人的能力並沒有被規範,也要再花時間進行這部份的設計,包含至少再加入數種不同的怪物做為測試。甚至是遊戲AI,像state machine,behavior tree等,也在考慮中。


上一篇
Non stop refactory
系列文
Before AI dominate the world, AI dominate my world29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言