quote
12 заметок
терапия
Сейчас этот блог в основном про психотерапию.
как правильно
Слушайте меня, я вас научу правильно жить.
психология
Буржуазная лже-наука, пытающаяся выявить закономерности в людях.
практика
Случаи и выводы из психотерапевтической практики.
кино
Фильмы и сериалы.
книги
Это как кино, но только на бумаге.
nutshells
«В двух словах», обо всем.
дорогой дневник
Записи из жизни (скорее всего, не интересные).
беллетристика
Мои литературные произведения и идеи.
духовный рост
Когда физический рост кончается, начинается этот.
дивинация
Как предсказывать будущее.
половой вопрос
Про секс и сексуальность.
заяижопа
Творческий дуэт с моей женой.
магия
«Магическое — другое название психического».
Карл Юнг
игровой дизайн
Раньше я делал игры.
игры
Компьютерные игры.
язык
Слова там всякие.
людишки
Уменьшительно-ласкательно и с любовью.
культ личности
Про великих людей (то есть, в основном про меня).
hwyd
Уникальная Система Прививания Привычек.
буклет
я
идеи
блоги
spectator.ru
дети
wow
вебдев
музыка
контент
программирование
религия
дейтинг
диалоги
яндекс
кулинария
coub
fitness
символы
йога
шаманизм
tiny
ребенок

AI в Сталкере

17 лет назад в категории игровой дизайн

Читаю про AI в Сталкере.

У меня вопрос только один: кто там дурак — геймдизайнер, который дал программистам задание сделать независимый от игрока мир «и чтобы боты могли сами разгадать тайну Зоны» или руководство проекта, которое не уследило за этим и дали возможность программистам долго и безуспешно придумывать «честный» AI?

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

То, что программисты честно взялись за интересную задачу, не задавая вопросов — вполне понятно. Оставленные без присмотра программисты и не такое натворить могут.

А разгадка проста: AI в играх не должен быть правдивым, а всего-навсего должен выглядеть правдоподобным.

Разница, на самом-то деле, огромна.

Вы, например, Fallout 2 помните? Вас не смущает, что на выходе из деревни вы видите чувака, которого придется месить в конце на базе, а после нахождения GECK-а внезапно всю деревню похищают? Или, например, на вас нападают рейнджеры, если вы плохой?

Первое — скриптованная сцена, второе — триггер, расставленный гемдизайнером. Что удивительно — главный злодей не решает сам выйти из базы, пройтись по миру и «случайно» встретиться с вами, рейнджеры не читают газет, из которых узнают, что вы поплохели, и не идут сами охотиться на вас.

Тем не менее, мир целостен, и игрок понимает «я плохой — на меня нападают хорошие», в то время, как это простая проверка «если карма меньше Х», безо всяких нейронных сетей и прочего говна. У игрока не возникает вопросов «а существует ли этот случайный корован после того, как я уйду с карты?». Нет, не существует.

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

Конкретно применительно к Сталкеру я бы сделал все проще: нагенерил несколько типовых сценок, типа «спасение NPC от волков», «спасение тебя NPC-ём», «смерть NPC», а потом бы «скармливал» игроку, до смерти NPC:

Берем несколько («пять», больше игрок просто не запомнит) случайных NPC, сводим их с игроком. Сводим их тупо, безо всяких «а на самом деле NPC в другой зоне, хотя игрок про это не знает». (Вообще, делать что-то, о чем игрок не знает и никогда не увидит — чрезвычайно тупое занятие). Сводим через какие-то промежутки времени («каждые 20 минут»).

NPC умер, желательно в присутствии игрока — замечательно, факт смерти отметили, перестаем подсовывать игроку этого NPC, вводим следующего.

Игрок не только не заметит подвоха, но и будет рад: кругом — знакомые лица.

Когда я в первый раз играл в «Сталкера», я специально искал следы умного AI. Кончилось все тем, что я несколько раз видел NPC с одним и тем же именем в разных зонах. И, собственно, всё.

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

