Новости | Об игре | Форум
23:26, 2153 онлайн
Форумы » Вопросы и помощь в игре » Поки 

АвторТема: Поки
Миша и снайпер



 1 
   
  написано: 28.11.2017 07:20:59 
У меня тут вопрос возник:
Поки отходят/стреляют по скрипту, т.е предугадать на два хода вперед возможно?
Или рандом?
kto_tamb4



 2 
 5   
  написано: 28.11.2017 07:31:38 
Рандом, Поки — зло)))
*ШерхаН*



 3 
 -5   
  написано: 28.11.2017 07:55:11 
[Сообщение удалено модератором Prince D]
ILTYA



 4 
 4   
  написано: 28.11.2017 08:22:01 
Общий Форум » Рандом отхода Z-lands 2 (ILTYA, 04.07.17 01:06:55)
Продолжение темы "как отходят/стреляют поки"
http://www.gwars.io/messages.php?fid=27&tid=329022

Для тех, кому лень читать:
На основании анализа 313 760 боев, данные показывают, что:
- поки случайно стреляют в одну из трех сторон с вероятностью 1/3, но вправо реже на 1%
- поки случайно отходят в одну из трех сторон с вероятностью 1/3, но вправо реже на 1%

Для тех, кому не лень читать:


Общая информация

Взял бои игроков с покемонами с 27 по 30 июня: 1 на 1, аут и прибрежка, классические покемоны без квестовых, без подземки.
313 760 боев
id внутри интервала 1328882687 - 1329357851


Учитывались выстрелы игроков и покемонов:
- без гранатометов (поэтому общее количество выстрелов и уворотов разное)
- без гранат (опять же, если игрок кидает гранату, а пок в него стреляет, у нас выходит разное число ходов)
- без второго выстрела (из итоговых данных вычитались "лишние" выстрелы от бонуса, оригинальное направление выстрела и отхода учтено)


игроки: 8908 срабатываний второго выстрела, из них 819 срабатываний одноручного оружия
поки: 719 срабатывания второго выстрела, из них 11 срабатываний одноручного

- проценты округлены мной, чтобы не было хвостов из нецелых частей

Общая статистика поков:
Всего выстрелов: 1 399 204
Влево: 470 891 (33.65 %)
В центр: 471 131 (33.67 %)
Вправо: 457 182 (32.67 %)

Угадано ходов игроков: 467 091 (33.38 %)

Всего уворотов: 1 399 600
Влево: 471 010 (33.65 %)
На месте: 471 833 (33.71 %)
Вправо: 456 757 (32.63 %)


Общая статистика игроков:
Всего выстрелов: 1 399 600
Влево: 455 591 (32.55 %)
В центр: 502 581 (35.90 %)
Вправо: 441 428 (31.54 %)

Угадано ходов покемонов: 478 392 (34.18 %)

Всего уворотов: 1 399 204
Влево: 478 615 (34.20 %)
На месте: 439 160 (31.39 %)
Вправо: 481 429 (34.41 %)




Дальше посмотрим на варианы c ограничениями.

Это статистика не отражает реальных выстрелов. Пок пока не достаёт не угадывает, как подошёл попадает через ход.

Нет там рандома. Не может пок стабильно угадывать больше половины отходов. И сам уворачиваться больше 4/1.


Давайте рассмотрим выстрелы и увороты в пределах дальности стрельбы. Иначе говоря, будем смотреть на выстрелы только после первого попадания пуль.*

В пределах дальности стрельбы, покемоны:
Всего выстрелов:444 519
Влево: 148 742 (33.46 %)
В центр: 151 484 (34.08 %)**
Вправо: 144 293 (32.46 %)

Угадано ходов игроков: 145 133 (32.65 %)

Всего уворотов (когда игроки начинают доставать): 789 036
Влево: 265 628 (33,66 %)
На месте: 265 959 (33.70 %)
Вправо: 257 449 (32.63 %)


В пределах дальности стрельбы, игроки:
- было исключено 1166 боев с активацией навыка "Длинные руки"
Всего выстрелов: 789 036
Влево: 251 884 (31.92 %)
В центр: 287 302 (36.41 %)
Вправо: 249 850 (31.67 %)

