TGViewer
Phase Of Horizon | HollowEngine Phase Of Horizon | HollowEngine @hollowengine · 373 subscribers
Post #212 355
📓 Еженедельный девлог №1 | Исправления и доработки блоков кода

📊 Статистика: 40 коммитов, 12 557 добавлений и 4 488 удалений.

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

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

Теперь система работает иначе.

⚙️ Каждый файл может быть активен или не активен, это влияет на то, будут ли в нём срабатывать триггеры.

Каждый триггер теперь запускает новую ветку (последовательность блоков кода) и эта ветка напрямую связана с вызвавшим триггер.
Например:
⁃ в случае события чата - это игрок
⁃ в случае запуска игры - это сервер

При необходимости можно настроить, что делать если у вызвавшего триггер ещё не завершилась прошлая ветка:
⁃ отменить старую и начать новую ветку
⁃ отменить новую и продолжить старую ветку
⁃ добавить новую ветку **в очередь**, сразу после старой

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

🧩 Появилась система output'ов.
Если раньше данные можно было только передать в блок, то теперь можно и наоборот - записать данные из блока в переменные.

Например, при выводе в чат можно сразу записать:
⁃ сущность игрока
⁃ его сообщение
⁃ имя


Это позволяет писать свои собственные фильтры и механики, а не только делать набор стандартных фраз, как в Legacy.

В целом, это все глобальные изменения в рамках блоков кода, остальное уже менее значимо:
• Все имена блоков кода вынесены в файлы перевода - теперь они на 700+ строк
• Реализован поиск блоков на их панели
• Улучшено отображение блоков в свёрнутом виде
• Доработана обработка ошибок - при удалении блоков или повреждении их структуры в одном из обновлений поломается лишь один блок, а не весь файл


🛠 Новые инструменты

Я немного поработал над динамическим добавлением предметов.

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

Но пока что эта система сильно упрощена в сравнении с тем, какой она должна быть:
• нет динамического удаления таких предметов из всех инвентарей
• нет нормальной синхронизации с клиентом
• нет динамического добавления моделей без полной перезагрузки ресурсов
• нет возможности добавить явный функционал вроде Меча/Кирки

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

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

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

🧱 После этого была обновлена следующая крупная задача - система компонентов и префабов.

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

Сохранение компонентов стало централизованным:
сущности и компоненты теперь могут универсально сохраняться в
• NBT - для сохранения в сущности
• YML - для сохранения префабов
• JSON - для метаданных в редакторе префабов

Также появилась возможность скрывать компоненты из редактора, чтобы Вам не показывался мой мусор, на который вам смотреть нельзя 🙂
  • 👍 1
More from @hollowengine
  1. Sep 24, 2026Новый интерфейс движка 🛞 | День 10 Да, я опять его переделал, и что вы мне сделаете? В пе…
  2. Sep 23, 2026Эмиттеры партиклов 🎮 | День 9 В общем, сегодня доработал ядро системы эффектов до уровня…
  3. Sep 22, 2026Ну вот, и даже ничего не сгорело, не зря год назад запарился и написал систему инстансинга…
  4. Sep 22, 2026Зря вы мне доверили систему эффектов и партиклов 😱 (День 8)
  5. Sep 21, 2026Ещё больше визуальных доработок ✨ (День 7) Продолжаю вчерашние доработки и исправления, на…
  6. Sep 20, 2026Доработка панелей мода 🛞 Сегодня я существенно доработал панели и окна движка, если корот…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →