Эссе о разработке игр, мышлении и книгах

О книге «Искусство Войны»

Обложка книги «Искусство войны»

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

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

Перескажу суть ещё короче, чем в книге:

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

Центральная мысль: успешными людьми слывут те, кто тратит ресурсы только на мероприятия с гарантированным профитом и не тратит в любом другому случае.

О книге «Геймдизайн»

обложка книги «Геймдизайн» Джесси Шелла

«Если вы хотите сделать игру, которая завоюет сердца миллионов и принесёт вам доход, эта книга для вас» — надпись на обложке. Нет. Всё-таки нет. Если вы хотите вот всё это и вообще не понимаете что вокруг происходит, то начать с этой книги будет хорошей идеей, но никаких прорывных идей вы в ней не найдёте.

Джесси Шелл проделал хорошую работу по сбору и переработке информации из множества источников, собрав хорошее «введение в профессию геймдизайнера» и, одновременно, справочник по этой профессии.

Для новичков книга полезна освещением геймдизайна с разных сторон. Но далеко не со всех, например, практике расчёта баланса она не учит.

Для профессионалов — это отличный справочник по узкоспециализированной литературе. Каждая глава заканчивается небольшим списком источников, которые позволят глубже проникнуть в тему. В списке бывают как книги, так и статьи. Если судить по названиям, то многие тексты выглядят стоящими.

Далее

О книге «Гарри Поттер и методы рационального мышления»

обложка книги «Гарри Поттер и методы рационального мышления»

Я предполагал, что ГПиМРМ будет научпопом с примесью Гарри Поттера, оказалось что это Гарри Поттер с примесью научпопа. Хуже от этого не стало, просто имейте в виду.

По сути, это «юмористичный» фанфик, базирующийся на предположении, что Гарри вырос не в семье идиотов, а в здоровой семье оксфордского профессора. Дадим мальчику гениальный мозг (не знаю как в оригинале), повернём его на научной фантастике и науке. Добавим немного фансервиса и получим интересный фанфик с юмористичным первым томом. Назвать юмористичными второй и третий тома у меня язык не повернётся. Именно поэтому «юмористичный» взят в кавычки.

Предположу, что оригинальную задумку Элиезера Юдковского  можно наблюдать именно в первом томе (и начале второго). Именно там раскрывается характер Гарри, его отношение к науке и подход к жизни. Очутившись в Хогвартсе мальчик офигевает от повсеместного бардака и иррациональности. Вооружившись научным методом и знаниями маглов, пацан начинает успешно и с душой шатать вековые устои. Способы шатания доставляют, по крайней мере меня они несколько раз успешно довели до смеха, что случается редко.

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

Ближе к концу Юдковский начинает тяготеть к описанию диких многоуровневых интриг, которые добавляют немного атмосферности и, видимо, нужны для сюжета, но уж совсем отличаются от того, что можно видеть в первом томе.

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

Далее

Уникальные идентификаторы для связи исходников. Как?

Хочу странного, может подскажете способ сделать.

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

Фичей не в смысле больших user-story, а в смысле конкретных пунктов, реализацию которых надо контролировать. Например «имя гильдии должно быть уникально», «Это поле должно отображаться только залогиненому пользователю».

Фактически я уже так работаю, записывая каждую мелкую фичу в туду-листе и удаляя их по факту реализации. Не хочется, чтобы знания терялись. Логичный следующий шаг — хранить историю фичей и их реализации.

Вопрос вот в чём: как делать идентификаторы, которые будут связывать фичи с кодом?

Варианты, которые вижу:

  1. Писать руками. Проблемы: геморрой и простор для ошибок/опечаток.
  2. Плагин для emacs (любого другого редактора), который в файле с фичами генерирует уникальные идентификаторы, после чего копировать их куда надо. Проблемы: его надо сделать, нужно поддерживать уникальность между файлами, хочу фичи не только в отдельном файле, но и в коде, если это будет удобно.
  3. Литературное программирование: писать фичу сразу там, где реализуется. Проблемы: фича реализуется в нескольких местах (код, тесты, вёрстка, документация), поэтому идентификаторы всё равно нужны.
  4. Идентификатором делать сам текст фичи. Проблемы: занимает много места, текст может меняться и будет геморойно менять его везде.

Полезные gamedev ресурсы

На тостере спросили про интересные gamedev сайты.

По этому поводу я выгрузил список из 70 сайтов о разработке игр, на RSS которых я подписан.

Рассылки в формате OPML

Список ссылками под катом.

Далее