«Честный» интеллект хорош для игры, типа Sims 3 — когда персонажи живут на экране, а игрок за ними наблюдает. Тогда это «в тему». Тем не менее, AI в Sims не сложнее амебы, а игра все равно в топах по продажам.

Что лишний раз доказывает.

0

Gamedesigners, we haz dem

17 лет назад в категории игровой дизайн

Полчаса вяло препирался с Денком по поводу почты, в основном на тему «работает — не трогай». Аргументация была «игроки не жалуются». Договорились до страшного:

[18:13:41] Denis Andreev: геймдизайнеров нет в России. ну может кроме тебя.
[18:14:02] Дмитрий Смирнов: из меня плохой геймдизайнер — спроси у [неразборчиво] =)
[18:14:06] Denis Andreev: только ты постоянно пытаешься исправить то что работает
[18:14:29] Дмитрий Смирнов: эксплоиты тоже работают
[18:14:42] Дмитрий Смирнов: и на них не жалуются =)
[18:15:07] Denis Andreev: эк ты завернул! хитро! :)

Денк, конечно, мне польстил. (Очевидно, затем, чтобы попасть на страницы этого культового блога).

А на самом деле в России есть как минимум еще один геймдизайнер (ну, судя по постам и по комментариям в нуднике и по общему ходу мыслей) и еще один — в Хохляндии, только он не знает, что он геймдизайнер. (Слышь, Лысенький, про тебя пишу).

А разгадка одна — безблагодатность.

Причина, короче, очевидна: нет спроса — нет и предложения. То, что требуют — это все, что угодно, но не геймдизайн. Ну и школы, традиций и опыта тоже нет.

Такие дела.

0

Сумки

17 лет назад в категориях next-gen mmo игровой дизайн

Нам пишут (что приятно). Какие-то люди, кстати, позвали меня консультантом на их проект, а сами уже больше недели не пишут. А я уже почти собрался украсть у них ноухау и потом использовать его для создания своей ММО на PHP.

Так вот, нам пишут:

Не могли бы вы написать про проблемы инвентаря и распихивания лута по сумкам в играх вообще и в WoW в частности? У меня есть несколько идей, как улучшить систему инвентаря в том же WoW и при этом оставить сумки конечного размера (как money sinks и предметы статуса для задротов), но я всё-таки не геймдизайнер.

Я тоже не геймдизайнер. В России вообще геймдизайнеров нет — если hammerfight почему-то считается «лучшим инди-проектом сделанным когда-либо в России», то мы обречены.

Проблема у инвентаря ровно одна — почему-то приятно думать, что игрока прикалывает в нем ковыряться, при этом никто не спешить облегчить игроку жизнь.

А на самом деле — нет, не прикалывает. Инвентарь забивается так же, как и винт любого размера, и это раздражает. Но на винте хоть директории есть. Собственно, это и есть правильный ответ.

Делаем на кукле персонажа еще один предмет — сумку. Сумка определяет количество пустых слотов.

Слоты при этом рисовать не обязательно, если чё. Инвентарь вполне может выглядеть, как упорядоченный список. Нам интересно только количество оставшихся слотов, которые можно показывать циферкой или прогресс-баром. (Бонус-трек: на сумке можно делать и другие характеристики, например, «большая сумка ловкости» — получаем халявный контейнер для статов).

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

Ни одного разумного довода, почему предметы должны иметь разные размеры в слотах, я не знаю. (Некоторые используют вместо этого «вес», что лично меня тоже бесит).

Собственно, всё.

Почему табы и списки есть в нормальных человеческих интерфейсах уже десятки лет, а инвентари «во всяких ММО» до сих пор предлагают прямоугольные клеточные поля — выше моего понимания.

Да, самый лучший инвентарь из тех, которые я видел, сделан в игре Free Realms.

0

Hit handicapped

17 лет назад в категориях игровой дизайн next-gen mmo