Угадано ходов покемонов: 257 450 (32.63 %)

Всего уворотов (когда поки достают): 444 519
Влево: 152 392 (34.28 %)
На месте: 139 475 (31.38 %)
Вправо: 152 652 (34.34 %)


* Для этих выстрелов пришлось исключить все оружие со 100% точностью (а точнее исключить все бои, в которых нет настоящего рандома). Без возможности оценить находится ли оно в пределах дальности стрельбы до первого попадания (и в огромном количестве случаев - выигрыша), оно дает слишком большой перевес в статистике (и в пользу покемонов в их выстрелах, и в пользу игроков в их; >40% угадываний у обоих). С другой стороны, если бы покемоны-снайперы, исключенные из анализа в пределах дальности стрельбы, стреляли не случайно, это бы заметно отразилось на общей статистике, что, как видно, не произошло.

** Хочется напомнить игрокам, что у поков нет активных навыков, и как следствие многие оружия (в контексте условий сбора статистики для данного раздела) начинают обсчет боя с выстрела в центр (первый раз задевают рандомом края или попадают).



Бои 48+:
1. сделай выборку для персов 48+
2. бои только 1 на 1
3. только на Ауте или в прибрежке


Выстрелы и увороты без гранатометов и гранат. Поправки на второй выстрел для этих боев не делались.

Покемоны 48+:
Всего выстрелов: 575 568
Влево: 193 501 (33.62 %)
В центр: 193 440 (33.60 %)
Вправо: 188 627 (32.77 %)

Угадано ходов игроков: 192 330 (33.42 %)

Всего уворотов: 523 505
Влево: 176 025 (33.62 %)
На месте: 176 701 (33.75 %)
Вправо: 170 779 (32.63 %)


Игроки 48+:
Всего выстрелов: 523 505
Влево: 165 245 (31.67 %)
В центр: 197 281 (37.68 %)
Вправо: 160 979 (30.75 %)

Угадано ходов покемонов: 177 359 (33.88 %)

Всего уворотов: 575 568
Влево: 198 618 (34.51 %)
На месте: 185 243 (32.18 %)
Вправо: 191 707 (33.31 %)


Та же картина, что и в общих данных. Несмотря на заметно большее число высртелов в центр от игроков, поки центр чаще не выбирают ("копирование поведения"), а в стороны чаще не отходят ("анализ отходов").



Прочие данные:

Персонажи
Уникальных персонажей в просмотренных боях: 4497

Среднее число боев с покемонами на персонажа полезно настолько же, как и среднее число ног населения (меньше 2), но оно составило 69.77 боев за 4 дня на персонажа.
Напомню, бои 1v1 на ауте без подземки и в пребрежке.

Размер базы данных (Redis): 370 МБ, сохранялись полные логи для отладки поиска.
Время полного анализа: ~90 минут.

Число ходов в просмотренных боях
0 - 22
1 - 37545
2 - 68186
3 - 59395
4 - 44202
5 - 31770
6 - 22330
7 - 15518
8 - 10790
9 - 7457
10 - 5166
11 - 3431
12 - 2266
13 - 1589
14 - 1078
15 - 841
16 - 526
17 - 385
18 - 281
19 - 199
20 - 152
21 - 132
22 - 76
23 - 79
24 - 64
25 - 41
26 - 45
27 - 39
28 - 30
29 - 30
30 - 17
31 - 14
32 - 19
33 - 12
34 - 14
35 - 8
36 - 10
37 - 8
38 - 9
39 - 5
40 - 7
41 - 6
42 - 1
43 - 2
44 - 2
45 - 2
46 - 3
47 - 1
48 - 3
49 - 1
50 - 1
51 - 1
52 - 2
53 - 2
63 - 1
72 - 1

0 - бой начался, но не было сделано ни одного хода.
52% боя закончились за 3 хода или быстрее.
Больше 96 % боев закончились за 10 ходов или раньше.



нет никакого рандома

