Дар участия

Как серверное программное обеспечение поддерживает бесплатные подарки, которые нравятся игрокам

Вовлеченность - центральная проблема для всех видов платформ, будь то учетная запись в социальных сетях или обычный магазин. Каждый проект, каждый бизнес стремится к определенной лояльности со стороны своих клиентов, пользователей или даже случайных прохожих. Игры не исключение: на самом деле, это область, в которой участие становится еще более важным.

В Butter Royale мы хотели внедрить систему, которая позволяла бы дарить игрокам особые скины и предметы особого культурного или реального значения. Нам нужно было, чтобы игроки чувствовали удовлетворение в реальном времени не только от основного игрового процесса, и чтобы эти бесплатные предметы помогли игрокам связать свой игровой опыт с влиятельными лицами, за которыми они следят, или местами, из которых они родом. Мы чувствовали, что проведение розыгрышей в честь местных праздников или эксклюзивных для списка рассылки Butter Royale поможет Butter Royale по-новому прикоснуться к жизням игроков, а не просто заставит их играть матч за матчем на своем смартфоне, чтобы добывать каждый новый предмет.

Как только мы выяснили, чего хотим достичь с точки зрения вовлеченности и более тесного отношения к игрокам, следующим шагом стало выяснение того, как это сделать. Мы использовали AWS (Amazon Web Services), поскольку на нем уже размещена большая часть нашей инфраструктуры. Выбор фреймворка занял больше времени, так как нужно было рассмотреть множество вариантов - от простого старого HTML-CSS-JS до ReactJS или VueJS. В то время как варианты казались такими же бесконечными, как и странные дискуссии, посвященные их разделению, мы закончили с ReactJS с некоторыми добавленными пакетами и интеграциями, такими как React-Bootstrap.

Хотя сама разработка была относительно простой, выбор способа развертывания приложения на серверах оказался немного сложнее, поскольку мы снова столкнулись с несколькими вариантами. В конце концов, мы разрывались между ElasticBeanstalk и статической сохраненной страницей S3. Хотя использование S3 казалось интуитивно простым, особенно как быстрый и простой способ увидеть наш код в действии, мы решили использовать ElasticBeanstalk с контейнерным приложением React. Это было сделано для того, чтобы нам было легче перемещать контейнерное приложение, где бы мы ни были, а также развертывать несколько копий по мере необходимости - отличный вариант для создания как тестовой, так и действующей версии и хранения их отдельно.

Бэкэнд-часть приложения была чрезвычайно простой в развертывании (ExpressJS с опцией Node на ElasticBeanstalk). Однако вскоре мы выяснили, почему вариант S3 был более популярен для фронтенд-работы…

Вышеупомянутую ошибку, возможно, было легче всего выяснить, и это было совсем не так просто. У нас возникли внезапные сбои при развертывании с тайм-аутом или без него, а успешное развертывание заняло бы более 10 минут! В конце концов, проверка дополнительных журналов на AWS перед тем, как спрашивать StackOverflow, помогла нам найти решение.

Основным виновником была память, которая превышала установленные значения из-за конфигурации контейнера и AWS, что, в свою очередь, влияло на сами развертывания. Не говоря уже о том, что определенные файлы кеша / журнала отправлялись на серверы AWS, что в конечном итоге съедало конфиги тайм-аута приложения.

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

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

Хотите получить недавнюю раздачу подарков? Не пропустите одну из наших самых давних и самых популярных наград - косметическое сотрудничество Butter Royale с другими сингапурскими разработчиками Battlebrew Productions и The Gentlebros!