Обнаружил крупную проблему связанную с менеджментом ресурсов. Пытаюсь исправить. Проблема носит очень глобальный характер.
👍5
🚨 Важное обновление: исправлена критическая проблема с импортом ресурсов!
Пару дней назад я обнаружил серьезную багу в системе получения референсных ссылок для только что импортированных ресурсов. Это вызывало очень странные артефакты при работе со сложными ресурсами.
Напомню: сложные ресурсы — это те, которые содержат несколько саб-ресурсов внутри. Например:
• FBX-файлы — конвертируются в префаб (сцена) + меши + анимации (+ материалы в будущем)
• Другие составные форматы
В чем была проблема:
Новые ресурсы получали некорректные референсные ссылки, что приводило к:
⚠️ Неполной загрузке сцен
⚠️ Ошибкам связей между ресурсами
Что сделано:
✅ Обновлен механизм генерации ресурса для всех конвертеров
✅ Немного переработан механизм сохранения саб ресурсов и их регистрация в движке
Теперь импорт сложных ресурсов работает стабильно! 🎉
P.S. Если у вас были проблемы с импортом — попробуйте обновить движок и переимпортировать ресурсы. Баг должен исчезнуть!
#ThunderEngine #GameDev #Разработка #Баги #Импорт
Пару дней назад я обнаружил серьезную багу в системе получения референсных ссылок для только что импортированных ресурсов. Это вызывало очень странные артефакты при работе со сложными ресурсами.
Напомню: сложные ресурсы — это те, которые содержат несколько саб-ресурсов внутри. Например:
• FBX-файлы — конвертируются в префаб (сцена) + меши + анимации (+ материалы в будущем)
• Другие составные форматы
В чем была проблема:
Новые ресурсы получали некорректные референсные ссылки, что приводило к:
⚠️ Неполной загрузке сцен
⚠️ Ошибкам связей между ресурсами
Что сделано:
✅ Обновлен механизм генерации ресурса для всех конвертеров
✅ Немного переработан механизм сохранения саб ресурсов и их регистрация в движке
Теперь импорт сложных ресурсов работает стабильно! 🎉
P.S. Если у вас были проблемы с импортом — попробуйте обновить движок и переимпортировать ресурсы. Баг должен исчезнуть!
#ThunderEngine #GameDev #Разработка #Баги #Импорт
🔥5
🛠 Исправлен критический баг с импортом FBX-префабов!
Обнаружил и устранил важную проблему, которая приводила к неправильному построению иерархии объектов в импортированных префабах. Рассказываю подробнее:
В чём была проблема:
Для сохранения правильных связей между объектами при повторном импорте используется система хэширования на основе уникальных ID. Однако если разные файлы содержали объекты с одинаковыми путями, возникали коллизии — в префаб случайно добавлялись «чужие» объекты, что ломало иерархию и приводило к ошибкам.
Как исправил:
✅ Улучшил алгоритм хэширования — теперь он учитывает больше уникальных данных (включая метаданные файла и контекст импорта).
✅ Генерируемые ID стали значительно надежнее и исключают коллизии.
Итог:
Теперь импорт сложных FBX-префабов работает стабильно, а связи между объектами остаются целыми даже после повторных обновлений ресурсов. 🎉
Если у вас были похожие проблемы — обновите движок и попробуйте переимпортировать файлы! Всё должно работать как часы. ⚙️
#ThunderEngine #GameDev #FBX #Импорт #Баги #Разработка
Обнаружил и устранил важную проблему, которая приводила к неправильному построению иерархии объектов в импортированных префабах. Рассказываю подробнее:
В чём была проблема:
Для сохранения правильных связей между объектами при повторном импорте используется система хэширования на основе уникальных ID. Однако если разные файлы содержали объекты с одинаковыми путями, возникали коллизии — в префаб случайно добавлялись «чужие» объекты, что ломало иерархию и приводило к ошибкам.
Как исправил:
✅ Улучшил алгоритм хэширования — теперь он учитывает больше уникальных данных (включая метаданные файла и контекст импорта).
✅ Генерируемые ID стали значительно надежнее и исключают коллизии.
Итог:
Теперь импорт сложных FBX-префабов работает стабильно, а связи между объектами остаются целыми даже после повторных обновлений ресурсов. 🎉
Если у вас были похожие проблемы — обновите движок и попробуйте переимпортировать файлы! Всё должно работать как часы. ⚙️
#ThunderEngine #GameDev #FBX #Импорт #Баги #Разработка
👍1
🎉 Важное обновление: SkinnedMeshRender теперь с поддержкой инстансинга!
Хочу поделиться крутой новостью: мы добавили полноценную поддержку инстансинга для SkinnedMeshRenderer! Это то, чего вы не встретите даже в Unity!
Что это значит на практике:
• Многократное повышение производительности при отрисовке одинаковых анимированных моделей
• Возможность создавать массовые сцены с сотнями и может быть даже тысячами персонажей
• Оптимизация рендеринга без потери качества анимации
Доказательство работы:
На приложенном скриншоте из профилировщика NSight видно:
🔴 Красные фигурки обозначают объекты, отрисованные за один вызов (draw call)
✅ Инстансинг работает корректно и эффективно
Почему это прорыв:
В отличие от других движков, мы реализовали инстансинг для скининга без потери функциональности и качества анимации!
Теперь вы можете создавать масштабные сцены с большим количеством анимированных персонажей без потери производительности 🚀
#GameDev #SkinnedMesh #Инстансинг #Оптимизация #ThunderEngine
Хочу поделиться крутой новостью: мы добавили полноценную поддержку инстансинга для SkinnedMeshRenderer! Это то, чего вы не встретите даже в Unity!
Что это значит на практике:
• Многократное повышение производительности при отрисовке одинаковых анимированных моделей
• Возможность создавать массовые сцены с сотнями и может быть даже тысячами персонажей
• Оптимизация рендеринга без потери качества анимации
Доказательство работы:
На приложенном скриншоте из профилировщика NSight видно:
🔴 Красные фигурки обозначают объекты, отрисованные за один вызов (draw call)
✅ Инстансинг работает корректно и эффективно
Почему это прорыв:
В отличие от других движков, мы реализовали инстансинг для скининга без потери функциональности и качества анимации!
Теперь вы можете создавать масштабные сцены с большим количеством анимированных персонажей без потери производительности 🚀
#GameDev #SkinnedMesh #Инстансинг #Оптимизация #ThunderEngine
🔥7👍2
🎤 Итоги выступления на Developer Conference от #ITGorky
Вот и завершилась конференция в Нижнем Новгороде, где я представлял Thunder Engine — делился возможностями движка и собирал вашу обратную связь.
Признаюсь, не всё прошло идеально:
• Не все запланированные фичи успели попасть в демо-версию
• Саму презентацию можно было сделать динамичнее и нагляднее
Но, как говорится, не ошибается тот, кто ничего не делает. Главное — мы получили живую реакцию, ценные вопросы и поняли, куда двигаться дальше.
Огромное спасибо всем, кто подходил, задавал вопросы и делился идеями! Это бесценно. 💙
Ошибки учтены — работа продолжается! 🚀
#ThunderEngine #GameDev #ITGorky #Разработка
Вот и завершилась конференция в Нижнем Новгороде, где я представлял Thunder Engine — делился возможностями движка и собирал вашу обратную связь.
Признаюсь, не всё прошло идеально:
• Не все запланированные фичи успели попасть в демо-версию
• Саму презентацию можно было сделать динамичнее и нагляднее
Но, как говорится, не ошибается тот, кто ничего не делает. Главное — мы получили живую реакцию, ценные вопросы и поняли, куда двигаться дальше.
Огромное спасибо всем, кто подходил, задавал вопросы и делился идеями! Это бесценно. 💙
Ошибки учтены — работа продолжается! 🚀
#ThunderEngine #GameDev #ITGorky #Разработка
🔥5
🚀 Неделя критических исправлений и долгожданная фича!
Эта неделя выдалась невероятно продуктивной. Удалось исправить несколько критических ошибок как в редакторе, так и в самом движке. Но мы не только исправляем баги,но и добавляем новые!
Сегодня в мастер-ветку заезжает функция, которую вы так долго ждали:
📦 Поддержка массивов в AngelScript!
Массивы в играх используют аж с V века до нашей эры 😄 и сейчас без них никуда. Теперь вы можете:
• Объявлять массивы прямо в скриптах
• Редактировать их в окне Properties вместе с другими параметрами
• Использовать всю мощь структур данных в ваших проектах
Это ли не магия? ✨
Обновление уже доступно — пробуйте, тестируйте и делитесь впечатлениями!
#ThunderEngine #AngelScript #GameDev #Разработка #Обновление
Эта неделя выдалась невероятно продуктивной. Удалось исправить несколько критических ошибок как в редакторе, так и в самом движке. Но мы не только исправляем баги,
Сегодня в мастер-ветку заезжает функция, которую вы так долго ждали:
📦 Поддержка массивов в AngelScript!
Массивы в играх используют аж с V века до нашей эры 😄 и сейчас без них никуда. Теперь вы можете:
• Объявлять массивы прямо в скриптах
• Редактировать их в окне Properties вместе с другими параметрами
• Использовать всю мощь структур данных в ваших проектах
Это ли не магия? ✨
Обновление уже доступно — пробуйте, тестируйте и делитесь впечатлениями!
#ThunderEngine #AngelScript #GameDev #Разработка #Обновление
🔥4
🎉 Выпущен очередной релиз — последний в этом году!
Готов поделиться обновлением, в котором основное внимание уделено стабильности и архитектурным улучшениям.
Что вошло в релиз:
✅ Множество исправлений — устранили ряд ошибок, мешавших комфортной работе
✅ Несколько минорных фич — небольшие, но полезные улучшения
✅ Значительный рефакторинг — продолжаем движение в сторону постепенного отказа от Qt в пользу более современных решений
Полный список изменений можно найти по ссылке
Этот релиз закладывает основу для больших изменений в следующем году. Спасибо, что остаётесь с нами! ❤️
Пробуйте, обновляйтесь и пишите о впечатлениях! Ваша обратная связь бесценна.
#ThunderEngine #Релиз #GameDev #Разработка #Год2024
Готов поделиться обновлением, в котором основное внимание уделено стабильности и архитектурным улучшениям.
Что вошло в релиз:
✅ Множество исправлений — устранили ряд ошибок, мешавших комфортной работе
✅ Несколько минорных фич — небольшие, но полезные улучшения
✅ Значительный рефакторинг — продолжаем движение в сторону постепенного отказа от Qt в пользу более современных решений
Полный список изменений можно найти по ссылке
Этот релиз закладывает основу для больших изменений в следующем году. Спасибо, что остаётесь с нами! ❤️
Пробуйте, обновляйтесь и пишите о впечатлениях! Ваша обратная связь бесценна.
#ThunderEngine #Релиз #GameDev #Разработка #Год2024
GitHub
Release Release 2025.4 · thunder-engine/thunder
Features
Editor: Shapes in Material Editor #1100 (#1101)
Editor: SubUV in Effect Editor #899 (#1059)
Editor: Undo/Redo for the Effect Editor #895 (#1021)
Render: Material rendering order #1043 (#1...
Editor: Shapes in Material Editor #1100 (#1101)
Editor: SubUV in Effect Editor #899 (#1059)
Editor: Undo/Redo for the Effect Editor #895 (#1021)
Render: Material rendering order #1043 (#1...
👍4🎉2🔥1
🚀 Увлекательная неделя: замещаем Qt своими решениями!
Эта неделя прошла под знаком большого рефакторинга. Я занялся постепенным замещением Qt-классов на наши собственные реализации.
QProcess
Протестировал замену QProcess на нашу собственную реализацию. Этот класс отвечает за:
• Запуск дочерних процессов
• Работу с утилитой сборки проектов (Builder)
• Компиляцию нативного кода
Примечание: используется только в редакторе
Спасибо DeepSeek!
ИИ-ассистент значительно упростил написание кросс-платформенной части для управления процессами — одна из самых сложных задач в этом переходе.
Текущий статус:
✅ QProcess успешно замещен в модуле WebTools
🔍 Тестируем стабильность и производительность
📝 Оцениваем возможность распространения подхода на другие зависимости
Это важный шаг к независимости от сторонних фреймворков!
#ThunderEngine #Qt #Refactoring #GameDev #Разработка
Эта неделя прошла под знаком большого рефакторинга. Я занялся постепенным замещением Qt-классов на наши собственные реализации.
QProcess
Протестировал замену QProcess на нашу собственную реализацию. Этот класс отвечает за:
• Запуск дочерних процессов
• Работу с утилитой сборки проектов (Builder)
• Компиляцию нативного кода
Примечание: используется только в редакторе
Спасибо DeepSeek!
ИИ-ассистент значительно упростил написание кросс-платформенной части для управления процессами — одна из самых сложных задач в этом переходе.
Текущий статус:
✅ QProcess успешно замещен в модуле WebTools
🔍 Тестируем стабильность и производительность
📝 Оцениваем возможность распространения подхода на другие зависимости
Это важный шаг к независимости от сторонних фреймворков!
#ThunderEngine #Qt #Refactoring #GameDev #Разработка
🔥4
🔄 Прокачиваем систему ресурсов: добавляем асинхронную загрузку!
Продолжаю улучшать систему ресурсов в Thunder Engine. Сегодня представляю важную новую фичу — асинхронную загрузку ресурсов!
Что это дает?
• Загрузка ресурсов без блокировки основного потока
• Отсутствие фризов при отрисовке сцены
• Плавный геймплей даже при подгрузке тяжелых ассетов
Как использовать?
Просто вызовите
Отслеживание статуса:
Через
🟡 Loading — загрузка из файловой системы
🟠 ToBeUpdated — загружен в CPU, готовится к отправке на GPU
🟢 Ready — готов к использованию
🔵 Suspend — на этот ресурс больше нет ссылок и его можно удалить (автоматически)
🟣 Unloading — скоро будет выгружен (в этот момент рекомендуется отписаться от него)
🔴 ToBeDeleted — в процессе удаления. Объект станет недоступен сразу после нотификации
Теперь ваши игры будут работать еще плавнее! Попробуйте и делитесь впечатлениями 👍
#ThunderEngine #GameDev #Асинхронность #Ресурсы #Оптимизация
Продолжаю улучшать систему ресурсов в Thunder Engine. Сегодня представляю важную новую фичу — асинхронную загрузку ресурсов!
Что это дает?
• Загрузка ресурсов без блокировки основного потока
• Отсутствие фризов при отрисовке сцены
• Плавный геймплей даже при подгрузке тяжелых ассетов
Как использовать?
Просто вызовите
Engine::loadResourceAsync() — метод сразу создаст пустой ресурс и вернет управление, а загрузка пойдет в фоне.Отслеживание статуса:
Через
Resource::state() можно мониторить состояние ресурса. Доступно 6 статусов:🟡 Loading — загрузка из файловой системы
🟠 ToBeUpdated — загружен в CPU, готовится к отправке на GPU
🟢 Ready — готов к использованию
🔵 Suspend — на этот ресурс больше нет ссылок и его можно удалить (автоматически)
🟣 Unloading — скоро будет выгружен (в этот момент рекомендуется отписаться от него)
🔴 ToBeDeleted — в процессе удаления. Объект станет недоступен сразу после нотификации
Теперь ваши игры будут работать еще плавнее! Попробуйте и делитесь впечатлениями 👍
#ThunderEngine #GameDev #Асинхронность #Ресурсы #Оптимизация
🔥4
Тут подумалось на ночь глядя! 🥱
Пока сил на создание обучающих видео по движку у меня нет.
А что если организовать просветительский стрим на часик, где я поотвечаю на любые вопросы? 📽
Будет ли вам это интересно? Скажем в субботу в 13 по МСК.
Пока сил на создание обучающих видео по движку у меня нет.
А что если организовать просветительский стрим на часик, где я поотвечаю на любые вопросы? 📽
Будет ли вам это интересно? Скажем в субботу в 13 по МСК.
👍4
🎥 Приглашаю на просветительский стрим!
Друзья, в эту субботу в 13:00 по московскому времени жду всех на моём стриме!
Что будет:
✅ Отвечу на ваши вопросы о Thunder Engine
✅ Обсудим последние обновления и планы
✅ Поговорим о геймдеве и разработке в целом
Где смотреть:
👉 https://live.vkvideo.ru/thunder_engine
Будет много интересного общения — подготовьте свои вопросы! Очень жду плодотворной дискуссии 😊
Добавьте напоминание и до встречи в субботу! 🚀
#ThunderEngine #Стрим #GameDev #РазработкаИгр
Друзья, в эту субботу в 13:00 по московскому времени жду всех на моём стриме!
Что будет:
✅ Отвечу на ваши вопросы о Thunder Engine
✅ Обсудим последние обновления и планы
✅ Поговорим о геймдеве и разработке в целом
Где смотреть:
👉 https://live.vkvideo.ru/thunder_engine
Будет много интересного общения — подготовьте свои вопросы! Очень жду плодотворной дискуссии 😊
Добавьте напоминание и до встречи в субботу! 🚀
#ThunderEngine #Стрим #GameDev #РазработкаИгр
VK Видео Live
Thunder Talks на VK Видео Live
Смотрите Thunder Talks на VK Видео Live. 0 подписчиков. Последний стрим 13 минут назад.
🔥4
🚀 Грандиозное обновление: исправления, рефакторинг и новый 3D-проект!
Привет, друзья! Хочу поделиться важными изменениями в Thunder Engine:
✅ Исправления
За последнее время устранил огромное количество ошибок — движок стал значительно стабильнее и надежнее.
🔄 Обновление примеров
• Все примеры проектов обновлены для полной совместимости с последней версией движка
• Изменил подход к хранению: теперь каждый проект находится в отдельном репозитории
• Это упрощает индивидуальную работу с каждым демонстрационным проектом
🎮 Новый пример: Thunder Mine
Представляю первый тестовый 3D-проект в стиле Minecraft! Это демонстрация возможностей движка для работы с:
• Воксельной графикой
• Процедурной генерацией миров
Все примеры уже доступны для изучения и экспериментов. Жду ваших отзывов и впечатлений! ✨
#ThunderEngine #GameDev #Обновление #ПримерыПроектов #Minecraft
Привет, друзья! Хочу поделиться важными изменениями в Thunder Engine:
✅ Исправления
За последнее время устранил огромное количество ошибок — движок стал значительно стабильнее и надежнее.
🔄 Обновление примеров
• Все примеры проектов обновлены для полной совместимости с последней версией движка
• Изменил подход к хранению: теперь каждый проект находится в отдельном репозитории
• Это упрощает индивидуальную работу с каждым демонстрационным проектом
🎮 Новый пример: Thunder Mine
Представляю первый тестовый 3D-проект в стиле Minecraft! Это демонстрация возможностей движка для работы с:
• Воксельной графикой
• Процедурной генерацией миров
Все примеры уже доступны для изучения и экспериментов. Жду ваших отзывов и впечатлений! ✨
#ThunderEngine #GameDev #Обновление #ПримерыПроектов #Minecraft
🔥5🤩3
🎉 Новая фича в пути: компрессия текстур!
Друзья, отличные новости! В Thunder Engine появилась долгожданная функция — компрессия текстур на этапе импорта.
Теперь разработчики могут в редакторе отмечать текстуры для сжатия, что позволит существенно экономить видеопамять на целевых устройствах.
📊 Экономия памяти в цифрах:
Без компрессии (формат RGBA8):
- Текстура 4K (4096×4096): ~67 МБ
- Текстура 2K (2048×2048): ~16.8 МБ
- Текстура 1K (1024×1024): ~4.2 МБ
С компрессией (BC7/DXT5):
- Текстура 4K (4096×4096): ~8.4 МБ (экономия 85%!)
- Текстура 2K (2048×2048): ~2.1 МБ
- Текстура 1K (1024×1024): ~0.5 МБ
⚡️ Что это дает:
- Уменьшение использования видеопамяти в 4-8 раз
- Более быстрая загрузка текстур
- Улучшение производительности рендеринга
- Возможность использовать текстуры высокого разрешения
Фича уже доступна для тестирования на девелоперских билдах! Попробуйте и делитесь впечатлениями в комментариях 👇
#ThunderEngine #GameDev #Оптимизация #Графика #КомпрессияТекстур
Друзья, отличные новости! В Thunder Engine появилась долгожданная функция — компрессия текстур на этапе импорта.
Теперь разработчики могут в редакторе отмечать текстуры для сжатия, что позволит существенно экономить видеопамять на целевых устройствах.
📊 Экономия памяти в цифрах:
Без компрессии (формат RGBA8):
- Текстура 4K (4096×4096): ~67 МБ
- Текстура 2K (2048×2048): ~16.8 МБ
- Текстура 1K (1024×1024): ~4.2 МБ
С компрессией (BC7/DXT5):
- Текстура 4K (4096×4096): ~8.4 МБ (экономия 85%!)
- Текстура 2K (2048×2048): ~2.1 МБ
- Текстура 1K (1024×1024): ~0.5 МБ
⚡️ Что это дает:
- Уменьшение использования видеопамяти в 4-8 раз
- Более быстрая загрузка текстур
- Улучшение производительности рендеринга
- Возможность использовать текстуры высокого разрешения
Фича уже доступна для тестирования на девелоперских билдах! Попробуйте и делитесь впечатлениями в комментариях 👇
#ThunderEngine #GameDev #Оптимизация #Графика #КомпрессияТекстур
🔥7
Хоть вы меня и не спрашивали, но я вам таки имею, что сказать!
Вы когда-нибудь задумывались как отдыхают разработчики движков?
Мы делаем рефакторинг!
- Медитативное, расслабляющее занятие, по перекладыванию кода из одной функции в другую.
- Уменьшение дублирование кода.
- И поиск новых багов после этих манипуляций!
Выходные проходят грандиозно!
Вы когда-нибудь задумывались как отдыхают разработчики движков?
Мы делаем рефакторинг!
- Медитативное, расслабляющее занятие, по перекладыванию кода из одной функции в другую.
- Уменьшение дублирование кода.
- И поиск новых багов после этих манипуляций!
Выходные проходят грандиозно!
🔥7❤1😁1
💻 Тишина — знак напряжённой работы!
Давно не писал в канал, но это не значит, что ничего не происходит. Как раз наоборот — кипит работа над важным изменением: полным переходом с QBS на нашу собственную систему сборки.
✅ Что уже готово:
- Генератор проектов
- Билдер для Windows и Android
🍎 На чём сейчас сосредоточен:
- Генератор проектов для Xcode
И вот тут начинается настоящая головоломка. Каждая IDE имеет свой уникальный формат проектов, и подружить их — та ещё задача.
Xcode, пожалуй, самый «потный» из всех. Экосистема Apple — это просто кладезь нюансов, и каждый из них нужно аккуратно учесть.
Работа кропотливая, но результат того стоит: полная независимость и гибкость!
Следите за обновлениями — скоро будет много интересного! 🚀
#ThunderEngine #Сборка #Xcode #Разработка #QBS
Давно не писал в канал, но это не значит, что ничего не происходит. Как раз наоборот — кипит работа над важным изменением: полным переходом с QBS на нашу собственную систему сборки.
✅ Что уже готово:
- Генератор проектов
- Билдер для Windows и Android
🍎 На чём сейчас сосредоточен:
- Генератор проектов для Xcode
И вот тут начинается настоящая головоломка. Каждая IDE имеет свой уникальный формат проектов, и подружить их — та ещё задача.
Xcode, пожалуй, самый «потный» из всех. Экосистема Apple — это просто кладезь нюансов, и каждый из них нужно аккуратно учесть.
Работа кропотливая, но результат того стоит: полная независимость и гибкость!
Следите за обновлениями — скоро будет много интересного! 🚀
#ThunderEngine #Сборка #Xcode #Разработка #QBS
🔥5❤2✍1
Немного Metal'a вам в ленту.
Оказалось, что моя Metal прослойка для рендера еще не очень готова к полноценному использованию в игровых приложениях.
Она вполне себе работает в редакторе. Но для работы в составе собранной игры, нужно сделать еще несколько масштабных исправлений.
Из приятного, билдер для XCode готов на 80%
#ThunderEngine #Сборка #Xcode
Оказалось, что моя Metal прослойка для рендера еще не очень готова к полноценному использованию в игровых приложениях.
Она вполне себе работает в редакторе. Но для работы в составе собранной игры, нужно сделать еще несколько масштабных исправлений.
Из приятного, билдер для XCode готов на 80%
#ThunderEngine #Сборка #Xcode
🔥5