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

Генерация подземелий — от простого к сложному

Что у нас должно получиться.

Что у нас должно получиться.

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

Несколько вечеров проверял идею генерации космических баз. Космическая база в итоге не получилась, а вот на добротное подземелье результат похож. Поскольку шёл от простого к сложному и никакой суровой магии не делал, то решил переработать код в урок по генерации подземелий на Python.

В итоге у нас получится генератор подземелий со следующими свойствами:

  • Комнаты будут соединены коридорами.
  • Топологически подземелье будет иметь форму дерева. Добавить циклы будет элементарно, но уже в качестве домашнего задания.
  • Будет настраиваться количество комнат, их размер, «уровень ветвления».
  • Подземелье будет располагаться на клеточной сетке (состоять из квадратных клеток).

Весь код можно найти на github.

Кода в посте не будет — все используемые подходы легко описываются словами.

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

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

Далее

Жизнь и работа с ошибками

Том не следил за накоплением ошибки и оказался в космосе.

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

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

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

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

Большинство же как будто живёт в параллельной вселенной с другими вероятностными законами.

Ладно бы всё ограничивалось элементарными ошибками в планировании, вроде: «потратили 100600 денег вместо 100500 или даже вместо 10500».

К сожалению, игнорирование природы ошибок приводит к более существенным и, одновременно, менее заметным проблемам. Целые коллективы «внезапно» перестают производить сколь-нибудь полезную работу и оказываются в состоянии систематического повторения ситуации «хотели как лучше, получилось как всегда».

В то же время, понимание природы ошибок даёт весомые бонусы. От очевидной способности меньше косячить, до устойчивости к форс-мажорам и возможности делать определённую предсказательную магию.

О природе ошибок и следствиях из неё я и хочу поговорить.

Статья получилась большая.

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

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

Далее

Травмирование формализмом

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

Вы встречали людей, которые, явно сжульничав и сделав гадость, искренне не понимают в чём проблема, повторяя «я всё сделал по правилам» или «правилами это не запрещено»?

Людей, которые любую работу делают максимально формально, не вникая ни в какие нюансы?

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

Так вот, всему этому я придумал диагноз: «травмирование формализмом».

Суть вот в чём…

Далее

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

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

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

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

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

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

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

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

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

Далее

Интеллект, компетентность и принятие решений

Часто, когда я встреваю в «политические» «дискуссии», мне начинают вменять примерно такое мнение: «людей низводим до уровня идиотов». Формулируется оно разными словами, но суть цитата передаёт ярко.

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

Давайте разберёмся в чём отличие, к чему оно приводит и посмотрим с через эту призму на IT-кредиты.

Далее