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

Предпочтения игроков в стратегии

Смотрим на данные опроса и пытаемся найти что-нибудь полезное.

Смотрим на данные опроса и пытаемся найти что-нибудь полезное.

Недавно я делал опрос о предпочтениях игроков в стратегии.

В предыдущем посте мы очищали данные, в этом попробуем чего-нибудь в них найти.

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

Но будьте аккуратны с выводами. Данных мало, а в некоторых случаях совсем мало. Например, разница между размерами выборок мужчин и женщин примерно десятикратная => интерпретировать отличия между ними следует очень осторожно.

В целом, не воспринимайте этот пост как полноценное исследование. Уверен, многие аналитики мне бы руки за такое оторвали. Пришили и снова оторвали. Пользуйтесь постом как интерфейсом к данным, а выводы делайте свои.

Далее

Игровое сообщество с точки зрения независимого разработчика игр

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

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

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

Далее

Монополизация машинного обучения

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

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

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

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

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

Machine Learning, в его текущем виде, меняет расклад.

Далее

Что будет, если открыть код игры

Почти 6 лет как я открыл исходный код Сказки под BSD-3 лицензией. Давно пора рассказать как это отразилось на игре и её разработке.

Далее

Типы в Python не радуют

Сделал ещё один заход на контроль типов в Python. На этот раз со стороны собственной библиотеки для контроля изменений типов переменных в runtime.

Общие выводы ясны из названия поста, хотя полученная библиотека более-менее работает и я попытаюсь её со временем довести до ума. Если разработчики Python наведут порядок у себя в проекте.

Задумка

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

Краткое обоснование:

  1. Важная часть семантики программы на динамическом языке программирования конструируется во время выполнения программы.
  2. Поэтому закодировать её статически не получится — сложно и дорого.
  3. Поэтому статический анализ типов для динамических языков не пригоден — он игнорирует критические части логики и провоцирует разработчиков на создание костылей для обхода этого игнорирования.
  4. Поэтому анализировать типы имеет смысл только время выполнения программы.

Из библиотек для контроля типов Python во время выполнения можно выделить только typeguard, которая позволяет контролировать входные и выходные параметры функций и методов. Это уже хорошо и удобно, но хочется большего.

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

Библиотеку для такой функциональности я и попытался реализовать, но столкнулся с суровой реальностью.

Далее