一打一我已經打不贏它了
047ae3d^..b4463af ↗
多人亂鬥是因為我自己玩不下去才做的。一打一,弱的 AI 不是對手,強的我贏不了,棋力短時間又提不上來。答案是把人數加上去。
AbstractThe multiplayer melee mode exists because I could not beat my own AI. Weak opponents were boring, strong ones unbeatable, and my actual skill was not going to improve overnight. So I added more players instead.
那時候在想什麼
我的開發習慣有個不規則的節奏,走兩步停一步,回頭總結前幾步的成果再改進。我自己把它叫做費氏係數開發法。
到一個階段,我會想把玩過之後覺得該修的細節一股腦兒修掉,就像每兩天做一次大掃除。不髒就簡單清理,覺得有點髒了就大掃除一次。
那一週的七月二十五號就是大掃除的日子。十九個重構 commit,BoardScene 拆成八個檔案,fxKit 兩千多行拆成模組,styles.css 兩千六百行拆成十四葉。
實際做了什麼
群雄逐鹿是那一週最意外的東西。
起因是我自己玩不下去了。一打一的話,弱一點的電腦已經不是我的對手,可是打強的 AI 我又贏不了。棋力這種東西,短時間要提升不是容易的事,用外掛又覺得沒意思。
那怎麼辦?答案就是多人亂鬥。人多了,不確定性就上來了,難度又不會太高。
沒想到居然成了一個獨立玩法。
另一件是 HD-2D。這個純粹是補洞補出來的。
一開始規劃 SSS 級大招的時候,就想要三國無雙那種 3D 運鏡,視角立起來繞棋盤一圈。那時候盤上還沒有小人。後來小人的版本更新上去了,我才發現大招裡少了小人。
怎麼辦呢?就想到可以用 HD-2D 的做法,在 3D 場景上放 2D 人物。目前看起來效果不錯。
試過但沒留下
官網被我砍掉了。
那是 ChatGPT 提供的一個功能,可以依據你的內容生成一個入口網站。我試著建了一個面向玩家的版本,第一次建很快,但更新起來太麻煩,很燒算力。所以我放棄了那個項目,現在是沒有官網的。
察心那個功能原本規劃是後面要接大模型,讓 AI 更聰明一點。後來評估覺得不符成本。能夠程式化的就不要用到 AI 了。它現在的樣子有點像給新手的外掛,不太會下棋的人可以點開對手,預判它下一步可能下哪,然後想自己該下哪。
一般棋盤我也想過全部改用 3D 物件,但工程蠻大的,先擱置了。
還有四十四張亂鬥的 CG 被我撤掉。那批圖有瑕疵,我不滿意,重新按自己的意思加工提示詞,再生成一次。
結論
那批圖讓我發現一件事。
生成出來之後我才知道,約束和負面提示會讓圖片變得過於保守單調。改成用意境驅動,給它思考的自由度,AI 才做得出我想要的場景。
所以最後那五十四張敗蹟 CG 是這樣來的:晚上讓 AI 去生,早上爬起來匯入最終的成品。
那一週我還在主選單右上角加了一顆 Discord 鈕,當作試玩回饋的管道。到現在還沒有人加入。可能我也只分享給幾個好朋友玩而已,群組就先開著,以後會不會用到再說。