ReNode - это редактор визуального программирования, который позволяет создавать режимы, роли и прочую игровую логику без написания кода. Данный редактор был специально разработан для быстрого прототипирования и простого создания функционала, который по скорости выполнения практически не имеет накладных расходов как если бы Вы писали код вручную. Дизайн, интерфейс и принципы работы в большей степени вдохновлены редактором визуального скриптинга Blueprint Editor игрового движка Unreal Engine. Если вы ранее работали с ним или аналогичными редакторами графов, для вас не составит труда разобраться в ReNode!
Редактора ReNode был разработан специально для упрощения и ускорения разработки без особых знаний в программировании. Он прост в освоении и при ознакомлении с серией небольших руководств вы сможете быстро начать создавать логику.
- ОС - Windows 10, 11 (запуск на Windows 7 возможен, но стабильная работа не гарантируется)
- ОЗУ - 150 мб (может быть больше от большого количества открытых файлов графов)
- Место на жестком диске - ~40 мб (без учета пользовательских графов)
- Узел - Именованный визуальный блок, содержащий порты подключения и различные опции. Иногда ещё называется Нодой (Node).
- Порт - Точка подключения, расположенная на узле и реализующая связи между узлами. Порты бывают входные (расположены в левой части узла) и выходные (расположены в правой части узла). Каждый порт имеет свой тип, отражаемый через его цвет и стиль.
- Связь - линия (нить), имеющая начало и конец в портах и соединяющая узлы, предназначенная для определения связей. Цвет нити эквивалентен цвету портов, в которые она подключена.
- Импульс выполнения - переход выполнения инструкций к следующему узлу, идущего от источника импульса.
- Граф - Визуальное представление
класса
с игровой логикой в виде узлов и связей между ними, а так же различными свойствами. - Файл графа - сохранённое текстовое представление графа в виде .json-данных. В ReNode файлы графов имеют расширения
.graph
- Класс - модель для создания
объектов
определённого типа, описывающая их структуру (набор полей-переменных и их начальное состояние) и определяющая алгоритмы (функции или методы) для работы с этими объектами. Все создаваемые графы в ReNode фактически являются классами. - Объект - созданный экземпляр класса. Объекты могут быть представлены как в виде игровых объектов, так и в виде абстрактных сущностей логики, например - режимов или ролей.
- Поле - переменная, определяемая в классе и доступная для его объектов. Например у каждого игрового объекта есть название или вес - они являются полями.
- Метод - функция, определяемая в классе, реализующая его логику и доступная для выполнения из объектов. Например, у лампочки есть метод
Включить свет
, которая активирует её освещение. - Событие - различные ключевые моменты выполнения программы. Например, есть событие
При старте раунда
, которое выполняется когда раунд запускается. Другим примером может быть событиеПри ЛКМ по предмету
, которое выполняется в игровом объекте, когда игрок нажал ЛКМ по этому объекту. - Точка входа - событие или функция класса (метод), с которого начинается выполнение цепочки связей узлов. Выполнение происходит слева направо (от точки входа до крайних правых узлов, не имеющих выходных портов).
- Компиляция графа - преобразование связей узлов и свойств графа в исполняемый код. Скомпилированный граф представлен в виде автоматически сгенерированного класса, который сохраняется в файле с расширением
.sqf
, лежащей в специальной директории
- Начало работы - первый запуск редактора, описание его визуальных элементов, основые функции и управление.
- Типы данных и объекты - описание и особенности основных типов данных и тонкости работы с объектами.
- Узлы - информация об узлах и их особенностях.
- Пользовательские свойства - описание и различия пользовательских свойств.
- Графы - информация по различным типам графов и описанию их работы.
- Задачи - руководство по созданию и настройке задач для персонажей.
- Лучшие практики - оптимизация и производительность.
- Технические детали - отдельные детали реализации и работы различных частей редактора и производимого им контента.