KiW

Powered by Perl

Forum

Bug-Busting (Seite 92)
Steffen
17.09.09 - 13:14
DBD::mysql::st execute failed: Unknown column 's.nation_one_id' in 'field list' at /home/kiw/kiw.kamele.org/cgi-bin/KiW/DBAccess.pm line 26.
Darko
17.09.09 - 13:20
fixed
Simon DePerte
17.09.09 - 17:06
Bestätige: Nationenrat-Bug des nichtaktualisierten Auswahlfensters ist gefixt.
Halbzeit
17.09.09 - 17:26
Nochmal zum Thema KiW-Verfolgungswahn:

Die Spionageaktion "Frachter klauen" hat nun 16x in Folge erfolgreich meinen Frachterbestand minimiert bzw. erhöht ohne dass je ein Versuch vereitelt wurde.
Dies gilt nicht für andere Aktionen wie Industriespionage, Forschungschiff entführen oder Kundschaften. Hierbei gibt es sowohl erfolgreiche als auch vereitelte Aktionen.

Paranoia oder Bug?
Simon DePerte
17.09.09 - 17:45
Im Zweifel ist es immer Paranoia.
Darko
18.09.09 - 09:08
Naja, die Auswertung des Erfolgs erfolgt für alle Aktionen an der gleichen Stelle, mit der Ausnahme, dass für Frachter und Forschungsschiffe das Risiko noch modifiziert wird, je nach Anzahl der Schiffe. Dies ist aber ziemlich einfach gehalten, und ich sehe da wahrscheinlichkeitstechnisch keinerlei Probleme im Code.

Wenn du 70 aktive Frachter hast, dann kann man einen übrigens risikofrei klauen.
Halbzeit
18.09.09 - 09:20
An welcher Stelle kommt die Anzahl der aktiven Frachter zum Tragen? oder
Wie sieht die Formel eigentlich aus?
Halbzeit
18.09.09 - 09:21
Achso:
Update: 17 Frachter and counting
Toshi
18.09.09 - 09:31
Nach den jüngsten Aktivitäten in der Primzahlrunde sehe ich bei der Spionage auch Gespenster!

Chrisch hatte 8 Industriespionagen bei mir laufen, die wohl alle zur gleichen Zeit angekommen sind und alle Stufe 1 hatten.
Meine Verteidigung lag zu dem Zeitpunkt bei 1,75.

Von den 8 Spionagen sind 5 enttarnt worden und haben zu Festnahmen geführt.
Außerdem gab es für jede Festnahme eine Beförderung bei mir und jeder erfolgreiche Agent bei Chrisch wurde auch befördert!!

Hat sich in den letzten Tagen etwas am Spionage-Code geändert?
Meine Agenten stehen seit ein paar Tagen still und Chrisch hat die ganze Zeit bei mir spioniert, allerdings ist sowas zum ersten Mal passiert!
Chrisch
18.09.09 - 09:42
Fehler meinerseits in der Kommunikation, von meinen drei Agenten wurden zwei befördert.
Und stillgestanden haben smeine Agenten auch für eine Weile, sodass wir eine plötzliche Änderung der Berechnung auch ausschließen können.

Das mit den fünf Beförderungen kann ich mir nur durch den glücklichen Zufall erklären, dass der erste Verteidiger befördert wurde, dann die Chancen dadurch für den zweiten gestiegen sind usw.
Darko
18.09.09 - 10:17
Es ist tatsächlich so, dass sich eine Beförderung direkt auf die Abwehr für den nachfolgenden Agenten niederschlägt. Mit der Beförderung hat das aber nichts zu tun. War es denn auch jedesmal der gleiche Agent?


Hier mal der Code:


# eventual defender progression
my @defenders = $game->db->select_rows(qq[
SELECT * FROM kiw_agents WHERE owner_id = $targetnation->{id} AND availability = 0
]);
my $catcher = rand_element(@defenders);
#ALTERNATIVE
#if ($catcher->{rank} < 5 and probe(0.8 / 2 ** (5 - $catcher->{rank})) {
if (probe((5 - $catcher->{rank}) * 0.1)) {
$game->db->do(qq[
UPDATE kiw_agents SET rank = rank + 1 WHERE id = $catcher->{id}
]);
$info .= sprintf(
' Unser Agent %s wurde für seine erfolgreiche Abwehrarbeit befördert.',
b($catcher->{name})
);
}
Chrisch
18.09.09 - 11:32
Was macht denn "probe" genau?
Vermutung:
Es ist ein Zufallsgenerator, der eine Zufallszahl im bereich [0,1] generiert, mit dem gegebenen Parameter aus [0,1] vergleicht und true zurückgibt, wenn die Zufallszahl größer als der Parameter ist, sonst falsch.
Darko
18.09.09 - 11:40
so in etwa, du verwechselst nur die Bedeutung des Parameters oder größer/kleiner.

