Книжный куб
11.1K subscribers
2.68K photos
6 videos
3 files
1.98K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Геймдзайн (Designing games. A guide to engineering experiences) - Part I

Продолжая тему system design (см пост про ArchDays 2023) я решил вспомнить про книгу, которую я прочитал год назад с большим интересом и которая была посвящена дизайну игр. Иронично, что я перестал играть в игры почти 20 лет назад, но книги про создание игр я очень люблю:) А конкретно в этой книге я нашел много параллелей с дизайном комплексных информационных систем, процессов разработки в компании, hr-процессов навроде составления матриц компетенций или performance review. В итоге, эта книга Тайнана Сильвестра, изданная на английском 10 лет назад, мне понравилась. Она рассказывает про геймдизайн, который шире графики, музыки, персонажей или игрового поля. Автор считает, что "геймдизайн - это симулятор мечты, набор правил, благодаря которым игра оживает". Интересно, что прямо на задней обложке книги выдается алгоритм создания хорошей игры для самых нетерпеливых:
- Создайте игровую механику, вызывающую эмоции и обеспечивающую разнообразие
- Узнайте, как объединить сюжет и интерактивность
- Используйте взаимодействия, которые заставят игровок проникать друг другу "в голову"
- Вовлекайте в действие с помощью наград
- Планируйте, тестируйте и анализируйте геймдизайн последовательно, а не пытайтесь все решить заранее
- Узнайте, как позиционирование игры влияет на геймдизайн


Если же заглянуть под обложку и взглянуть на содержание, то книга состоит из 3 частей, 17 глав и одного эндшпиля, но в первой части поста мы обсудим только первую часть книги.

Часть 1 - Машины опыта

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

Глава начинает с механики и событий, где первую создают геймдизайнеры, а события дальше порождаются механиками и эти события должны вызывать у человека эмоции (иначе он уйдет/заснет/закроет игру). Причем эмоции возникают в момент, когда срабатывают эмоциональные триггеры (обычно эти эмоции вызывает бессознательное, реагируя на какую-то ситуацию). Причем в основе таких триггеров лежат значительные изменения, что происходят в игровом мире. И именно эмоции являются целью геймдизайна. Дальше автор приводит список базовых эмоциональных триггеров, что включает эмоции от обучения, эволюции персонажа, испытаний, социального взаимодействия, приобретения, музыки, зрелища, красоты, окружающей среды, современных технологий, угроз, сексуальных сигналов. Все эти рассказы автор сопровождает примерами из игр: шахмат, покера, футбола, Doom, Half-Life и других. И если простым играм хватает механик, то игры посложнее треубуют истории. А эмоции и истории вместе превращаются в опыт, за которым игроки приходят в игры. В итоге, мы получаем цепочку
-> "Механика, завернутся в сюжет"
-> "Создаваемые события"
-> "Эмоции"
-> "Опыт"

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

#Design #GameDesign #SystemDesign #SystemThinking #Management #SelfDevelopment
👍105🔥3
Геймдзайн (Designing games. A guide to engineering experiences) - Part II

Этот пост продолжает обзор книги Геймдзайн (Designing games), что я начал вчера. Мы поговорим про вторую часть "Искусство создания игры", где автор сходу выдвигает два тезиса: геймдизайну невозможно научиться по книгам и что нужен опыт, а опыт лучше всего получать, наблюдая за отдельными небольшими изменениями (видимо для того, чтобы можно было легко интерпретировать результаты).

