[HOI4] 1.3.3開發日誌#2: 資源缺乏、AI、效能

看板Paradox作者 (DogEggz)時間7年前 (2017/02/16 13:06), 7年前編輯推噓17(17023)
留言40則, 19人參與, 最新討論串1/1
原文: https://goo.gl/yBU7F9 資源缺乏 目前資源缺乏最多只會有80%的產能懲罰 因此玩家可以用大量工廠來減少缺乏資源的減成 我們覺得這種機制的真實性不夠,也使缺乏資源對大國家來說不那麼致命 因此我們將資源缺乏的懲罰上限提高至100% 產線上每"個"(不是每種)缺乏的資源會給予5%的產能懲罰 因此缺超過20個資源後工廠就無法運作 便民改動 - 下達建築指令時同時按下Crtl可以將該建築提升至第一建築順位 - 點擊師團時單位界面現在會切換到該師團所在的位置 (圖示: http://i.imgur.com/5xWikKp.jpg
) - 右下角新增隱藏非玩家單位的按鈕(快捷鍵:M),讓你可以簡單找到你的軍隊 (圖示: http://i.imgur.com/Hdp6fdT.jpg
) - 新增關閉戰爭迷霧按鈕,讓你可以更清楚的分辨地形 - 新增讀取進度條 - 多人連線時有人LAG的警告訊息改為通知(界面上面那一排)而非彈出視窗 - 新增陸軍師團未被指派的通知 (圖示: http://i.imgur.com/J6pWuqD.png
) AI 我們發現德國在多次重複試驗中都可以打敗英國 一開始我們以為是因為德國能穩定的擊敗蘇聯而獲得大量工業產能 利用這些工業產能德國就可以海贏英國的飛機 後來我們發現我們錯了,主要的原因為海軍的AI不會更動已指派艦隊的任務區域 所以海軍會卡在特定的區域,因此我們做了以下兩點更動 - AI現在可以更好的評估海軍區域的情況,以便AI做艦隊調動 - 突擊艦隊(AI的海軍分類)在沒有任務會使用岸轟功能幫助陸上戰鬥 突擊艦隊指的是與其他國家海軍作戰的艦隊 接著是部分1.3.3的重點AI改動,注意這不是完整的改動列表 - AI在訓練部隊時會考慮他目前能補給多少部隊 - 增加equipment_stockpile控制選項,使你能藉由MOD的方式改變AI囤積軍備的數量 - 已有足量部隊的AI現在會改為囤積軍備而不是一直部屬部隊 - AI可以更好的使用作戰計畫系統,且可以更準確的評估各個前線所需的部隊 - AI不會再直接刪掉整個前線計畫了,在更改作戰計畫時AI會採用更溫和的改變 - AI在達到預期部屬數量後就會不會再繼續生產部隊 - 修正AI會忽略反抗游擊軍的重大問題 之前的CODE裡面我們是寫"擁有"區域而不是"控制"區域,所以AI完全不會理會剛占領的 領土工廠被拆爽爽,現在AI會使用防守駐軍指令來控制游擊軍了 - 修正AI提供軍備的邏輯 - AI現在會送過時的裝備給其他國家 - AI現在會在適當條件下取消運送軍備 - AI不會在擁有大量民生工廠時興奮的開始狂蓋港口和軍港了 效能改進 這次的效能改進主要針對的目標是效能尖峰需求時段的優化 也就是每次遊戲時間進入下一天的瞬間 在經過修正後遊戲的速度大約提升了14%~18% 1.3.2板時換日大約需要4秒,1.3.3板只需要不到0.4秒 除此之外遊戲的其他部分也有效能的改進 以下會說明我們是如何改進效能的 這個段落會比較技術性一點,對Coding沒興趣的人可以左轉離開了 - 我們改善了簽訂和約時AI國家計算他們割讓領土時的CODE。AI在合約畫面時會死命的按 跳過,每按一次就會讓遊戲跑得更慢,遊戲中每次談合約都會發生這個現象,在更正 code loop後問題就完美的解決了 - AI在指派海軍任務時,為了確保自己的指令有被正確的執行,他會一直發出移動艦隊的 指令(想像玩家玩即時戰略時一直點右鍵動部隊,差不多就像那樣),因此我們加了一行 Code之後就解決了這個問題 - AI計算登陸計畫、前線的部隊部屬、海軍戰鬥的雷達加成、運輸艦的路線的方式皆獲得 優化 - 補給系統的改進 在補給系統方面,我們大量的使用"提供的補給量"和"補給的需求量"這兩種資訊,主要是 用來判定可以塞多少部隊進去某區域而不會產生耗損。每次有需要用到補給系統的地方, 系統都會從頭計算可以提供多少補給量和需要多少補給,它會從區域中的每個單位身上獲 取補給需求量的資訊,也會計算目標區域可以提供多少補給,這個流程在遊戲的各個階段 都會大量的從頭重複計算,消耗大量效能,因此我們更改了code使部分資訊在第一次計算 後會存到快取記憶體中,之後需要這些資訊時,系統就會從記憶體中獲得。 另一個補給系統的問題是大量的部隊,在遊戲後期部隊太多時一直計算補給量很容易把系 統操壞,所以我們重寫了計算區域補給消耗量的code。之前的code會問區域中的每個部隊 你需要消耗多少補給,現在是每個部隊會自己回報他們的補給需求,地區中的部隊將他們 的補給需求統計後呈現在區域資訊中。雖然文字敘述上看起來是一樣的,但在code上可以 減少很多loop。俗話說的好,最好的優化方式就是直接把功能移除:D 補給方面還有其他優化的改動,總結而言之前補給系統占了每日計算的65% 現在只需要6%以下就能完成補給系統的計算 另一個改進是AI使用師團設計器的方式,目前每次在師團設計器中新增/移除/取代師團 時,整個師團的數值都會從頭計算。只有單一國家在弄師團設計器的時候並不會對效能造 成太大的影響,但如果全世界的AI國家都在同一時間嘗試各種不同的組合時就會對系統造 成負擔,因此我們把它改成只有在完成師團設計後才會計算數值。 最後一個是我最喜歡的改動,在克勞維茲引擎中有一個很舊的code loop是用來處理界面 的,它是使用平面的系統而不是樹狀層次的系統,所以我們在界面中加入新功能的時候會 導至效能越來越糟糕,甚至到了視窗不需要顯示的狀況下都會拖累效能。之前沒人敢動這 個牽一髮而動全身的部分,現在我們找到了新方法來修正這個loop,使每次loop要跑數量 從大約120000/禎到700/禎以下,也就是代表引擎不會在你開科技樹界面的時候,還分了很 多資源去跑你根本沒開起來的政府界面了。我們把這個部分怎麼改動告訴了其他團隊(CK、 EU、Stls),如果它們還是使用類似的code的話就可以把這些改動套用到其他遊戲中,改善 它們使用界面的效能。 我們目前仍致力於遊戲後期效能的改進,目前這些所有的改動花了我們1.5個星期,你可以 期待我們在未來的版本中持續修正這個部分。 ---------------------------------------------------- 由於本人非資訊相關科系,效能改進的部分可能會翻的比較不通順,歡迎指正 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.121.156.73 ※ 文章網址: https://www.ptt.cc/bbs/Paradox/M.1487221578.A.F9B.html

02/16 13:18, , 1F
從code這邊看來,eu4的系統效能消耗搞不好也能有提升
02/16 13:18, 1F
如果eu4的團隊沒有更動過這個部分,那就可以用這個方法提升效能

02/16 13:19, , 2F
總而言之遊戲變順了就是好事
02/16 13:19, 2F

02/16 13:20, , 3F
後期LAG真的煩凡的
02/16 13:20, 3F

02/16 13:22, , 4F
對了你圖片最後面離)太近 好讀板出不來
02/16 13:22, 4F
感謝提醒,已修正

02/16 13:45, , 5F
eu4似乎有一直讀取省份歷史的習慣
02/16 13:45, 5F

02/16 13:47, , 6F
假如這次更動介面code有改到這邊就好
02/16 13:47, 6F

02/16 14:16, , 7F
靠 橡膠只有東南亞有啊
02/16 14:16, 7F

02/16 14:17, , 8F
又在打壓希老闆
02/16 14:17, 8F

02/16 14:59, , 9F
大概德國太猛,最近一直被削弱
02/16 14:59, 9F

02/16 15:58, , 10F
感覺HOI團隊coding蠻強的,大概是新來了高手
02/16 15:58, 10F

02/16 16:01, , 11F
聽起來只要出一堆一工廠生產線就贏了?
02/16 16:01, 11F
缺乏資源給與的懲罰是綁工廠的,所以你開多產線一樣會有產能懲罰

