iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0

今天將Terminal.Gui的呈現以Plugin的方式載入。沒有多做調整時Terminal.Gui有它預設的呈現樣式和配色。由於沒有加入任何的系統,畫面上只有代表玩家的一個”@”符號。

https://ithelp.ithome.com.tw/upload/images/20250925/20107519YEQxorpaEq.png

雖然不是很明顯,但的確是在啓動時才將所需要的assembly加載進來。

dotnet run --project .\dotnet\ConsoleGame\src\ConsoleGame.App\ConsoleGame.App.csproj
ConsoleGame.App – AssemblyLoadContext demo
Primary: Hello from ConsoleGame.App | Loaded: Hello from ConsoleGame.App | Contexts: primary=Default, copy=SelfCopyContext
info: ConsoleGame.App.Hosting.PluginRuntimeHostedService[0]
    Using default dungeon plugin at dotnet\ConsoleGame\src\ConsoleGame.Dungeon.Plugin\bin\Debug\net8.0\ConsoleGame.Dungeon.Plugin.dll
info: ConsoleGame.App.Hosting.PluginRuntimeHostedService[0]
    Launching plugin from dotnet\ConsoleGame\src\ConsoleGame.Dungeon.Plugin\bin\Debug\net8.0\ConsoleGame.Dungeon.Plugin.dll

而這個版本也試著將音樂音效Library加入。一開始時本來是要用NAudio,但在chat-gpt上詢問後,它的建議是用libvlcsharp。chat-gpt推薦的理由是libvlcsharp用於跨平台時是很方便的。不過一開始加進來後不知道為什麼會一直出現DirectSound的錯誤,一直沒有修好,最後只能用它自有的wave方案,才正式的可以發出聲音。

載入部份試驗是可行的,但缷載卻是一直出問題,沒有辧法缷載。找了很久,才發現問題應該是出在於Terminal.Gui的static型別沒有特別處理,導致AssemblyContextLoad無法順利進行移除。這部份還要再花些時間釐清是否是static型別造成的,還是有其它沒注意到的問題。

現在的載入是從預先安排好的路徑所得到的結果,不過之後有些加載還是要在runtime時可以自由選取,故會朝著這想法做修正,利用UI選單進行載入或是缷載的操作。

這幾天利用Agent時發現有gpt-5-codex可選擇,不清楚它和gpt-5是不是一樣的,還是是不同世代的。而網路上多用gpt-5-codex去比較claude opus 4.1,和之前gpt-5出來時的比較層級是一樣的(都不去和claude sonnet 4做比較),所以應該是差不多的AI model。我交互使用下也沒有感受到任何差異,就當做是相同的AI model,只是多一種可以選擇。

使用TUI畫面看起來不會那麼死板,但它會將原寫到console上的log擋住,以致於沒有辦法也速的從log中知道哪裡有錯誤。但開發的考量是console log相當的重要,接下來要安排將log顯示出來的功能。想法上是在TUI裡開一塊區域顯示log,若是效果不好,就只好寫到file上,再進行解析以達到開發時所要的需求。

另外,GitHub issue目前也還是用手動建立並手動assign的方式進行。所以這二天的使用分鐘都維持在很短的時間內,也沒有再出現用量超過被暫時鎖住的問題。但總覺得能讓coding agent自行處理的整個流程是很便利的,還是很希望能將之前寫的workflow再做調整,以期恢復並達到之前的規劃。

明天開始,要來增加一些地城該有的機制,像是迷宮、怪物等,讓畫面上不僅僅只有單調的玩家符號,也讓更多的怪物加進來,熱鬧熱鬧。


上一篇
Plugin implementation starts
下一篇
Unrelated task scattered
系列文
Before AI dominate the world, AI dominate my world13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言