Cave Engine 1.6.0 - Заметки о выпуске
Добро пожаловать в Cave 1.6, где мы с гордостью представляем Logic Bricks, новую систему Визуального скриптинга в Cave Engine, над которой работали 5 лет.
Что такое Cave Engine?
Cave Engine — это легковесный 3D-игровой движок, созданный для инди-разработчиков, художников и небольших команд (5–15 человек), которые хотят создавать игры быстрее, с меньшей сложностью и без длительного ожидания. Он создан разработчиками для разработчиков. Написан на C++, поддерживает скрипты на Python и ориентирован на быструю итерацию, простые рабочие процессы и разработку 3D-игр для настольных ПК. Cave предназначен для создателей, которые хотят создавать настоящие игры без борьбы с громоздкими конвейерами движка, долгой компиляцией и избыточной сложностью.
И теперь всё стало гораздо лучше, потому что впервые вы можете создавать полноценные 3D-игры для настольных ПК, не написав ни строчки кода, если не хотите. Всё это благодаря новой системе Визуального скриптинга, представленной в Cave 1.6. Давайте познакомимся с ней поближе.
Logic Bricks — это здесь!
Это, вероятно, одна из крупнейших функций, когда-либо добавленных в Cave, которая полностью меняет способ создания игр в движке. Если вы любите делать игры, но ненавидите бороться с кодом, временем компиляции, сложностью движка или нескончаемой настройкой, Logic Bricks создан именно для вас.

Эта система позволяет создавать настоящий геймплей визуально, соединяя узлы и потоки исполнения так, что она кажется знакомой тем, кто знаком с Unreal Engine Blueprints, но с более простым, чистым и быстрым рабочим процессом Cave.
Создавайте быстрее, ждите меньше
С Logic Bricks:
- Нет компиляции кода
- Нет ожидания
- Нет прерываний
- Мгновенное тестирование и итерация
Вы создаёте, соединяете, запускаете игру и тут же тестируете.
Logic Bricks поддерживает основной геймплейный поток, который вы ожидаете от Cave:
- События Start, Update, Late Update, Paused Update и другие.
- Пользовательские события: позволяют организовать код и вызывать события в любом месте, включая другие Bricks или через Python.
- Переменные, условия, циклы, ветвления, функции
- Комментарии и организация графов
- Повторно используемые графы логики
- Полная интеграция с системами геймплея Cave

Полная мощь движка — визуально
Logic Bricks не является ограниченным инструментом для новичков: она обладает полнейшим соответствием API Python Cave, то есть каждая функция, метод и система, доступные в Python, также доступны и визуально.
Это значит, что вы можете создавать полноценные игры с помощью Logic Bricks — от быстрых прототипов до коммерческих проектов — без необходимости переходить на код.
А когда код действительно нужен, оба подхода работают вместе:
- Вызывайте Logic Bricks из Python или...
- Вызывайте Python из Logic Bricks
- Смешивайте визуальное скриптование и код в одном проекте!
Реализация на C++ для производительности
Под капотом Logic Bricks полностью реализованы на C++ и не работают через Python бекенд. Это означает, что выполнение графа происходит нативно в Cave, спроектировано для максимально быстрой работы. Также движок включает инструменты отладки, обработки ошибок и профилирования, которые помогут вам понять, как выполняется логика, находить ошибки и оптимизировать процесс разработки.
Почему это важно?
Logic Bricks создана для инди-разработчиков, художников, дизайнеров и увлечённых создателей, которые хотят превратить идеи в выпущенные игры без борьбы с движком.

Короче говоря: создавайте игры в стиле Blueprints, но легче, проще и быстрее. Дружелюбно к новичкам и предназначено для настоящих игр.
Но это ещё не всё в версии 1.6!
Здорово, правда? Но это ещё не всё!
Logic Bricks — главный акцент Cave 1.6, но в этом обновлении также представлены улучшения в скриптинге, удобстве редактора, импорте ассетов, физике, UI, рендеринге и стабильности. Давайте разберём остальные новинки.
Встроенный Python-редактор стал лучше!
Скрипты на Python тоже получили много улучшений в Cave 1.6. Создавать новые скрипты стало удобнее, подсветка синтаксиса стала более надёжной, а известная проблема смещения курсора теперь исправлена.