02/16 16:10, , 12F
這就是軸心在史實中面臨的困境啊
02/16 16:10, 12F

02/16 18:07, , 13F
真是厲害 困難的bug都解掉了
02/16 18:07, 13F

02/16 18:23, , 14F
是會有懲罰 可是例如缺橡膠。每條生產線都缺三橡膠 就每
02/16 18:23, 14F

02/16 18:24, , 15F
條生產線各扣15% 總合起來還是15%啊
02/16 18:24, 15F

02/16 18:27, , 16F
結果還是不讓我屯橡膠跟油阿!
02/16 18:27, 16F

02/16 18:29, , 17F
跑去看了原文 下面回應是說堆疊是一起算的 所以我誤會了
02/16 18:29, 17F

02/16 19:02, , 18F
改AI是很好,但沒新系統讓人暫時不想回鍋
02/16 19:02, 18F

02/16 20:04, , 19F
又往open beta更進一步惹www
02/16 20:04, 19F

02/16 20:13, , 20F
P社的遊戲需要至少1-2年熟成 你看那精美的EU4(咦
02/16 20:13, 20F

02/17 00:01, , 21F
可以期待他後期的效能好多了對吧?
02/17 00:01, 21F

02/17 00:22, , 22F
阿不就回到3 而已......真的超半成品的
02/17 00:22, 22F
HoI4初版和Stls初版比起來我覺得Stls半成品感比較重 但是Stls的更新有誠意很多 HoI4的就讓我很無感 尤其是HoI4修AI修了快1年了 還是有很明顯的智障感 很破壞單人遊戲體驗

02/17 05:17, , 23F
每次聽開發日記就覺得是不同的遊戲,我不管怎麼看都是
02/17 05:17, 23F

02/17 05:17, , 24F
德國輸給蘇聯,偶爾還會輸給法國跟波蘭
02/17 05:17, 24F
史實模式下還是有低機率發生非史實結果喔 之前還看到有人分享史實模式下法國直接拒絕萊因區重新武裝 1936就直接AI對尻了 我自己是玩非史實模式所以對這種事情的接受度比較大 ※ 編輯: DogEggz (140.121.156.73), 02/17/2017 10:39:02

02/17 11:05, , 25F
hoi4在國府還沒作完前都是半成品
02/17 11:05, 25F

02/17 11:06, , 26F
亞洲明明就是個大戰場還是通用政治樹就是證明
02/17 11:06, 26F

02/17 11:10, , 27F
Stls的問題是科技樹太小,然後一堆抵銷政體特色的科技
02/17 11:10, 27F

02/17 12:10, , 28F
其實我希望可以多一些政策樹選擇,不然一個系統很容易
02/17 12:10, 28F

02/17 12:10, , 29F
玩膩,沒辦法像eu4那樣玩幾千小時不膩。各個意識形態
02/17 12:10, 29F

02/17 12:10, , 30F
都一個完整的樹這樣。
02/17 12:10, 30F

02/17 18:36, , 31F
我說的是一切都史實到開學日,結果德國被波蘭推爆那種
02/17 18:36, 31F

02/17 18:36, , 32F
窘境
02/17 18:36, 32F

02/17 18:38, , 33F
玩了幾百小時,只有一次開史實時看到德國沒吃下波蘭
02/17 18:38, 33F

02/17 18:38, , 34F
,1.3版剛出的時候
02/17 18:38, 34F

02/17 18:43, , 35F
樂見AI修正與系統優化
02/17 18:43, 35F

02/17 23:16, , 36F
1.3.3版beta已上囉 改不少東西
02/17 23:16, 36F

02/17 23:20, , 37F
中共領導變成張國燾了 RIP老毛
02/17 23:20, 37F

02/18 01:11, , 38F
查了一下 36年中共主席是張國燾沒錯啊
02/18 01:11, 38F

02/18 01:46, , 39F
剛剛玩了一下Beta發現還是老毛 可能是指國民政府轉共產
02/18 01:46, 39F

02/18 01:47, , 40F
的領袖改成張
02/18 01:47, 40F
文章代碼(AID): #1OfJDA-R (Paradox)