Архив рубрики: Блог

Процедурная генерация и прочая математика

Открыл для себя доклады, которые Squirrel Eiserloh делал для математической секции GDC. Очень наглядно и доступно рассказывает о процедурной генерации, случайности и прочей математике.

Доклады:

Доклады о процедурной генерации особенно интересны.

Следующий фронтир геймдизайна

Геймдизайнеры в поисках новых механик. Изображение с конкурса Каменный пояс, проекта СССР 2061.
Геймдизайнеры в поисках новых механик. Изображение с конкурса Каменный пояс, проекта СССР 2061.

Каждый разработчик игр, особенно ММО, со временем начинает рефлексировать и задумываться о таких вещах как «честная игра», «справедливое вознаграждение», «серые и чёрные активности» игроков. 

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

Ладно, по первому пункту далеко не все переживают.

Я такой рефлексией тоже занимаюсь довольно давно и наконец смог свести вместе накопившиеся мысли. Причём они на удивление хорошо состыковались друг с другом. Спасибо обсуждению на ММОзговед, в результате которого я перешёл там в read-only режим :-D

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

Читать далее

Софт для «поддержки принятия решений»

В марте я писал в фейсбуке про софт для «поддержки принятия решений». О том, что не могу найти ничего подходящего.

В итоге я решил, что если гора не идёт к Магомету, то Магомет пишет необходимый софт сам.

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

Софт может пригодиться, если вам необходимо найти решение / выбрать архитектуру / определить лучшее сочетание параметров в сложной и / или слабо формализированной области.Например, вы знаете, что решение может обладать свойствами A, B, C, D, … Z, но не знаете какое сочетание свойств будет оптимальным. При том, что A и D несовместимы, а сочетание свойств B+X+Y выглядит лучше, чем P+Q.

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

По сути, софт помогает делать полный перебор всех вариантов решений с ограничениями.

На странице софта есть более подробноее описание и инструкция.

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

Прототип:: https://tiendil.github.io/morphologic/

Мои (хаотичные) заметки: https://bit.ly/2VZZyVI

Группа в телеграм для обсуждения: https://t.me/morphologic_soft

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее