KI (Künstliche Intelligenz): Unterschied zwischen den Versionen
(added: english textes) |
(→Troops: Suggestion (not done yet): Minor troops (if defined) build automatically up to a special limit (max 20 troops or better get limit from new minor_troops.data) http://forum.birth-of-the-empires.de/viewtopic.php?p=34335#p34335) |
||
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
{|width="100%" bgcolor="#dadada" style="border:2px solid #000000;padding:1em;padding-top:0.5em;" | {|width="100%" bgcolor="#dadada" style="border:2px solid #000000;padding:1em;padding-top:0.5em;" | ||
− | | bgcolor="#dadada" width="51%" - valign="top" align="center"| http://birth-of-the-empires.de/wiki_files/Bilder/Deutsch-Symbol.jpg | + | | bgcolor="#dadada" width="51%" - valign="top" align="center"| http://birth-of-the-empires.de/wiki_files/Bilder/Deutsch-Symbol.jpg Intro |
− | | bgcolor="#dadada" width="46%" - valign="top" align="center"| http://birth-of-the-empires.de/wiki_files/Bilder/Englisch-Symbol.jpg | + | | bgcolor="#dadada" width="46%" - valign="top" align="center"| http://birth-of-the-empires.de/wiki_files/Bilder/Englisch-Symbol.jpg Intro |
|- | |- | ||
| bgcolor="#fafafa" valign="top"| | | bgcolor="#fafafa" valign="top"| | ||
Zeile 13: | Zeile 13: | ||
− | Bei einer schlechten Ausgangslage kommt die KI bei niedrigen [[Bote.ini|Schwierigkeitsgraden | + | Bei einer schlechten Ausgangslage kommt die KI bei niedrigen [[Bote.ini|Schwierigkeitsgraden]] meist erst circa ab Runde 100 gut zurecht, bei höherem Schwierigkeitsgrad bereits eher. Dadurch ist bei niedrigem Schwierigkeitsgrad ein leichterer Spielerfolg möglich. |
+ | ---- | ||
Threads: | Threads: | ||
*ein Strategieguide vs (cheater-) KI http://forum.birth-of-the-empires.de/viewtopic.php?f=13&t=1539 (search entry t=1539) | *ein Strategieguide vs (cheater-) KI http://forum.birth-of-the-empires.de/viewtopic.php?f=13&t=1539 (search entry t=1539) | ||
Zeile 20: | Zeile 21: | ||
*(internal) KI-Vorgaben http://forum.birth-of-the-empires.de/viewtopic.php?f=16&t=1076 (search entry t=1076) | *(internal) KI-Vorgaben http://forum.birth-of-the-empires.de/viewtopic.php?f=16&t=1076 (search entry t=1076) | ||
| bgcolor="#fafaba" valign="top"| | | bgcolor="#fafaba" valign="top"| | ||
+ | '''AI''' controls the [[Imperien Übersicht|empires]] without a human player and also the [[Kleine Völker|minor races]]. | ||
+ | |||
+ | |||
+ | At a bad starting position and at low level of [[Bote.ini|difficulty]] AI usually needs until about turn 100 for doing well, at higher difficulty this will become quicker. So with low difficulty it's easier to get winning. | ||
+ | |||
+ | ---- | ||
+ | Threads: | ||
+ | *ComputerAI http://bote2.square7.ch/forum/viewtopic.php?f=15&t=4957 (search entry en_t=4957) | ||
|} | |} | ||
− | |||
= Building Queue = | = Building Queue = | ||
{|width="100%" bgcolor="#dadada" style="border:2px solid #000000;padding:1em;padding-top:0.5em;" | {|width="100%" bgcolor="#dadada" style="border:2px solid #000000;padding:1em;padding-top:0.5em;" | ||
− | | bgcolor="#dadada" width="51%" - valign="top" align="center"| http://birth-of-the-empires.de/wiki_files/Bilder/Deutsch-Symbol.jpg | + | | bgcolor="#dadada" width="51%" - valign="top" align="center"| http://birth-of-the-empires.de/wiki_files/Bilder/Deutsch-Symbol.jpg Bauliste |
− | | bgcolor="#dadada" width="46%" - valign="top" align="center"| http://birth-of-the-empires.de/wiki_files/Bilder/Englisch-Symbol.jpg | + | | bgcolor="#dadada" width="46%" - valign="top" align="center"| http://birth-of-the-empires.de/wiki_files/Bilder/Englisch-Symbol.jpg Building Queue |
|- | |- | ||
| bgcolor="#fafafa" valign="top"| | | bgcolor="#fafafa" valign="top"| | ||
Zeile 39: | Zeile 47: | ||
*Die KI baut derzeit keine Gebäude, die eine negative Moral besitzen. Es ist schwierig programmatisch vorauszusehen, ob das irgendwann nicht mal in einer Rebellion enden könnte. Da besteht noch Verbesserungsbedarf für die Bau-KI. | *Die KI baut derzeit keine Gebäude, die eine negative Moral besitzen. Es ist schwierig programmatisch vorauszusehen, ob das irgendwann nicht mal in einer Rebellion enden könnte. Da besteht noch Verbesserungsbedarf für die Bau-KI. | ||
| bgcolor="#fafaba" valign="top"| | | bgcolor="#fafaba" valign="top"| | ||
− | + | *AI doesn't have a fixed list what to build. AI always calculates prios of needs and then AI searches for structures to achieve this. Criteria are industry costs, resources prerequisites and availableness, but also storage contents and currently morale value. | |
+ | *Not any time AI is enable to build a building (e.g. for lack of resources). Then AI tries to build something else. | ||
+ | *AI doesn't build anything which would last e.g. 100 turns: In the mean time population might be famished, morale could break down and so on. So building orders are belanced. | ||
+ | *Currently AI doesn't builds anything with a negative morale value (e.g. Cartare Labor Camp) because it's difficult to anticipate by program code if this would end in a rebellion anytime. AI-Code has to be improved for this. | ||
|} | |} | ||
− | |||
=Resources = | =Resources = | ||
Zeile 75: | Zeile 85: | ||
|} | |} | ||
+ | = Diplomacy = | ||
+ | |||
+ | {|width="100%" bgcolor="#dadada" style="border:2px solid #000000;padding:1em;padding-top:0.5em;" | ||
+ | | bgcolor="#dadada" width="51%" - valign="top" align="center"| http://birth-of-the-empires.de/wiki_files/Bilder/Deutsch-Symbol.jpg KI: Diplomatie | ||
+ | | bgcolor="#dadada" width="46%" - valign="top" align="center"| http://birth-of-the-empires.de/wiki_files/Bilder/Englisch-Symbol.jpg AI: Diplomacy | ||
+ | |- | ||
+ | | bgcolor="#fafafa" valign="top"| | ||
+ | *'''Kriegserklärung''': Die KI erklärt jemanden den Krieg, wenn dieser militärisch deutlich unterlegen ist oder ihre [[Gesinnung]] zum Gegner niedrig ist. Forum: http://birth-of-the-empires.de/phpBB3/viewtopic.php?p=33278#p33278 (search entry t=2550) | ||
+ | | bgcolor="#fafaba" valign="top"| | ||
+ | *'''Declares War''': AI declares war, when enemy is clearly inferior in military view or their [[Gesinnung|relation]] to the opponent is low. | ||
+ | |} | ||
= Intelligence = | = Intelligence = | ||
Zeile 83: | Zeile 104: | ||
|- | |- | ||
| bgcolor="#fafafa" valign="top"| | | bgcolor="#fafafa" valign="top"| | ||
− | Die KI verwendet nur Sabotage. Eine Geheimdiensaktion wird gestartet, wenn die Geheimdienstpunkte + Punkte aus Depot größer sind als die gegnerische Innere Sicherheit + deren Inneres Depot. (Quelle+Details: [[Programm-Code|IntelAI.cpp]]) | + | Die KI verwendet nur Sabotage (also keine Spionage). Eine Geheimdiensaktion wird gestartet, wenn die Geheimdienstpunkte + Punkte aus Depot größer sind als die gegnerische Innere Sicherheit + deren Inneres Depot. (Quelle+Details: [[Programm-Code|IntelAI.cpp]]) |
Zeile 97: | Zeile 118: | ||
'''Antwort SirPustekuchen:''' | '''Antwort SirPustekuchen:''' | ||
− | Zufall spielt eine Rolle. Als grobe Formel kann man sich aber bei Sabotage merken | + | Zufall spielt eine Rolle. Als grobe Formel kann man sich aber bei Sabotage merken: Angriff größer Verteidigung + X ist erfolgreich. Anzahl Aktionen = Angriff / (Verteidigung + X). X ist innerhalb bestimmter Parameter zufällig. X hängt auch von der Aggressivität und von der Art (Spionage/Sabotage) ab. Viel mehr will ich jetzt aber nicht verraten. |
| bgcolor="#fafaba" valign="top"| | | bgcolor="#fafaba" valign="top"| | ||
+ | AI just uses sabotage (no espionage). A intelligence action is started if intel points + points from depot more than enemies inner security + their inner security depot. (Source+Details: [[Programm-Code|IntelAI.cpp]]) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | '''Questions:''' | ||
+ | |||
+ | (not relevant) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | '''Answer by SirPustekuchen:''' | ||
+ | |||
+ | Random is relevant. As a rough formula you can remember at sabotage: attack larger defense + X will be successful. Number of actions = attack / (defense + X). X is random within certain parameters. X also depends on the aggressiveness and on the type (espionage / sabotage). I don't want whistle-blowing more. | ||
|} | |} | ||
− | |||
= Ships = | = Ships = | ||
Zeile 129: | Zeile 166: | ||
|- | |- | ||
| bgcolor="#fafafa" valign="top"| | | bgcolor="#fafafa" valign="top"| | ||
− | In der derzeitigen Version 0.90 ist immer noch so, dass die KI ausschließlich Systeme bombardiert (also nicht erobert!). Anschließend kolonisiert die KI dann das leergebombte | + | In der derzeitigen Version 0.90 ist immer noch so, dass die KI ausschließlich Systeme bombardiert (also nicht erobert!). Anschließend kolonisiert die KI dann das leergebombte System. |
| bgcolor="#fafaba" valign="top"| | | bgcolor="#fafaba" valign="top"| | ||
It's still so (V0.90) that AI only bombards systems (no conquering). After eliminating all population AI does a fresh colonization. | It's still so (V0.90) that AI only bombards systems (no conquering). After eliminating all population AI does a fresh colonization. | ||
|} | |} | ||
+ | see also: http://forum.birth-of-the-empires.de/viewtopic.php?p=34199#p34199 (search entry p34199) | ||
= Troops = | = Troops = | ||
Zeile 144: | Zeile 182: | ||
| bgcolor="#fafaba" valign="top"| | | bgcolor="#fafaba" valign="top"| | ||
At the moment (Alpha7 V0.90) BotE's AI can not handle troops. So AI scraps troops at the beginning, also because some troops have morale values which could be destructively in some case. | At the moment (Alpha7 V0.90) BotE's AI can not handle troops. So AI scraps troops at the beginning, also because some troops have morale values which could be destructively in some case. | ||
+ | |||
+ | Suggestion (not done yet): Minor troops (if defined) build automatically up to a special limit (max 20 troops or better get limit from new minor_troops.data) http://forum.birth-of-the-empires.de/viewtopic.php?p=34335#p34335 | ||
|} | |} |
Aktuelle Version vom 28. Oktober 2014, 18:30 Uhr
click here for other languages |
Intro
Intro | Intro |
Die KI (Künstliche Intelligenz) steuert die anderen Imperien sowie die kleinen Völker.
Threads:
|
AI controls the empires without a human player and also the minor races.
Threads:
|
Building Queue
Bauliste | Building Queue |
|
|
Resources
Deritium
Die KI bekommt in jeder Runde etwas Deritium "geschenkt" und zwar je höher der Schwierigkeitsgrad, desto mehr. Quelle: Code Build 58548 botf2Doc.cpp: int temp = rand()%((int)(m_fDifficultyLevel * 7.5)); |
Each turn AI gets some Deritium (totally free = cheated), and the higher the difficulty level the more it gets. Source: Code Build 58548 botf2Doc.cpp: int temp = rand()%((int)(m_fDifficultyLevel * 7.5)); |
Research
KI: Forschung | AI: Research |
Seit Version Alpha6.1 (V0.81) erforscht die KI auch Spezialforschungen (siehe ResearchAI.cpp). |
Since Version Alpha6.1 (V0.81) AI also does special research (see ResearchAI.cpp) |
Diplomacy
KI: Diplomatie | AI: Diplomacy |
|
|
Intelligence
Die KI verwendet nur Sabotage (also keine Spionage). Eine Geheimdiensaktion wird gestartet, wenn die Geheimdienstpunkte + Punkte aus Depot größer sind als die gegnerische Innere Sicherheit + deren Inneres Depot. (Quelle+Details: IntelAI.cpp)
Wonach aber richtet sich die Anzahl erfolgreicher Aktionen pro Runde? Manchmal wird nur 1 Ziel erfolgreich sabotiert, in der nächsten Runde aber 3. Zufall, oder wird für jedes erneute punktemässige Überwinden der inneren Sicherheit in der selben Runde 1 Aktion durchgeführt?
Zufall spielt eine Rolle. Als grobe Formel kann man sich aber bei Sabotage merken: Angriff größer Verteidigung + X ist erfolgreich. Anzahl Aktionen = Angriff / (Verteidigung + X). X ist innerhalb bestimmter Parameter zufällig. X hängt auch von der Aggressivität und von der Art (Spionage/Sabotage) ab. Viel mehr will ich jetzt aber nicht verraten. |
AI just uses sabotage (no espionage). A intelligence action is started if intel points + points from depot more than enemies inner security + their inner security depot. (Source+Details: IntelAI.cpp)
(not relevant)
Random is relevant. As a rough formula you can remember at sabotage: attack larger defense + X will be successful. Number of actions = attack / (defense + X). X is random within certain parameters. X also depends on the aggressiveness and on the type (espionage / sabotage). I don't want whistle-blowing more. |
Ships
AI: terraforming and colonizing
Seit Alpha7 V0.90 terraformt die KI alle Planeten mit weniger als 8 Terraform-Punkten. Nur wenn kein anderer kolonisierbarer Planet in diesem System gefunden wird und kein Planet mit weniger als 8 nötigen Terraform-Punkten -> nur dann werden Planeten mit mehr als 8 Punkten terrageformt. (Quelle: CShipAI::DoTerraform). Bis Version 0.81 war es noch so, dass die KI immer erst ein System komplett terraformte und erst dann kolonisierte. Das war teilweise schlecht für die KI. |
From Alpha7 V0.90 on AI terraforms all planets with needed terraform-points less than 8 will get terraformed. Only if no other planet is found which be can colonized in this system and no planet with less terraform-points than 8 -> than a planet with more than 8 terraform-points will be terraformed. (Source: CShipAI::DoTerraform) Until version 0.81 AI firstly terraformed all planets before colonizing. This wasn't good for AI. |
Attacking systems
In der derzeitigen Version 0.90 ist immer noch so, dass die KI ausschließlich Systeme bombardiert (also nicht erobert!). Anschließend kolonisiert die KI dann das leergebombte System. |
It's still so (V0.90) that AI only bombards systems (no conquering). After eliminating all population AI does a fresh colonization. |
see also: http://forum.birth-of-the-empires.de/viewtopic.php?p=34199#p34199 (search entry p34199)
Troops
Momentan kann die KI noch nicht mit Truppen umgehen. Deshalb entsorgt die KI ihre Truppen gleich zu Beginn, auch weil einige Truppen ja auch Moralwerte haben, die sich in manchen Situationen hinderlich auswirken könnten. |
At the moment (Alpha7 V0.90) BotE's AI can not handle troops. So AI scraps troops at the beginning, also because some troops have morale values which could be destructively in some case. Suggestion (not done yet): Minor troops (if defined) build automatically up to a special limit (max 20 troops or better get limit from new minor_troops.data) http://forum.birth-of-the-empires.de/viewtopic.php?p=34335#p34335 |