Есть такое выражение – «писали программисты». Программистам как бы традиционно посрать на интерфейсы и пользователя, поэтому если вы, как пользователь, видите что-то неправильное, знайте – это писали программисты.

В WoW «программисты писали» две вещи: огромные красные сообщения об ошибках в пол-экрана, которые никто не замечает – это первая вещь.

Некоторые из этих сообщений пытаются быть полезными (типа, You can’t do that while stunned), но в основном они сообщают очевидное – мое любимое, например, «You are dead», когда пытаешься что-то сделать, пока ты мертв.

Монохромная картинка, ты в виде духа и твое тело валяется рядом. Тут ты нажимаешь на кнопку, и тебе сообщают, что you’re dead. Спасибо, капитан?

Вторая вещь – система повреждений.

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

Но наружу для пользователя торчит вместо интерфейса что-то невообразимое.

Ну, например.

На оружии есть DPS.

DPS при этом – само по себе непонятное слово, за доказательствами далеко ходить не надо: слово сразу же освоили, как любое новое неизвестное слово и приписали ему значение из контекста. Теперь легко можно видеть фразы, типа «I am DPS». Ну да, ну да, you are.

DPS на оружии обозначает «повреждения».

Есть характеристика «сила», которая тоже влияет на повреждения. Есть «сила атаки», которая является производной от силы, но нужна как отдельная переменная, потому что а) может быть производной не только от силы, б) сила влияет не только на силу атаки.
(Нюансы добавляет мой любимый русский перевод, если strength и attack power тяжело спутать, то в переводе это, натурально, «сила» и «сила атаки»).

Есть DPS персонажа, который является производной от DPS-а оружия и силы атаки.

Есть диапазон урона, который является производной от DPS-а персонажа и скорости оружия.

И все это вываливается на игрока, при этом совершенно не дает ответа на вопрос «как больно я сейчас стукну?», потому, что относится в основном к автоатаке и не учитывает броню врага.

Причем игроку-то совершенно не хочется получить ответ на этот вопрос, поэтому и не надо на него пытаться ответить. Игроку важен другой ответ – «Сколько у меня сантиметров?».

Игроки приспособились и тут, кстати. Крутизну меряют по attack power/spell power, крутизну танков – по количеству их хитпоинтов.

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

Вообще любые намеки на сложность боевой системы в WoW – это просто очень плохо спрятанные «программерские» решения.

Ну, например.

Делаем владение двумя оружиями одновременно. Очевидно, что нужно какое-то пенальти, иначе два оружия становятся ровно в два раза круче, чем одно (duh). Попустим, мы вычислили, что в два раза – это много, надо бы процентов на 19 это порезать.

Самый «дешевый» способ порезать дамаг на 19% — это добавить 19% промахов. Можно было тупо уменьшить все повреждения на 19%, но это не так «оптимально». Если же мы увеличиваем количество промахов, то серверу сразу же не надо считать кучу вещей, типа повреждений, регистрировать хиты, отнимать здоровье у моба, и так далее.

Промахнулся – и хрен с ним. Тем более, что attack table (вычисление попаданий/промахов) в ВоВе сделана довольно оптимально.

При этом хочется, чтобы способности не промахивались так часто, поэтому на них это правило не распространяются, и они имеют стандартный шанс промазать в 5%.

Абсолютно так же балансируются мобы, которые выше по уровню, чем персонаж: чем сильнее моб, тем сложнее по нему попасть. (Сделано это для того, чтобы малышня не прокачивалась на мобах не по уровню).

А теперь – как это смотрится с точки зрения игрока и результаты, которые ему приходится расхлебывать.

Я, скажем, вор и пошел в рейд. Сейчас всей семьей в рейды ходят, с бабушками и мамами. Боссы в рейде на 3 уровня меня выше, поэтому у меня аж 8% шанс промазать способностями из-за уровня и 27% шанс промазать автоатакой из-за уровня и владения двумя оружиями, плюс к этому — отдельный шанс промазать ядами, потому что яды – это спеллы.

Как кажуальный игрок, я на это клал и вообще это в первый раз слышу (от кого, интересно?). Как хардкорщик я знаю, что 8% шанс промазать – это более, чем 8% снижение повреждений, потому что при промахе тратится не только время, но и другие ресурсы (энергия, комбопоинты, нервы).
8% снижение повреждений – это очень много. Поэтому я начинаю набирать hit rating, который увеличивает мой шанс попасть. Хит сделан не в виде процентов, а в виде rating-а из-за инфляции, что только усложняет мне понимание.

Когда я набрал 8% хита, он начинает терять часть своей эффективности, раньше-то он влиял на эти 8% и еще на 27%, а теперь только влияет на 27%. Потом я набираю эти 27%, но есть еще и яды, которые программисты решили сделать спеллами с каким-то отдельным шансом промаха. Потом я набираю все – и опа, хит мне больше не нужен вообще.

Это очень контринтуитивно: 200 силы лучше, чем 100 силы в два раза. 16% хита лучше чем 8% хита в неизвестное количество раз. 200% хита лучше, чем 100% ровно в ноль раз. Даже хуже, потому что вместо хита могли бы быть полезные статы (т.е. характеристики).

Более того, хит оказался таким простым и удобным статом для «программистов», что они клонировали его и сделали новый стат – expertise.

Expertise – это – внимание – шанс попасть, когда противник уклонился, отличается от хита тем, что хит – это шанс попасть, когда ты промахнулся. Expertise в результате снижает «еще одни промахи».

Мо-лод-цы!

Хит – это очень важный стат, 8%-ая и более потеря повреждений – это много. То место, в котором хит теряет свою полезность (набрал столько, что не промахиваешься) называется hit cap.

Игроки восприняли все очень смешно: они взяли и основали религию, которая называется «being hit capped». Как и полагается, корни религии – упрощение и непонимание.

Hit cap – это конкретная цифра, которая передается, как заповедь. Нигде в игре, разумеется, нет ни слова про нее, hit cap «придумали» и вычислили задроты.

Все те, кто не понимает – а это 99.99% игроков – просто заучили, что «you need a Hit Rating of 263 (8.02%)». Охуенно смешно, что тебя могут не взять в рейд, если у тебя hit rating равен 262 только потому, что 262 меньше, чем 263 и потому, что hit cap воспринимается людьми, как бинарная характеристика – либо он у тебя есть, либо его у тебя нету.

Итого – у нас есть стат, про который игрок должен откуда-то знать примерно такие вещи:

The key is to be over 99 hit rating (the Yellow Hit Cap — YHC) but under 315 hit rating (the Poison Hit Cap — PHC) and to never be over 214 expertise rating (the Expertise Cap — EC)

Покажите эту табличку своей бабушке:

Это еще не все, еще есть не-рейды и PvP. Там – вы не поверите – другой hit cap.

А начиналось-то все мирно – просто был 5% шанс промахнуться по умолчанию, «чисто для разнообразия». И про этот шанс игроку было знать не обязательно, 5% — это в пределах незаметности для игрока.

Никакой стратегической сложности для игрока при выборе шмоток тут нет вообще, это не «я качаю ловкость, а не силу, потому, что я буду, сука, быстрый и ловкий, а не медленный и сильный». Хит тупо надо брать. До hit cap-а, ага. Про реакцию игроков я рассказал: проще всего было выучить в заповедь «тебе нужно столько-то хита» и не париться.

На самом деле балансировка всяких штук через хит – это прикольно, D&D, attack roll, все дела. Не надо только наружу это вытаскивать.

For completely uninformed players, many of them would ignore hit. In fact, hit rating is the most valuable stat for most DPS classes.

Я тоже молодец.

Придумал, что у кастеров в секретной next-gen MMO должно быть «кастерское оружие» с «кастерскими статами». В терминах ВоВа – оружие со +spell power.