у 95% поков можно просчитать ходы. ну, по крайней мере, у меня получается вроде как.

Для тех, кто думает, что это все фигня были собраны последовательности стрельбы игроков и отходов покемонов, чтобы вы сами могли проанализировать существующие или несуществующие последовательности поведения ботов.

http://www.ganjafile.io/download.php?mid=91238&id=219744

Файл выглядит следующим образом:
CC- 9933
LL- 8122
PP- 7495
CL- 246
CP- 233
LC- 179
PL- 175
LP- 167
PC- 167
CP-CC- 2224
CL-CC- 2150
LC-LL- 1440
LP-LL- 1420
...
CL-CL-CC- 470
CP-CP-CC- 456

В нем указаны:
Направление выстрела игрока (LCP), направление отхода покемона(LCP), - ... количество таких боев.

Обратите внимание:
- в эти последовательности вошли только бои, в которых были доступны выстрелы игроков и отходы покемонов для каждого хода боя
- внутри одного количества ходов бует больше комбинцаий, в которых игроки угадывали отходы, потому что, например, убить пока рандомом на первом ходу сложнее, чем прямым выстрелом.
- количество комбинаций выстрел-отход равно 3 в степени (номер хода*2). Количество комбинаций для 5 хода составляет 59 049. Не удивляйтесь, что для длинных боев очень мало данных.


Тем не менее, я призываю всех, кто сомневается в том, что выстрелы и отходы покемонов случайны, использовать эти данные для построения успешных моделей поведения с покемонами.

Спасибо, если дочитали до конца!
101 ILTYA, 05.07.17 16:18:39:
Пок не зря сразу отходит в то место, куда до этого стрелял несколько ходов игрок - он таким образом пытается выровнять перекос отходов.


В конце первого поста как раз дан файл, в котором записано, как стреляли игроки и уворачивались поки в сжатом виде.
http://www.ganjafile.io/download.php?mid=91238&id=219744

Почему-то за эти дни никто не захотел проверить.

Пока я пишу код для анализа боев 2011 года, давайте сами посмотрим, как поки стреляли.



Начнем с пяти ходов (и больше).
Напишем регулярное выражение, которое ищет бои, где игрок стреляет 4 раза подряд в одну сторону, покемон эти 4 хода туда не отходит, а на пятый игрок стреляет в другую сторону, а пок отходит в ту первую

Напишем регулярное выражение, чтобы не тратить много времени на поиск вручную.
([LCP])(?!\1)[LCP]-\1(?!\1)[LCP]-\1(?!\1)[LCP]-\1(?!\1)[LCP]-(?!\1)[LCP]\1-


Что это означает?
([LCP]) любая из букв LCP с захватом
(?!\1) негативный просмотр вперед: убеждаемся, что после первой буквы не стоит такая же первая захваченная буква.
[LCP] любая из букв LCP
- буквально -
\1 первая захваченная группа, в нашем случае первая буква
(?!\1)[LCP] то же самое, что и в первый ход, негативный просмотр вперед, и одна из букв....
(?!\1)[LCP]\1 то же самое, но теперь мы поменяли местами наши буквы: не первый выстрел, за которым та же сторона, что и первый выстрел.



Ищем, сколько таких вариантов встречается в собранных.
831 совпадение в 830 строках.
(в CP-CP-CL-CL-PC-CL-PC-PC-LC-LC-LP-LC-PL-CL-PC-PL-CC-LL- 1 наша последовательность встречается дважды)
Вот файл с совпадениями по этому запросу.
http://www.ganjafile.io/download.php?mid=91238&id=219778

12*2 + 818*1
получаем 842 боя (и 843 повторений из-за упомянутой выше строки), в котором игроки стреляли в одну сторону 4 раза, не угадывали, а потом когда меняли сторону, поки уходили в первую.


Дальше найдем бои, в которых игроки стреляли в одну сторону 4 раза, не угадывали, а потом когда меняли сторону, угадывали.
([LCP])(?!\1)[LCP]-\1(?!\1)[LCP]-\1(?!\1)[LCP]-\1(?!\1)[LCP]-(?!\1)([LCP])\2-

изменился только конец: мы захватываем выстрел игрока, который отличается от первого выстрела, а потом повторяем эту же сторону.

811 совпадений в 807 строках (то есть 4 боя, в которых эта последовательность повторилась дважды: именно 4, потом что после всех боев 10 ходов и больше у нас всех по одному).
http://www.ganjafile.io/download.php?mid=91238&id=219783
929 боев, 933 повторений.



Теперь найдем бои, в которых игроки стреляли все 5 ходов в одну сторону а на пятую пок как дурак совался под выстрел.
([LCP])(?!\1)[LCP]-\1(?!\1)[LCP]-\1(?!\1)[LCP]-\1(?!\1)[LCP]-\1\1-


1819 совпадений, 1761 тип:
2821 таких боев (2879 повторений).
http://www.ganjafile.io/download.php?mid=91238&id=219781


В противовес этому найдем бои, в которых игроки стреляли 5 раз в одну сторону и на пятом ходу умный пок снова не совался под выстрел.
([LCP])(?!\1)[LCP]-\1(?!\1)[LCP]-\1(?!\1)[LCP]-\1(?!\1)[LCP]-\1(?!\1)[LCP]-

2427 совпадений, 2248 типов:
2795 боев (2974 повторений).
http://www.ganjafile.io/download.php?mid=91238&id=219782


Все как-то муторно и непонятно, наверное.
Неоднозачно.

Давайте найдем более конкретные примеры.


Пять ходов лево, пок только на пятый ход уходит влево.
L[^L]-L[^L]-L[^L]-L[^L]-LL-

Мы добавили группу "с отрицанием": [^L] - не L

http://www.ganjafile.io/download.php?mid=91238&id=219784
463 совпадения, 458 типов:
677 боев, 682 повторения.

Пять ходов влево, пок уходит в центр.
L[^L]-L[^L]-L[^L]-L[^L]-LC-

http://www.ganjafile.io/download.php?mid=91238&id=219785
413 совпадений, 406 типов:
451 бой, 458 повторений.

Пять ходов влево, пок уходит вправо.
L[^L]-L[^L]-L[^L]-L[^L]-LP-

http://www.ganjafile.io/download.php?mid=91238&id=219786
407 совпадений, 400 типов
462 боя, 469 повторений.


Продолжим с правой стороной (я немножко устал делать файлы, все это можно повторить и проверить в текстовых редакторах с поиском с поддержкой регулярных выражений вроде Netpad++ или Sublime text или вимах итд. Ссылка на общий файл дана в первом посте и в начале этого.)

Пять ходов вправо, пок уходит влево на пятый.
P[^P]-P[^P]-P[^P]-P[^P]-PL-

284 совпадений, 264 типа.
275 боев, 295 повторений.

Пять ходов вправо, пок уходит в центр.
P[^P]-P[^P]-P[^P]-P[^P]-PC-

310 совпадений, 299 типов.
307 боев, 318 повторений.

Пять ходов вправо, пок уходит вправо.
P[^P]-P[^P]-P[^P]-P[^P]-PP-

314 совпадений, 311 типов.
373 боя, 376 повторений.

Центр.
Пять ходов в центр, пок уходит влево на пятый.
C[^C]-C[^C]-C[^C]-C[^C]-CL-

909 совпадений, 854 типа.
1138 боев, 1193 повторений.

Пять ходов в центр, пок уходит вправо на пятый.
C[^C]-C[^C]-C[^C]-C[^C]-CP-

905 совпадений, 848 типов.
1075 боев, 1132 повторения.

Пять ходов в центр, пок уходит на пятый в центр.
C[^C]-C[^C]-C[^C]-C[^C]-CC-

1042 совпадения, 995 типов
1174 боя, 1221 повторения.



Мне довольно все понятно теперь. Смотрим дальше.
Миша и снайпер



 5 
   
  написано: 28.11.2017 08:51:12 
4
Что-то сложно :/
Миша и снайпер



 6 
   
  написано: 28.11.2017 08:51:19 
Но спасибо
Тема закрыта Prince D

К списку тем