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

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

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

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

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

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

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

Далее

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

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

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

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

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

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

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

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

Далее

О книге «Изобретение науки»

Обожка книги «Изобретение науки — новая история научной революции»

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

Направлена книга на две группы людей: обычных любопытствующих и историков науки. Каким образом у автора (Дэвид Вуттон) получилось соединить несоединимое до конца не понятно, но в целом получилось.

Из-за направленности на историков периодически встречаются вставки с критикой, которую сложно воспринимать без знаний контекста. Также книга изобилует отсылками на содержание книг, которые явно должен был читать историк, но также очевидно никогда не читал обычный смертный. В частности, упоминается много рукописей видных и не очень исторических деятелей вроде Галилея.

При этом и критика и отсылки органично вплетены в логику повествования и не мешают воспринимать материал неспециалисту. Атмосферу разряжает большое число исторических баек и просто хорошее описание реалий того времени.

Обзор книги будет в нескольких частях:

  • О методе и позиции автора
  • Состояние мира до научной революции
  • Предпосылки научной революции
  • Ход научной революции
  • Итоги

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

Далее

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

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

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

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

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

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

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

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

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

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

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

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

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

Далее