# Rust를 떠나 Unity로: 게임 개발 방향 전환 이야기

> Clean Markdown view of GeekNews topic #20592. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=20592](https://news.hada.io/topic?id=20592)
- GeekNews Markdown: [https://news.hada.io/topic/20592.md](https://news.hada.io/topic/20592.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-04-29T10:41:23+09:00
- Updated: 2025-04-29T10:41:23+09:00
- Original source: [deadmoney.gg](https://deadmoney.gg/news/articles/migrating-away-from-rust)
- Points: 5
- Comments: 3

## Summary

개발팀은 초기에는 **Bevy 엔진과 Rust**로 작업을 시작했으나, **협업 문제**와 **API 불안정성** 등의 이유로 **Unity와 C#로 전환**했습니다. **Unity**로의 전환 후 **개발 속도가 향상**되고 **코드량이 줄어드는** 등의 긍정적인 결과를 얻었습니다. **AI 학습 지원**과 **생태계 툴 활용**이 가능해져 개발 만족도가 크게 높아졌습니다. **Rust와 Bevy**에 대한 애정은 여전하지만, **프로젝트 요구사항**을 충족시키기 위해 **현실적인 선택**을 했다고 강조합니다.

## Topic Body

- **Architect of Ruin** 개발팀은 초기에는 **Bevy 엔진과 Rust**로 개발을 시작했지만, 실용적 문제로 인해 **Unity와 C#로 전환**함  
- **Rust와 Bevy의 장점**에도 불구하고, **협업**, **고수준 추상화 필요성**, **빈번한 API 변화**, **AI 학습 효율성 저하**, **모딩 한계** 등이 문제가 됨  
- Unity를 시험 삼아 3가지 핵심 기능을 이식했으며, **3일 만에 성공적으로 검증**하고 **6주 동안 전체 포팅**을 완료함  
- 전환 이후 **코드량이 줄고**, **개발 속도가 향상**되었으며, **생태계 툴 활용**까지 가능해져 개발 만족도가 크게 높아짐  
- Rust와 Bevy에 대한 애정은 여전히 크지만, **프로젝트에 필요한 요구사항을 충족시키기 위해 현실적인 선택**을 했음을 강조함  
  
---  
  
### Bevy와 Rust에서의 초기 개발  
  
- Bevy ECS 모델과 Rust 특유의 **컴파일 타임 체크**를 즐기며 빠른 리팩터링과 안정성을 경험함  
- **타일맵**, **스켈레탈 애니메이션**, **커스텀 렌더링 파이프라인** 등을 Bevy로 직접 구현  
- **Bevy 커뮤니티**의 열정과 활발한 토론 문화에서 많은 영감을 얻음  
  
### Emergent Problems: 예상보다 심각했던 문제들  
  
- 협업 문제 : **Rust 초심자**인 팀원에게 Rust의 복잡함이 **학습 장벽**으로 작용해 기여 속도가 저하됨  
- 고수준 추상화 부족  
  - **게임플레이 아이디어를 코드로 빠르게 옮기는 데 어려움**이 발생함  
  - **빠른 프로토타이핑**에 필요한 유연성이 부족했음  
- 빈번한 API 변경 : Bevy의 빠른 발전 속도로 인한 **API 불안정성**과 **업데이트마다 발생하는 회귀 버그**에 지침  
- AI 학습 지원 부족 : C#과 Unity는 AI 보조 학습이 잘 되었지만, **Rust와 Bevy는 정보가 부족해 생산성 저하**를 초래함  
- 모딩 한계 : **Rust/Bevy 환경**에서 안정적인 **스크립팅** 및 **ABI 호환성** 확보가 어렵다고 판단함  
  
### 전환 결심: Unity 실험  
  
- Unreal, Unity, Godot, Bevy 유지, 자체 엔진 개발을 비교 분석  
- **Unity가 학습성, 생산성, 협업 용이성, 모딩 가능성** 측면에서 가장 높은 점수를 받음  
  
#### 10% 실험  
  
- **타일맵, 캐릭터(Spine), UI 구축** 3개 핵심 작업을 3주 이내 테스트  
- 결과적으로 **3일 만에 3개 과제를 완료**, 전환을 결정함  
  
### 포팅 과정과 결과  
  
- **6주간 모든 시스템과 콘텐츠를 Unity로 재구현**  
- **코드량 감소**, **보일러플레이트 제거**, **개발 속도 증가**를 경험함  
- AI 학습 지원 향상 및 Unity 생태계 툴(AStar Pathfinding 등) 적극 활용 가능  
  
### 이후의 삶  
  
- **Architect of Ruin**은 현재 **Unity 기반**으로 개발 중이며, **빠른 아이디어 반영과 높은 생산성**을 유지하고 있음  
- **Rust와 Bevy**에 대한 깊은 존경은 변함 없지만, **프로젝트에 적합한 선택**이 필요했음을 강조함  
- 향후 Unity 기반 구현 세부사항과 포팅 경험을 추가 공유할 예정임  
  
### 결론  
  
- **시작 시 공정한 옵션 평가 실패**를 인정함  
- **시간을 투자해 방향을 바꿨지만, 결과적으로 더 많은 시간을 벌었다고 평가**  
- 개발 비전 실현을 위해 **본능을 넘어선 현실적 판단**이 중요했음을 깨달음

## Comments



### Comment 37978

- Author: aer0700
- Created: 2025-04-30T04:34:07+09:00
- Points: 1

Rust를 스크립트 언어로 쓰는 gui엔진이 아마 있을 것 같은데, 프로덕션 레벨에서 쓰는 게 있는지는 모르겠네요. Rust로 게임 만드는 것에 대해 종종 실패 사례? 가 올라오긴 하는데, 음... 실패 사례가 올라오는 건 그러려니 싶지만, 성공사례 얘기가 잘 안들리는 것 같아서 좀 그렇네요. 잘 쓰고 있는 분들도 어딘가는 있을텐데

### Comment 37983

- Author: qwqwhs
- Created: 2025-04-30T09:22:59+09:00
- Points: 1
- Parent comment: 37978
- Depth: 1

반대로 잘 쓰면 다 이정도는 쓰고 있겠지 싶어서 안올리는 거 아닐까요?

### Comment 37952

- Author: neo
- Created: 2025-04-29T10:41:23+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=43824640) 
* Rust로 게임 프로젝트를 진행하다 실패한 사례가 또 발생함. 이는 안타까운 일임
  - Rust로 메타버스 클라이언트를 거의 5년 동안 개발 중인데, 너무 오래 걸리고 있음
  - 다른 사람은 C#/Unity로 비슷한 프로젝트를 2년 이내에 진행함
  - Rust 3D 게임 개발 사용자 기반이 매우 작음
  - Rust로 AAA 타이틀을 개발한 사례가 없고, 성능 문제를 해결한 사람도 없음
  - 사용 중인 스택은 Rend3/Egui/Winit/Wgpu/Vulkan인데, Vulkan을 제외하고는 버그가 많음
  - 이벤트 루프를 소유하려는 다양한 크레이트가 너무 많음
  - 크레이트가 몇 달마다 리팩토링되어 API가 깨지는 경우가 많음
  - Rust에서 역참조가 어려움
  - Rust는 단일 소유자와 역참조를 위한 일관된 방법이 필요함
  - Rust의 트레잇은 객체가 아니며, 객체 계층 구조를 구성하는 데 적합하지 않음

* 상업용 게임 엔진이 게임 개발을 장악한 이유에 대한 좋은 교훈처럼 들림
  - 게임을 만들기 위해 해야 할 일이 많지만, 대부분은 이미 해결된 문제임

* Rust를 C++의 대체로 좋아하지만, 대부분의 프로젝트에 C++이 적합하지 않다고 생각함
  - 많은 사람들이 Rust를 더 효율적이라고 생각해서 선택하는 것 같음

* Rust 게임 개발은 개척지 개발과 같으며, 많은 작업이 필요함
  - Rust는 아직 준비가 안 되었음

* Rust를 좋아하지만, 빠른 반복이 어려움
  - Bevy를 사용해봤지만 Godot로 돌아감

* 프로젝트에서 Rust 대신 Go로 전환했으며, 반복 속도가 더 빨라짐
  - 코드가 더 취약하지만, 프로젝트의 성격상 올바른 선택이라고 생각함

* Rust 생태계의 높은 변동성은 예상치 못한 단점임
  - 크레이트가 자주 버려지며, 이는 Rust를 주로 사용하고 싶어하는 사람들 때문이라고 생각함

* 한 개발자는 C로 게임 엔진을 만들고, Lua로 게임을 개발함
  - 게임 엔진과 게임의 명확한 분리가 있음
  - 'Sapiens'라는 게임이 Steam에서 성공적으로 출시됨

* Rust로 작업하는 것은 거의 항상 더 어려움
  - 이는 개인적인 경험에 기반한 의견임

* 프로젝트의 목표는 코딩을 하지 않는 형제가 기여할 수 있도록 하는 것이었음
  - 최신 버전으로 계속 업그레이드해야 한다고 느낌
  - Unity를 사용하는 스튜디오는 특정 버그가 수정되지 않는 한 버전을 자주 업그레이드하지 않음
