Pull to refresh

Comments 114

Про ваш проект или, того хуже, про вашу компанию, а то и про вас лично, написали на Лурке. Нужно ли сразу бежать в суд и отправлять жалобу в Роскомнадзор с требованием немедленно заблокировать негодяев?


мухахаха. Это камень в чей огород?
Треть из описанного в посте можно посчитать «Камнем в чужой огород».

p.s. Если я с ходу могу дать объяснения на >95% вопросов, могу ли я захватить мир?
Нет, скорее у вас просто уже есть опыт неудачной разработки-запуска-эксплуатации ММОРПГ.
Почти, я видел все это со стороны игроков во многих проектах, по-этому теперь очень хорошо представляю себе многие нюансы.
ГМ знают ответы на 100% этих вопросов, но вот когда я работал в Гравити по Реквиему — было практически невозможно объясник корейскому начальству ничего из этого. Они недогоняли что такое спидхак и почему это надо фиксить, их неинтересовало изза чего в проекте появляются деньги и патологически боялись русских и их предложений. Их устраивало то что рагна и реквием дают деньги, сливали эти деньги в головняк и плевали на все даже не выделяя денег на обновление серверного парка. Я не дождался до момента, когда Иннова таки выкупила это странное создание. Нервы сдали.
Есть такая штука — корейские ММО. У них несколько другая модель, они к ММО подходят как к обычным сингл-плеерным играм. То есть делают, запускают, начинают получать деньги, начинают делать следующую, запускают ее, и так далее. И при такой модели им нет никакого резона заморачиваться на счет 95% перечисленных в статье пунктов — через пару лет игру прикрывают, чтобы освободить место на серверах.
Эмм… Есть корейские ммо вообще, а есть рагна и линейка в частности. Обе прожили более 10 лет. Но саппорт такой что проще застрелился. И не спрашивайте меня почему они столько лет прожили, человеческий маразм я понять не могу. Одно могу про корейцев сказать точно: бэкапы они не делают и документацию не ведут. В лучшем случае будет кривой эксельшит и всё.
Ну да, я пожалуй погорячился, записав все корейские ММО в одну группу, но тем не менее, подобное явление имеет место быть. Нацелены подобные поделки в основном на внутренний рынок, потому за пределами Кореи особо и не известны, особенно с учетом качества игр.
Вот сразу возникает вопрос, не связан ли этот пост с ситуацией на старте ArchAge в локализации компании Mail.ru? Знаете ли вы подробности этих событий — хотя бы в объеме известного игрокам? Можете ли их прокомментировать, какие-то может предположения сказать, чья вина в происходящем?
Подробности этих событий в полной мере раскрывают темы первой страницы. Соответственно, ваш вопрос можно сократить до «Чья вина в том, что часть серверной логики вынесена на клиент».
Меня интересовали скорее технические подробности, да и вопрос скорее не в месте расположения логики, а в том, как могло получиться, что пакеты ходят открытые? Что вероятнее — криворукий разработчик в Корее или уже при локализации забыли подкрутить настройки и включить защищенное соединение? Или, вообще, версия, которая развернута на российских серверах — просто банальная корейская бета-версия, которая там давно уже улучшена и развита до нормальной игры?
Прикручивать шифрование для всех клиентов выходит слишком накладно в плане серверных ресурсов. К тому же клиент можно отреверсить. Единственной адекватной мерой является проверка «законности» всех действий игрока на сервере.
Но в данном случае все это действительно похоже на корейскую бета-версию.
С законностью сложно — для того, чтобы проверять близко к 100% запросов, мне кажется, что нужно всю логику думать на сервере (мне казалось, так и делается в большинстве современных MMO), а клиент банально отрисовывает то, что ему сказал отрисовать сервер. Но, судя по всему, решили распределить нагрузку между клиентами и облегчить сервер.
Учитывая предыдущий абзац и проблемы с нагрузкой в первые недели (вместо 6 или скольки там серверов сейчас работает 24), похоже очень на большой косяк с оптимизацией работы серверов на уровне разработки.

Вот эти все догадки было интересно подтвердить у автора поста с таким чеклистом, ибо он явно что-то в этом понимает :)
Статья была написана раньше, и просто ждала своего часа, который рано или поздно настал бы. Поскольку все крупные MMO-проекты последних лет наступают на эти грабли, то вполне логично ожидать, что из игр 2014 года тоже хоть одна по ним да потопчется.
Что до причин происходящего, тут на самом деле два вопроса. Первый — что вызвало столь массовое недовольство игроков, переросшее в антипиар Mail.ru на всех доступных ресурсах, и второе — собственно технические проблемы/недоработки серверной архитектуры игры.
Мнение, будто бы ненависть игроков вызвана массовым багоюзом, неверно. История с багами стала всего лишь последней каплей, высвободившей уже накопленные запасы недовольства. Истинная же причина произошедшего кроется в полном отсутствии работы с комьюнити с момента старта ОБТ. Работа КМов не то чтобы плоха, её не было вовсе.
Вот взять к примеру проблему голдселлеров, которые превратили игровой чат в помойку. Сергей Теймуразов как-то жаловался, что из-за идиотской системы логов отследить сообщения игрового чата серверные скрипты могут лишь спустя примерно 5 минут после того, как эти самые сообщения становятся видны игрокам, и только через это время бот-спамер уходит в бан. И что корейских разработчиков уже озадачили исправлением данной ситуации.
Но игроки пребывали в полной уверенности, что никакой работы вообще не ведётся, а администрации попросту плевать на голдселлеров. Почему? Да просто на официальном сайте об этом не было ни слова. Рядовой игрок ведь не будет перерывать DTF, профильные ресурсы игростроителей и странички сотрудников на Фейсбуке в поисках информации.
То же самое и с багами. Какие-то меры, безусловно, приняли, но почему-то не сочли нужным уведомить об этом игроков. И вот оказывается, что мало просто исправлять баги, игроки ещё должны знать, что вы действительно что-то делаете.
Такая же ситуация и с банами багоюзеров, когда компания отказалась предоставить какую-либо информацию о проделанной работе, засекретив даже точное количество ушедших в бан, не говоря уже про список никнеймов.
В конечном итоге игровое комьюнити решило, что локализатору на всё плевать, и единственный способ заставить Mail.ru хоть как-то чесаться — это устроить масштабный флешмоб со скандалом и вывалять в грязи сверху донизу, что собственно и было проделано.
Случившееся тем более удивительно, что в компании определённо есть — или по крайней мере были — люди, которые уже давно в мире MMO, уже успели потоптаться по этим граблям и хорошо представляют, чем грозит отсутствие работы с комьюнити. Но по какой-то причине их опыт оказался не востребован.
Теперь перейдём собственно к серверной архитектуре. Да, она мягко говоря не идеальна. Вообще, в игровой индустрии сложилась странная ситуация: почему-то игровых движков уже тьма-тьмущая, на все вкусы и случаи жизни, а вот отлаженных универсальных «серверных движков» как-то не наблюдается, хотя спрос на них должен быть огромен. В итоге каждый разработчик сам пилит свой движок, прилежно наступая на все положенные грабли.
Узкое место корейского движка — производительность. Косвенные признаки указывают на то, что там где-то есть утечка — памяти или иных ресурсов. Потому что сервера подозрительно часто перезагружаются. Если на сервере происходит крупное морское сражение, то время до следующей перезагрузки сильно сокращается.
Во время одной из таких перезагрузок на первых (наиболее заселённых) серверах повредились базы, да так, что пришлось восстанавливать из резервных копий. Представляю, как ругали корейцев те админы, которым посреди ночи пришлось всем этим заниматься.
Кто сейчас скажет, что корейцев надо отправить на стажировку в Индию, пусть сперва сам попробует написать сервер MMO, который будет держать хотя бы 5000 клиентов в течение недели. В любом гайде по созданию MMO чётко прописано: при работе над проектом любую мельчайшую проблемку умножайте на количество игроков. То, что в сингловой игре проходит незамеченным, в MMO разрастается до масштабов катастрофы. Все микроутечки, подлагивания, фризы, неравномерности работы — всё множим на 5000.
Да, в такой ситуации кажется очень привлекательной идея вынести максимально возможную часть логики в клиент. Если с клиентом что-то случится, потечёт память, произойдёт падение — это не беда. Падение же сервера может поставить под угрозу весь проект.
Тут спросят: как можно выносить серверную логику в клиент, его же сразу сломают? Верно, на западном рынке — сломают. Но не в Корее, где регистрация в игре осуществляется по удостоверению личности, виртуальное имущество законодательно приравнивается к реальному, а за читерство можно получить крупный штраф и до 10 лет тюрьмы.
В таких условиях читеров будет не так много.
Ещё одна любопытная деталь — уязвимость с пакетами комьюнити прочно ассоциирует с Mail.ru, а не с разработчиками. Потому что чуть ранее локализатор допустил крайне досадный промах при запуске сервиса регистрации гильдий ArcheAge. Этот самый сервис очень быстро хакнули подменой ID'шников. Там адресная строка выглядела примерно как some_url.ru?guild_Id=..., где IDшники — это просто порядковые числа. И любой зашедший на сервис мог, найдя перебором ID нужной гильдии, удалять оттуда игроков.
Случай опять же странный, т.к. уж у кого-кого, а у Mail.ru опыт разработки Web-приложений просто колоссальный, и вдруг такая детская ошибка.
«где регистрация в игре осуществляется по удостоверению личности, виртуальное имущество законодательно приравнивается к реальному, а за читерство можно получить крупный штраф и до 10 лет тюрьмы.»

А говорят, что в России плохо да ещё Роскомнадзор ругают…
Спасибо огромное за подробный ответ.
Вот, например, ситуации про корейский MMO-рынок в плане судебного преследования за читерство я не знал — «это многое проясняет», как говорится.
Интересная статья. Очень хочется увидеть аргументированные ответы на вопросы, т.к. на многие могу ответить с трудом и не внятно, а тема ММО очень интересна.
Влезу в вашу тематику разговора и отвечу, как тот, кто смотрел AA внутри. На самом деле он не отличается от ваших слов, клиент получает данные и на основе этих данных «рисует» графику, все баги этой игры — косяк сервера, который не имеет достаточный уровень проверок приходящих пакетов.
Но ведь логика проверки тех же скиллов — на клиенте, а не на сервере, т.е., все-таки, глобальный кусок логики не на сервере… Или как получается возможным прокинуть левый скилл на сервер?
Если взять обобщенно — отсылается пакет под названием «Обучить навык» с другим ID, вот вам и «прокинули». Если хоть одну проверку забыли — ее обязательно найдут те, кому это не лень делать.
Хорошо, скажем так, мне, как разработчику, кажется, что любая важная проверка «может или нет» должна проводиться на сервере.
Не знаю почему, но вы определенно вбили «гвоздем» себе в голову, что проверки используются в клиенте и их «обходят» — это в корне не верно, сейчас AAA игры среди MMO не используют на клиенте важные вещи.
Вы, возможно, меня неправильно поняли… Я говорю про конкретную игру, ArchAge. У нее проверки реализованы в КЛИЕНТЕ — это доказано простыми манипуляциями с пакетами, которые позволяли использовать левые скиллы и вообще активно абьюзить. Причину этого, в принципе, раскрыл автор статьи в длинном комменте выше.
Можно на это пруф? Не против буду даже обычному ASM коду из клиента Archeage (Я понимаю, что это нарушение прав потребителя, поэтому прошу это в ЛС). Так как на данный момент используется «Подмена пакетов», которую они до сих пор исправляют не в ту степь.
Не очень понимаю, почему сама возможность подмены пакетов не означает отсутствие проверки на сервере игры?
Я к этому и клоню вас, что на данный момент сервер не имеет достаточного уровня покрытия проверками тех или иных пакетов (В зависимости от архитектуры сервера). Но вы написали «У нее проверки реализованы в КЛИЕНТЕ».

UPD: Конечно же это было написано к последнему посту Quanzi.
Хорошо, я понял к чему вы клоните — но вы ведь изначально поняли, что я имел в виду? В данном случае я не писал техническую статью, поэтому не выверял формулировки. И я не очень понимаю, зачем вот так придираться к точности формулировок.

Ведь факт того, что она не имеет достаточного уровня покрытия проверками, означает, что часть проверок находится только на клиенте? Или вы считаете, что это не равнозначно?
Да, я тоже так думаю.
Не связан, думаю. Что самое смешное, на большую часть ответить могу. Но лишь потому, что сам являюсь геймером со стажем. В mmo-играх с 2005 года. В оффлайне на pc с 1996-1997.

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

Пример: игра без наполнения на лвлкапе. Вполне вероятна ситуация отсутствия ботов по причине того, что накопления не нужны, т.к. стремиться некуда. Ботов нет. Вроде и проблемы нет. Но если игра резко «взлетает», то вполне может статься, что при длительном отсутствии ботов, в момент «взлёта» игры они начинают плодиться как кролики.

В общем, хочу сказать то, что некоторые проблемы проявляются не сразу, а свойственны для определённого этапа игры.
Это да, но там уже за первый месяц от запуска возникла куча абсолютно глупых проблем — от совершенно неправильно рассчитанного количества серверов до (я уже упоминал выше) факта того, что связь клиент-сервер идет открытыми пакетами, которые каждый может ковырять, как он хочет. Неужели лень и непонимание разработчиков и локализаторов MMO доходит до такой степени?
Как связаны локализатор и клиент-серверный протокол? о_О
Например, сервер может поддерживать разные настройки — открытый протокол для отладки и включение закрытого соединения для реальных серверов. И локализатор мог банально забыть его включить :)
Я просто не верю, что создатели игры такого размера могли не подумать о том, что данные между клиентом и сервером летают в открытом виде.
Ну да, конечно создатели игры такого размера не могли! Ни в коем случае!
Хотя… «В протоколе WOT передаются файлы… эти файлы оказывается сжатыми zlib'ом а внутри у них всё тот же Python Pickle с разными неожиданными вещами.»
habrahabr.ru/post/212351/
Немного неправильно выразился — что данные летают в открытом виде и нигде не валидируются, скажем так. Потому что, в случае танков, насколько я понимаю — это не позволит повлиять на сервер, а лишь позволит обрабатывать данные, приходящие на клиент?
К какому сроку нужны ответы на все эти вопросы? Или ответы в следующей части? :)
Метка «вопросы которые надо себе задать» намекает, что вопросы сведены в одну статью для разрабов. Чтобы последние не наступили на те же грабли.
А отвечать на них нужно во время проектирования игры.
А можно получить ответы как-то?) Уж очень интересно)
На половину вопросов может ответить любой заядлый геймер или разраб. Называйте номера интересующих вопросов — попытаюсь ответить.
Работа с комьюнити(8), например.
Пообщаться с более-менее адекватными игроками из тех кто жаловался, попросить описать что изменилось в рейдах за последний месяц. Может они банально ходят 80 уровнями на 50 боссов до сих пор, но теперь уже получают «штраф на дроп».
Иными словами, быть заинтересованными в решении проблем игроков.
А вам не кажется, что в результате этого общения «наиболее адекватные игроки» будут считаться приближенными к администрации, со всеми прилагающимися к этому выводами?
Вопрос в том, как будет происходить общение. Можно общаться и не от лица администрации, попутно разъяснив для остальных механику игры, из-за которой у них мог уменьшиться дроп.
Вопрос изначально достаточно абстрактный, поэтому сложно ответить не зная различных переменных об игре. В ситуации если, действительно, никаких изменений в дроп не вносилось, можно давить на то, что (если) игра не обновлялась (в чем юзеры могут легко убедиться), и соответственно каких-либо изменений в дропе тоже не было. Если подобные измения могут быть внесены без обновления клиента, и пользователи об этом знают, то этот ответ резко теряет в убедительности. В таком случае, а также в случае недавнего обновления, можно рассказать игрокам про нормальное распределение, теорию вероятности и прочие эзотерические штуки :D При всем при этом, нужно уметь правильно оценивать масштабы и вероятность того, что такая ситуация действительно может существовать. Так что публично пообщаться с пользователями репортящими о проблеме, тем самым собрав дополнительную информацию, а также пообещав сообщить об этом в отдел разработки — тоже не помешает, может игроки нашли какой-то хитрый баг, или что-то повлияло на правильную работу ГСЧ.
Как борются с инфляцией? Давно задумывался.
Вводят лотерею/аукцион. Предметом торга выступает эквипировка, которая на 5-10% обгоняет самую лучшую.
Как борются с инфляцией? Давно задумывался.


Мой коллега, геймдиз ответил:

Нужен достойный вывод этих масс — что бы было на что потратить, в идеале в бесконечном количестве. Плюс, помимо этого можно ранжировать массы. Например что бы с простых и доступных мобов падало мало денег и вещи, уже не очень нужные в основной массе.
Вот так и случается вымогательство денег во f2p: сначала дадут игрокам очень много ресурсов, потом заставляют их вернуть, а те кто то только начал игру и не имеет столько валюты вынужден хвататься за голову.
Нененене. Надо понимать, что модели экономики f2p и абонентских MMO в весьма различны из-за способов монетизации. И соответственно способы борьбы с инфляцией сильно отличаются.
Господин Firz (readonly):
В экономику добавляется необходимость покупать что-то у NPC. Например, какие-то необходимые ресурсы для любого крафта. Или проценты за пользование внутриигровым аукционом. Аренда чего-то(залы для кланов, чего-то еще).
Вариантов миллионы.
Вытаскивать деньги у игроков через NPC, очевидно. К примеру забирать какие-то значительные суммы на ремонт элитной экипировки (которую можно получить только на капе опыта персонажа и не сразу), на обязательные расходники: покупку элитных боеприпасов/зелий, аренду оружия и т.д. Либо разовые крупные (с множеством нолей) траты, не влияющие на баланс: за новый слот для персонажа, раскраску модели, средство передвижения.
Самый простой вариант. Контент, являющийся декоративным по своей сути.
Такой яркий пример — маунты в WoW. По свойствам большая часть абсолютно идентична. Но они с каждым дополнением появляются всё новые и новые. И по цене, увеличенной в несколько раз. И казалось бы. Ну зачем кому-то может понадобиться двухсотый маунт? Другая моделька всего-лишь. А между тем, стремление к коллекционированию является хорошим способом вывода лишних добываемых ресурсов из игры.
Также очень полезной может быть механика поломок и устаревания.
Да и вообще правила RL действуют и в игровых вселенных.
Варианты играют на оттоке денежной массы из карманов игроков обратно в систему. В каждой игре по разному.
WoW:
1) Починка предметов
2) Налог с аукциона
3) Бижутерия, которая не влияет на игровые статы и вообще ничего не дает.
4) Маунты, которые кроме модельки не отличаются ничем друг от друга. Но при этом каждый стоит прилично и игроки стремятся «собрать их все»

Eve:
1) Опять же, ремонт предметов
2) Налог с маркета
3) Плата за суверенитет в нулях(для того, чтобы система считалась собственностью корпорации — нужно возвращать небольшое количество денег обратно в систему)
4) Налог на импорт и экспорт товаров с планетарок
5) Дополнительно инфляция сдерживается непрямой привязкой реальных денег к игровой валюте. (Реальные деньги -> PLEX <-> внутриигровые деньги). Курс обмена PLEX на внутриигровые деньги тоже вариируется. PLEX в любой момент можно обменять на месяц игрового времени. В этом собственно и смысл предмента

PoE:
1) Валюта — это токены, которые дают шанс на получение из одной шмотки какой-то другой шмотки, возможно с более лучшими статами.
Хочу заметить что продажи plex в eve нисколько(если не учитывать налоги) не меняют количество денежных средств в системе. Они просто перераспределяются между продавцом и покупателем. Поэтому на прямую продажа plex не сдерживает инфиляцию. Просто те кто продал plex начинают фармить меньше, а те кто купил наоборот больше, чтобы покрыть расходы.
В Еве очень редкий механизм противодействия инфляции — постоянное уничтожение имущества игрока другими игроками. ИСК добываются и сливаются в постоянном круговороте ПВП.
Уничтожение имущества способствует инфляции, если что. Сбитый корабль — стало меньше ресурсов (сгорели в виде корабля), стало больше денег (страховка).
Не совсем. Страховка покрывает лишь часть убытка от потери корабля. Но не оборудования.
На простых кораблях малозаметно. На всякой пиратской, фракционной или т2/т3 посуде разница в разы. Скан-фриг амарров в последний раз для меня стоил 16 млн. иск. Страховка покрыла 1кк. Ещё фит на 20кк. И это копеечное вложение. Можно вложт\ить и больше. А на выходе те же 1кк иск.
И на выходе в экономику влилось 1кк иск, так как иск переданные продавцу из игры не ушли. Вот если бы продавцом был NPC, то да это бы сдерживало инфляцию, а так наоборот подталкивает.
1кк возвращается. При этом, из экономики вполне себе миллионов условно 25 выпадает (даже с учётом того, что с моих обломков достанут). Эти деньги не вернутся ни мне в карман, не уйдут сбившему меня. Они просто исчезнут.
Эти 25 кк иск действительно не вернуться вам в карман и не уйдут сбившему вас. Они давно уже лежат на счету у продавца корабля и предметов.
Из экономики же пропадает предметы на сумму 25кк иск, что уменьшает количество предложений на бирже, а вот денежная масса в игре остается неизменной.
Хм, тогда очень логично.
Проверьте ваш интернет.
Мне кажется у него пинг с лагом в полтора года
Не беспокойтесь это на сервере «time dilation» включали.
И снова хочется заметить, что ситуация в eve несколько другая. Взаимное уничтожение игроков в eve уничтожает предметы, а не isk. Наоборот при гибели корабля выплачивается страховка в чистых isk и денежная масса в игре только увеличивается. Плюс уничтожение кораблей и ресурсов ведет к дефициту на рынках ( растет потребность в кораблях, уменьшается количество возможных продавцов). Поэтому масштабные битвы в eve заметным образом подстегивают инфляцию.
А да, действительно. Наверняка страховка с лихвой покрывает все затраты ИСКов на производство корабля и его составляющих (не занимался производством сам, но там наверняка копейки, по сравнению со стоимостью ресурсов).
нет, уже давно перебалансили и она не покрывает 100% стоимости ресурсов для производства.
А до этого, одно время, было выгодно строить корабли, страховать их и уничтожать самостоятельно для получения страховки.
Посмотрите на наш мир:
1) Проценты за ведение банковского счёта
2) Плата за ЖКХ постоянно растёт
3) Плата за хранение
и т.д. и т.п.
Я знаю одну мморпг, где количество определённых предметов каким-то образом ограничено, а шанс выпадения нехило зависит от количества таких предметов на руках.
На половину вопросов может ответить любой заядлый геймер или разраб. Называйте номера интересующих вопросов — попытаюсь ответить.

Я и сам могу ответить на большинство вопросов, но они довольно широкие, мне интересно услышать разные мнения)
Раз пошла такая пьянка. А как бороться с so-called power creep (моральным устареванием экипировки/умений/бекстори/локаций)?
Локации могут быть предназначены не только для убийства мобов, на них могут проходить какие-то эвенты(осады замков, захват территорий, просто массовые пвп из-за чего-то).

По поводу экипировки, лично я считаю неправильным подход «каждому кап-лвлу по комплекту топовых вещей за прохождение квеста». Топовые вещи должны добываться со скрипом, при этом механика должна быть рассчитана на нормальную игру хай лвл персонажей в средненьких вещах. Хороший тому пример Lineage 2, когда топовые вещи были у 3-5% сервера, даже на средненькие нужно было усиленно фармить и совершенно не вызывало удивления когда 70+ уровня игроки ходили в вещах на 52-61 уровень.
Добавлю по поводу устаревания экипировки.
Если в игре существует привязка вещей к персонажу, то я не представляю себе метода, который бы помог перестать думать о таких вещах «Нафиг нужно это оружие, если через 6 уровней я уже топовый смогу одеть.»

По поводу умений, мне очень нравились наработки в The Saga of Ryzom — там вы сами собирали свои умения. К примеру, вы могли увеличить урон умения или сделать его АОЕ, но тогда пришлось бы балансировать это более долгим кастом или более высокой стоимостью «маны».
Отличный чеклист для начинающего читера!
Это самый интригующий пост из тех что я вообще видел на хабре. Звучит как описание курса на курсере. Реквестирую хотя бы пару статей с ответами на эти вопросы.
Похоже на список вопросов на собеседовании…
UFO just landed and posted this here
После прочтения стало сразу очевидно то, что топ-менеджеров игр.mail.ru никакие вопросы кроме финансовой безопасности и экономической составляющей своих проектов никогда не интересовали. Автору спасибо за познавательный материал!
Не играю уже более 5 и более лет в ММО, приятно было почитать знакомые слова :)
Судя по количеству людей, добавивших пост в избранное — мы скоро увидим минимум 100 новых MMORPG
Что немаловажно — это будут 100 правильных ММО :)
В этом посте ещё хороший список рекомендаций по изучению для читеров…
Предположим, что за каждую минуту онлайна игроку начисляется игровая валюта, опыт или ещё какой-нибудь ценный ресурс. Объясните, почему такая идея в конечном счёте приводит к увеличению нагрузки на сервер, но совершенно не влияет на время, проведённое игроками в игре.

Eve Online. Нагрузки у них, конечно, большие, но именно там, где есть множество игроков. Ну и на онлайны они не жалуются, потому что есть чем заняться помимо затратной по времени и нудной прокачки.
Честно говоря, не понял ваш ответ. С моей точки зрения, здесь верный ответ в том, что игроки просто будут оставлять своего персонажа онлайн, когда им надо будет уходить или заниматься другими делами. Следовательно, активность игроков не увеличится, а бОльшее количество активных соединений будет создавать бОльшую нагрузку на сервера игры.
Упс, в вопросе «онлайн» как-то незаметно для меня заменился на простое течение времени. Извините.
Чтобы задавать себе список этих вопросов, нужно как минимум знать как технически сделать ммо игру. Сейчас каждый второй инвестор, наслушавшись презентаций юнити или других технологий, увидев красивую сингл! демку-сцену, уже начинает делать ммо. Набирает молодых неопытных, с горящими глазами игроделов и в бой! На фоне этого ужаса, рассказывать геймдизам о простейшей экономике а программистам об элементарных секьюрити проблемах как-то, смешно что ли.
Про ваш проект или, того хуже, про вашу компанию, а то и про вас лично, написали на Лурке. Нужно ли сразу бежать в суд и отправлять жалобу в Роскомнадзор с требованием немедленно заблокировать негодяев?

Я бы порадовался бесплатной рекламе на читаемом ресурсе.
Я бы еще и аккуратно начал редактировать статью на этом ресурсе.
Что меня, как игрока, раздражает, так это, уже упомянутое тут же чуть ранее, явление, когда ради топовых игроков (которых раз в 100 меньше, чем остальных) начинают уродовать экономику. Причём так, что начинающим игрокам просто нереально пролезть в тот самый топ нормально играть, не прибегая или к жестокому задротству 24*7*30, или к жестокому донату (если игра f2p), или к обоим методам сразу. А это, в свою очередь, убивает весь задор и азарт от игры.

p.s.
Может быть стоит добавить вопрос: как сделать игру интересной и играбельной как для топовых игроков, так и для начинающих?
После перехода из сайтостроения в геймдев (ммо-геймдев) был в шоке от того, сколько странных терминов тут крутится. В синглы играю с 3х лет, а онлайна практически не касался. Реквестирую ответы на заданные вопросы и хотя бы простой словарь по ммо-терминам!
Словарь вы сможете найти на Луркморье Возможно этот словарь вам поможет. Сленг варьируется от игры к игре и очень часто в разных играх одни и те же термины означают разные вещи. Самый лучший вариант познать сленг — пообщаться с игроками\почитать форумы, что происходит само-собой в процессе игры.
Почему запуск игровых серверов на старте проекта крайне нежелательно делать в пятницу вечером, да и в выходные тоже?
Почему?
Вероятно, потому что в пятницу вечером и выходные играют больше чем в остальные дни. Серверы просто могут лечь от неправильно рассчитанной нагрузки или каких-то недочетов в проектировании. Плюс могут всплыть критичные баги и ошибки. В течении рабочей недели у вас есть возможность быстро все починить и к выходным выкатить более-менее стабильный релиз.
А так при запуске сразу на выходные, вы рискуете тем что самая большая аудитория вместо того, чтобы играть увидит лишь выключенные сервера и больше сюда не зайдет.
Хм. А кому охота проводить выходные на работе правя появляющиеся баги? Плюс активность игроков будет выше и как следствие, недовольство игроков «вляпавшихся» в баг тоже растет. Одно дело, если баг нашли во вторник днем, когда программисты, геймдизы и прочая братия на месте, на сервере половина населения и еще никто этот баг не зацепил. И другое дело, когда он обнаруживается в субботу утром, когда программист спит дома, геймдиз уехал на дачу, а админы вообще дома не ночевали. Куча игроков из за бага не может выполнить квест, форум кипит недовольством и никто ничего не знает.
Тогда и вопрос должен стоять иначе — «почему нельзя запускать игровые сервера и отпускать команду на выходные» :)
Чтобы успеть купить новые сервера к выходным =)
Ну примера ради) ЗБТ The Elder Scrolls: Online начинался в пятницу вечером, сервер упал через минут 20 после старта=)
При ЗБТ — это хорошо. Бета тест, во время которого ничего не ломается это, как раз таки, провал. Тест — это производство игры, а не игра.
Как-то в MMO играть не доводилось (считаю слишком большой дырой для времени).
Что это за CrocAge нарисован у вас в статье?

По поводу вопроса «защита игры-2». Какая там ситуация: реальная или сферическая в вакууме? Если сферическая в вакууме, вероятно, бота и не запустишь. Если реальная — гарантированно меры будут или слишком драконовские, или не уничтожат ботоводов на 100%.

Перелив — я правильно понял, это передача ресурсов, замаскированная под внутриигровое взаимодействие?
Термин «перелив» легко гуглится, например как «перелив MMO». Он возникает там, где за противостояние игроков/гильдий/рас начисляются некоторые очки, деньги, опыт или иной ценный ресурс.
Наиболее распространённой практикой является ввод «очков чести» за убийство врага. Набрав нужное количество таких очков, можно получить крутую экипировку. Ну и в таких случаях незбежен перелив — договорные бои игроков, которые убивают друг друга по очереди. В итоге пока одни игроки честно воюют, тратя уйму времени и ресурсов, другие же побеждают без проблем, т.к. противник не сопротивляется, и гораздо быстрее набирают себе очки.
Изредка разработчики пытаются решить проблему, делая так, чтобы проигравший терял часть очков — ровно столько, сколько получает победитель. В этом случае игроки создают твинков для перелива, которых и убивают, запуская вторым окном/с другого компьютера.
По защите игры (2). Разработчики, забанив очередную пачку ботов, нередко успокаиваются и гордо отписываются на форумах, какие они молодцы и как здорово изничтожили злобных ботоводов. Однако игроки всё равно могут быть недовольны, ибо бан бота — необходимое, но недостаточное действие для искоренения нечестных игроков.
Существует великое множество способов получать выгоду от ботов без запуска этого самого бота на основном аккаунте и без прямой передачи набоченных ресурсов основе. Простейший пример — ботоспамеры. Достаточно одного-единственного сообщения, чтобы такой бот уже был выгоден. Потом его могут банить сколько угодно. И если администрация ограничивается всего лишь баном таких ботов, игровой чат всё равно будет большой помойкой.
Во-вторых, механика большинства MMO предусматривает работу в группе, где лут с мобов и опыт делится между всеми участниками группы. Так ничто не мешает нечестному игроку запустить бота, а потом добавиться к нему в группу и получать часть опыта/лута. А если нагрянут GM'ы, сделать невинное лицо: мол, я играю честно, я не знаю, чей это бот. Вот стоит тут, кинул запрос ради прикола, а он и принял. Халява же! И вообще, это не моя вина, а ваша, что вы с ботами не боретесь, честному игроку уже и мобов бить негде, чтоб на бота не наткнуться.
Или те же самые боты для перелива — они прокачиваются до уровня игрока, а он потом просто приходит и их многократно убивает. И опять же как бы не при чём: не знаю, кто ботов ставит, вот сами видите, как я их ненавижу — убиваю где только могу, мешаю ботить и нечестным путём наживать богатство.
Что это за CrocAge нарисован у вас в статье?

Это кобольды из вселенной DnD.
Может мне показалось, но в связи с запуском ArcheAge от «лучшей компании мира» этот пост можно назвать «накипело».
На самом деле не только в AA есть проблемы. В любой ММО на старте есть косяки, но у каждого они разные и их количество рознится. Главно насколько быстро косяки исправлять. (:
Реквестирую комплексный аудит существующих MMO проектов по методике данного поста!
На самом деле человек способный на аналитику такого уровня мог бы сделать неплохую репутацию в индустрии.
Данную аналитику сможет воспроизвести любой уважающий себя человек, который видел обе стороны MMO — со стороны игрока и со стороны разработчика.
Тестовые задания можно продолжать с нарастающей сложностью:
— Найти адреса процедур и приготовить инжекты на движение, использование предметов
— Написать на любимом языке программирования сигнатурный сканер адресов, чтобы успешно переживать апдейты клиента.
— Распотрошить алгоритмы генерации ключей и шифрования пакетов
— Реализовать поиску пути по nav-mesh'u
— …
и вы воспитаете среди своих разработчиков непревзойдённых ботописцев.
Что такое флай-хак, спид-хак, волл-хак? Почему даже проверка пакетов на сервере зачастую не способна справиться с ними?

Расскажите пожалуйста подробнее, что это? Очень интересно.
Флай-хак — хак на полет. На игрока перестает действовать сила притяжения и он в буквальном смысле начинает летать. Работает потому, что сила притяжения к земле обычно реализована на стороне клиента. И на сервере не проверяется.
Спид-хак — хак на скорость. Тоже самое, чтот и флай-хак, только вместо полета дает увеличенную скорость перемещения. Реализовавывается по разному, начиная от тупого изменения скорости передвижения до изменения скорости изменения «тиков» на клиенте.
Волл-хак — дает возможность проходить сквозь стены.

Проверка пакетов на стороне сервера для этих видов хаков достаточно затратная вещь. Особенно для волл-хака. Потому как нужны данные о геометрии местности, над которыми для проверки нужно делать разную векторную математику.
Sign up to leave a comment.

Articles