zufallszahlengeneratoren generieren in [0,1[, und deshalb wird falsch zurückgegeben, wenn der Parameter kleiner als die generierte Zahl ist, sonst wahr.

ergo: probe(1.0) ist immer true und probe(0.0) immer false.
Toshi
18.09.09 - 11:46
Auch Paul fährt Spionagen gegen mich. Ich habe allerdings keinen Schimmer, wie konstant er das macht...
Auf jeden Fall sind bisher nur zwei seiner Agenten bei mir hängen geblieben! Beide Male gab es keine Beförderung.

Ansonsten hatte ich vorher zwei Agenten auf Level 2 (beide von eigenen Offensivaktionen). Jetzt sind es zwei auf Level 3 und drei auf Level 2.
Bei einem der 3er Agenten bin ich 100% sicher, dass er vorher Level 1 war. Beim zweiten sind es nur 75%...
Toshi
18.09.09 - 12:02
Ich habe mir gerade mal die Werte genauer angesehen...

Die Industriespionage hat 40% Grundrisiko.

Da die Agenten von Chrisch Level 1 waren und meine Abwehr am Anfang bei 1,75 stand, müßte die Erfolgschance modifiziert bei knapp unter 41% gelegen haben.
Wenn man damit den Erwartungswert berechnet, dann sollten statistisch nur knapp über 3 Spionagen erfolgreich sein.
Da diese Rechnung meine Beförderungen nicht berücksichtigt, sind die 5 Fehlschläge gerechtfertigt!

Bei den Beförderungen sieht es etwas anders aus! Ein Level 1 Agent steigt nur zu 40%, ein Level 2 Agent nur zu 30% auf.

"Erwarten" könnte man also 1-2 Beförderungen.

Die Chancen für 5 liegen ungefähr bei 1/175.
Sooo unwahrscheinlich ist das am Ende aber auch nicht...

Aber es gibt ja nicht ohne Grund Studien zum Thema, dass Menschen Zufallsergebnisse selten zufällig vorkommen. ;)

PS: Wäre es nicht sinnvoll, den Aufstieg nicht nur vom Level des Agenten, sondern auch von den überwundenen Schwierigkeiten abhängig zu machen? :P
Darko
18.09.09 - 12:29
Wie meinst du das? Abhängig von der Chance, die man hatte, ihn zu fassen? Klingt sinnvoll, und würde auch besser zu den Beförderungen durch Aktionen passen.
Chrisch
18.09.09 - 13:05
Aber ich dachte die ganze Zeit, das wär so! Oder war das mal in einer älteren Fassung und wurde in der aktuellen Fassung nicht mehr berücksichtigt?
Toshi
18.09.09 - 13:13
Jo, irgendwie abhängig von der Chance geschnappt zu werden...

Wenn ein Agent eine Mission mit nur 10% Erfolgswahrscheinlichkeit packt, dann sollte er eher aufsteigen, als wenn er 95% Erfolgsaussichten hatte!
(abhängig vom Level natürlich)

Das könnte man dann analog auch für die Verteidigung einführen...

Das wäre auch in sofern interessant, weil man mit einer sehr starken Defensive durch offensiven Aktionen vermutlich bessere Aufstiegsmöglichkeiten hätte!
=> wenn man sich nur einbunkert, dann überholen die anderen einen in der Geheimdienststärke evtl. leichter.
Halbzeit
18.09.09 - 15:09
Nochmal die Frage zu der Anzahl der aktiven Frachter:
Wie gehen die in die Berechnung fuer die Erfolgswahrscheinlichkeit des Frachterklaus mit ein?
Darko
18.09.09 - 15:28
Das Grundrisiko ist (70 - aktive_Frachter)%
Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
zurück zur Themenübersicht