До 1944 года партия держала в напряжении - Москва которую еле-еле сумел удержать в 1941г., большое зимнее наступление 1941г-1942гг после которого немцы на Юге и в центре откатились, но сил уже у РККА не хватало для дальнейшего наступления, однако по инерции проведенные атаки по весне чуть не кончились катастрофой... Сильнейшее противостояние в 1943г. Из которого стало ясно, что немцам дальше в СССР мало что светит хорошего... И вот наступил 1944год. Загрузились начали играть - оба продумали планы на новый год, оба подготовились. И вот здесь коварство кубика полностью смешало все планы... Из 19 бросков 18 =1,2,3,4. ни прорвать оборону немцев и взять их части в окружение, ни уничтожить армии не вышло...Даже скорее не вышло вообще ничего из задуманного. Советский игрок проиграл, т.к. отставание от исторической линии было слишком велико (на конец 1944 года многие города в СССР были под контролем немцев).
Мнение по игре - несмотря на чудовищный рандом (о нем ниже) в отношении 1944года, игра великолепна! Каждый ход держит в напряжении и каждый ход может быть переигран множеством вариантов! Ошибки сделанные ранее могут полностью вылезти спутав все планы через несколько ходов. Большой обзор игры будет в этом - 4-ом номере журнала "Стратагема" (будет выложен на Тесере в понедельник).
По рандому в вассале. В последнее время стал замечать слишком сильный дисбаланс в рандомизаторе который используется при игре через вассал. Собственно в этой партии при 19 бросках результат 5,6 должен был выпасть 6-7 раз, а никак не 1! Такая же беда была при игре в Молот шотландцев - надо выкинуть 1,2. Игрок кидает 8 кубов (в теории 2,3 удачных попадания) в вассале - 1,2,2,2,1,2,1,5 -7 попаданий! Соперник отвечает 8 кубами - надо выкинуть 1,2,3 (в теории 4 попадания должно быть точно)- результат броска в вассале - 6,4,5,4,5,6,4,1 (1 попадание!). На этом партия была закончена - т.к. далее играть смысле уже не было. Кто сталкивался с этой проблемой и как её решали?
Можно заменить кубики колодой карт - тогда все цифры будут выпадать одинаковое количество раз. Если у каждого игрока своя такая колода, то и "везучесть" у обоих будет одинаковой.
Для этого редактируете версию игрового модуля и а) играете peer-to-peer без регистрации её на сервере, или б) выкладывете на сервере "Вассала" и играете через сервер.
Уже думал насчет этого: 2 колоды, наверно, идеальное решение по убиванию невезения.
Еще как вариант- давать за неудачные броски какой-нибудь бонус в дальнейшем, но полностью обычно проблему не вылечивает: либо бонус перевешивает неудачность бросков, либо наоборот.
Мне еще кажется, что у Вассала аномально часто рандомайзер повторяет несколько раз подряд одинаковые значения, например 3,4,1,1,1,1,5. В результате это резко может поменять весь ход игры, например если 1 в данном броске означала попадание, то будет слишком много попаданий, а если попадание должно было быть на 6 - то не будет ни одного. Очень часто бывают такие результаты бросков например в модуле для Commands&Colors: Ancients.
Да, C&C: Ancients вообще имеет ужасный рандомизатор: по 4 одинаковых значения там- это норма. После этих бросков я больше в Вассальных турнирах на C&C не участвую, слишком тяжело для психики и кармы...
Мы думаем, думаем.) Я потому и написал что "мне кажется". Давно хотел проверить какое там распределение получается, но было лень. Сейчас проверил. Бросил в вассале кубик 16702 раза (это не так долго, если бросать по 7 за раз :) ), загнал результаты в текстовый файл, набросал скриптик подсчета дублей. Получилось: 2 дубля: 1901 раз на 16702 = 0.1138 3 дубля: 339 раз на 16702 = 0.0203 4 дубля: 61 раз на 16702 = 0.0037 Проверил на другом рандомайзе, из среды моделирования Матлаб, результаты на миллион бросков Д6 похожие: 2 дубля: 115950 раз на 1000000 = 0.1159 3 дубля: 18919 раз на 1000000 = 0.0189 4 дубля: 3237 раз на 1000000 = 0.0032
Результат практически идентичный. Так что может это просто чисто психологический эффект, что кажется, что дубли чаще обычного выпадают. Интересно сколько должно по теории получаться дублей в среднем? Кстати гистограмка получилась вполне "равновероятная" все значения примерно верно с одинаковой вероятностью выпадали. Так что, может этот рандомайз не так плох, как кажется.
Опять же взял данные из вассала (1036 бросков 7 кубиков разом) и посчитал число комбинаций в них: 0 шестерок: 286/1036 = 0.2761 1 шестерка: 407/1036 = 0.3929 2 шестерки: 236/1036 = 0.2278 3 шестерки: 91/1036 = 0.0878 4 шестерки: 15/1036 = 0.0145 Вынужден признать, что это чертовски близко к точным теоретическим результатам, так что рандомизатор работает вполне прилично. Так что получается дело не в вассале. Все еще хуже, дело в механике bucket of dice. Если посмотрите теоретические расчеты, что я привел выше, то увидите, что при броске 7 шестигранников вероятность не выкинуть ни одной шестерки равна 28%! В сущности почти в каждом третьем результате броска 7 шестигранников не будет ни одной шестерки. Не очень интуитивный результат. Кстати, при игре в баттлор или Commands&Colors: Ancients, частенько возникала такая реакция игрока "ну как же так 4 отряда лучников стреляло и не один не попал!". То есть кажется, что с 7 кубиков должна же выпасть ну хоть 1 шестерка! Оказывается, что в 28 случаях из 100 - ничего подобного.
Интересная статистика, никогда не задумывался об этих 28%...
При этом вероятность не выбросить 6-ку на 6 кубах 33%, т.е. треть! Но не выбросить 6-ку на 19 кубах- всего 3%, именно такая ситуация была в партии.
Кстати, все значительно изменяется для 2 значений: вероятность не выбросить 5 или 6 на 6-ти кубах всего 9%. На 18 кубах меньше 0.1% (опять же ситуация партии).
Думать перед написанием, а разве так можно было? :)
Если я не ошибаюсь, 4 дубля подряд на D6 должно выпадать в среднем каждый 216-й бросок. Когда это происходит 3 раза за 100 бросков... вызывает вопросы к настройкам функции.
Вы что ребята. При чём тут конкретный модуль. Собственно думаю тут даже Вассал не при чём, зачем писать свой рандомизатор если есть стандартный. Если вам кажется что в Вассале рандомизатор не честный то мягко говоря вам вообще не стоит играть в компьютерные игры. Потому что он везде одинаковый.
Вот список только самых популярных алгоритмов генерации псевдослучайных чисел: http://en.wikipedia.org/wiki/List_of_pseudorandom_number_generators Зачем столько разных алгоритмов, если рандом везде одинаковый?
Вы издеваетесь? Генератор случайных чисел реализован в системной библиотеке JAVA на которой написан вассал. Каждый язык программирования имеет такую реализацию. Проще всего использовать её. Но если она чем то не нравится конечно можно написать свой метод. Такое количество алгоритмов потому что программирование же развивается. Они же все не одновременно появились.
В модулях к Вассалу однозначно нету никаких генераторов случайных чисел. Это легко проверить. Нужно найти файл с Java кодом, потому что только так его можно подключить. Я на 99% уверен что создатели Вассала никакого своего генератора не писали, а воспользовались стандартным. Обычно генераторы псевдослучайных чисел завязаны на встроенный таймер (просто потому что им нужны внешние данные для работы), потому кидать кубики по одному как советует МакВлад бессмыслено, они и так в разное время кидаются (считаются такты процессора).
Собственно чтобы больше не спорить. Я просто декомпилировал Вассал и посмотрел чего они используют. Используется SecureRandom. Вот тут описание: http://javamex.com/tutorials/random_numbers/securerandom.shtml
Да, действительно используется этот класс. Посмотрел еще на форуме вассала, там программистам задавали похожий вопрос http://www.vassalengine.org/forum/viewtopic.php?f=3&t=4892&p=30738&hilit=random+generator#p30738 и, судя по ответу, создатели вассала серьезно подходили к этому вопросу. Опять же судя по проверкам, даже на небольших выборках, результаты получаются близкими к чисто теоретическим. Но даже хороший генератор псевдослучайных чисел можно неправильно использовать, если например инициализировать его одной и той же, детерминированной, или не достаточно случайной последовательностью. И это уже зависит от программиста, пользовавшегося API. Другое дело, что к чести создателей вассала, они используют его правильно. И разве был спор? Я выразил сомнение, кстати, оно возникает у многих пользователей вассала, так что создатели вассала поместили этот вопрос в FAQ: http://www.vassalengine.org/wiki/Faq_general#Why_are_the_dice_rolls_not_random.3F. В частности: ... the programming team has carefully tested the die roller code and it passes the ent statistical tests for random number generation.
Ну да с вами то какой спор. :) Честно говоря такую статистическую работу как у вас выше я бы не проделал. В Вассале генератор инициализируется видимо с таймера, так как там создание объекта без параметров, а вызовов установки зерна я не нашёл. Насколько я знаю на таком принципе работают все компьютерные игры. Потому странны жалобы на не случайные результаты. тем более для конкретного модуля, который их и генерить то не умеет. А совет кидать по одному вообще песня. :) Человек вообще похоже смутно понимает как работают компьютерные программы. :)
Хотя код генерации результата броска в Вассале написан как то примитивно. Я бы так не стал делать. Там возможны перекосы при округлении числа с плавающей точкой до целого. Но если они специально гоняли тесты. То видимо это нормально.
Да, я на этот момент тоже обратил внимание, но здесь это работает, так как в яве приведение к инту просто отбрасывает дробную часть. Они что делают, берут у генератора случайное число от 0 до 1 (но 1 в этот диапазон не входит), умножают его на число граней, например на 6, прибавляют 1, получают число от 1 до 7, а затем просто отбрасывают дробную часть, получая числа от 1 до 6, при этом площади прямоугольников между 1 и 2, 2 и 3, и т.д. получаются одинаковыми, а значит и вероятности тоже. Не очень конечно эстетичный код, но в данном случае работает правильно. :)
Да, нормально идем: 16 ходов за 6 недель - это 2.6 хода в неделю - при наших сессиях 2 часа в неделю- это быстрее чем час на ход. Мне кажется, что для Вассала очень неплохая скорость...
Михаил, сожми, пожалуйста, фотографии - они на экран вылезают.
По оценкам - ты ещё не привык :) Я уже даже не "заморачиваюсь" на эту тему. Анонимность = необъективность, поэтому уже давно нет смысла вообще реагировать на оценки...
Использую эту тему для теста вставки изображений в запись и подгрузки их после очередной сессии на тесеру. Подгружаю уже месяц где-то. Просто не понимаю смысла оценивать это... К тому же вроде оценки черновикам нельзя было поставить, или я ошибаюсь.
Спасибо за наводку насчет изображений. А сильно вылезают? У меня аккурат по экрану. Интересно просто насколько меньше делать, а то юниты не будет видно.
До 1944 года партия держала в напряжении - Москва которую еле-еле сумел удержать в 1941г., большое зимнее наступление 1941г-1942гг после которого немцы на Юге и в центре откатились, но сил уже у РККА не хватало для дальнейшего наступления, однако по инерции проведенные атаки по весне чуть не кончились катастрофой... Сильнейшее противостояние в 1943г. Из которого стало ясно, что немцам дальше в СССР мало что светит хорошего...
И вот наступил 1944год. Загрузились начали играть - оба продумали планы на новый год, оба подготовились. И вот здесь коварство кубика полностью смешало все планы... Из 19 бросков 18 =1,2,3,4. ни прорвать оборону немцев и взять их части в окружение, ни уничтожить армии не вышло...Даже скорее не вышло вообще ничего из задуманного.
Советский игрок проиграл, т.к. отставание от исторической линии было слишком велико (на конец 1944 года многие города в СССР были под контролем немцев).
Мнение по игре - несмотря на чудовищный рандом (о нем ниже) в отношении 1944года, игра великолепна! Каждый ход держит в напряжении и каждый ход может быть переигран множеством вариантов! Ошибки сделанные ранее могут полностью вылезти спутав все планы через несколько ходов. Большой обзор игры будет в этом - 4-ом номере журнала "Стратагема" (будет выложен на Тесере в понедельник).
По рандому в вассале. В последнее время стал замечать слишком сильный дисбаланс в рандомизаторе который используется при игре через вассал. Собственно в этой партии при 19 бросках результат 5,6 должен был выпасть 6-7 раз, а никак не 1!
Такая же беда была при игре в Молот шотландцев - надо выкинуть 1,2. Игрок кидает 8 кубов (в теории 2,3 удачных попадания) в вассале - 1,2,2,2,1,2,1,5 -7 попаданий! Соперник отвечает 8 кубами - надо выкинуть 1,2,3 (в теории 4 попадания должно быть точно)- результат броска в вассале - 6,4,5,4,5,6,4,1 (1 попадание!).
На этом партия была закончена - т.к. далее играть смысле уже не было.
Кто сталкивался с этой проблемой и как её решали?
Если такое начинается, я бросаю по одному кубику за раз. А ещё есть онлайн системы для бросков кубиков с рассылкой результатов всем желающим.
Можно заменить кубики колодой карт - тогда все цифры будут выпадать одинаковое количество раз. Если у каждого игрока своя такая колода, то и "везучесть" у обоих будет одинаковой.
Для этого редактируете версию игрового модуля и а) играете peer-to-peer без регистрации её на сервере, или б) выкладывете на сервере "Вассала" и играете через сервер.
Уже думал насчет этого: 2 колоды, наверно, идеальное решение по убиванию невезения.
Еще как вариант- давать за неудачные броски какой-нибудь бонус в дальнейшем, но полностью обычно проблему не вылечивает: либо бонус перевешивает неудачность бросков, либо наоборот.
Мне еще кажется, что у Вассала аномально часто рандомайзер повторяет несколько раз подряд одинаковые значения, например 3,4,1,1,1,1,5. В результате это резко может поменять весь ход игры, например если 1 в данном броске означала попадание, то будет слишком много попаданий, а если попадание должно было быть на 6 - то не будет ни одного. Очень часто бывают такие результаты бросков например в модуле для Commands&Colors: Ancients.
Да, C&C: Ancients вообще имеет ужасный рандомизатор: по 4 одинаковых значения там- это норма. После этих бросков я больше в Вассальных турнирах на C&C не участвую, слишком тяжело для психики и кармы...
Народ, вы хоть сначала думайте, а потом пишите.
Мы думаем, думаем.) Я потому и написал что "мне кажется". Давно хотел проверить какое там распределение получается, но было лень.
Сейчас проверил. Бросил в вассале кубик 16702 раза (это не так долго, если бросать по 7 за раз :) ), загнал результаты в текстовый файл, набросал скриптик подсчета дублей.
Получилось:
2 дубля: 1901 раз на 16702 = 0.1138
3 дубля: 339 раз на 16702 = 0.0203
4 дубля: 61 раз на 16702 = 0.0037
Проверил на другом рандомайзе, из среды моделирования Матлаб, результаты на миллион бросков Д6 похожие:
2 дубля: 115950 раз на 1000000 = 0.1159
3 дубля: 18919 раз на 1000000 = 0.0189
4 дубля: 3237 раз на 1000000 = 0.0032
Результат практически идентичный. Так что может это просто чисто психологический эффект, что кажется, что дубли чаще обычного выпадают.
Интересно сколько должно по теории получаться дублей в среднем?
Кстати гистограмка получилась вполне "равновероятная" все значения примерно верно с одинаковой вероятностью выпадали.
Так что, может этот рандомайз не так плох, как кажется.
Посчитал точные теоретические вероятности (программным способом - простым подсчетом комбинаций) для выпадения нескольких одинаковых цифр при броске 7 кубиков D6.
Получается вот что:
0 шестерок: 78125/279936 = 0.2791
1 шестерка: 109375/279936 = 0.3907
2 шестерки: 65625/279936 = 0.2344
3 шестерки: 21875/279936 = 0.0781
4 шестерки: 4375/279936 = 0.0156
5 шестерок: 525/279936 = 0.0019
6 шестерок: 35/279936 = 0.0001
7 шестерок: 1/279936 = 0.000003
Опять же взял данные из вассала (1036 бросков 7 кубиков разом) и посчитал число комбинаций в них:
0 шестерок: 286/1036 = 0.2761
1 шестерка: 407/1036 = 0.3929
2 шестерки: 236/1036 = 0.2278
3 шестерки: 91/1036 = 0.0878
4 шестерки: 15/1036 = 0.0145
Вынужден признать, что это чертовски близко к точным теоретическим результатам,
так что рандомизатор работает вполне прилично.
Так что получается дело не в вассале. Все еще хуже, дело в механике bucket of dice.
Если посмотрите теоретические расчеты, что я привел выше, то увидите, что при броске 7 шестигранников вероятность не выкинуть ни одной шестерки равна 28%! В сущности почти в каждом третьем результате броска 7 шестигранников не будет ни одной шестерки. Не очень интуитивный результат. Кстати, при игре в баттлор или Commands&Colors: Ancients, частенько возникала такая реакция игрока "ну как же так 4 отряда лучников стреляло и не один не попал!". То есть кажется, что с 7 кубиков должна же выпасть ну хоть 1 шестерка! Оказывается, что в 28 случаях из 100 - ничего подобного.
Схожая ситуация в Dust Tactics с выпадением на кубиках попаданий. Да и в других играх...
Интересная статистика, никогда не задумывался об этих 28%...
При этом вероятность не выбросить 6-ку на 6 кубах 33%, т.е. треть! Но не выбросить 6-ку на 19 кубах- всего 3%, именно такая ситуация была в партии.
Кстати, все значительно изменяется для 2 значений: вероятность не выбросить 5 или 6 на 6-ти кубах всего 9%. На 18 кубах меньше 0.1% (опять же ситуация партии).
Думать перед написанием, а разве так можно было? :)
Если я не ошибаюсь, 4 дубля подряд на D6 должно выпадать в среднем каждый 216-й бросок. Когда это происходит 3 раза за 100 бросков... вызывает вопросы к настройкам функции.
Вы что ребята. При чём тут конкретный модуль. Собственно думаю тут даже Вассал не при чём, зачем писать свой рандомизатор если есть стандартный.
Если вам кажется что в Вассале рандомизатор не честный то мягко говоря вам вообще не стоит играть в компьютерные игры. Потому что он везде одинаковый.
Вот список только самых популярных алгоритмов генерации псевдослучайных чисел:
http://en.wikipedia.org/wiki/List_of_pseudorandom_number_generators
Зачем столько разных алгоритмов, если рандом везде одинаковый?
Вы издеваетесь? Генератор случайных чисел реализован в системной библиотеке JAVA на которой написан вассал. Каждый язык программирования имеет такую реализацию. Проще всего использовать её. Но если она чем то не нравится конечно можно написать свой метод.
Такое количество алгоритмов потому что программирование же развивается. Они же все не одновременно появились.
В модулях к Вассалу однозначно нету никаких генераторов случайных чисел. Это легко проверить. Нужно найти файл с Java кодом, потому что только так его можно подключить.
Я на 99% уверен что создатели Вассала никакого своего генератора не писали, а воспользовались стандартным.
Обычно генераторы псевдослучайных чисел завязаны на встроенный таймер (просто потому что им нужны внешние данные для работы), потому кидать кубики по одному как советует МакВлад бессмыслено, они и так в разное время кидаются (считаются такты процессора).
Собственно чтобы больше не спорить. Я просто декомпилировал Вассал и посмотрел чего они используют.
Используется SecureRandom.
Вот тут описание: http://javamex.com/tutorials/random_numbers/securerandom.shtml
Да, действительно используется этот класс.
Посмотрел еще на форуме вассала, там программистам задавали похожий вопрос
http://www.vassalengine.org/forum/viewtopic.php?f=3&t=4892&p=30738&hilit=random+generator#p30738
и, судя по ответу, создатели вассала серьезно подходили к этому вопросу.
Опять же судя по проверкам, даже на небольших выборках, результаты получаются близкими к чисто теоретическим.
Но даже хороший генератор псевдослучайных чисел можно неправильно использовать, если например инициализировать его одной и той же, детерминированной, или не достаточно случайной последовательностью. И это уже зависит от программиста, пользовавшегося API. Другое дело, что к чести создателей вассала, они используют его правильно. И разве был спор? Я выразил сомнение, кстати, оно возникает у многих пользователей вассала, так что создатели вассала поместили этот вопрос в FAQ:
http://www.vassalengine.org/wiki/Faq_general#Why_are_the_dice_rolls_not_random.3F.
В частности:
... the programming team has carefully tested the die roller code and it passes the ent statistical tests for random number generation.
Ну да с вами то какой спор. :) Честно говоря такую статистическую работу как у вас выше я бы не проделал.
В Вассале генератор инициализируется видимо с таймера, так как там создание объекта без параметров, а вызовов установки зерна я не нашёл. Насколько я знаю на таком принципе работают все компьютерные игры. Потому странны жалобы на не случайные результаты. тем более для конкретного модуля, который их и генерить то не умеет.
А совет кидать по одному вообще песня. :) Человек вообще похоже смутно понимает как работают компьютерные программы. :)
Хотя код генерации результата броска в Вассале написан как то примитивно. Я бы так не стал делать. Там возможны перекосы при округлении числа с плавающей точкой до целого.
Но если они специально гоняли тесты. То видимо это нормально.
Да, я на этот момент тоже обратил внимание, но здесь это работает, так как в яве приведение к инту просто отбрасывает дробную часть.
Они что делают, берут у генератора случайное число от 0 до 1 (но 1 в этот диапазон не входит), умножают его на число граней, например на 6, прибавляют 1, получают число от 1 до 7, а затем просто отбрасывают дробную часть, получая числа от 1 до 6, при этом площади прямоугольников между 1 и 2, 2 и 3, и т.д. получаются одинаковыми, а значит и вероятности тоже. Не очень конечно эстетичный код, но в данном случае работает правильно. :)
Бросайте кубики по-одному.
"в теории 4 попадания должно быть точно" - нет такой теории.
Думаю проблема с "кубиками" - это технический момент. С настоящими кубиками такого безобразия не будет.
Бывает. Я однажды выбросил пять шестерок и одну пятерку подряд, после чего противник признал свое поражение. И это тоже была No Retreat.
Ещё как будет! На кубиках может выпасть и десять единиц подряд.
Только колода даёт гарантию одинакового количества выпадений единиц и шестёрок!
Так вот они где все фото)) Это мы уже 1,5 месяца играем? Сурово!
Да, нормально идем: 16 ходов за 6 недель - это 2.6 хода в неделю - при наших сессиях 2 часа в неделю- это быстрее чем час на ход. Мне кажется, что для Вассала очень неплохая скорость...
Вопрос каждому из 4 героев, поставивших оценки: какой смысл оценивать черновик?
Михаил, сожми, пожалуйста, фотографии - они на экран вылезают.
По оценкам - ты ещё не привык :) Я уже даже не "заморачиваюсь" на эту тему. Анонимность = необъективность, поэтому уже давно нет смысла вообще реагировать на оценки...
Использую эту тему для теста вставки изображений в запись и подгрузки их после очередной сессии на тесеру. Подгружаю уже месяц где-то. Просто не понимаю смысла оценивать это... К тому же вроде оценки черновикам нельзя было поставить, или я ошибаюсь.
Спасибо за наводку насчет изображений. А сильно вылезают? У меня аккурат по экрану. Интересно просто насколько меньше делать, а то юниты не будет видно.
Михаил, на айпаде смотрится нормально! Мелко, если целиком вся карта, но приблизил и всё гуд! :D