2. Элегантность
Автор говорит о том, что непредсказуемость лежит в основе элегантности. Суть в том, чтобы из простой механики получалось создать сложные ситуации. Здесь можно вспомнить игру Джона Конвея "Жизнь", которую многие помнят по урокам информатики и которая является Тьюринг-полным автоматом, а значит в ней можно имитировать любые вычисления. Хотя правила этой игры максимально просты. Дальше автор говорит о том, что умение чувствовать элегантность приходит с опытом, но существует несколько простых правил и сводит их к запахам (smells). Интересно, что есть устойчивое выражение про bad smells in code, а тут мы используем этот же подход для описания запахов хороших механик, которые отдают элегантностью:
- механика, которая взаимодействует с другими механиками (хорошо вписывается в систему и занимает свое место)
- простая механика (KISS)
- механика, которую можно использовать несколькими способами (вариативность использования)
- механика, которая не совпадает с ролью другой механики (роль - это способ использования механики) - это напоминает SRP принцип из разработки
- механики, которые используют имеющиеся архитектуру и интерфейсы, потому что они основаны на знаниях, которые уже присутствуют у игроков (консистентность)
- механика, которая работает подобно уже существующей механике (повторно использование знаний игрока)
- механика, которая используется повторно (reuse)
- механики, которые не накладывают ограничений на содержание игры
- механики, в которых доступный интерфейс используется на полную мощность

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

P.S.
В этих главах круто рассказано про элегантность системы, к которой стоит стремиться, а также про то, как эта элегантность позволяет расширить диапозон навыков игроков, которые могут с удовольствием пользоваться системой. Это крутые концепции, которые помогают что дизайнить игры, что дизайнить сложные информационные системы:)

#Design #GameDesign #SystemDesign #SystemThinking #Management #SelfDevelopment
👍5🔥43
Геймдзайн (Designing games. A guide to engineering experiences) - Part III

Этот пост продолжает обзор книги, по которой уже было два поста: 1 и 2.
И тут мы продолжим говорить про вторую часть книги "Искусство создания игры"

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

Глава 5. Решения
Здесь речь про решения, которые надо принимать игрокам в играх и как это формирует их интерактивный опыт. Например, в покере игрокам надо выбрать call, fold, raise на каждой улице торгов и из этих простых вариантов формируется вся вариативность игры. Понимание таких решений имеет ключевое значение в геймдизайне, так как они являются единственным эмоциональным триггером, который уникален для игр. Другие виды развлечений вызывают эмоции через зрелище, музыку или интересную историю и только игры могут это сделать через решение. Поэтому дизайн решения - это геймдизайн в чистом виде.

Дальше автор разбирает отдельные факторы:
- Чувствуя будущее - большинство эмоциональных триггеров описываются как результат происходящего в настоящем. А вот решения в играх напрямую не связаны с настоящим, но предполагают выбор из нескольких вариантов в будущем. То есть эмоции связаны с будущим и нам надо учитывать факторы предсказуемости, предопределенных решений
- Информационный баланс - игроку надо предоставить информацию в том объеме, которого ему будет достаточно для принятия решения, при этом ему будет все понятно, но еще не абсолютно очевидно. Тут есть две крайности: информационное голодание и избыточность информации, между которыми надо находить баланс, например, скрывая часть информации. Тут опять в примерах покер:)
- Проблематичный информационный источник - про неопределенности сюжета и то, что хорошие задания должны быть основаны на неочевидном использовании механик, которые сами по себе работают очевидным образом. Также надо учитывать метаинформацию об игре, которую игроки получают из реального мира вне игры
- Решение и поток. Состояние потока - это основа хорошего игрового опыта. А для того, чтобы оставаться в потоке решения должны быть нужного уровня, не слишком сложные и не слишком простые. Для этого используется термин объем решения - количество затраченного мыслительного процесса, необходимого для принятия решения. И объем решения напрямую зависит от навыка игрока. В итоге, геймдизайнеры стараются избежать прерывания потока, когда ум игрока ничем не занят. Зачастую этого добиваются за счет разнообразия решений.

В конце автор рассказывает про принятие решений в игре CS (Counter Strike).
Продолжение в следующем посте

#Design #GameDesign #SystemDesign #SystemThinking #Management #SelfDevelopment
6👍3🔥2
Геймдзайн (Designing games. A guide to engineering experiences) - Part IV

Этот пост продолжает обзор книги, по которой уже было два поста: 1, 2 и 3.
И тут мы продолжим говорить про вторую часть книги "Искусство создания игры"

