Судьба Редактора Графов

Общая информация

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

Пример того как может выглядеть граф.

Здесь три узла: данные, настройки и матрица передаются в узел Render, который на основе полученных данных сформирует (просчитает) итоговую картинку и передаст её в Preview, чья задача - отобразить результат в специальном окне, а так же в узел Save, который сохранит картину в файл.

Бывают разные системы графов, созданные для решения конкретных задач - будь то Render и настройки материала (шейдера) в 3D, или написания логики текстовой игры, как например моя реализация в игре Дверь.

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

Предыстория

Идею по написанию этой системы я вынашивал достаточно давно, но только недавно принялся воплощать её. Начиналось все с конкурса интерактивных текстовых игр "Зимняя Олимпиада Квестов 2021", когда для написания игры на конкурс, я решил попробовать это сделать в редакторе графов, который впрочем нужно было еще и разработать.

Всего было разработано две версии - первая делалась в течении недели (быстрый прототип), вторая - до конца конкурса. И именно во второй версии была написана игра. Хотите увидеть как она выглядит?


Вся текстовая логика игры в графах.

В итоге был получен опыт и понимание того в какую сторону нужно развивать этот инструмент. Ранее у меня спрашивали насчет вида проекта, а конкретно - будет ли это Open Source. Я ответил что нет, но если получится нечто стоящее, то я поделюсь с сообществом.

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

Планы на будущее

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

Основные идеи которые закладываются в эту систему:
  1. Визуальная наглядность логики.
  2. Сокращение количества связей между узлами.
  3. Функциональность каждого узла.
  4. Продвинутый но в тоже время простой интерфейс редактора.
  5. Поддержка как CYOA так и гипертекстовых игр.
  6. Может быть поддержка парсеров (вид текстовых игр).
  7. Экспорт в html+js.
  8. Возможность адаптации редактора для иных задач.
Так же я разработал модель проектов в контексте "книги", конечно это лишь абстракция но максимально приближенная к жанру и предкам всех компьютерных произведений данного вида.


Модель проекта.

P. S.

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

Пока что это все. Желаю удачи, и до скорых встреч!

Комментарии

Популярные сообщения из этого блога

Игра "Дверь" (The Door)

Охота на крабов после апокалипсиса