История создания классической браузерной игры. Части 1, 2

Описание: Все про игру, обсуждаем

cтpaж πopядĸa M
Автор темы
Аватара
cтpaж πopядĸa M
Автор темы
Сообщения: 378
Зарегистрирован: 18.04.2017
Откуда: fireofsteel.ru
Сайт ВКонтакте

#1 cтpaж πopядĸa » 13:10 11.05.2017

Часть первая:
Тема на Пикабу
Тема на Яплакаль

Часть вторая:
Тема на Яплакаль


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

Этап 1. Решили сделать.

Принято решение о создании классической браузерной игры примерно в декабре 2015 года. В команде уже на этом этапе есть системный администратор (очень важно иметь сразу хорошего специалиста), геймдизайнер, он же локомотив идеи, совмещающий массу сопутствующих специальностей и пара программистов, которые в отрыве от основной деятельности занимаются игрой.

После недолгих поисков на сайте фрилансеров найден претендент на написание серверной части. Отступая - можно сразу сказать. Идеального не бывает, поэтому на этом этапе руководствуйтесь подбором команды так, чтобы вы начали понимать друг друга с первой встречи. Есть контакт. Ваш человек. Ну и не забудьте оговорить сразу условия сотрудничества.
Далее примерно в таком же стиле найден еще один программист, который занимается только игрой, ее клиентской частью, но уже сидя в офисе, поскольку тут проще иногда пальцем ткнуть что поменять, чем долго расписывать удаленному работнику ТЗ и все равно будет недопонимание (а оно будет, поверьте, т.е. упрощаем коммуникацию), и начинаем работу. Поскольку новый год, это проблема всей страны которая неделю до нового года и  две недели после НГ, не особо горит желанием работать и медленно отходит от праздников, начали писать код в середине января 2016 г.

В качестве основного инструмента принято решение использовать для серверной части связку node js + MySQL, клиентская часть - JS c использованием jquery.

Основная задача далее, подобрать художников. Поскольку типы вооружения/брони должны различаться, художников подбираем на фрилансе, сидящих удаленно по всей стране. И пока пишется код, начинается отрисовка сотен предметов (а всего предметов в игре около 3000, и это еще не все отрисованы). Одновременно пишется сюжет игры, который потом будет раскрыт в квестовой системе.

Основные типы предметов по возрастанию.

Серебрянные предметы, предметы с монстров, и ботов, которые поднимаются на 6 уровней, но не меняют своего изображения, например:
pikabu_s.jpg


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


Этап 2. Закрытый бета тест и баланс.

Примерно в начале лета 2016 года, основные модули готовы, пришла пора переходить к  балансу боев.
На этом этапе просто будьте готовы к тому, что баланс вам придется переделывать несколько раз. Что то упустите, что то неправильно посчитаете, что то добавите или уберете. Какие то шерховатости вылезут в процессе теста. В общем работа с балансом заняла все время до декабря 2016.
Здесь, поскольку мы в самом начале создали группу игры в контакте, вам очень пригодится помощь небольшой группы тестеров. Больше 20-40 человек не имеет смысла, поскольку основную часть ошибок, проблем, просто вещей на которые вы не обратили внимание, поскольку у вас в процессе уже замылился взгляд - они вам практически сразу выдадут. А при большой группе вас завалят однотипными сообщениями.

А дальше, мы открыли игру в стадию открытого бета теста, и привлекли туда несколько сотен человек, но об этом в следующей части.

Продолжение в части 3. Открытый бета тест и первые проблемы...

Добавлено спустя 5 часов 56 минут:
Часть 3. Открытый бета тест и первые проблемы...

Первый запуск на открытый бета тест был запланирован на середину декабря, в за пару недель до Нового года.

И тут начались проблемы:

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

В общем, поскольку времени терять не хотелось, быстренько подняли сервер на площадке предоставляющей сервера в аренду. И запустили 30 декабря. (помним, я писал что хороший системный администратор - это важно. В дальнейшем он будет выручать нас неоднократно)

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

Поначалу игра была совсем пустой. Я не будут описывать все этапы заливки контента, так как он и сейчас в полном разгаре.
ОБТ шел следующим образом. Брали модуль, например какую то локацию за городом, наполняли ее мобами, тестировали с игроками нападение на мобов, выпадение с них дропа и прочие ошибки.

Затем, когда все начальные локации были заполнены, перешли к ресурсам. Добавили на локации ресурсы и ловили с игроками баги, возникающие все время.

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

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

Обновления серверной части проходили незаметно для игрока, кроме секундной прокрутки логотипа, обновление клиентской части было бы вообще незаметно для игрока, если бы не то, что оно требовало очистки кэша. Это был фейл, который пока нас преследует. Мы потихоньку переписываем код, но увы, пока каждое 2-е обновление клиентской части требует очистки кэша.

Вторая проблема, с которой мы столкнулись, это чисто человеческое явление. Мы просто недооценили объем правок, и кода, который надо будет дописать/переписать/поправить. И поначалу очень сильно фейлили со сроками, которые сами объявляли. Т.е рассчитывали например что за неделю отладим модуль групповых боев, а в итоге по итогам найденных ошибок проще было переписать заново. В итоге сроки сдвигались.

Что дает открытый бета тест? Во первых принятая схема общения с игроками, сразу и онлайн, привела к тому, что основная масса тестеров достаточно лояльна к нашим фейлам по времени. Из плюсов - все баги выползают сразу же в течении часа после обновы, и часть их правится сразу же. Из минусов поначалу - то, что вновь приходящие игроки задавали однотипные вопросы, которые мы суммировав - купировали тем, что добавили в квест новичка наиболее непонятные моменты. Да и "старички" уже отсеивали практически половину таких вопросов. Т.е. за время теста мы подготовили для себя команду игроков, которые могут новичкам рассказать об игре - все.

Добавлено спустя 3 часа 12 минут:
Часть 4. Монетизация, как мы ее видим

Наиболее частый вопрос: "А как вы будете зарабатывать. неужели еще один клон с огромными ценами на артефакты".
Наш подход к монетизации такой:
Все что есть в игре, можно купить за серебро (игровая валюта) и золото (реал)
Но, почти все что можно купить за золото из предметов в игре - можно скрафтить, потратив просто игровое время. Более того, это предпочтительный путь, поскольку занимаясь профессиями, вы их качаете, что дает вам преимущество.

И еще есть премиум аккаунт за 350 рублей в месяц, который дает вам определенные преимущества в скорости прокачки, но не в боевой составляющей.

Вот что дает премиум аккаунт:
Опыт x1.5
Время передвижения по локациям -25,00%
Время восстановления жизни -25,00%
Скорость изучения профессий 10,00%
Скорость изучения боевых навыков 10,00%
Скорость добычи ресурсов -10,00%
Стоимость ремонта предметов -25,00%
Продать вещи старьёвщику не заходя в город +


На премиум аккаунте будет включен автобой (рандомное выставление ударов/блоков) в бою, и очередь на крафт расшириться с 3-х слотов на обычном до 10-ти слотов.

Собственно наш подход к монетизации можно озвучить так:
Нам выгоднее 1000 человек с премиум аккаунтом за 350 рублей, чем несколько десятков покупающих на большие суммы. Тут просто, шкурный подход.

Уход нескольких человек с маленьким чеком, это небольшая, восполнимая потеря. Уход нескольких человек с большим донатом - это потеря. А они уйдут если под них не править баланс, не вводить суперпушки. Но и введение их, путь в забвение, поскольку обычные игроки будут уходить - плюясь. А когда уйдет обычный игрок и донату будет неинтересно. Поэтому - никаких суперпушек за золото. Как удобство для ленивых да, но те же предметы, максимум с +5% преимуществом, что и другие могут скрафтить. Но у вас преимущество скорость покупки таких предметов, а у игроков потративших время на изготовление, а не покупку - отложенное преимущество. Прокачанные профессии, позволяющие улучшить сделанное оружие едва ли не лучше вашего купленного.

Т.е. мы декларируем принцип доната в игре таким. В игру можно вложить деньги, либо игровое время, проведенное с нами.

φeoφaлий
φeoφaлий
Сообщения: 2
Зарегистрирован: 14.05.2017

#2 φeoφaлий » 19:33 14.05.2017

Супер!

cтpaж πopядĸa M
Автор темы
Аватара
cтpaж πopядĸa M
Автор темы
Сообщения: 378
Зарегистрирован: 18.04.2017
Откуда: fireofsteel.ru
Сайт ВКонтакте

#3 cтpaж πopядĸa » 16:17 15.05.2017

История создания классической браузерной игры. Этапы и сложности. Часть 2.

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

Что хорошо
Те игроки, которые были с нами с самого начала разработки, и одними из первых стали участниками нашей группы Вконтакте, посвященной разработке игры, изначально были лояльны к нашим ошибкам, и у них, так же , как у нас, уже был замылен взгляд на наши ошибки и просчеты. Они спокойно нам прощали наши недочеты, и это никак не стимулировало нас на быстрые правки ошибок, введение нового функционала. Т.е. выведение сырой игры было катализатором скорости нашей работы. Ну и наличие не предвзятой категории новых игроков и их количество, ускоряло нахождение ошибок.

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

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

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

Опять же возникают недопонимания в тот момент, когда идет обсуждение того, как должна работать та или иная функция в игре. Мы зачастую принимаем предложения игроков, и меняем на ходу, но отвергаем то, что не вписывается в общую концепцию. А поскольку не все в игре еще доступно, достаточно сложно пояснить игрокам, почему одно предложение принимается, а другое отвергается. Или же зачастую когда вводится новый модуль, например крафт предметов, или заточка оружия, но нет дальнейших модулей, то получается перекос.
Яркий пример. Пока не было заточки оружия, параметры брони на всех точках были такими, что существующее оружие наносило небольшой урон, и бои были затянутыми, что сразу же отметили все игроки, которые тестировали бои друг с другом. Но после появления заточки, т.е. увеличения урона оружия от прокачанной профессии, такой вопрос пропал. Но зато сразу же появился вопрос, что с заточенным оружием стало легко убивать мобов начального уровня.

Тут нужно немного сделать отступление, и рассказать немного о команде.

Для всех это первый опыт разработки игр. Кроме человека, занимающегося серверной частью. Естественно, что все, в какой то мере играли в разные игры, но фактически ничего из тех игр, кроме системы боев, как в Бойцовском клубе, сюда не переносили. Да и та, если посмотреть не предвзято, не такая уж и похожая.
Вообще практически все игроки, приходя, говорили, что мы похожи на ту или иную браузерку. Мы даже завели у себя на форуме тему, в которой обсуждаем, на какие игры мы похожи.
Это и минус и плюс игры. Минус в том, что игроки зачастую приходя из других проектов ищут похожие алгоритмы действия, как "там", а в итоге это не работает, или работает сильно не так, как привыкли. А плюс в том, что это не клон и не содранная игра, а своя, отличающаяся от всего, что они видели.

Что из себя в итоге представляет игра.
Вкратце это стандартная браузерная игра, если взять за основу какую то классификацию, то БК подобная.
Существует три расы, имеющие каждая свои преференции.
Игрок может расти, проводя бои с игроками на арене, с ботами на арене, или вылавливая мобов за пределами города.
Есть выбор из 10 профессий, при этом можно выбрать только 5 профессий, и отказаться от любой из них, в какой то момент, но с потерей всего прогресса и стат, которые она дает.
Занятие профессиями, как позволяет расти уровню профессии, так и расти основному уровню игрока. Всего 18 уровней основных и 10 уровней у каждой профессии.
В игре реализован большой крафт (более тысячи предметов), т.е. создание предметов из ресурсов, и будет реализован механизм различных модификаций предметов магией. На данный момент реализована заточка оружия, увеличивающая урон, и в стадии внутреннего тестирования магия.

Тут мы очень внимательно отслеживаем статистику по введению таких модулей и корректируем параметры по итогам статистики и отзывам/предложениям игроков.

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

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

Пока это все в этой части. Чуть ниже готов ответить на ваши вопросы, если будут. Постараюсь отвечать развернуто.

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


Вернуться в «Общий»

Кто сейчас на форуме (по активности за 15 минут)

Сейчас этот раздел просматривают: 1 гость
Боты: Google [Bot]