admin 發表於 2022-6-4 19:18:10

復古宇宙總結

近期新開的復古宇宙採用 java 語言編寫
這是跟現有論壇和其他各宇宙不同的。

總結一下這個版本優點:
1. 行星能變換圖片
2. 船艦和防禦參數會隨科技等級變化
3. 資訊頁可以調整顯示範圍建築等級
例如:想查金屬礦200級的產量都行
4. 建造建築與研發科技時可以自由調整順序
5. 資源統計頁會顯示資源倉庫容量何時滿的時間
6. 造船廠和防禦最低建造秒數為1毫秒(0.001)秒,解決了其他宇宙秒造問題,很棒。
7. 統計圖表:顯示個人排名與積分隨時間的變化,這點很好。
8. 艦隊派遣頁面為一頁式
9. 速射表
10. 環狀宇宙:
太陽系 499 和 1 之間的距離與太陽系 1 和 2 之間的距離相同。
      銀河系也是如此。

而其他宇宙則不同 是線性排列(1:1:1最近,9:499:15最遠)

11. 此版本具有全新的戰鬥引擎,參考自官方的戰鬥算法

12. 此版也具有違規運輸偵測系統,專門對付小號洗資源
一旦有人違規,將按照遊戲規則嚴格處置。


其他宇宙未來一樣會仿照復古宇宙全新版本的優點


缺點:
1. 資源欄數字和時間不會變動
2. 建造完成不會自動刷新網頁,要手動 F5
3. 無探險
4. 無戰鬥巡洋艦
5. 不能用中文命名星球,聯盟玩家名稱

其餘歡迎玩家補充

Assassin 發表於 2022-6-4 23:55:17

本文章最後由 Assassin 於 2022-6-5 12:00 AM 編輯

遇到疑似BUG?在資源欄發現39級跟41級金屬礦 的星球上發現
科技:電漿技術 金屬的部分變為負的 其他38級金屬礦以下的是正常的
P.S:旁邊的生產效率有調整測試 改回100%後還是負的39級金屬礦90%(含)以上 電漿技術加成便負的
41級金屬礦則是80%以上就變負的


admin 發表於 2022-6-5 00:08:14

Assassin 發表於 2022-6-4 11:55 PM
遇到疑似BUG?在資源欄發現39級跟41級金屬礦 的星球上發現
科技:電漿技術 金屬的部分變為負的 其他38級金 ...
能量的充裕會影響產量,不足就是負的

這些是查找出來的代碼
double efficiency = usedEnergy == 0 ? 1.0 : Math.min(1.0, (double) totalEnergy / usedEnergy);
var plasmaTechLevel = body.getUser().getTechnologyLevel(TechnologyKind.PLASMA_TECHNOLOGY);
int plasmaMetalBonus = 0;
int plasmaCrystalBonus = 0;
int plasmaDeuteriumBonus = 0;
plasmaMetalBonus = (int) Math.round(metalMineProduction * plasmaTechLevel * 0.01 * efficiency);
plasmaCrystalBonus = (int) Math.round(crystalMineProduction * plasmaTechLevel * 0.0066 * efficiency);
plasmaDeuteriumBonus = (int) Math.round(deuteriumSynthesizerProduction * plasmaTechLevel * 0.0033 * efficiency);

翻譯成白話就是:

能量效率 = 總能量 / 已使用能量
金屬加成=金屬礦產量 * 電漿技術等級 * 0.01 * 能量效率
晶體加成=金屬礦產量 * 電漿技術等級 * 0.0066 * 能量效率
重氫加成=金屬礦產量 * 電漿技術等級 * 0.0033 * 能量效率

那些代碼實測是沒有計算錯誤,所以沒有問題

alian250 發表於 2022-6-5 09:17:47

設置立面的「月球貼合」是什麼意思?用了都沒效果的樣子。
另外,殖民星的大小是多少倍?

Assassin 發表於 2022-6-5 12:14:12

admin 發表於 2022-6-5 12:08 AM
能量的充裕會影響產量,不足就是負的

這些是查找出來的代碼


還是不太懂耶 我的能量都是夠的如果是能量不足導致負數 那應該晶體跟重氫也會是負的?

admin 發表於 2022-6-5 13:40:29

alian250 發表於 2022-6-5 09:17 AM
設置立面的「月球貼合」是什麼意思?用了都沒效果的樣子。
另外,殖民星的大小是多少倍? ...
只是照字面翻譯
目前未知作用為何
需要等詳盡測試後方可知悉


殖民星大小在此版本中與其他宇宙有所不同
採用官服的最新設計
依照星球直徑決定可用建築空間

private int generatePlanetDiameter(int position) {
    ThreadLocalRandom random = ThreadLocalRandom.current();
    double x = Math.abs(8 - position);
    double mean = 200.0 - 10.0 * x;
    double sd = 60.0 - 5.0 * x;
    double numFields = mean + sd * random.nextGaussian();
    numFields = Math.max(numFields, 42.0);
    return (int) (Math.sqrt(numFields) * 100.0) * 10;
}
    var diameter = generatePlanetDiameter(coordinates.getPosition());
    diameter *= 2;
private int getPlanetMaxFields(int diameter, int terraformerLevel) {
    assert diameter > 0;
    float x = diameter / 1000.0f;
    return (int) (x * x) + fieldsPerTerraformerLevel * terraformerLevel;
}
目前的設定是 2 倍直徑,實際上可用建築空間會比其他宇宙來得大

