본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 20. 02:01

임베디드 가능한 게임 엔진으로서의 Godot

요약

과거 임베디드 엔진으로서의 한계가 있었던 Godot가 최근 패치를 통해 애플리케이션 내에 독립적인 씬(scenes)을 자유롭게 임베디드할 수 있는 라이브러리로 진화하고 있습니다. 이를 통해 개발자들은 SwiftUI와 같은 UI 프레임워크 내에서 Godot의 2D/3D 콘텐츠를 컴포넌트 단위로 제어하고 배치할 수 있게 됩니다.

핵심 포인트

  • Godot가 단순 게임 엔진을 넘어 애플리케이션에 임베디드 가능한 라이브러리로 발전 중
  • 단일 씬 실행의 한계를 넘어 앱 내 여러 곳에 독립적인 Godot 씬을 호스팅 가능
  • SwiftUI의 View 내에 Godot 씬을 임베디드하여 세밀한 제어 가능
  • 모바일 및 데스크톱 앱의 UI 컴포넌트에 2D/3D 콘텐츠를 통합하는 새로운 방식 제시

수년 전, 모바일 개발자들을 위한 크로스 플랫폼 (cross-platform) 라이브러리를 구축하던 Xamarin에서 근무할 당시, 우리는 사용자들에게 모바일 애플리케이션에 2D 또는 3D 콘텐츠를 추가하는 방식으로 2D 및 3D 게임 기능을 모두 제공하고 싶었습니다.

2D의 경우, 우리는 Cocos2D에서 영감을 받은 다양한 라이브러리들을 기여하고 개발했습니다.

3D의 경우, 상황은 더 복잡했습니다. 우리는 수년에 걸쳐 몇몇 프로젝트에 자금을 지원했고 다른 프로젝트들에 기여하기도 했지만, 제대로 성과를 낸 것은 없었습니다 (이 역사는 별도의 포스트를 작성할 가치가 있습니다).

2013년경 우리는 주변을 살펴보았고, 당시 두 명의 경쟁자가 있었습니다. 하나는 Urho라는 이름의 임베디드 가능한 (embeddable) 엔진으로, 귀여운 기능은 많았지만 UI 지원이 뛰어나지는 않았습니다. 다른 하나는 Godot였는데, 훌륭한 IDE를 갖추고 있었지만 임베디드되는 것을 지원하지 않았습니다.

나는 당시 Juan에게 연락하여 Godot를 그러한 엔진으로 전환할 수 있을지 논의했습니다. 나는 모든 회의 내용을 방대하게 기록하는 편이지만, 안타깝게도 그 기록들은 Microsoft 인수 과정에서 사라졌습니다. 하지만 내가 기억하는 바로는 Juan은 두 가지 측면에서 "Godot는 당신이 찾는 것이 아니다"라고 말했습니다. 즉, 이를 임베디드 가능한 라이브러리로 전환할 즉각적인 계획이 없었고, Urho만큼 발전하지 않았기에 Urho를 선택할 것을 권장했습니다.

우리는 Urho를 바인딩 (binding) 하는 데 집중적으로 투자하여 우리의 C# 사용자들을 위한 훌륭한 3D 라이브러리가 될 UrhoSharp을 만들었습니다. 우리는 모든 데스크톱 및 모바일 플랫폼뿐만 아니라, AR 및 VR 헤드셋에서도 훌륭하게 작동하도록 엄청난 노력을 기울였습니다. 슬프게도 Microsoft의 경영진은 UrhoSharp을 방치하여 사장되게 만들었습니다.

그 후 Urho의 유지 관리자가 물러났고, Godot는 세계에서 가장 인기 있는 오픈 소스 (open-source) 프로젝트 중 하나가 되었습니다.

지난해, @Faolan-Rad가 Godot를 애플리케이션에 임베디드할 수 있는 라이브러리로 전환하는 패치를 기여했습니다. 나는 이 라이브러리를 사용하여 SwiftGodotKit을 구축했으며, 그 이후로 사람들이 자신의 애플리케이션에 Godot 콘텐츠를 임베디드할 수 있게 해준 이 라이브러리에 매우 만족하며 사용하고 있습니다.

하지만 해당 패치에는 심각한 한계가 있었습니다. 임베디드 시스템으로서 단 하나의 Godot 게임만 실행할 수 있었으며, 그 이상의 기능은 수행할 수 없었습니다. Smirk Software의 팀원들은 이를 더 발전시키고 싶어 했습니다. 그들은 자신들의 앱 내에서 독립적인 Godot 씬 (scenes)을 호스팅하고, 이를 더 세밀하게 제어하여 모바일 앱(데모) 곳곳에 원하는 만큼 Godot 콘텐츠를 뿌려 넣기를 원했습니다.

그들은 이를 수행하기 위한 초기 작업 자금을 지원했으며, Gergely Kis의 회사를 고용하여 이 작업을 진행했습니다.

Gergely는 작년 GodotCon에서 이 작업의 데모를 선보였습니다. 저는 GodotCon에서 매우 흥분된 상태로 돌아왔고, iPad용 Godot 프로토타입을 완전한 제품으로 만들기로 결심했습니다.

제가 필요했던 기능 중 하나는 iPad UI의 개별 컴포넌트(components)에 Godot의 조각들을 임베디드할 수 있는 능력이었습니다. 그래서 우리는 Gergely와 협력하여 일반 사용자들이 사용할 수 있도록 이 패치를 제품화하고 다듬었습니다.

이제 사람들이 자신의 앱에 임의의 Godot 씬 (scenes)을 임베디드할 수 있도록 하는 완전한 패치가 리뷰 단계에 있습니다. SwiftUI 사용자들에게 이는 Godot 씬을 View 안에 임베디드하여 원하는 대로 표시하고 제어할 수 있음을 의미합니다.

팀이 이 변경 사항을 Godot에 수용하기를 바라며, 이것이 완료되면 Swift 사용자들에게 이러한 새로운 기능을 제공하기 위해 SwiftGodotKit을 업데이트할 예정입니다 (다른 플랫폼 및 언어를 위한 바인딩 (bindings)은 독자의 과제로 남겨둡니다).

Juan과 대화한 지 10년 만에, 저는 다시 확고하게 Godot의 세계로 돌아왔습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 HN Game Dev의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0