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

Учитесь правильно

Учитель ~~форматирует~~ стандартизирует мозги детей.  Автора изображения не знаю. Если знаете, напишите, пожалуйста.

Учитель форматирует стандартизирует мозги детей.
Автора изображения не знаю. Если знаете, напишите, пожалуйста.

Расскажу об одном заблуждении, которое знатно притормозило меня в детстве-юношестве, и о том, что с ним делать. Не буду утверждать, что оно свойственно всем людям, но точно большинству. Многие с ним до смерти живут.

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

А вот некоторым моим товарищам по олимпиадам и университету, судя по их поведению и жизненному пути, кто-то мозги вправил раньше, а может они сами.

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

Далее

Ресурсная модель игры: ресурсы

заг-заг (c) ~~World of~~ Warcraft.

заг-заг (c) World of Warcraft.

Постепенно буду развить идею представления игры как машины преобразования ресурсов.

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

Теперь пора потихоньку вдаваться в детали. Начну, как видно из названия, с самих ресурсов.

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

Воспринимайте этот текст как интересное интеллектуальное упражнение. Агитировать за использование ресурсной модели в реальных проектах я пока не готов.

Далее

Гены, мемы и мемплексы

Иллюстрация засилья мемов в голове

Расскажу как правильно смотреть я смотрю на культурные явления и взаимодействие с ними. В явления запишем всё: обычаи, законы, песни, холивары, языки программирования, методологии разработки — любой информационный артефакт нашей цивилизации. Но примеры в основном будут из IT.

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

Мемплекс это и есть сложносоставное культурное явление. Это слово буду использовать и дальше, так как оно красивое и короткое.

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

Далее

Модная типизация в Python

Разработчики пришивают типы к Python.

Разработчики пришивают типы к Python.

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

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

В этот раз я:

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

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

Большая часть поста не про mypy, а про философию проверки типов и будущее Python. Поэтому должно быть интересно, даже если сам mypy вас не интересует.

Далее

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Далее