admin 發表於 2022-6-5 15:39:41

Assassin 發表於 2022-6-5 12:14 PM
還是不太懂耶 我的能量都是夠的如果是能量不足導致負數 那應該晶體跟重氫也會是負的?
...

跟已使用能量有關,產量會隨能量的變動跟著改變,負的是很正常的

不想變負的就降低 金屬礦、晶體礦、重氫合成器的 生產效率 百分比

原本就是這樣的設計,這應該是理解上的問題,而非程式錯誤

因為有錯誤的話,原作者在開發測試的時候早就修正了

最終產量的實際計算過程比較複雜也不好說明就不貼代碼上來了

總之這是「玄學」有時候正,有時候負。

alian250 發表於 2022-6-5 15:58:52

admin 發表於 2022-6-5 01:40 PM
只是照字面翻譯
目前未知作用為何
需要等詳盡測試後方可知悉


我是試著手算了一下還是不太懂。

基本上跟殖民位置之間的關係是否有調整?因為我在其他文有問過相關問題。因為我想要殖大星,在遊戲內行星位置是關鍵,新版OG是789才會出現大小前三的星球,而在舊版OG內這些位置是太陽系的456號星球這樣。

抱歉我問題有點多。

admin 發表於 2022-6-5 16:21:04

alian250 發表於 2022-6-5 03:58 PM
我是試著手算了一下還是不太懂。

基本上跟殖民位置之間的關係是否有調整?因為我在其他文有問過相關問題 ...
Colonization
Number of fields ~ N(μ,σ2)

μ = 200 - 10|8 - position|

σ = 60 - 5|8 - position|

e.g. position 8 is the best for getting big planets

Astrophysics influences only the number of planets you can have, positions in solar systems don't matter. Go to the following page, to see the level table: https://ogame.wikia.com/wiki/Astrophysics#Level_Table
原文是這樣,資訊頁只是照著翻譯,殖民位置 8 能獲得大行星。表示原作者可能參考自最新設計。

這是其他宇宙的算法,固定數值,不像新版是採用公式計算。


$planetData      = array(
      1      => array('temp' => mt_rand(220, 260),      'fields' => mt_rand(95, 108),      'image' => array('trocken' => mt_rand(1, 10), 'wuesten' => mt_rand(1, 4))),
      2      => array('temp' => mt_rand(170, 210),      'fields' => mt_rand(97, 110),      'image' => array('trocken' => mt_rand(1, 10), 'wuesten' => mt_rand(1, 4))),
      3      => array('temp' => mt_rand(120, 160),      'fields' => mt_rand(98, 137),      'image' => array('trocken' => mt_rand(1, 10), 'wuesten' => mt_rand(1, 4))),
      4      => array('temp' => mt_rand(70, 110),      'fields' => mt_rand(123, 203),      'image' => array('dschjungel' => mt_rand(1, 10))),
      5      => array('temp' => mt_rand(60, 100),      'fields' => mt_rand(148, 210),      'image' => array('dschjungel' => mt_rand(1, 10))),
      6      => array('temp' => mt_rand(50, 90),                'fields' => mt_rand(148, 226),      'image' => array('dschjungel' => mt_rand(1, 10))),
      7      => array('temp' => mt_rand(40, 80),                'fields' => mt_rand(141, 273),      'image' => array('normaltemp' => mt_rand(1, 7))),
      8      => array('temp' => mt_rand(30, 70),                'fields' => mt_rand(169, 246),      'image' => array('normaltemp' => mt_rand(1, 7))),
      9      => array('temp' => mt_rand(20, 60),                'fields' => mt_rand(161, 238),      'image' => array('normaltemp' => mt_rand(1, 7), 'wasser' => mt_rand(1, 9))),
      10      => array('temp' => mt_rand(10, 50),                'fields' => mt_rand(154, 224),      'image' => array('normaltemp' => mt_rand(1, 7), 'wasser' => mt_rand(1, 9))),
      11      => array('temp' => mt_rand(0, 40),                'fields' => mt_rand(148, 204),      'image' => array('normaltemp' => mt_rand(1, 7), 'wasser' => mt_rand(1, 9))),
      12      => array('temp' => mt_rand(-10, 30),      'fields' => mt_rand(136, 171),      'image' => array('normaltemp' => mt_rand(1, 7), 'wasser' => mt_rand(1, 9))),
      13      => array('temp' => mt_rand(-50, -10),      'fields' => mt_rand(109, 121),      'image' => array('eis' => mt_rand(1, 10))),
      14      => array('temp' => mt_rand(-90, -50),      'fields' => mt_rand(81, 93),      'image' => array('eis' => mt_rand(1, 10))),
      15      => array('temp' => mt_rand(-130, -90),      'fields' => mt_rand(65, 74),      'image' => array('eis' => mt_rand(1, 10)))
);
$dataIndex = (int) ceil($position / (15 / count($planetData)));
$maxFields = (int) floor($planetData[$dataIndex]['fields'] * 2);
$diameter      = (int) floor(1000 * sqrt($maxFields));

alian250 發表於 2022-6-5 16:49:38

admin 發表於 2022-6-5 04:21 PM
原文是這樣,資訊頁只是照著翻譯,殖民位置 8 能獲得大行星。表示原作者可能參考自最新設計。

這是其他 ...

好吧,我殖錯位置了。八顆殖民星全在錯誤的位置。
要爆星重殖嗎?還是放棄不玩算了?
頁: [1] 2
檢視完整版本: 復古宇宙總結