Самое главное, теперь в Cave есть первая версия документации по API Cave и автодополнения прямо в редакторе. Она пока находится в разработке и не так полна, как внешние инструменты вроде VS Code, но уже значительно упрощает написание локального Python-кода внутри редактора, без необходимости покидать Cave.
Изменения:
- Система автодополнения API Cave
- Интеграция документации по API Cave при наведении на функции
- Исправлена подсветка синтаксиса комментариев
- Исправлена ошибка смещения курсора
Инструмент "Гистограмма вьюпорта"
Когда вы создаёте игру, вы не создаёте её только для своего монитора. Игроки будут запускать ваш проект на разных экранах, с разной яркостью, контрастом и профилями цвета, поэтому визуальная консистентность трудно оценивается только по глазам. Вот почему в Cave 1.6 появился инструмент гистограммы вьюпорта.

Этот инструмент показывает в реальном времени цветовую гистограмму того, что отображается в вьюпорте, помогая принимать более точные решения по яркости, контрасту и цвету. Вместо того, чтобы полагаться только на то, как игра выглядит на вашем экране, теперь можно увидеть точные визуальные данные из кадра.
Это простая, но полезная функция для полировки графики и оценки изображения на разных мониторах. Чтобы найти её, перейдите в Viewport Settings > Rendering Debug... Show Histogram.
Улучшение пользовательского опыта редактора (UX)
Cave 1.6 также улучшил несколько небольших, но важных аспектов работы с редактором. Это изменения, которые делают движок плавнее, понятнее и удобнее в ежедневном использовании.
Для этого мы проанализировали, в том числе по видео (с согласия пользователей), десятки новых людей, впервые открывающих Cave, чтобы понять, где им было сложнее всего ориентироваться. Затем мы исправили всё, добавили документацию и сделали каждый путь понятнее. Это улучшает входную точку для новых пользователей и облегчает повседневную работу с Cave для тех, кто уже пользуется им.
Изменения:
- Больше встроенной помощи и документации
- Улучшение слайдеров свойств и всплывающих подсказок
- Подсказки теперь объясняют, что можно использовать Ctrl + Click для прямого редактирования значений
- Улучшена информация о камере в вьюпорте
- Новый шорткат: нажмите Ctrl + T для быстрого преобразования выбранной Entity в Template
- И многое другое!
Улучшенный конвейер импорта ассетов
Импорт таких ассетов, как FBX и других поддерживаемых форматов, теперь стал более точным и надёжным. Были внесены внутренние исправления в конвейер импорта, а также добавлена опция Import Scale, которая позволяет предварительно масштабировать импортируемые сущности.
Улучшения физики
Физическая система также получила важные улучшения в API и рабочем процессе.

Изменения:
- Переменные
PhysicsConstraintComponentтеперь доступны в API - Добавлено создание rigid body из Mesh Components
- Исправлена ошибка "Сброс трансформации" в физике автомобиля
UI и игровые системы
Cave 1.6 улучшил игровые системы, особенно взаимодействие с UI, поведение Python и обработку ввода.
Изменения:
UIElementComponentтеперь предоставляет методы для проверки, был ли элемент только что нажат, наведён или отпущен- Создание нового Python Script теперь открывает сам ассет, а не только текстовую вкладку
- Улучшена обработка постоянных переменных Python
- Исправлена проблема с DPI в Mouselook, когда Cave некорректно регистрировал перемещение мыши, особенно на мышах с высокой частотой опроса
- Создано больше стандартных классов для UI Toolkit
Рендеринг и стабильность
Это обновление также вносит множество внутренних исправлений рендеринга, OpenGL, вьюпорта, UI и стабильности, чтобы сделать Cave более надёжным на разных проектах и аппаратном обеспечении.
Изменения:
- Множество исправлений и улучшений UI, OpenGL, вьюпорта и рендеринга
- Исправлена проблема с тестированием глубины на некоторых видеокартах AMD (известно для: RX 7800 XT, RX 6800 и RX 5700 XT)
- Исправлена ошибка аварийного завершения при повреждении файла
Editor Settings.json - Исправлен сбой Crash Reporter
- Улучшена внутренняя отладка и диагностика для возможности дальнейших исправлений!