Bevy – это набор библиотек для разработки игр на языке Rust разрабатываемый с 2020го года. Он включает в себя такие модули как ECS (аналог DOTS, но в разы проще и эргономичнее), рендер-граф на основе WebGPU, инджектор зависимостей, сцены, ассет менеджер, ввод/вывод и прочее. По опыту, Bevy скорее похож на middleware движки вроде XNA, LibGDX, TheForge или BGFX и его не совсем продуктивно приводить как альтернативу Unity, Unreal или Godot.
Круто! Получается ты продолжаешь делать игру? Я не видел продолжения после первых статьей, думал, что уже забросил.
Чаще всего пощу в Twitter, YT и Discord:
- https://twitter.com/jarl_game
- https://www.youtube.com/@Jarl-Game-com
- https://discord.gg/jarl
На DTF в последнее время по остаточному принципу. Здесь насколько я вижу все смещается в сторону мемов и треша.
Какие ощущения при работе с движком?
Чтобы разобраться на каком уровне rust знать нужно, если есть большой опыт на плюсах?
А то все думаю с плюсовых движков мигрировать, но решимости пока не хватает
Ощущение сильно зависят от задачи, одним комментарием все ситуации не покрою. Что-то очень хорошо работает, например ECS после 2х лет работы ни разу не подводил. Рендер граф достаточно сложный, но очень гибкий. UI пока совсем базовый.
Опыт на плюсах очень поможет. Мигрировать то что и так работает на C++ не вижу большого смысла.
Плюс в том, что движок убирает главную головную боль с++ников - лайфтаймы(Там, где в голом с++ использовался бы указатель, здесь будет код entity).
Минус, что убирает вместе с головой. Делать систему где две query правят одни и те же компоненты нельзя насколько помню. Надо выкручиваться.
Если хочется ecs и с c++ прыгать боязно, смотри entt
Чтобы разобраться на каком уровне rust знать нужно, если есть большой опыт на плюсах?
На уверенном. Но сам Bevy написан не то чтобы супер заумно, как раз наоборот – в основном приятный и читаемый код.
Нужно скорее разбираться в предмете – графика, звук, как устроен CPU, всякие алгоритмы.
Пару месяцев назад я как раз рассказывал про ощущения от разработки (правда на английском): https://youtu.be/Sv7jcyqThdM