|
игры |
|
ММО: устаревание доспехов
Характеристики в ММО можно условно разделить на две части: те, которые растут (сила и количество жизней) и те, которые «поддерживаются»: броня, процент критического удара, и так далее.
С ростом все понятно: ты растешь и сильнее лупишь. Ну и заодно толстеешь вместе с миром вокруг, чтобы это компенсировать. Со вторыми тоже все прозрачно: ну не может у тебя процент критического удара быть больше 100.
Растущие характеристики обесцениваются просто: на шмотке первого уровня было 10 силы, на шмотке второго — уже 20.
С поддерживающимися — давайте обзовем их «статичными» — все хуже: было на шмотке +1% критического удара, на следующей +2%, а там уже и до 100% недалеко.
Традиционный выход простой: давать не критический удар, а critical strike rating (что в рувове переведено, как «рейтинг», я бы в своей системе назвал бы это «удачей») — какую-то цифру, из которой выводится процент критического удара, как функция от твоего уровня.
То есть на шмотке первого уровня +10 удачи дают +1% критического удара, на шмотке второго уровня уже +20 удачи, да только на втором уровне они дают те же +1% критического удара, а на первом уровне эту шмотку надеть нельзя.
Тогда критический удар тоже обесценивается, как и сила. В противном случае шмотка +1% критического удара, полученная на первом уровне, на последнем уровне не теряет силы вообще. А это нехорошо, все ММО строится на смене шмоток.
В интерфейсе творится при этом безумный бардак. Мы на шмотке пишем «critical rating: 100» а в скобках пишем, мол, «на твоем текущем уровне это дает столько-то и столько-то процентов критического удара».
И формула там не вида A/B, для точного вычисления игроку надо запоминать, как обычно, всякие магические цифры.
А теперь, собственно, идея: «называем писю членом и начинаем лечить сифилис» (анекдот).
Перестаем обманывать пользователя и делаем доспехи, на которых статичные статы изнашиваются. Убераем промежуточную переменную («рейтинг»)…
(Лирическое отступление. Про убирание переменных я писал, сегодня зашел посмотреть на новые статы «Катаклизма». Понравилось, как они переделали блок: «Blocked attacks will simply hit for 30% less damage». Удивительным образом, я бы сделал точно так же — это написано в документе, которому уже год, наверное, и который лежит на вики одной next-gen mmo никому не нужный. В целом с переделкой статов в «Катаклизме» я очень сильно «угадал»).
Так вот, убираем «рейтинг». Делаем на доспехах тупо -
На десятом уровне:
The Доспехи
Требуемый уровень: 10
Ваш уровень: 10
Критический удар: 1%
Сила: 10
На 15 уровне, те же доспехи:
The Доспехи
Требуемый уровень: 10
Ваш уровень: 15 (25% устаревания)
Критический удар: 0.75% (-0.25)
Сила: 10
Ничего не поменялось, да. То я совершенно напрасно написал так много букв.
Как раньше шмотка устаревала, так и сейчас, просто сейчас это более наглядно и «по-чесноку». И выкинута лишняя переменная (что очень часто нелегко).
Небольшой заключительный финт ушами: даем через крафтинг частично (почему частично — понятно? Чтобы человек не ходил в одной шмотке всю жизнь) «апгрейдить» предметы, подтягивая статичные статы до твоего уровня.
То есть на 15-ом уровне доспехи 10-ого уровня после «апгрейда» (ЗА ОТПРАВКУ СМС! ВОРУЙ, ГРАБЬ, УБИВАЙ, ЕБИ ГУСЕЙ, ДЕЛАЙ FREE TO PLAY ИГРЫ!) получают обратно 1% критического удара, при этом «сила: 10» не апгрейдится и гарантирует устаревание шмотки со временем все равно.
Ну и напоследок надо себя похвалить. В целом мне удалось придумать систему статов (нет, не буду ее описывать), которую даже наш продюсер, за всю жизнь не игравший в нормальные компьютерные игры, поймет, при этом такую же гибкую, как и раньше.
Что, несомненно, плюс.
Три вида геймдизайнеров
По моим наблюдением, игровые дизайнеры бывают трех видов, причем каждый следующий вид лучше предыдущего.
Вид первый, дизайнеры-визионеры.
Тут все просто: дизайнеры этого вида вдыхают ароматические вещества, у них открывается третий глаз и они начинают Видеть Идеальную Игру. Ну или не идеальную — Игру Своей Мечты, например.
Виденье вербализуется одним предложением, классический пример — «Snakes on a plane» — хоть и не про игру, но зато все понятно. Туда же — «убийца ВоВа», «RTS с ландшафтом», «шутер с RPG», и так далее.
После чего игра делается, не взирая на сроки, бюджеты и на игроков, до тех пор, пока не будет соответствовать Виденью.
Если визионер талантливый, то получается игра, опередившая время лет на пять-десять, в нее никто не играет, никто не поднимает Идеи, кроме автора и кучки фанатов. Потом появляются нормальные дизайнеры, которые делают все то же самое, но правильно и получают все лавры.
Визионер посредственный очень похож на поэта-графомана: стихотворения состоят из сильно перевранных и сшитых как попало строчек, скажем, из Пушкина, при этом подсознание поэта упорно блокирует факт существования, собственно, Пушкина, как первоисточника.
Примеры чисто визионерских игр: Дайкатана, Tabula Rasa, Периметр, Stalker и вообще любая игра русского геймдева.
Ну, все понятно: Дайкатана — первый шутер с элементами RPG и напарниками. Сколько лет назад было? А сейчас все шутеры такие, ага.
Tabula Rasa — «первая ММО без эльфов». Там все сложнее, конечно, но когда Близзард выпустит World Of Starcraft или если вдруг Warhammer 4000 online получится хорошим (не верю) — вы поймете, о чем я. Stalker — очевидный пример, про него — ниже.
Визионеры обычно любят свое дело и индустрию в целом.
Вид второй, дизайнеры-системщики.
Это те дизайнеры, которые «дрочат на таблички» и потом выпускают patch notes в духе «Shadow Embrace: This effect can now stack up to 3 times, up from 2. However, the periodic healing reduction effect has been reduced from 3/6/9/12/15% to 2/4/6/8/10% per application» (взял наугад из патча 3.3.2 в одной мелкой ММО).
Примеры чисто системных игр: D&D, MtG, EVE. (Внимание: не все системные игры имеют название из трех букв, не надо искать тут систему).
Эти дизайнеры лучше, чем визионеры: если визионер способен родить игру для тех, кто Понимает, то есть для себя и собственной мамы, то оставленный без присмотра системщик создаст хорошую игру «для любителей стратегии», то есть для нердов.
К счастью, аудитория нердов уже больше аудитории собственной мамы, кроме того, есть куча жанров, где системщик просто необходим — «всякие стратегии».
Что бывает, когда стратегии делаются, а системщика нет, мы знаем — смотрите Kings Bountу или Disciples 3 (простите, что в один ряд поставил).
Традиционно при отсутствии системщика роль его берут на себя программисты, для более-менее успешного результата (ну, чтобы вышел Kings Bountу, а не Disciples 3), нужен программист уровня хорошего системного архитектора, а такой не всегда есть на проекте, да и занят обычно другим, да и не геймдизайнер вовсе.
Что бывает, когда игру «пишут программисты», мы знаем.
Системщиков в разы меньше, чем визионеров.
К счастью для них и для баланса спроса и предложения, в этой стране системщики нафиг никому не нужны, потому что не умеют писать сценарии и делать прочие «творческие» вещи, которые традиционно делает геймдизайер — опять, таки, в этой стране.
Вид третий, дизайнеры-интерфейсники.
Создание игры интерфейсники начинают с гейм-тестов. И ими же заканчивают.
Когда игра сделана, в ней может не быть вообще ни одной цифры и ничего такого, что игроку надо запоминать или анализировать, но играть в нее приятно чисто на «тактильном» уровне.
Примеры интерфейсных игр: тетрис, Lumines (psp), любой хороший match 3 (еще раз — хороший), Mario, любые гениальные платформеры, Left4Dead, Portal и прочие игры Valve.
(С тетрисом Пажинову просто повезло, пентамино придумали до него, как пример игры пойдет, как пример дизайнера — нет, достаточно посмотреть остальные его творения).
Такие дизайнеры — полная противоположность визионерам, если подумать, то станет понятно, почему.
Например, игра Left4Dead создавалась так: экспериментируя с ботами, чуваки обнаружили, что толпа ботов с маленьким количеством здоровья — это офигенно весело. Еще более весело, когда эти боты не стреляют, а пытаются догнать (потому что толпа стреляющих ботов убивает тебя с одного выстрела).
Сеттинг сразу стал очевиден: толпа, пытается догнать. Что же это могло быть? Выбора, по большом счету, было два: или шоу Бенни Хилла, либо нашествие зомбей.
После сеттинга стал очевиден эффект, которого хочется добиться: «традиционный» фильм про кучку выживших во время нашествия зомбаков. Такие фильмы снимаются дюжинами в год. Ничего оригинального.
Отсюда и «эффект пленки» и прочие визуальные штуки. Не потому, что художники «так видят», а потому что это просто логично. Примерно как «Аватар», ага.
Сюжет, кстати, у них не получился, от него остались только надписи на стенах — но кому нужен сюжет, когда все остальное уже есть? Задачи «сделать лучшую игру про зомби, чтобы все обосрались» не стояло, однако ж — …
Интерфейсники делают игры для игроков (удивительно, правда?). Достаточно послушать комментарии разработчиков в любой игре Valve, каждый комментарий начинается со слов «геймтесты показали, что…, поэтому мы…».
Визионеры же наоборот — делают игру для себя и собственного эго: сделать реальную Зону и реальными Сталкерами — разве не круто? Очень круто. Оригинально. Игра года. Нобелевская премия в области разработки AI. Вход в Анналы Игровой Индустрии посмертно.
Только игрока не спросили, надо ли ему это? В реальности же игрок вовсе не возражает, если зомби спаунятся за соседним углом при его приближении, а не рожают детей, ходят на работу, платят налоги и ведут жизнь добропорядочного обывателя в ожидании игрока.
Интерфейсники, к счастью, не самодостаточны — «они не могут сделать стратегии», но средний охват рынка у хорошей интерфейсной игры такой, что это не важно.
Дизайнеров-интерфейсников меньше, чем панд.
Я подозреваю, что они есть только в Valve и в какой-нибудь Sega или Nintendo.
В России, понятное дело — ни одного, одни сплошные оракулы бога Карго.
(Утрируя, можно сказать, что все думают, что все дело в Волшебном Водопроводчике или в Ежике Сонике, хорошее виденье персонажа, ага. Ну, прыгает, чё. Весело. А Пакман тупо ест точки).
Так что если кто-то вам скажет, что он знает, что хотят пользователи, гоните его в три шеи, это просто латентный визионер или какой-нибудь шарлатан от несуществующей науки, типа юзабилиста.
![]()
Дорогие геймдизайнеры!
Это то место, где вы пытаетесь типировать себя.
И непременно в третий тип.
Вор без комбо-поинтов
Текущая ситуация: у вора есть энергия, именуемая в дальнейшем «маной». Обычно она принимает значения от 0 до 100 и регенерирует с какой-то постоянной (с некоторыми оговорками) скоростью. Из-за того, что она регенерирует с константной скоростью, а способности требуют ее, фактически она является аналогом shared cooldown-а, никакого хитрого менеджемента с ней нет.
Помимо этого есть комбопоинты, которые тоже требуются для применения способностей.
Решение: сливаем комбопоинты с маной.
Убираем быструю пассивную регенерацию маны. Сильные способности делаем очень дорогими. Удар, который набирает комбопоинты, теперь восстанавливает ману.
Собственно, всё. Ничего не меняется, но пропадает лишний ресурс.
Игровой процесс все такой же: бьем из невидимости сильным ударом, теряем всю ману, выходим из невидимости, набираем ману набирающим ударом, опять бьем сильным ударом. Ну и очевидно, что есть регенерация маны вне комбата и во время stealth-а.
Единственные отличия: класс более восприимчив к кайтингу, так как не восстанавливает в это время ману. Решается тоже просто.
Свинья девятого уровня
Во-первых, картинка для привлечения внимания:

Кстати, да — надо в новом году больше постить картинок. А то народ текст плохо воспринимает, а на картинке все наглядно.
Очевидно, что мальчики и девочки играют в разные игры, просто совершенно случайно ферма бьет и по тем и по другим. Паттерн примерно один и тот же: мальчики играют в качалку, девочки реализуют инстинкт гнездования. Картинка, кстати, правдивая.
Опять-таки, после небольшого анализа понятно, что тупые русские свиньи (с девятым уровнем обаяния) даже клонировать правильно не умеют: игру-то клонировали, а отношение к игре и пользователям — нет.
Мать всех ферм, Farmville, первое приложение в фейсбуке имеет совершенно жуткие дыры, на которые всем пофиг, потому что отбивается она с вещей, которые никакими читами не купишь.
«Игровой» «процесс» «построен» так, что единственная его цель — привязать тебя к ферме и проспамить как можно больше друзей. А уже после привязки ты будешь покупать свиней за реальную валюту, при этом твоя «прокачка» роли не играет, свинья как стоила реальных 5 баксов, так столько и будет стоить.
Ну, например. Farmville такой дырявый, что позволяет садить грядки одну поверх другой, а проверку на пересечение грядок делает только на стороне клиента. Что, разумеется, легко обходится даже без особых знаний.
Например, на этой картинке мы видим (на самом деле не видим, но поверьте мне на слово), как на площаде размером 2 на 2 обычные грядки слоями растет аж 1200 грядок:

У других игр ситуация тоже ничем не лучше, их тоже писали пхп-программисты на коленке.
Скажем, в Happy Aquarium (четвертая по популярности игра на facebook-е) легко работает этот способ: берем любой сниффер, играем в мини-игру «тренировка рыбки», после чего перехватываем POST на сервер и дублируем его 10000 раз, каждый раз получая опыт, деньги и еду.
Все подобные способы находятся в гугле первым же запросом и закрываются разработчиками при желании за один день.
Но никто не переживает, и совершенно очевидно, почему: мы наблюдаем игры, в которых «игровой процесс», а так же его отсутствие не имеет никакого отношения к желанию платить — и, как следствие, вовсе не нужен.
По-моему, это охуенно: пользователи сами несут деньги, чисто со скуки, вне зависимости от качества продукта.
Ну разве это не мечта?
Неполучение и отнимание
LoL: Positive Reinforcement
Некоторые вещи сделаны просто, но гениально и правильно.
Например: встроенная ELO система матчмейкинга хорошая — я уже давно сижу на 50/50% побед/поражений (что хорошо по определению), хотя мой скилл растет.
Не смотря на якобы «хардкорность» игры, меня всегда сводят с игроками примерно моего уровня — и все благодаря ELO. (Ну, я старый фанат этой системы).
То есть нубы всегда играют с нубами — это позволяет делать довольно «сложные» механики, но при этом не отпугивать новых игроков, как в классической доте.
Если бы не бросаешь игру, то в конце получаешь накопительные бонусные очки. Да, так просто. В другом клоне доты на тебя вешается клеймо «leaver» и ты не можешь присоединяться к играм, у которых в свойствах написано «no leavers». Бред, да.
Игрока надо поощрять, а не наказывать.
Соотношение контент/игровое время гениальное: в игре одна карта и 30 героев. Сыграть одним героем один раз занимает около часа — уже имеем 30 игровых часов. Сыграть одним героем так, чтобы научиться, нужно игр десять — итого уже 300 игровых часов.
Играем всего лишь 8 часов ежедневно и проходим игру всего за 2 месяца!
На одной карте. Которая не утомляет, потому что PvP.
Комбинации команд из 5 человек на тех же 30 героях (при условии, что в одной команде не могут быть два одинаковых) желающие могут посчитать сами.
Оплата — тоже гениальна: каждую неделю ты можешь играть только 10 героями из 30. Хочешь разлочить всех — плати либо временем в игре (их надо нафармить, но это весело), либо баблом.
Что самое главное — разлочивание всех героев не сделает тебя в 30 раз сильнее, потому что играешь ты все равно одним, то есть не особо влияет на внутриигровые преимущества.
Не смотря на относительную свежесть игры, там уже есть довольно неплохой метагейм.
Короче, предрекаю именно LoL-у благоденствие и процветание.
LoL: кулдауны
Пару месяцев назад я придумал способ, как этого избежать, и вот на днях увидел его в LoL.
Способ правильный и хороший, молодцы!
Итак, у нас есть условная способность, которая увеличивает силу атаки на 900 на 20 секунд. Кулдаун у нее 3 минуты, то есть способность можно применять каждые 3 минуты.
Время действия (uptime) = 20 секунд/3 минуты = 20/180 = 0.12 = 12% времени.
Таким образом, способность «в среднем» дает 900*0.12 = 108 силы атаки: если мы в течение часа будем применять этот кулдаун каждый раз, когда он становится доступным, мы столько и получим — это почти то же самое, что иметь пассивную способность +108.
Разница только в том, что активация способности дает burst, то есть «сконцентрированный» эффект, иногда он нужен, иногда — не обязателен.
Что происходит, когда игрок забывает тупо активировать способность каждые 3 минуты? Средняя эффективность способности начинает стремиться к 0.
Игроки, естественно, или забывают, или прописывают активацию способности в макрос и тоже забывают про нее.
А теперь — решение.
Если у способности прошел кулдаун, то есть игрок может активировать ее в любой момент, но почему-то это не делает, способность дает пассивные +108 силы атаки.
Если игрок активировал способность, то он получает +900/20 секунд, но зато на следующие 3 минуты теряет эти пассивные +108.
Таким образом, эффективность способности всегда «в среднем» одна и та же, активирует ее игрок тогда тогда, когда нужен именно burst-а, а не поддержания эффективности.
AI в Сталкере
У меня вопрос только один: кто там дурак — геймдизайнер, который дал программистам задание сделать независимый от игрока мир «и чтобы боты могли сами разгадать тайну Зоны» или руководство проекта, которое не уследило за этим и дали возможность программистам долго и безуспешно придумывать «честный» AI?
Я был очень счастлив, когда я прошёлся за сталкером с одного уровня на другой, смотрел, как он ищет артефакты, находит их, потом возвращается на уровень к торговцу, подходит, торгует, выбирает новое задание и идёт дальше – жаль, что это не вошло в оригинальную игру.
То, что программисты честно взялись за интересную задачу, не задавая вопросов — вполне понятно. Оставленные без присмотра программисты и не такое натворить могут.
А разгадка проста: AI в играх не должен быть правдивым, а всего-навсего должен выглядеть правдоподобным.
Разница, на самом-то деле, огромна.
Вы, например, Fallout 2 помните? Вас не смущает, что на выходе из деревни вы видите чувака, которого придется месить в конце на базе, а после нахождения GECK-а внезапно всю деревню похищают? Или, например, на вас нападают рейнджеры, если вы плохой?
Первое — скриптованная сцена, второе — триггер, расставленный гемдизайнером. Что удивительно — главный злодей не решает сам выйти из базы, пройтись по миру и «случайно» встретиться с вами, рейнджеры не читают газет, из которых узнают, что вы поплохели, и не идут сами охотиться на вас.
Тем не менее, мир целостен, и игрок понимает «я плохой — на меня нападают хорошие», в то время, как это простая проверка «если карма меньше Х», безо всяких нейронных сетей и прочего говна. У игрока не возникает вопросов «а существует ли этот случайный корован после того, как я уйду с карты?». Нет, не существует.
Написать хороший, пусть даже «устойчивый к случайностям» сценарий в разы проще, чем пытаться делать настоящий AI.
Конкретно применительно к Сталкеру я бы сделал все проще: нагенерил несколько типовых сценок, типа «спасение NPC от волков», «спасение тебя NPC-ём», «смерть NPC», а потом бы «скармливал» игроку, до смерти NPC:
Берем несколько («пять», больше игрок просто не запомнит) случайных NPC, сводим их с игроком. Сводим их тупо, безо всяких «а на самом деле NPC в другой зоне, хотя игрок про это не знает». (Вообще, делать что-то, о чем игрок не знает и никогда не увидит — чрезвычайно тупое занятие). Сводим через какие-то промежутки времени («каждые 20 минут»).
NPC умер, желательно в присутствии игрока — замечательно, факт смерти отметили, перестаем подсовывать игроку этого NPC, вводим следующего.
Игрок не только не заметит подвоха, но и будет рад: кругом — знакомые лица.
Когда я в первый раз играл в «Сталкера», я специально искал следы умного AI. Кончилось все тем, что я несколько раз видел NPC с одним и тем же именем в разных зонах. И, собственно, всё.
Подобный эффект достигается, кстати, безо всяких AI, если дать NPC повторяющиеся имена. И я не шучу.
«Честный» интеллект хорош для игры, типа Sims 3 — когда персонажи живут на экране, а игрок за ними наблюдает. Тогда это «в тему». Тем не менее, AI в Sims не сложнее амебы, а игра все равно в топах по продажам.
Что лишний раз доказывает.
MMO Tower Defence
Про MMO Tower Defence рассказать, или и так все понятно?
Причем это даже не монстрплей в чистом виде, то есть на пушки не обязательно должны бежать тушки монстров, вполне достаточно партии из пяти человек. А вместо пушек — «охранники».
Ключевые слова: UGC, PvP.
Все еще не понятно?
ММО Без Уровней, В Которую Можно Играть Сразу
В ММО будущего не будет уровней, это очевидно.
Следующим очевидным шагом после отмены уровней будет полосочку другого цвета, обозвать ее какой-нибудь «репутацией» и заставить так же набирать.
Те же яйца.
Про недостаток уровней я уже писал: уровни не дают игроку пропускать контент (что плюс), но делают контент одноразовым (что минус).
Есть непривычный способ, как сделать отсутствие уровней по-другому. Способ мне нравится, но он наверняка «слишком смелый». Ну и к тому же «в ВоВе все не так».
![]()
Итак, у нас есть персонаж. У персонажа есть слоты, в слотах есть шмотки. Развитие персонажа идет за счет шмоток. Не знакомо, нет?
Все шмотки изнашиваются со временем и могут ремонтироваться, но количество ремонтов ограничено. После полного износа шмотка пропадает.
Уровней, напоминаю, нет, так что любой персонаж «1-ого уровня» может пойти в рейд и собрать там шмотки. Которые со временем износятся и сотрутся в пыль.
Обидно? Да, конечно. Шмотки терять не хочется.
А теперь — финт ушами. Пользователь набирает опыт, вместе с опытом набирает… «уровни»!
Каждый «уровень» игрок может «прокачать слот». В прокачанном слоте вещи изнашиваются медленней, в полностью прокачанном слоте вещи не стираются в труху, то есть не пропадают при полной поломке.
Максимально прокачанный персонаж не теряет вещи.
Последствия в целом забавные: игрок может начать играть сразу, с первого уровня, «заплатив бабло» за шмотки. Заплатив за место в рейде, как угодно.
Другое дело, что ему придется платить много и часто. Что хорошо, пусть привыкает.
Игрок может начать играть потихоньку, проходя квесты и все остальное, в таком случае ему будут даваться средненькие вещи, которые будут изнашиваться с такой скоростью, с какой игрок левелится, то есть дефицита «обычных» шмоток не будет.
Прокачав все слоты, такой игрок может пойти в рейды и набрать все те же шмотки, но уже использовать их без потерь.
Контент становится полезен весь: за квесты даются шмотки, которые всегда нужны, пока ты не максимального «уровня» — шмотки-то теперь расходуются, а не продаются сразу вендору, потому что есть шмотка лучше.
Контент становится «нелинейным» — ты всегда можешь пойти и сделать квест, который дает крутую шмотку, но шмотки, опять-таки, расходуются. Поэтому шмотку придется либо беречь, либо постараться выжать из нее максимум для более быстрой прокачки.
Итого, еще раз — путей у игрока два:
1. Платить много и сразу и играть сразу «без прокачки» в крутой контент.
2. Прокачиваться и играть «бесплатно» (хахаха), проходя весь контент. («Играть бесплатно» в данном случае — это «платить, как обычно» и играть в «привычную ММО»).
![]()
Нужна циферка «вместо» уровня? Нужна.
Берем силу всех надетых вещей, складываем, переводим в понятную цифру. Это цифру используем, как писькомерку.
(Подобное уже делается с помощью аддонов в ВоВ, которые помогают решать, брать ли человека в рейд).
Мобы делятся на зеленых, желтых, красных — тоже на основе этой циферки. Вижу красного моба, надел крутые шмотки — замочил.
(Потенциальная проблема — сложность переодевания вещей. Решается тривиально через интерфейс путем создания пресетов эипировки).
ELO * 10
Настоящее геймдизайнерское задание: адаптировать рейтинг Эло (ELO) (или создать что-то свое Эло-подобное) для партий из 10-и игроков, о каждом из которых известно, какое место он занял.
Ну, например, для 10-и бегунов в одном забеге.
Почта
Почти во всех ММО есть почта, которая сделана в виде почтовых ящиков, до которых надо добежать. Было бы круто сделать ее просто кнопкой в интерфейсе, безо всяких ящиков. Так делать нельзя, потому что почта используется, как бездонное хранилище: посылаешь сам себе 100 писем с вещами, которые почта обязана хранить минимум месяц. Именно поэтому существуют «банковские альты».
Соответственно, давать доступ к этому хранилищу просто так не хочется. Халявное хранилище = утечка денег.
Поэтому, например, самый первый инженерский почтовый ящик в WoW (который можно вызывать по требованию) так и не вышел из беты БК в свое время. (Сейчас, правда, сделали, но с огромным кулдауном).
Все ограничения «почта только из ящиков» существуют только поэтому.
А теперь вопрос — как сделать так, чтобы почту не превращали в хранилище, но при этом письма не пропадали? При этом в почте в любом случае должна быть возможность пересылать аттачменты в виде предметов, от этого никуда не деться.
Побочным приятным эффектом будет то, что почту можно будет сделать, наконец-то, в интерфейсе и ей начнут пользоваться как, натурально, почтой.
Ну, там, письма писать.
Биокрафтинг
В игре есть некие особи. У особей — слоты под 10 генов.
Есть большой набор генов (~200 штук). У каждого гена есть его «приоритет», он же «вес». Делать доминантные гены не хочется, так как это потенциально несмываемый позор на весь род.
У каждого гена есть его свойства (ну, очевидно).
Вес обратно пропорционален игровой полезности этих свойств, то есть самые крутые гены имеют самый маленький вес. Простой пример «из жизни»: есть гены +1 силы, +2 силы, +3 силы. Ген +3 имеет вес = 1, ген +1 имеет вес = 3.
Для балансировки не обязательно большое количество «плохих» генов, ген +1 силы является хорошим, но не таким хорошим, как +3 силы. А количество слотов под гены ограничено.
Соответственно, ген +1 является «не оптимальным».
Спаривание
Берутся две особи, их гены сливаются в общий котел («пул»), их приоритеты суммируются. Бросается кубик от 0 до суммы приоритетов, выбирается полученный ген. (Если у гена есть дубль, он исключается из котла). Кубик бросается до тех пор, пока не будет набрано 10 генов.
«Мутации»
Очевидна ситуация, когда есть две особи с полностью одинаковыми генами. В результате их спаривания получится третья особь с таким же набором.
Для предотвращения этого, вводится правило: «если во время спаривания в котле меньше 15 уникальных генов, то в котел добавляется нужное количество „случайных“ генов».
Случайные гены выбираются по тому же принципу (строится общий пул всех генов, суммируются приоритеты, кидается кубик).
Возможно, к котлу надо добавлять определенное (небольшое) количество случайных генов всегда.
(Самые умные уже поняли, что по-хорошему вместо количества надо использовать веса).
Нахождение пары
У персонажа отображаемые гены сортируются по убывающим приоритетам («крутые гены наверху»), игрок может просматривать других персонажей и искать пару.
Защита от устойчивых цепочек
Очевидно, что «спаривание» является ресурсом, который можно (и нужно) продавать. Например, персонаж может всего раз в день кончать в стаканчик и продавать свою сперму на аукционе.
Для простоты персонажи гермафродиты (но есть изящное решение с двуполыми существами).
Так же очевидно, что у особей должно быть время жизни (возможно даже завязанное на количество спариваний, кончил — потерял год жизни).
Игрок при этом не должен ассоциировать себя с особью, это просто сделать, если дать играть не одной особью, а несколькими, при этом игрок будет выполнять роль супервизора («симулятор футбольной команды»).
Что же мы получили?
Мы получили мультплеерный «биокрафтинг», когда крафтятся (создаются) не вещи, а существа. Что, впрочем, совершенно не важно — в рамках игровой механики они могут быть такими же «вещами», так как принадлежат одному супервизору, а не являются самостоятельными сущностями.
Чистый биотех в пост-апокалиптическом мире. Шутка.
Бонус-трек
«Левелап» (и прочие бонусы) — любая манипуляция с генами, помимо размножения. Самый простой пример — возможность заменить ген на один из трех «случайных» по выбору игрока.
Я бы даже ген не дал выбирать для замены — есть, скажем, 10 «уровней», на каждом предлагают заменить гены, начиная с первого.
Сумки
Так вот, нам пишут:
Не могли бы вы написать про проблемы инвентаря и распихивания лута по сумкам в играх вообще и в 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% снижения повреждений и мгновенно лопается.
Домашнее задание: рыбалка
Возьмем, например, рыбалку. Рыбалка представляет собой «игру» в распознавание капчи: ты закидываешь в случайную область поплавок, а потом ждешь, пока он дернется, после чего на него надо нажать.
Разумеется, как и любая другая капча, эта тупит мозг и провоцирует только создание ботов.
Что делает Близзард, чтобы исправить фишинг? Делает еженедельный ивент (Fishing Extravaganza) с призами, добавляет в Даларан в фонтан 53 монетки, связанные с lore, которые можно выловить и почитать, сделал разные ачивменты с наградами, петов и маунта, которого можно только выловить, ежедневные квесты на фишинг, сделал даже боcса в ZG, которого можно вызвать только фишингом, и так далее — контента там столько, что можно сделать отдельный сайт про фишинг в ВоВ.
При этом рыбалка все равно представляет собой игру на распознавание капчи, от которой сводит мозг.
Вопрос для домашнего задания традиционный — …?
Домашнее задание: Attack table
Поэтому вопрос задавать не буду, скажу сразу ответ: Attack table гениальна, потому что:
а) это один ролл на сервере,
б) это позволяет делать много простых, но охуенных вещей (crushing blows были изящны, но, увы, совершенно не понятны игрокам, их надо было оторвать от танкинга и приспособить под другое, примерно та же проблема — непонятность — и с expertise),
в) 5% крита — это всегда 5% крита.
По последнему пункту — подробнее. Допустим, у нас есть система статов (выдуманная, не основанная на реальных событиях, честно-честно), где есть стат «антихит». И в этой системе мы не понимаем охуенную гениальность attack table и делаем два ролла: сначала на попадание, потом на крит.
У противника есть 10% крита. А я набрал 20% антихита.
Позразумевается, что шанс противника промахнуться составляет 20%. И типа это понятно. Легко считать, балансировать и так далее. Проблема в том, что шанс крита противника при двух последовательных роллах составляет теперь 10*0.8=8% из-за наличия у меня антихита. Даже не антикрита.
И все поплыло. Для усиления эффекта введем еще стат «антикрит».
С Attack table все не так. Attack table гениальна, хуйли. При этом attack table слишком проста, чтобы быть понятной.
Кстати, в этой не основанной на реальных событиях игре в ПвП будут рулить crowd controller-ы с прокачанным антихитом. Mark my words, ага.
![]()
Ну ладно, домашнее задание.
Есть стат, который снижает вражескую броню на N%. Стат твой, то есть персонажный.
Вопрос — как его назвать по-русски одним словом. Ну типа «сила» — понятный стат. «Ловкость» — тоже понятный. И для этого стата нужно одно понятно слово.
Очевидно, что «меткость» и «ловкость» заняты. Очевидно, что делать стат «мощь», когда есть стат «сила» тоже не надо (тоже абстрактный пример).
Пока варианты такие: сарказм (это плоская лингвистическая шутка, многим не понять), пирсинг (это продолжение предыдущей шутки), мастерство (плохо, ассоциации с крафтингом), коррозия (это то место, в котором только до тупых не дошла шутка про сарказм), прессинг (я просил русское слово, лол), харизма (еще одна шутка).
В ВоВе оно называется armor penetration. В Вархаммере — weapon skill (очень хорошо, но надо одним словом, блядь, weapon skill — это ж почти то же самое, что warcraft!). Penetration — вообще идеально. Но не по-русски.
Кто придумает — тому с полки пирожок. Я не смог и сижу без пирожка.
Домашнее задание: броня
DR% = Armor / (Armor + 400 + 85 * AttackerLevel)
DR% — снижение повреждений в %
Armor — броня
AttackerLevel — уровень атакующего
Обещанные простые вопросы:
1. Почему 85?
2. Почему логарифм? (А не rating, который линеен?)
3. Почему второй логарифм? (А не rating?)
4. Откуда я знаю слово «логарифм»?
Да, я издеваюсь. (Тем более, что по ссылке все написано).
Но я-то ответы знаю, хотя это всем похуй! (Уходит, плачет).
Как сделать хилинг интересным: ответ
Ну а если серьезно, то… никак. Нет, серьезно.
В ВоВ я очень любил хилеров. Сначала пристом прошел весь дорейдовый ВоВ (рейдов тогда не было, МС была, как затычка, но никто ее не проходил, кроме Nurfed-а). Потом друидом прошел почти все до конца AQ40.
Потом я полюбил танков еще сильнее, чем хилеров, и начал играть ими.
А САМЫЙ ПОПУЛЯРНЫЙ КЛАСС ВСЕ РАВНО ЭЛЬФ-ХАНТЕР.
Правильный ответ — сделать так, что эльфы-хантеры всегда могли найти группы, а не упирались в любимых танков и хилеров. После чего как опциональный стиль игры для шедоу-приста сделать возможность задрачиваться и лечить хоть отованные пенисы (я не шучу, кто-то предложил различать дамаг по частям тела).
Кстати, вопрос «как сделать хилинг интересным?» и «как сделать хилинг сложным?» — это два разных вопроса, если че.
При этом — повторюсь — я очень люблю танков, protection воинов вообще починили так, что одно удовольствие играть — и хорошо, и интересно, и просто, и DPS есть — однако ж выходишь в ВоВ, а там — «LF1M tank».
