Bevy 0.20 출시, Solari 렌더러 개선과 WESL 셰이더 공식 채택
- Bevy 0.20은 기여자 227명이 PR 817개를 합쳐 낸 릴리스이며, 실시간 패스트레이싱 렌더러 Solari가 macOS의 Metal에서도 돌아가게 됨
- BSN 씬 시스템은 문법이 바뀌어 읽고 조합하기 쉬워졌고, 씬 엔티티가 자식을 모두 생성하면 Ready 이벤트를 발생시킴
- Bevy가 WESL 셰이더 언어를 공식 채택함, WGSL을 표준화한 확장판이며 기존 자체 WGSL 방언보다 개선됨
- 2D 스프라이트에 커스텀 셰이더 머티리얼을 쓸 수 있게 되었고, 2D 메시 머티리얼도 3D처럼 확장 가능해짐
Hacker News opinions
taintedcoders.com이 0.20으로 업데이트됐더라. 나는 이 사이트를 제일 자주 봄.
Bevy 처음 시작하는 게 진짜 힘들더라. 빌드부터 안 돼서 한참 헤맴. 근데 모듈화는 잘 된 설계라서 jackdaw 같은 에디터랑 LLM 코딩 붙이기 좋은 구조임.
bevy_awesome_prod 목록 보면 게임 많음. 나는 Tiny Glade(Bevy ECS만 씀)랑 Polders 추천함.
Breaking change가 계속 터지는 건 맞음. 그래도 중요한 문제 고치려고 그러는 거라 이해는 됨. 상용 제품에 걸기엔 아직 미숙함.
이번 릴리스 좋음. 나도 렌더러 CPU 쪽 작업했는데 릴리스 노트에 안 나와서 아쉬움.
BSN 문법은 특수기호가 너무 많고 리스트 구분을 대시 두 개로 하는 게 설계가 막다른 길에 몰린 흔적임. LR(1)도 아니라서 처음부터 잘못 짠 것 같음. 씬 포맷은 에디터 우선에 VCS 병합을 최우선으로 다시 설계해야 함.
세미콜론이랑 쉼표 섞는 안도 이슈 25616에서 논의됐던데 트레이드오프 많음. 나는 그 안이 괜찮다고 봤는데 결국 대시 두 개로 가는 듯함.
동의함. 하위 호환 깨지는 변경이 앞으로도 있을 듯함. 나는 자동 포맷팅이 빨리 나왔으면 좋겠음, 코드베이스 일관성이 제일 중요해서.
Bevy로 RTS를 하나 만들어봤음. Claude 에이전트 여러 개로 코드랑 에셋을 일주일 정도 밤낮으로 돌려서 LAN 모드까지 넣었음. Bevy 설계가 기능 추가를 쉽게 해준 것 같음.
Bevy는 점진적 사용자에겐 편한데 포인트 릴리스가 나오면 마이그레이션 관리에 발목 잡힘. 릴리스 노트를 Claude에 던지면 웬만한 건 알아서 해결됨.
Rust 제일 어려운 건 Lifetime보다 Pin임. Box, Arc, Rc랑 비교해도 격차가 큼.
Godot 쓰는데 Bevy 기여자들이 전문성 있고 의견이 뚜렷해서 부러움. Godot는 기능부터 넣고 여러 릴리스 지나서야 UX가 다듬어지는 편임.