[VK ссылка] IT отчет РИ «Angry Derby»

Разделы документа

1. IT отчет РИ «Angry Derby»

На этой игре разнообразия IT-моделей было сильно меньше, чем на « Ничего не происходит в штате Мэн », но, с другой стороны, если в прошлый раз основной упор IT был сделан на модели безумия, то на Angry Derby направлений получилось гораздо больше. Как и на Мэне, кроме роли IT-исполнителя, я взял на себя роль модельного мастера в тех вопросах, которые касались IT больше всего. И в этот раз, на мой взгляд, получилось гораздо удачнее - себе могу приписать сыгравшие скачки, отработавшие на ура ставки и два вспомогательных решения для игротехники. Как и на Мэне в этот раз я взял себе за четкое правило не приступать к реализации, пока не написано ТЗ к ней и хотя бы ГМ его не согласовал. По большей части этот подход сработал идеально - количество переделок на бегу было сведено к неизбежному в таких процессах минимуму. При этом у меня всегда был перед глазами roadmap с информацией, что готово, что не готово, где, когда и каких данных я жду и т.п. В результате я в какой-то момент неслабо так задолбал своих коллег требованиям к данным и сроками, но в итоге все было сдано вовремя и финальный прогон ВСЕГО 4 ноября выявил лишь несколько небольших проблем. Также еще сколько-то неполадок всплывали уже в процессе игры (увы, не все реально оттестировать заранее), но ничего критичного, что не решалось бы за 5-10 минут и, чаще всего, не мешало в это время играть людям. Итак по самим моделям и их реализации…

2. Скачки

О задачах Какое же дерби без скачек. Значит скачки должны быть. Реальные не потянем ни мы, ни игроки. Значит делаем через модель. Модель должна быть простой и удобной, создавать движ и при этом следовать cтарому доброму принципу от Blizzard: Easy to learn, hard to master. На игре есть лошади и жокеи. Если решают только статы лошадей - жокей становится ненужным придатком, этого нельзя было допустить. О реализации Основой и отправной точкой стала идея Оурила использовать телефон с приложением собственной разработки в качестве «хлыста» для подстегивания лошади. Таким образом жокей начинал напрямую влиять на своего скакуна. Дальше математика модели была отдана на откуп мне, в результате чего лошади обросли довольно приличным перечнем статистик, каждая из которых влияла на динамику ее бега и взаимодействие с «хлыстом». Были созданы ИИ-жокеи, позволившие мне обкатать это все и балансировать лошадей без долгих тестов. После первых прогонов, когда модель была полностью утверждена, КошкинС сформировала ТЗ к дизайну, а потрясающая Света нарисовала дизайн экрана самих скачек и их итогов, которые я интегрировал в модель. Принцип был прост: на страничке в интернете запускается трансляция гонки (с ноутбука на проектор или просто на телевизоре со smartTV). И дальше жокеи, размахивая заранее выданными МГ телефонами, подгоняют своих скакунов. Бэк по API принимает обращения от телефонов, демон в режиме реального времени обрабатывает их, а страница трансляции обновляется. В итоге - жокеи машут, лошадки двигаются ) Благодаря тестам с игроками и их отзывам мы смогли к игре сделать модель не только красивой, но и куда более познаваемой - в результате игроки понимали состояние своих скакунов (есть силы или на пределе) и от этого строили свои тактики. В результате на игре это родило очень интересные заезды, которые удивили даже меня (с учетом того, что во время скачек в админ-панели я-то вижу все характеристики в режиме реального времени). Для дополнительной проверки в игру были добавлены две абсолютно одинаковые по характеристикам лошади для игротехнического заведения. И они ни разу не пришли в одно и то же время, а наоборот - каждый раз их наездники показывали очень интересную борьбу. Смотреть на это было захватывающе. Вишенкой на торте послужила помощь Авис с балансом лошадок, феерические описания от Стрит и фотки, найденные мной. В результате в скакунов активно играли и вне дерби/паба, чем мы очень довольны.

3. Ставкина спорт

О задачах Оставлять дерби без ставок нельзя. Заставлять игроков вести всю эту систему не нужно - много мороки и мало ролевой игры, плохо контролируется МГ. Делать мастерских букмекеров - плохо, это игра об мастеров. Модель должна быть максимально простая и не замороченная, иначе играть в нее никто не будет. Модель должна вбрасывать деньги в полигон, а не высасывать их. О реализации Мы изначально отложили эту модель на самый конец, когда будет понятно про все другие модели. Но сама модель ставок была придумана за 10 минут. Гораздо дольше пришлось повозиться с ее реализацией и балансировкой. Букмекерами стали игроки под присмотром главного букмекера (меня). Букмекером при желании мог стать любой игрок. Я взаимодействовал только с букмекерами, они же собирали ставки с игроков, раздавали выигрыши и мухлевали (если хотели). Все происходило максимально просто: Игрок, желающий сделать ставку, выбирает в своем приложении доступные варианты вроде «1 заезд: жокей Х придет первым», выбирает, сколько хочет поставить (от минимальной ставки и выше), и формирует в приложении игрока QR-код ставки. Игрок-букмекер в своем приложении сканирует этот QR и, если все ок, забирает деньги и выписывает бумажную квитанцию с номером ставки. Как только игрок-букмекер приносит мне деньги по всем принятым на текущий момент ставкам они «активируются» (у букмекеров была возможность слинять с полученным деньгами - тогда выплат по этим ставкам не было бы). После окончания дерби я произвожу финальный расчет и выдаю букмекерам деньги для выплаты по сыгравшим ставкам и их процент за работу. Дальше уже они сами выдают деньги тем, кто удачно поставил. Но все еще могли бы просто слинять ) Ставки были рассчитаны нами так, чтобы выигрыш всех поставивших с них был больше потенциального проигрыша всех поставивших + оставлены несколько лазеек для предприимчивых игроков (чем некоторые и воспользовались). В итоге ставки сыграли на ура - кроме небольшого инцидента на первом дерби, когда я банально нажал не ту кнопку у себя на расчете и выигрыши за финальный заезд не посчитались, но это быстро выяснилось и удалось бегом все переделать.

4. Приложение и другие модели в нем

Как и на Мэне, мы использовали web-приложение - идеальное во всем, кроме пушей, так что просто на старте отказались от них. Уведомления были, но либо игрок итак знал, что ему нужно их периодически проверять, либо это была рассылка для всех и информация быстро распространялась по полигону. Единственное, что качественно улучшили по сравнению с прошлым разом - читалку QR-кодов и в результате она работала быстее и четче. И как всегда в довесок к этому шел отличный дизайн от Кошкинс . Да, были моменты, которые мы могли бы сделать лучше и понятнее, но оставим это как точку роста на будущее ) Экраны приложения: Общая информация о персонаже и игроке - в том числе поселение, загруз, правила, все доступные персонажу перки/статусы и краткая справка по ним. Экран моделей: Участие в банде/управление бандой Запись в сон (см. ниже) Медицина Бокс Участие в банде/управление бандой Запись в сон (см. ниже) Медицина Бокс Экран рефлексии Экран ставок (см. выше) Экран уведомлений. Кратко по моделям Управление бандой позволяло главарям принимать людей в банду и выгонять из нее, переназначать медиков банды и информатора (если предыдущий «закончился»), снимать с себя полномочия. Медицина позволяла лечить пользуясь «удачей банды» (колодой карт, вынимая из которой заранее определенное количество карт нужно было набрать 21 или больше) и пополнять эту удачу. Модель у Афтара и Витали получилась динамичная и интересная. С принятием решений и возможностью как облажаться при 80% успехе, так и вытянуть счастливую комбинацию на 10%. На игре были и те, и те ситуации. Пополнение колоды происходило через сканирование медиками одноразовых QR с лекарств. При лечении карты старше 7 из колоды вымывались, уменьшая вероятность успеха следующих операций. У колоды был вставлен определенный «кап», чтобы нельзя было ее забить лекарствами до отказа - шанс провалиться был всегда. Бокс был моделью максимально не виртуальной смотрелся на ура, но вот хранить все параметры и управлять тренировками пришлось в приложении - иначе надо было бы заставить игроков, который итак довольно мощно вгрузили в себя непростую модель, вести записи/логи/замерять время. Зачем, если можно снять с них эту лишнюю нагрузку. Рефлексия - тут с точки зрения IT сложностей не было. Есть желания, которые нужно показывать по циклам и с каждым новым уточнять статус персонажа - в норме/в рефлексии. Есть варианты выхода. Все довольно тривиально. Модель скорее вспомогательная, но роль свою выполнила на ура. Единственное, что не продумали - вынести статус рефлексии на все экраны, так как состояние оказывало влияние на все остальные модели и игрокам было бы удобнее. Уведомления - просто система односторонней связи МГ с игроками. Использовалась в основном для отправки данных информаторам (персонаж с особым каналом связи). Все супер тривиально (хотя под капотом там довольно прикольный интерфейс для массовых рассылок).

5. IT для игротехники

На игре было еще две решения, которые мы запланировали и сделали в помощь нашим прекрасным игротехникам: автоматизация записи в Сон и бот для захвата точек. Запись в Сон О задачах Упрощение и автоматизация записи, напоминание о записи, возможность вносить комментарии к записи как со стороны игрока так и со стороны команды игротехников. О реализации Реализация состояла из трех компонентов: приложение игрока с кнопкой «записаться» и возможностью при наличии записи оставить комментарий; мастерская админка со списком всех слотов (свободных и занятых), возможностью их редактировать, комментировать и подключением к записи заранее подготовленных командой Вити текстов и идей; и телеграм-бот в качестве связующего звена, через него подтверждалась запись, он же сообщал и игроку, и игротехам о любых изменениях, через него же присылались оповещения. В результате команде не приходилось вручную записывать игроков (только править в случае переноса), игроки не тратили время на лишние коммуникации/согласование и четко знали когда и куда им подходить. Захват точек О задачах Для захвата точек к каждой банде в начале цикла выходили «юристы», чьей задачей было переоформить нужное банде чужое заведение на эту самую банду. Конечно, если никто не попробует им помешать. Но за всем этим скрывается: необходимость знать, какие точки доступны для захвата, и запуск/остановка таймера по необходимости, чтобы в любой момент времени у всех игротехнических персонажей была единая информация с мастеркой. О реализации Снова на помощь пришел телеграм-бот. В начале цикла все техам отсылалось уведомление о начале захвата. При приходе в банду тех выбирал ее в боте и тут же видел все доступные для захвата точки. Оставалось только при старте нажать на выбранную точку, а в случае помех - остановить захват. Дальше либо таймер успеет дойти до конца и с уведомлением точка обретет новых хозяев, либо нет. Автоматизация, понятность, исключение конфликтных ситуаций: есть уведомление - есть точка, нет - извините. Спасибо команде Алукарда (и мастерам ее дополнившим). Ребята после краткого инструктажа быстро въехали в то, как все работает и дальше процесс пошел без проблем.

Извлечённый текст

IT отчет РИ «Angry Derby» На этой игре разнообразия IT-моделей было сильно меньше, чем на « Ничего не происходит в штате Мэн », но, с другой стороны, если в прошлый раз основной упор IT был сделан на модели безумия, то на Angry Derby направлений получилось гораздо больше. Как и на Мэне, кроме роли IT-исполнителя, я взял на себя роль модельного мастера в тех вопросах, которые касались IT больше всего. И в этот раз, на мой взгляд, получилось гораздо удачнее - себе могу приписать сыгравшие скачки, отработавшие на ура ставки и два вспомогательных решения для игротехники. Как и на Мэне в этот раз я взял себе за четкое правило не приступать к реализации, пока не написано ТЗ к ней и хотя бы ГМ его не согласовал. По большей части этот подход сработал идеально - количество переделок на бегу было сведено к неизбежному в таких процессах минимуму. При этом у меня всегда был перед глазами roadmap с информацией, что готово, что не готово, где, когда и каких данных я жду и т.п. В результате я в какой-то момент неслабо так задолбал своих коллег требованиям к данным и сроками, но в итоге все было сдано вовремя и финальный прогон ВСЕГО 4 ноября выявил лишь несколько небольших проблем. Также еще сколько-то неполадок всплывали уже в процессе игры (увы, не все реально оттестировать заранее), но ничего критичного, что не решалось бы за 5-10 минут и, чаще всего, не мешало в это время играть людям. Итак по самим моделям и их реализации… Скачки О задачах Какое же дерби без скачек. Значит скачки должны быть. Реальные не потянем ни мы, ни игроки. Значит делаем через модель. Модель должна быть простой и удобной, создавать движ и при этом следовать cтарому доброму принципу от Blizzard: Easy to learn, hard to master. На игре есть лошади и жокеи. Если решают только статы лошадей - жокей становится ненужным придатком, этого нельзя было допустить. О реализации Основой и отправной точкой стала идея Оурила использовать телефон с приложением собственной разработки в качестве «хлыста» для подстегивания лошади. Таким образом жокей начинал напрямую влиять на своего скакуна. Дальше математика модели была отдана на откуп мне, в результате чего лошади обросли довольно приличным перечнем статистик, каждая из которых влияла на динамику ее бега и взаимодействие с «хлыстом». Были созданы ИИ-жокеи, позволившие мне обкатать это все и балансировать лошадей без долгих тестов. После первых прогонов, когда модель была полностью утверждена, КошкинС сформировала ТЗ к дизайну, а потрясающая Света нарисовала дизайн экрана самих скачек и их итогов, которые я интегрировал в модель. Принцип был прост: на страничке в интернете запускается трансляция гонки (с ноутбука на проектор или просто на телевизоре со smartTV). И дальше жокеи, размахивая заранее выданными МГ телефонами, подгоняют своих скакунов. Бэк по API принимает обращения от телефонов, демон в режиме реального времени обрабатывает их, а страница трансляции обновляется. В итоге - жокеи машут, лошадки двигаются ) Благодаря тестам с игроками и их отзывам мы смогли к игре сделать модель не только красивой, но и куда более познаваемой - в результате игроки понимали состояние своих скакунов (есть силы или на пределе) и от этого строили свои тактики. В результате на игре это родило очень интересные заезды, которые удивили даже меня (с учетом того, что во время скачек в админ-панели я-то вижу все характеристики в режиме реального времени). Для дополнительной проверки в игру были добавлены две абсолютно одинаковые по характеристикам лошади для игротехнического заведения. И они ни разу не пришли в одно и то же время, а наоборот - каждый раз их наездники показывали очень интересную борьбу. Смотреть на это было захватывающе. Вишенкой на торте послужила помощь Авис с балансом лошадок, феерические описания от Стрит и фотки, найденные мной. В результате в скакунов активно играли и вне дерби/паба, чем мы очень довольны. 1 из 2 Ставки на спорт О задачах Оставлять дерби без ставок нельзя. Заставлять игроков вести всю эту систему не нужно - много мороки и мало ролевой игры, плохо контролируется МГ. Делать мастерских букмекеров - плохо, это игра об мастеров. Модель должна быть максимально простая и не замороченная, иначе играть в нее никто не будет. Модель должна вбрасывать деньги в полигон, а не высасывать их. О реализации Мы изначально отложили эту модель на самый конец, когда будет понятно про все другие модели. Но сама модель ставок была придумана за 10 минут. Гораздо дольше пришлось повозиться с ее реализацией и балансировкой. Букмекерами стали игроки под присмотром главного букмекера (меня). Букмекером при желании мог стать любой игрок. Я взаимодействовал только с букмекерами, они же собирали ставки с игроков, раздавали выигрыши и мухлевали (если хотели). Все происходило максимально просто: Игрок, желающий сделать ставку, выбирает в своем приложении доступные варианты вроде «1 заезд: жокей Х придет первым», выбирает, сколько хочет поставить (от минимальной ставки и выше), и формирует в приложении игрока QR-код ставки. Игрок-букмекер в своем приложении сканирует этот QR и, если все ок, забирает деньги и выписывает бумажную квитанцию с номером ставки. Как только игрок-букмекер приносит мне деньги по всем принятым на текущий момент ставкам они «активируются» (у букмекеров была возможность слинять с полученным деньгами - тогда выплат по этим ставкам не было бы). После окончания дерби я произвожу финальный расчет и выдаю букмекерам деньги для выплаты по сыгравшим ставкам и их процент за работу. Дальше уже они сами выдают деньги тем, кто удачно поставил. Но все еще могли бы просто слинять ) Ставки были рассчитаны нами так, чтобы выигрыш всех поставивших с них был больше потенциального проигрыша всех поставивших + оставлены несколько лазеек для предприимчивых игроков (чем некоторые и воспользовались). В итоге ставки сыграли на ура - кроме небольшого инцидента на первом дерби, когда я банально нажал не ту кнопку у себя на расчете и выигрыши за финальный заезд не посчитались, но это быстро выяснилось и удалось бегом все переделать. 1 из 2 Приложение и другие модели в нем Как и на Мэне, мы использовали web-приложение - идеальное во всем, кроме пушей, так что просто на старте отказались от них. Уведомления были, но либо игрок итак знал, что ему нужно их периодически проверять, либо это была рассылка для всех и информация быстро распространялась по полигону. Единственное, что качественно улучшили по сравнению с прошлым разом - читалку QR-кодов и в результате она работала быстее и четче. И как всегда в довесок к этому шел отличный дизайн от Кошкинс . Да, были моменты, которые мы могли бы сделать лучше и понятнее, но оставим это как точку роста на будущее ) Экраны приложения: Общая информация о персонаже и игроке - в том числе поселение, загруз, правила, все доступные персонажу перки/статусы и краткая справка по ним. Экран моделей: Участие в банде/управление бандой Запись в сон (см. ниже) Медицина Бокс Экран рефлексии Экран ставок (см. выше) Экран уведомлений. Кратко по моделям Управление бандой позволяло главарям принимать людей в банду и выгонять из нее, переназначать медиков банды и информатора (если предыдущий «закончился»), снимать с себя полномочия. Медицина позволяла лечить пользуясь «удачей банды» (колодой карт, вынимая из которой заранее определенное количество карт нужно было набрать 21 или больше) и пополнять эту удачу. Модель у Афтара и Витали получилась динамичная и интересная. С принятием решений и возможностью как облажаться при 80% успехе, так и вытянуть счастливую комбинацию на 10%. На игре были и те, и те ситуации. Пополнение колоды происходило через сканирование медиками одноразовых QR с лекарств. При лечении карты старше 7 из колоды вымывались, уменьшая вероятность успеха следующих операций. У колоды был вставлен определенный «кап», чтобы нельзя было ее забить лекарствами до отказа - шанс провалиться был всегда. Бокс был моделью максимально не виртуальной смотрелся на ура, но вот хранить все параметры и управлять тренировками пришлось в приложении - иначе надо было бы заставить игроков, который итак довольно мощно вгрузили в себя непростую модель, вести записи/логи/замерять время. Зачем, если можно снять с них эту лишнюю нагрузку. Рефлексия - тут с точки зрения IT сложностей не было. Есть желания, которые нужно показывать по циклам и с каждым новым уточнять статус персонажа - в норме/в рефлексии. Есть варианты выхода. Все довольно тривиально. Модель скорее вспомогательная, но роль свою выполнила на ура. Единственное, что не продумали - вынести статус рефлексии на все экраны, так как состояние оказывало влияние на все остальные модели и игрокам было бы удобнее. Уведомления - просто система односторонней связи МГ с игроками. Использовалась в основном для отправки данных информаторам (персонаж с особым каналом связи). Все супер тривиально (хотя под капотом там довольно прикольный интерфейс для массовых рассылок). 1 из 12 IT для игротехники На игре было еще две решения, которые мы запланировали и сделали в помощь нашим прекрасным игротехникам: автоматизация записи в Сон и бот для захвата точек. Запись в Сон О задачах Упрощение и автоматизация записи, напоминание о записи, возможность вносить комментарии к записи как со стороны игрока так и со стороны команды игротехников. О реализации Реализация состояла из трех компонентов: приложение игрока с кнопкой «записаться» и возможностью при наличии записи оставить комментарий; мастерская админка со списком всех слотов (свободных и занятых), возможностью их редактировать, комментировать и подключением к записи заранее подготовленных командой Вити текстов и идей; и телеграм-бот в качестве связующего звена, через него подтверждалась запись, он же сообщал и игроку, и игротехам о любых изменениях, через него же присылались оповещения. В результате команде не приходилось вручную записывать игроков (только править в случае переноса), игроки не тратили время на лишние коммуникации/согласование и четко знали когда и куда им подходить. Захват точек О задачах Для захвата точек к каждой ба... (показаны первые 10000 символов)