看板 GameDesign 關於我們 聯絡資訊
※ 引述《chenglap (無想流流星拳)》之銘言: : ※ 引述《zxcmoney (lol)》之銘言: : : 嗯 我先從結論說起 : : 我現在有興趣製作此遊戲的 : : 戰略AI編輯器 與 戰術AI編輯器 : : 不過我不打算將目前的AI修改到完善 : : 除了會避免AI作一般人類可以直接觀察到的腦殘行為外 : : 其他皆遵照原始的AI設定放入對應的判斷位子 等有心人士去設定 : : 基本上編輯器會將AI行動的判斷集中並分成各階段 : : 應該是能很快就找到AI判斷的位子 : : 總之 在收到原始碼後就會開始寫 : : 如果不滿意當時的成果與影響或著 : : 相信這遊戲直到被世人遺忘也不會有人用這編輯器產生有用的AI : : 無視這個編輯器即可 : 或者這樣說吧. : 第一是你需要 source code 時找我我會寄給你. 無論作任何 : 用途都是可以的. : 重點是, 如果你實現了的話, 其實我不可能反對你的做法, : 我之前的文章, 主要是將所有最大的困難都說出來, 讓你在 : 做之前先意識到這些困難都是存在的. 而如果你理解了這些 : 困難, 那你就可以開始做了. : 我舉出困難並不是說這件事做不到, 或者我不想做這件事, : 或者我覺得這件事沒價值, 而是我在給你正確的開發資訊, : 那是你在設計前一定要先知道的各種資訊. 或許是我的表達能力不好 我再用我認為比較容易理解方式再說明一次好了 我做出承諾 在收到原始碼(source code)後 就會開始寫「戰略AI編輯器」與「戰術AI編輯器」的系統 負起完成此系統的責任 包含 規劃.實作.除錯 其中初步規劃已經完成了 之後的實作及除錯在取得原始碼後開始 完成之後 在經過各種評估後 你只要決定是否要採用此ai編輯系統 註:此ai編輯系統 基本上沒有附上詳盡ai範例的打算 我並不是要完成ai 只是完成這套系統 說起來目前只是將ai判斷整理起來 並提供函式庫 除了編輯比較方便外 大致上還是寫程式 要完成比較簡易的介面必須要等能實用的ai完成後 依照ai的常用判定項提供成方便修改的簡易介面 : 第二點是, 這樣, 如果你有興趣建立人工智能的話, 比起其 : 他已說過的話, 我有想過一個比較理想的做法. 根據我看過 : 你的文章, 我想到一個系統間溝通的方式. : 那就是建立「內掛」. 如果你有玩過 online game, 會大概 : 明白這是甚麼. 內掛本身就是一種人工智能, 而且是一種十 : 分重要的人工智能. 這個部分基本上 我了解 女神onlie的遙控器(內掛)算是人工ai的編輯器了 不過那編輯器僅能設定 ai作戰的最高指導原則而已 不幸的是此戰略遊戲的ai並不能只是說 1.沒錢>去投資 2.治安不佳>內政 3.兵力不足>整備... 而是要能夠依照設定的目標 找出可實行的方案並實行 我想在#1BULOGmv中應該就有說明 不過還是重新說明一次好了 在決策後產生或是直接設定目標1.建立裝甲兵大軍(1部隊) 2.裝甲兵大軍補給(每回1台) 建立裝甲兵大軍─騎兵升級┬三等騎兵─訓練二等騎兵… └$150─建設 建立裝甲兵大軍─裝甲兵學校生產┬建設裝甲兵學校─$800─建設 └SP150─建設 在經過方案尋找的過程完成兩的方案堆疊 /*這結構好像也不算堆疊了 此外也不一定會產生兩個方案 設計者如果認為訓練的時間成本不論如何都比$800的建設成本高 使得產生的決策樹沒有這種可能性 結果就只會有方案b*/ 但是ai並不能單以這兩者作判斷 所需的時間和資源還需要到建設程序決策 同時對最高 預定目標02也有影響 實際上這部分用流程圖表達可能會比較好 不過用bbs繪圖並不方便 目前的系統是依照預定目標會決定其中的行動 當預定目標無法完成時就會產生前置目標 此例中軍事ai前置性最高的目標 除了訓練外都是屬於建設目標處理的決策範圍 所以會送往建設ai的程序階段才會決策 假設經過軍事ai.建設ai.改革ai...等數個階段的決策計算 可以計算出各種組合方案可能的時間.行動與資源及現在的改革方向 建立裝甲兵大軍─騎兵升級┬三等騎兵─訓練二等騎兵(已有) └$150─建設鴉片田 建立裝甲兵大軍─裝甲兵學校生產┬建設裝甲兵學校─$800─建設鴉片田 └SP150─建設鴉片田 並且計算出 兩個方案的成本 方案a 的可能成本為 a1日(10TP/日) a2TP = a1*10+a2 方案b 的可能成本為 b1日(10TP/日) b2TP = b1*10+b2 因為a<b 所以最後選擇方案a 並從前置性最高的目標"建設鴉片田"開始實行 覺得這樣很麻煩ai也可以這樣設計 軍事ai 訓練! 訓練! 訓練! 訓練! 訓練! 「產生了5個訓練目標」 建設ai 投資! 投資! 投資! 投資! 投資! 「產生了5個投資目標」 外交ai 宣戰! 宣戰! 宣戰! 宣戰! 宣戰! 「產生了5個宣戰目標」 改革ai (...) 「沒有產生任何目標」 行動ai 執骰子決定... /*因為各ai 送來的目標無法一次全實行 同時優先權也都一樣 所以執骰子決定*/ 「隨機選擇目標放入行動陣列」 當敵人攻進來時 戰術ai 兵力怎麼全都是0阿! 「自動轉進」 最後...一個國家就消失於歷史的洪流之中... 這系統可以設定的很詳盡 也可以隨便設定就好 每個系統每部分都是獨立的 不過也可以利用階層關係設計階層式的線性思考ai 以上說明有不懂的地方請發問 我可以試著加強我的表達能力 而如果有此設計架構上可能的缺點請提出來 一個人想再久還是會有盲點 : 雖然說那麼多, 做遊戲最重要的是覺悟而已, 你覺悟足夠, : 甚麼都是有可能完成的, 也值得完成的. : 這是我看完你的想法之後, 訂下的工作時間表, : 1. 在遊戲裡建立「外部資訊取得基制」 : 也就是先建立一個 function, 那用途是專門取得遊戲裡 : 的資料, 這個 function 大概是 in str, out str, 像 : 是這樣. : GetData('Country=國民政府;SP_Plus;TP_plus;'); : 回應 : 42;45; : 而你要寫這個基制, 必先要看完我 source code 裡各種 : 資料架構. : 你必須先有了這些資料, 然後才能夠測試你的系統. : 2. 第二是「命令傳達基制」 : 比方說, 徵兵的命令在玩者操控時是按徵兵, 而電腦的內 : 掛操作時, 是向遊戲輸入 command line 「conscription : 重慶;民兵;隨機將領」 : 自然該命令的成功和失敗都要 feedback : 3. 以上兩個基制需要建立相關的 lexical analysis engine : , 即是語法分析器. 這點應該在人工智能上相當重要. : 簡單來說, 就是比方說, 輸入「(A+B)*C」給電腦, 電腦 : 懂得將這條式計出來. : if else 裡面的重點在於「if (condition) else」, 就 : 是條件判定, 條件判定等於算式判定. 算式判定就需要有 : 這東西, 因此這一部份是一定要先完成的. : 4. 基本上有了這兩個輸出和輸入的基制, 外面的東西你才可 : 以依照你的計劃去實行. 嗯 看來你有你理想中的架構了 而且還包含了 語法分析器 這設計讓編輯者方便很多 不過作起來很麻煩(特別是除錯時 所以我設計的話不打算做出來) 不過如果你有興趣親自完成編輯器那是再好不過的事了(個人單方面的希望) 有需要的話可以參考 我提出的架構 要是能從其中找到有用的的設計那是再好不過的 如果覺得這設計實在很糟 用這種架構不可能寫出實用的AI 這個架構完全沒有參考的價值 那也只要無視這個架構的存在就好 總之 決定權在你手上就是了 自己寫的話我想應該是會符合你理想中的系統 由我來寫的話則是依照我的架構去實作 : 然後人工智能的邏輯方面, 以及怎樣高度化方面, 有一些專書 : , 如果你有興趣可以去看的. : 這些是我能給你的參考資訊, 當然不僅如此, 但站在「分析」 : 的角度去看, 工作必然是將一件複雜的工作先拆細, 然後再拆 : 細的部份一個個地去完成. 現在是「分析」的階段, 也就是說 : 我們要先找出, 有甚麼工作是需要完成的. : 如果我們在處理的是「建造一個系統」的問題, 我相信我們應 : 該用到工程的做事方式, 也就是「Issue -> Objective -> : User Requirement -> Analysis -> Design -> Implementation : -> Testing」, 應該是先有了分析然後再設計. 嗯 了解 不過呢 我想分析 其實還要先有目標 以完成「目標」開始「分析」 由「分析」成果進行「設計」 完成「設計」再開始「實作」 完成「實作」後開始「除錯」 「除錯」完成產生出「成果」 再由「成果」中尋找「目標」 「我們比起前一分鐘的我們更為進化 每旋轉一回就能稍加前進一步 那就是鑽頭啊!!」  by西蒙 所以說螺旋力的應用是很廣的 總之 我只是想表達「我了解了」 : 我暫時能給你的資訊是這些, 我建議由 1 開始想你的設計. 先 : 分析「人工智能需要些甚麼資訊」. 嗯...這部分 我想過了 應該在#1BUGyAzA有提出來過 或許是我的表達能力不好 現在還是重新提出來一次好了 >可能用到的屬性 資料分析的內容.各國情報.部隊資料… 目前大概只有人物的野望與技能等不會直接引用 人物的野望值我還是不知道那是作什麼用的 所以不會引用到 而人物的技能則是在部隊中就計算過了所以也不會引用 不過現在再想想有特殊技能者或許有優先養成的價值 能作為養成的方向的決策判斷 而函式的部分 也有提出兩項 不過實際上會用到的部分非常多 如果你有興趣自行製作 只要有資料結構 我可以幫忙製作函式並附上說明 如果想等我製作的編輯器 我會在完成系統後開始製作函式庫 總之 我認為決定權在你那 有需要討論 以幫助你做決定的話可以繼續討論 來信或在板上都可以 你可以視希望討論的內容作決定 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.52.221