Как я сделал ScrapZone — тапалка с кейсами и азартом на чистом JS

Всем привет. Короче, решил на днях собрать какой-нибудь простенький проект, чтоб время убить, и в итоге получилась игра ScrapZone. Сначала думал просто сделать обычный кликер, но потом затянуло и решил добавить туда всяких штук для азарта, типа открытия кейсов и апгрейдов.

В общем, основная тема игры — это сбор металлолома. Начинаешь с нуля, идешь в раздел «Тапалка» и просто кликаешь по шестеренке. За каждый клик дают 10 единиц скрапа. Когда накопишь сотку, можно уже идти открывать кейсы.

Я там сделал два вида ящиков. Внутри разные предметы, и у каждого своя редкость. Самая хреновая — серая, там множитель 0.3, то есть по факту уходишь в минус. Но если повезет, может выпасть золотая с множителем х25. Ленту с предметами в кейсах сделал на чистом CSS и JS, долго мучался, чтоб она плавно останавливалась именно там где надо, но вроде вышло норм.

Еще добавил «Копилку», чтоб можно было пассивно зарабатывать. Закидываешь туда скрап и каждую минуту капает 10% сверху. Там даже таймер есть, который показывает сколько до следующего начисления осталось.

И самая рисковая тема — это апгрейд. Там сам вводишь сколько ставишь и сколько хочешь получить, а игра считает шанс. Максимум можно выкрутить 75% шанса, минимум 1%. Один раз так все слил, пока тестил, но если цель не задирать, то подняться можно.

Весь код писал на обычном джаваскрипте, без всяких реактов и лишних библиотек, чтоб работало везде и быстро. С дизайном особо не мутил, просто выбрал темные тона и добавил немного блюра на карточки, чтоб выглядело посовременнее.

Если кому интересно поковырять код или просто поиграть, залил всё на гитхаб. Там в ридми есть инструкция как запустить (просто открыть индексный файл через браузер).

Ссылка на проект

Буду рад если посмотрите, может подскажете че еще добавить можно. Всем пока.