Как я создал ScrapZone: «Тапалка» на кураже, кейсы и математика азарта на чистом JS
Как я сделал ScrapZone — тапалка с кейсами и азартом на чистом JS
Всем привет. Короче, решил на днях собрать какой-нибудь простенький проект, чтоб время убить, и в итоге получилась игра ScrapZone. Сначала думал просто сделать обычный кликер, но потом затянуло и решил добавить туда всяких штук для азарта, типа открытия кейсов и апгрейдов.
В общем, основная тема игры — это сбор металлолома. Начинаешь с нуля, идешь в раздел «Тапалка» и просто кликаешь по шестеренке. За каждый клик дают 10 единиц скрапа. Когда накопишь сотку, можно уже идти открывать кейсы.
Я там сделал два вида ящиков. Внутри разные предметы, и у каждого своя редкость. Самая хреновая — серая, там множитель 0.3, то есть по факту уходишь в минус. Но если повезет, может выпасть золотая с множителем х25. Ленту с предметами в кейсах сделал на чистом CSS и JS, долго мучался, чтоб она плавно останавливалась именно там где надо, но вроде вышло норм.
Еще добавил «Копилку», чтоб можно было пассивно зарабатывать. Закидываешь туда скрап и каждую минуту капает 10% сверху. Там даже таймер есть, который показывает сколько до следующего начисления осталось.
И самая рисковая тема — это апгрейд. Там сам вводишь сколько ставишь и сколько хочешь получить, а игра считает шанс. Максимум можно выкрутить 75% шанса, минимум 1%. Один раз так все слил, пока тестил, но если цель не задирать, то подняться можно.
Весь код писал на обычном джаваскрипте, без всяких реактов и лишних библиотек, чтоб работало везде и быстро. С дизайном особо не мутил, просто выбрал темные тона и добавил немного блюра на карточки, чтоб выглядело посовременнее.
Если кому интересно поковырять код или просто поиграть, залил всё на гитхаб. Там в ридми есть инструкция как запустить (просто открыть индексный файл через браузер).
Буду рад если посмотрите, может подскажете че еще добавить можно. Всем пока.