Что, конечно же, не правильно.

Оружие – это просто слот на кукле, который дает много дополнительного дамага.

На примере ВоВа — с мелишными классами все понятно, на оружии написан DPS, с друидами было все сложнее: в форме животных они «не понимали» оружие, потом на оружие стали вешать свойство +feral attack power, потом «научились» переводить DPS оружия в feral attack power и друиды получили возможность использовать нормальное оружие.

Абсолютно то же самое и с кастерами, свойство +spell power – это тоже заплатка, просто очень старая, поэтому к ней привыкли.

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

0
Мой инструмент по развитию силы воли и прививанию полезных привычек.

Метро и геймдизайн

Метро меня вгоняет в ступор каждый раз. Эскалаторы, да. Даже в час пик все стараются соблюдать правило «оставляйте левую сторону свободной для прохода». А те, кто идет по левой стороне, специально идут, а не стоят, потому что это «сторона для прохода». Таких людей немного, поэтому левая сторона почти всегда свободна. (еще 278 слов)

Lineage vs WoW

По умолчанию считаем, что все корейские игры пришиблены Lineage-ом, а все европейские — WoW-ом и рассматриваем текст в ключе «Азия против Европы». Также пост содержит рекордное количество ссылок (это же интернет!), чтобы было понятно даже тем, кто не в теме. Первая удивительная вещь, которую я понял, поиграв в LA2 – это то, что Ричард Гарриот – певец одной песни. (еще 1504 слова)

Как сделать мобов интересными: решение

Уф, целую неделю писал урывками. Некоторые очевидные аксиомы и противоречия: 1. Один обычный моб не должен быть смертельно опаснен для игрока, по многим причинам. (еще 1571 слово)

Где WoW облажался

Сам Каплан (тот самый бывший еверквестовый задрот, который загубил ВоВ, ага) дал интервью на тему «где WoW облажался». Метавывод после чтения: близзард очень хорошо понимает основную целевую аудиторию — домохозяйки, которые делают квесты. Поэтому интервью было только про ошибки в квестах. Ни слова про проблемы с итемизацией, с танками и хилерами, с балансом классов, PvP и прочие мелочи. (еще 516 слов)

Pedofinder General

Вчера лежал и думал о прекрасном перед сном. И додумался до совсем прекрасного: наконец-то понял, какой сеттинг должен быть у идеи браузерной игры, которую я придумал год назад. Рекомендую сходить по ссылке и перечитать, даже я все забыл. Итак, сеттинг. Мир состоит из связанных друг с другом комнат с разной степенью вместимости (от 10 до 2), между которыми можно перемещаться. (еще 183 слова)

Dr. Horrible’s Sing-Along Blog

Палю свежий тренд. Помните забастовку авторов сценариев к сериалам? Мы тогда лишились несколько плановых серий Хауса, плакали и обмазывались соплями? Авторы, однако, бастовали не потому, что им надоело работать, а только из-за гнета капиталлистических свиней. В свободное от работы время они написали сценарий к мюзиклу Dr. (еще 283 слова)

Как пофиксить PvP в WoW

Так вот, правильный ответ на вопрос «как пофиксить PvP в WoW» прост и очевиден: перестать ебать мозг и сделать два ruleset-а (набора правил): один для PvE, второй — для PvP. Близзард вообще борется «за консистентность». Однако же, всего 4 года понадобилось на то, чтобы сделать spell power как аналог attack power и даже сделать так, чтобы она росла за счет базовых характеристик (spi, int) — правда, тоже через заплатки в виде талантов. (еще 551 слово)

Тизер!

Культовый журналист Лена Шкарубо берет у меня интервью. Smirnov:
с таких вопросов начинать интервью? shc:
если честно, я стою голая в твоей квартире и направляю газовую горелку на жалюзи Smirnov:
только «я стою голая в твоей квартире и направляю газовую горелку на жалюзи» не вычеркивай Smirnov:
а то все испортишь.