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

Автоматический генератор квестов

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

Несмотря на то, что вопрос автоматической генерации заданий в RPG достаточно древний, общедоступных работающих версий таких генераторов почти нет (скорее совсем нет), если не считать совсем примитивных вариантов. Работ по этой теме тоже не много, хотя, если активно гуглить, кое-что можно откопать. Поэтому надеюсь, что этот текст (и сам генератор, ссылка на репозиторий есть в конце статьи) будет полезен.

Для торопливых: визуализация одного из полученных заданий.

Далее

ИИ нас всех не(?) заменит

Автопилот [Ийона Тихого](https://ru.wikipedia.org/wiki/%D0%98%D0%B9%D0%BE%D0%BD_%D0%A2%D0%B8%D1%85%D0%B8%D0%B9) готовится делать человеческую работу в 3 лица.
(с) сериал [Ijon Tichy: Space Pilot](https://en.wikipedia.org/wiki/Ijon_Tichy:_Space_Pilot)

Автопилот Ийона Тихого готовится делать человеческую работу в 3 лица.
(с) сериал Ijon Tichy: Space Pilot

GitHub в прошлом месяце выпустил ИИ напарника для программистов, который умеет дописывать код. В догонку OpenAI опубликовали видео с возможностями технологии. Например, демонстрацию разработки игры на JavaScript.

Справедливости ради отмечу, что «игра» откровенно убогая. Но процесс создания впечатляет всё равно.

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

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

Для краткости, вместо машинного обучения, нейронных сетей, feature programming и аналогичных вещей далее буду использовать аббревиатуру ИИ — Искусственный Интеллект. Кто знает на какой конкретно технологии всё остановится, но для её пиара гарантировано будут использовать затычку из двух «И».

Эссе включает:

  1. Оценку возможности прогнозирования.
  2. Описание факторов, которые влияют на развитие и внедрение ИИ.
  3. Три классических прогноза: пессимистичный, реалистичный и оптимистичный.

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

Далее

Об ИТ, прогрессе и нехватке спецов

Изображение найдено где-то в интернете, если знаете автора — напишите мне.

Изображение найдено где-то в интернете, если знаете автора — напишите мне.

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

Из-за ммм… «мощи» ИТ решений и их взрывного роста, любого человека, который к ИТ прикасается, моментально втягивает в эту область и обволакивает ей.

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

Далее

Feature Programming

Эссе по итогам нырка в Deep Learning, но не о DL и даже не совсем о Machine Learning, а о новой парадигме программирования, которая рождается из него.

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

В следствие выбранной темы, эссе получилось футурологическим и абстрактным. Например, я не буду перечислять области применения DL и достигнутые в них результаты — этим итак всё инфопространство забито.

Оговорка раз: я определённо не эксперт в машинном обучении. Эссе в большей степени отражает мой опыт и картину мира, нежели знания и понимание ML и DL.

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

Далее

Бесконечность схем данных

Программист думает о путях, которыми ходят байты. [Демон сидящий](https://ru.wikipedia.org/wiki/Демон_сидящий) (с) [Врубель](https://ru.wikipedia.org/wiki/Врубель,_Михаил_Александрович)

Программист думает о путях, которыми ходят байты. Демон сидящий (с) Врубель

Расскажу об одной боли при разработке и проектировании ПО — преобразованиях данных между их схемами. Буду говорить о серверах, как наиболее наглядном и знакомом мне примере, но соображения можно распространить на весь софт.

Для демонстрационных целей местами может случиться некоторое преувеличение.

Рассмотрим простейший проект, этакий минимальный набор:

  • один тип клиентов;
  • один сервис;
  • одно хранилище.

Данные, соответственно, ходят в обе стороны:

  • между клиентом и сервисом;
  • между сервисом и хранилищем.

Сколько схем данных вы тут видите?

Далее