Глава 6. Баланс
Автор начинает с определения
Баланс означает корректировку игрововй механики для изменения относительной мощности различных инструментов, боевых единиц, стратегия, команд или персонажей.

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

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

Глава 7. Многопользовательская игра
Эту главу автор начинает с рассмотрения теории игр, которой посвящены отдельные книги "Теория игр", "Теория игр в комиксах". Тут идет речь про равновесие Нэша, смешанные стратегии, yomi (чтение мыслей противника и попытка его убедить, что вы сделаете что-то одно, а вы на самом деле сделаете что-то другое).
Дальше идет речь про то, что в многопользовательских играх часто у игроков могут быть разные цели, что приводит к тому, что одни игроки нарушают опыт других игроков.

Глава 8. Мотивация и удовлетворение
Эта глава начинается к отсылке к дофаминовому удовольствию и предвкушению награды, которое работает лучше, чем собственно получение награды. Дальше автор рассказывает про режим подкрепления
Режим подкрепления - это система правил, которая определяет, когда выдается награда

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


Глава 9. Интерфейс
Автор начинает с того, что у нас 2 цели
- донести информацию о том, что проихсодит в игре - здесь мы должны разработать системы, которые структурируют и упорядочивают информацию
- обеспечить возможность управления - здесь мы должны разработать сложную комбинацию ограничений, соглашений и вспомогательных систем
Для этого часто используются метафоры, которые придают новой информации знакомые черты, чтобы ее можно было легче понять.
Больше того, игра должна задать словарь метафор, который указывает какие элменты моделируют механику, и соответствовать этому словарю.
Для того, чтобы информация воспринималась лучше используется визуальная иерархия, в которой важные элементы становятся более заметными, чем неважные.

Глава 10. Рынок
Эта глава посвящена тому, как игры чувствуют себя на рынке. Про эффект Матфея, дилемму новатора, сегментацию рынка, кривую ценности. В общем, здесь мы заходим на территорию маркетинга и планирования продаж:)

P.S.
На этом обзор это книги заканчивается, так часть книги про "Процессы" очень хорошо пересекается с обычными процессами разработки, о которых я и так часто рассказываю.

#Design #GameDesign #SystemDesign #SystemThinking #Management #SelfDevelopment
3🔥3👍2
The Making of Prince of Persia

Рабочий год закончен и можно немного отдохнуть и многие для этого используют игры. Но я не играю в игры почти 20 лет, поэтому я снял с полки книгу про создание игры "Prince of Persia". Это игра из моего детства, которую создали еще до моего рождения. Эта книга выпущена издательством Stripe Press, которое издает очень мало книг, но каждая из них сделана очень качественно и с душой:) Как-то я заказал с Amazon почти все вышедшие книги и теперь дождался каникул, чтобы их почитать:)

P.S.

На тему игр и геймдизайна у меня уже были раньше посты
- Геймдзайн (Designing games. A guide to engineering experiences)
- Minecraft: Мобиология (Minecraft: Mobestiary)
- Кровь, пот и пиксели (Blood, sweat and pixels)
- Настольная игра "Нефариус"
- Настольная игра "Корпорация Гоблинов" (Goblins Inc)
- Прогейминг, Overwatch, киберспорт (Young guns: obsession, owerwatch, and the future of gaming)
- Мастера Геймдизайна (Game Designer Confessions: Insights from Finland's Top Game Designers)
- Мальчик, сделанный из кубиков (A Boy Made of Blocks)
- Настольня игра "Бумунту"
- Документальный фильм про AlphaGo
- Настольная игра "Ужасы Аркхэма"

#GameDesign
🔥15👍7💔5😱1
The Making of Prince of Persia

Сегодня я закончил читать эту книгу за авторством Jordan Mechner, который помимо этого создал и саму классическую аркадную игру "Принц Персии":) В этой игре был плоский мир, который оживал благодаря крутой анимации, интересным механикам и элементам головоломки, которую требовалось пройти на пути к принцессе. Кроме этого в этой игрушке были файтинги на мечах с охранниками, скелетами и даже своей тенью. Интересно, что большую часть игры сделал сам Джордан, который был геймдизайнером, программистом, соавтором музыки и бог знает кем еще - все чтобы выпустить игру такого уровня, который он хотел. В этой книге представлены дневники создателя игры, которые он писал с 1985 года по 1993. В этих дневниках мы видим недавнего выпускника Yale, который уже сделал к тому моменту игру-хит "Karateka". Он уезжает от родителей для того, чтобы начать работу над игрой, которая у него заняла долгих 4 года и была выпущена только в 1989. Собственно, книга про которую я рассказываю была выпущена к 30-летию игры и содержит помимо дневников молодого Джордана еще и записи старого Джордана, которые вынесены на широкие поля книги.

Книга получилась интересной и вот моменты, что я вынес для себя
- Джордану сложно было справляться с успехом, который нашел его после того, как Karateka стала хитом, пока он был еще студентом. Справиться с успехом иногда сложнее, чем с неудачей
- Ему сложно было балансировать свою любовь к играм и написанию сценариев к фильмам - и то и другое у него получалось хорошо, но игры были его привзванием. Когда у тебя все получается, то сложно понять что именно выбрать как точку приложения своих усилий
- Игра была превосходна, получала крутые отзывы от всех журналистов, но поначалу не особо продавалась - у компании Broderbund, издателя игры, было не все ок с маркетингом. Пример того, как плохой маркетинг и продвижение может похоронить отличный продукт
- Джордан на примере Broderbund размышляет о том, как по мере роста компании, из нее вымываются энтузиасты и появляется бюрократия. Пример того, как меняется культура компании по мере роста
- Сравнение создания первой и второй версии игры, где в первой работал лидер и энтузиаст и преодолевал препятствия, то во второй все было поставлено на промышленные рельсы и ехало как по маслу. Джордан даже говорит в своих дневниках, что Broderbund - это компания, что может идеально выпускать сиквелы:)

В итоге, книга точно стоит прочтения для того, чтобы понять как раньше делались игры и как выглядели процессы разработки софта в конце восьмидесятых и начале девяностых:)

#Management #Leadership #GameDesign #Design #Software #Engineering #Processes
👍10🔥43🥰1👏1
Сид Мейер: Жизнь в мире компьютерных игр (Sid Meier's Memoir! A Life in Computer Games)

Мемуары Сида Мейера - это топчик:) Очень интересно читать историю того, кто придумал Civilization, в которую у меня так и не сложилось поиграть:)

Из книги можно узнать
- Как выглядел ранний рынок компьютерных игр
- Как менялся подход Сида к созданию игр - если ранние игры были сфокусированы вокруг новых технических возможностей, то дальше игры получали все более проработанный лор и набор сложных механик, что обеспечивал баланс в игре и интересный геймплей
- Как студия Сида стала успешной не только за счет крутых игр, но и маркетинга и продаж (за них отвечал его партнер Билл, с которым они и создали студию)
- Что на пути у Сида были не только успехи, но и провалы, а также, что в начале своей карьеры он не гнушался копировать ... но потом стал великим и дальше это престало относиться к нему или как говорил Стив Джобс про Пикассо, приписывая ему фразу
Хорошие художники копируют, великие художники крадут


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

P.S.
В посте про книгу о создании Принца Персии я упоминал кучу интересных книг про игры + в комментах мне посоветовали прочесть эти мемуары Сида, которые я уже читал, но забыл здесь про это рассказать - этот пост исправил это упущение:) Кстати, саму книгу "The Making of Prince of Persia" я уже прочитал и написал про нее чуть раньше

#GameDesign #Architecture #Software #Culture #Leadership #Management
👍185🔥2
Тренды геймификации - эфир South HUB

