Как я настольную игру в веб перенести решил P.1

Всем привет! Меня зовут Вячеслав и… Вопрос зачем? Всё это как-то сложно. Короче говоря, мне было скучно и появилась идея перенести настольную игру Эпичные схватки боевых магов. Раньше часто с друзьями собирались по выходным и играли в эту настолку. Так как все соблюдают режим самоизоляции, появилось желание собраться онлайн…

Кстати, пару слов об игре. Достаточно активная настолка, каждый сам за себя и главная цель — собирать заклинания и убивать. Если же вам стало интересно что это за игра, то её легко найти в сети, прочитать правила и т,.

любители светлых тем тут?
любители светлых тем тут?

Ближе к делу. Основной инструмент разработки js и всё что с этим связано. В целом редко варюсь во фронтенд казане, так как опыта ноль, по этому UI часть вышла крайне скудной. Для бека использовал socket.io и для моих целей этого было более чем достаточно. Написано всё крайне просто. Не знаю как это всё описать, по-сути тут всё строится на событиях и сервисах, вот пару из них:

  • Выбрать карту
  • Атаковать врага
  • Сбросить карту
  • Использовать карту
  • Статус игры

Есть игровой сервис, так сказать ядро, он контролирует большую часть логики игры:

  • кому и когда раздать карты
  • что делать когда закончится игра
  • кто, кому и как нанёс урон
  • игровые оповещения

За счёт socket.io из коробки есть функционал лобби и всё что с этим связано.

Главная задача которую для себя поставил, реализовать основные механики игры: сокровища, лечение, атака, твари, дохлые колдуны. Как итог часть механик перенесена, пару фишек добавил от себя, на всё про всё ушло около недели, за первые 2 дня был сделан костяк сервера и тут пошла жара

как всё начиналось
как всё начиналось

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

Собрались тестить баги
Собрались тестить баги

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

Быстрый старт. Основные механики и правила игры
Быстрый старт. Основные механики и правила игры

Однажды ребята попросили добавить оригинальный арт для сохранения общего настроения игры и ничего лучше чем просто всё снять и отредактировать в фотошопе я не придумал.

интерфейс на текущий момент и тот самый арт
интерфейс на текущий момент и тот самый арт

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

Спасибо за внимание. Так вот, к чему всё написанное выше? Просто захотелось поделится тем, что получилось за эти карантинные дни в отрыве от основной работы. Если вам стало интересно, можно посетить сайт и поиграть
Если у вас появилось желание что-то написать — напишите: )

33
Начать дискуссию