Делаю слоты часть 2

от автора

После неудачного принятие первой статьи решил бросить силы и улучшить приложение до демки. Вот что получилось:

Но тут без звука, вот тоже самое гитхабе со звуком.

Немного математики не помешает для разминки. Матрица 3×5 — максимум линий играющих может быть 243=3^5. Теперь при всего 2х играющих символах выпадение одного и того же в 15 ячейках этой матрицы 2^15=32768, а точнее 1/32768 = 0,000030517578125. 3 случая из 100000 грубо округляя, это значит что Вам должно выпасть 15 орлов или решек подряд. Тогда получите максимальный выигрыш. Теперь в приложении используется 7 символов — различных картинок которые должны выпасть в ряд. В демки всего 19 линий из 243 возможных, это значит что выпадение в ряд из 7^5=16807 всего вариантов или же 1/16807=0,00005949901. Это 5 из 100000 вариантов успеха умножив это число на 19 линий получим 0,00113048134 вариантов успеха. Не так уж и много, но это при равновероятностном выпадении символов. В приложении внизу есть параметры генератора от 0 до 6. Например поставив 0 и 0 и запустив спин увидите самый максимальный выигрыш и выпадение одно и того же символа на всех ячейках(также можно вписать 1 и 1, 2 и 2, … 6 и 6 получите другой рисунок, но тот же выигрыш). Скажу сразу что я еще не просчитывал экономику слота ибо это тяжело. Если крутить данный слот от 0 до 2( аналогично от 1 до 3, от 2 до 4 и т.д.) на генераторе, то там хотя бы может что-то выпасть время от времени, при всего 2х символах от 0 до 1 будет Вам как бы биноминальное распределение и выигрывать будете через ход, иногда чаще, иногда реже.

Единственное, что не понятно — это всратое качество изображений в текстурах — видимо их сервер публичный cdn выдает в таком качестве — сжатом — пережатом.

Также были добавлены линии — в случае если они выпадают — отрисовываются, выигрыш начисляется. Самое главное — это смена текстур на барабанах — она происходит, не сразу как было раньше — что было заметно, а после начала вращения и сильного ускорения — на дальней стороне от взгляда наблюдателя — что создает вполне себе неразрывную иллюзию игры. Еще спин барабанов происходит не сразу всеми, а с некоторой задержкой — все зависит от мощности видеоускорителя на вашем девайсе ПК, ноутбуке или же смартфоне. Например мой смартфон не вывозит без лагов данное вращение. Надо будет помозговать над оптимизацией кода и еще изменить алгоритм вращения — сейчас оно линейно. Также замечу что данная технология не позволяет грузить более 9 текстур по отдельности, в случае дальнейшего развития придется помещать все текстуры в одну и грузить разом, при этом будет сложность с расчетом текстурных координат, что как бы раз посчитал и все ок, но нет если забудешь что-то добавить, то придется добавлять в атлас текстур например еще одну, что приведет к тому что все текстурные координаты надо будет рассчитывать заново. Ну и из мелочей было добавлено пару звуков на события вращения, остановки спина и выигрыша. Кстати фоновую музыку браузер не дает включить без действий пользователя.

На этом у меня всё, спасибо за внимание, только не минусуйте, а плюсуйте! И поменьше отвалов!


ссылка на оригинал статьи https://habr.com/ru/articles/821989/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *