Почта
Вот вам «дизайнерская задача».
Почти во всех ММО есть почта, которая сделана в виде почтовых ящиков, до которых надо добежать. Было бы круто сделать ее просто кнопкой в интерфейсе, безо всяких ящиков. Так делать нельзя, потому что почта используется, как бездонное хранилище: посылаешь сам себе 100 писем с вещами, которые почта обязана хранить минимум месяц. Именно поэтому существуют «банковские альты».
Соответственно, давать доступ к этому хранилищу просто так не хочется. Халявное хранилище = утечка денег.
Поэтому, например, самый первый инженерский почтовый ящик в WoW (который можно вызывать по требованию) так и не вышел из беты БК в свое время. (Сейчас, правда, сделали, но с огромным кулдауном).
Все ограничения «почта только из ящиков» существуют только поэтому.
А теперь вопрос — как сделать так, чтобы почту не превращали в хранилище, но при этом письма не пропадали? При этом в почте в любом случае должна быть возможность пересылать аттачменты в виде предметов, от этого никуда не деться.
Побочным приятным эффектом будет то, что почту можно будет сделать, наконец-то, в интерфейсе и ей начнут пользоваться как, натурально, почтой.
Ну, там, письма писать.
Биокрафтинг
Задача: придумать мини-игру (в рамках другой игры, которая еще не придумана) про обмен генами и выращивание новых особей. Это не целиком игра, а маленькая ее часть («крафтинг»).
В игре есть некие особи. У особей — слоты под 10 генов.
Есть большой набор генов (~200 штук). У каждого гена есть его «приоритет», он же «вес». Делать доминантные гены не хочется, так как это потенциально несмываемый позор на весь род.
У каждого гена есть его свойства (ну, очевидно).
Вес обратно пропорционален игровой полезности этих свойств, то есть самые крутые гены имеют самый маленький вес. Простой пример «из жизни»: есть гены +1 силы, +2 силы, +3 силы. Ген +3 имеет вес = 1, ген +1 имеет вес = 3.
Для балансировки не обязательно большое количество «плохих» генов, ген +1 силы является хорошим, но не таким хорошим, как +3 силы. А количество слотов под гены ограничено.
Соответственно, ген +1 является «не оптимальным».
Спаривание
Берутся две особи, их гены сливаются в общий котел («пул»), их приоритеты суммируются. Бросается кубик от 0 до суммы приоритетов, выбирается полученный ген. (Если у гена есть дубль, он исключается из котла). Кубик бросается до тех пор, пока не будет набрано 10 генов.
«Мутации»
Очевидна ситуация, когда есть две особи с полностью одинаковыми генами. В результате их спаривания получится третья особь с таким же набором.
Для предотвращения этого, вводится правило: «если во время спаривания в котле меньше 15 уникальных генов, то в котел добавляется нужное количество „случайных“ генов».
Случайные гены выбираются по тому же принципу (строится общий пул всех генов, суммируются приоритеты, кидается кубик).
Возможно, к котлу надо добавлять определенное (небольшое) количество случайных генов всегда.
(Самые умные уже поняли, что по-хорошему вместо количества надо использовать веса).
Нахождение пары
У персонажа отображаемые гены сортируются по убывающим приоритетам («крутые гены наверху»), игрок может просматривать других персонажей и искать пару.
Защита от устойчивых цепочек
Очевидно, что «спаривание» является ресурсом, который можно (и нужно) продавать. Например, персонаж может всего раз в день кончать в стаканчик и продавать свою сперму на аукционе.
Для простоты персонажи гермафродиты (но есть изящное решение с двуполыми существами).
Так же очевидно, что у особей должно быть время жизни (возможно даже завязанное на количество спариваний, кончил — потерял год жизни).
Игрок при этом не должен ассоциировать себя с особью, это просто сделать, если дать играть не одной особью, а несколькими, при этом игрок будет выполнять роль супервизора («симулятор футбольной команды»).
Что же мы получили?
Мы получили мультплеерный «биокрафтинг», когда крафтятся (создаются) не вещи, а существа. Что, впрочем, совершенно не важно — в рамках игровой механики они могут быть такими же «вещами», так как принадлежат одному супервизору, а не являются самостоятельными сущностями.
Чистый биотех в пост-апокалиптическом мире. Шутка.
Бонус-трек
«Левелап» (и прочие бонусы) — любая манипуляция с генами, помимо размножения. Самый простой пример — возможность заменить ген на один из трех «случайных» по выбору игрока.
Я бы даже ген не дал выбирать для замены — есть, скажем, 10 «уровней», на каждом предлагают заменить гены, начиная с первого.
Сумки
Нам пишут (что приятно). Какие-то люди, кстати, позвали меня консультантом на их проект, а сами уже больше недели не пишут. А я уже почти собрался украсть у них ноухау и потом использовать его для создания своей ММО на PHP.
Так вот, нам пишут:
Не могли бы вы написать про проблемы инвентаря и распихивания лута по сумкам в играх вообще и в WoW в частности? У меня есть несколько идей, как улучшить систему инвентаря в том же WoW и при этом оставить сумки конечного размера (как money sinks и предметы статуса для задротов), но я всё-таки не геймдизайнер.
Я тоже не геймдизайнер. В России вообще геймдизайнеров нет — если hammerfight почему-то считается «лучшим инди-проектом сделанным когда-либо в России», то мы обречены.
Проблема у инвентаря ровно одна — почему-то приятно думать, что игрока прикалывает в нем ковыряться, при этом никто не спешить облегчить игроку жизнь.
А на самом деле — нет, не прикалывает. Инвентарь забивается так же, как и винт любого размера, и это раздражает. Но на винте хоть директории есть. Собственно, это и есть правильный ответ.
Делаем на кукле персонажа еще один предмет — сумку. Сумка определяет количество пустых слотов.
Слоты при этом рисовать не обязательно, если чё. Инвентарь вполне может выглядеть, как упорядоченный список. Нам интересно только количество оставшихся слотов, которые можно показывать циферкой или прогресс-баром. (Бонус-трек: на сумке можно делать и другие характеристики, например, «большая сумка ловкости» — получаем халявный контейнер для статов).
Внутри сумки делаем табы по темам, типа «доспехи, пузырьки, реагенты для крафтинга, квестовые предметы», включая вкладку «новое», конечно же.
Ни одного разумного довода, почему предметы должны иметь разные размеры в слотах, я не знаю. (Некоторые используют вместо этого «вес», что лично меня тоже бесит).
Собственно, всё.
Почему табы и списки есть в нормальных человеческих интерфейсах уже десятки лет, а инвентари «во всяких ММО» до сих пор предлагают прямоугольные клеточные поля — выше моего понимания.
Да, самый лучший инвентарь из тех, которые я видел, сделан в игре Free Realms.
Интересные механики
Выписываю на бумажке в вики все известные науке механики в ММО. Получается совсем небольшой список, путем скрещивания нескольких вариантов можно получить забавные гибриды, но в целом «всё это уже было». Ну и слава богу.
Из нового, что видел: в одной компьютерной игре, имя которой называть нельзя, идея групповых бафов доведена на абсурда (и поэтому хороша): у каждого класса есть пассивный групповой баф. Если в группе есть этот класс — есть и баф. Бафы уникальны (если в группе 2 воина, будет только один воинский баф). Баф пассивный и не требует применения. Всё предельно просто (я бы даже сказал — примитивно), но поощряет разноклассовые группы.
Из придуманного: бафы с затуханием и/или зарядами.
Сейчас типовой баф выглядит так: раз в полчаса игрок нажимает кнопку и получает/вешает на группу +30 интеллекта на следующие полчаса. Кратковременные бафы, в основном паладинские, работают так же, но вешаются/вешались на раздражающие 10 минут. Развес бафов при этом — задача обязательная и не требующая мозговых усилий, каждые 30 минут нажимаешь кнопку, что бы ни произошло.
Именно поэтому пассивные групповые бафы рулят — они просто снимают с игрока тупую обязанность нажимать на кнопку.
Отдельно стоит bloodlust — самый правильный баф, потому что эффект его ощутим и крут. По этим же причинам uptime у него всего 40 секунд за 10 минут (~7%).
Собственно, идея в том, чтобы делать только такие бафы (ощутимые и требующих осознанного решения об их применении), делать им 100% uptime, но не равномерный по времени эффект. Например, баф с кулдауном в 7 минут, который сразу дает 300 интеллекта («дохуя»), но каждую секунду полученный интеллект уменьшается на 1.
Тогда мгновенное перекастовывание бафа является неоптимальной стратегией, появляется мотив его «копить» хотя бы несколько минут и применять во время сложных битв.
Еще из придуманного: маг с «яростью» вместо маны.
Современный маг работает так: заметили врага — начинаем кастовать длииииинный спелл. Успели скастовать — молодцы. Далее противник нас замечает, и начинается игра «успеет добежать или нет?». Не успеет — мы молодцы. Успеет — он. Способности, типа blink-а, «обнуляют» игру.
Вполне понятная концепция «glass cannon», которая превращает магов в шустрых бегунов.
Если мы делаем мага-гибрида, то есть выживающего в рукопашном бою, то концепция первого удара является ненужной (и даже вредной). Как и время кастинга, кстати, которое нужно для того, чтобы превратить мага в турель, которой нужно стоять на месте.
Делаем магу «бесплатную» автоатаку, которая набирает «ярость» и платные, за ярость, суперспособности.
Динамика игры магом меняется на строго противоположную, не «бум-бум-убил», а «чпок-чпок-чпок-накопил ярость-бум-бум-убил». Страшный маг, злить которого нельзя.
(Rune Power у DK, кстати, так и устроена, только сливать ее почти некуда).
Еще из придуманного: правильные стойки (stances), ауры и прочее.
Механика простая: есть несколько состояний, в один момент времени можно выбрать только одно и быть в нем. У воина — стойки, у паладина — ауры, у DK — presence-ы, у хантера — аспекты, у друида — формы.
Оно почти всё не работает, главным образом потому, что не получается сбалансировать стоимость переключения стоек.
Понятно, что есть альтернативная стоимость (если у тебя включена одна стойка, остальные отключены), но этого мало.
У воина и друида дополнительно отрубаются некоторые способности, но даже это не помогает: на примере того же друида наглядно видно, что мгновенное переключение стоек — слишком круто, если довести идею до абсурда, можно приди к переключению стоек в атакующую при каждой атаке и переключение в защитную при каждом получении повреждений.
В PvP друид перемещается очень быстро, при этом отрубание лечения в «быстрой» форме не мешает лечению вообще, из-за мгновенного переключения туда-сюда и в какой-то степени HoT-ов.
Кулдаун между стойками тоже не является самым лучшим решением.
Вместо кулдауна можно сделать эффект стоек нарастающим: допустим, защитная стойка дает 20% снижения повреждений, при переключении в нее у игрока сначала 0% снижения, но каждую секунду прибавляется 1% и так до тех пор, пока не дойдет до 20%. При отключении стойки эффект так же медленно спадает.
Развиваем идею: делаем нарастающий эффект не пассивным (чтобы не поощрять «простаивание» игрока), а зависящим от действия игрока, то есть тупо вешаем его на proc-и (привет, паладины!).
Например:
«Атакующая стойка: каждый удар имеет шанс восстанавить жизнь в размере 2% нанесенных повреждений, и увеличить повреждения на 1% (складывается до 20%), а так же снять 1 заряд с эффекта других стоек».
«Защитная стойка: каждый удар (по тебе) имеет шанс замедлить атаку врага на 10% на 10 секунд и увеличить снижение входящих повреждений на 1% (складывается до 20%), а так же снять 1 заряд с эффекта других стоек».
«Стойка берсерка: каждый удар имеет шанс нанести врагу кровотечение и увеличить скорость твоего перемещения на 1% (до 20%), а так же снять 1 заряд с эффекта других стоек».
...и так далее.
Делаем несколько стоек, у каждой есть дополнительный proc, похожий на печати паладинов, но не требующей отдельной кнопки (снижаем количество кнопок в два раза).
Переключение стойки становится стратегическим решением. Переключение становится «плавным», не бывает такого, что при переключении из защитной стойки персонаж мгновенно теряет 50% снижения повреждений и мгновенно лопается.