Меня достаточно часто зовут пообщаться и что-то пообсуждать. И я особенно люблю, когда я могу прийти не сам, а посоветовать кого-то более релевантного из моих коллег. И с этим эфиром на South Hub про геймификацию так и получилось - я порекомендовал позвать моего коллегу, Вадима Гончарова, который руководит разработкой игр и спецпроектов. Кстати, Вадим недавно на YaTalks рассказывал про то, как ребята делали игру "Ряд наград". Кстати, отдел Вадима теперь входит в управление разработки соцплатформ, про чью вакансию SRE лида я писал недавно.

В эфире будут участвовать
- Кирилл Буртный - СТО Х5 Tech, модератор дискуссии и январский соведущий канала South Hub.
- Вадим Гончаров, руководитель разработки спецпроектов и игр в Тинькофф.
- Антон Лямин, руководитель продукта опыта покупателей Авито.
- Олег Афанасьев, CPO RuStore | VK.

Обсуждать эти замечательные люди будут следующие вопросы
- Совместимы ли игры и большие корпорации?
- Что такое игровые механики, где сейчас их применяют и для чего?
- Какие выгоды они приносят при работе с клиентами и сотрудниками?
- Стоит ли вкладывать в геймификацию и к каким эффектам она приводит?
- Какое будущее у геймификации: чего хочет рынок?

#Software #GameDesign #Engineering
7👍7🔥3
Обучение детей программированию

Недавно обсуждал тему обучения детей программированию и решил вспомнить как я к этому подходил со своим старшим сыном Пашей, который так и не стал программистом, а решил пойти в геймдизайн:) Собственно, я лет 10 назад ориентировался на такие проекты как Scratch и Lego Mindstorm
Scratch - это проект MIT, который представляет собой визуальный язык программирования и web IDE для разработки. Это очень крутая история, которая позволяет малышами проявить свой креатив и буквально сразу делать интересные проекты:) Идейный вдохновитель проекта, Митчел Резник, написал отличную книгу "Спираль обучения" ("Lifelong kindergarten"), в которой он рассказывает про развитие подходов к креативности и встраивание их в цикл обучения. У меня есть краткое саммари этой книги. Мой сын пробовал собирать проекты в этом IDE, используя пару книг, что есть на Озоне, но ему это особо не заходило, поэтому он бросил (тут есть отчасти моя "заслуга", так как я с этим не сильно помогал)
Lego Mindstorm - это крутой проект от Lego, где до появления всяких "малинок" (raspberry pi и иже с ними) ребенок мог попробовать робототехнику в привычном формате с кубиками лего, центральным блоком с процессором и кучей входов для подключения датчиков, моторов и остальной машинерии. В итоге, малыш мог собрать своего робота, научить его видеть, подключив сенсор с камерой, чувствовать, подключив датчик касания, добавить ему чувство равновесия за счет датчика с гироскопом и так далее. В эту штуку мой сын играл с удовольствием, но только до момента окончания сбора робота, а вот писать софт для него и программировать в IDE аля Scratch ему не нравилось и он подключал папу.

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

P.S.
На тему игр и геймдизайна у меня уже были раньше посты
The Making of Prince of Persia
- Геймдзайн (Designing games. A guide to engineering experiences)
- Minecraft: Мобиология (Minecraft: Mobestiary)
- Кровь, пот и пиксели (Blood, sweat and pixels)
- Настольная игра "Нефариус"
- Настольная игра "Корпорация Гоблинов" (Goblins Inc)
- Прогейминг, Overwatch, киберспорт (Young guns: obsession, owerwatch, and the future of gaming)
- Мастера Геймдизайна (Game Designer Confessions: Insights from Finland's Top Game Designers)
- Мальчик, сделанный из кубиков (A Boy Made of Blocks)
- Настольня игра "Бумунту"
- Документальный фильм про AlphaGo
- Настольная игра "Ужасы Аркхэма"

P.P.S.
А кто и как сейчас обучает своих детей программированию, особенно учитывая, что Lego Mindstorm прекратили выпускать? Поделитесь своими подходами в комментариях.

#Software #Education #GameDesign #SelfDevelopment
👍107🔥2