
Godot Engine, Mozilla Open Source Support Program으로부터 5만 달러 지원금 수령
요약
Godot Engine이 Mozilla의 오픈 소스 지원 프로그램(MOSS)으로부터 5만 달러의 지원금을 수령했습니다. 이번 지원금은 WebAssembly를 활용한 브라우저 기반 에디터 개선 및 WebRTC를 통한 네트워킹 기능 강화 등 웹 환경에서의 게임 제작 접근성을 높이는 데 사용될 예정입니다.
핵심 포인트
- Mozilla로부터 50,000 USD의 지원금을 확보하여 오픈 소스 개발을 가속화함
- 브라우저 내에서 Godot 에디터를 원활하게 실행할 수 있는 퍼스트 클래스 통합 작업 추진
- WebAssembly 및 HTML5 플랫폼의 성능 개선을 통해 웹 기반 게임 제작 환경 최적화
- 모바일 브라우저 대응(터치 제스처, 반응형 UI)을 통해 에디터의 접근성 확대
Godot Engine이 Mozilla Open Source Support (MOSS) Mission Partners 프로그램의 일환으로 Mozilla로부터 50,000 USD를 지원받게 되었음을 기쁘게 발표합니다. 이는 2016년에 20,000 USD를 지원받은 이후, Godot가 MOSS 지원금을 받는 두 번째 사례입니다.
이 지원금은 개방적이고 접근 가능한 Web을 증진하려는 Mozilla의 미션과 연계된 세 가지 서로 다른 작업 패키지(work packages)에 대해 일부 핵심 기여자(core contributors)들의 작업을 지원하는 데 사용될 예정입니다. Godot의 경우, 이는 모든 사람이 오픈 소스 기술을 사용하여 네트워크 기반 및 브라우저 기반 게임을 제작하고 플레이할 수 있도록 보장하는 것을 의미합니다.
Mozilla와 함께 정의한 작업 패키지(WP)는 다음과 같습니다. 해당 작업 패키지에서 활동하는 모든 기여자들은 당사의 재정 후원 기관인 Software Freedom Conservancy에 의해 계약직(contractors)으로 고용되며, 파트타임으로 9개월 동안 근무하게 됩니다. 이들은 본 블로그에 진행 상황 보고서를 게시할 예정입니다.
WP1: Web 상의 Godot Engine 에디터
Godot의 에디터는 Godot로 개발된 게임과 동일한 런타임(runtime) 및 UI 툴킷(UI toolkit)을 사용하여 Godot 자체로 구축되었습니다. 이는 WebAssembly를 통한 브라우저를 포함하여 Godot가 실행될 수 있는 모든 플랫폼에서 에디터가 실행될 수 있음을 의미합니다. 에디터를 브라우저용으로 빌드하고 실행하는 것은 비교적 쉽지만, 멀티스레딩(multi-threading) 처리 또는 그 부재, 편집된 프로젝트의 실행/디버깅, 파일 시스템 관리(filesystem management), 클라우드 스토리지(cloud storage) 등과 같이 HTML5를 위한 특정 개발이 필요한 기능들이 많아 즉시 사용할 수 없는 경우가 많습니다.
당사의 HTML5/WebAssembly 플랫폼 포트 유지 관리자인 기여자 Leon Krause (eska)가 브라우저 내 Godot 에디터의 퍼스트 클래스 통합(first-class integration)을 제공하는 작업을 맡게 됩니다.
이는 향후 Godot Q&A의 버그 리포트에서 프로젝트/씬(scene)에 대한 직접 링크를 공유하거나, 브라우저에서 데모 프로젝트를 직접 실행 및 편집하고, 협업 편집(collaborative edition) 기능을 제공하는 등 많은 가능성을 열어줄 수 있습니다. 특히, 기관의 모든 컴퓨터에 소프트웨어를 설치하고 구성하는 것이 번거로울 수 있는 교육 환경(Godot처럼 설치 용량이 매우 작은 엔진이라 할지라도)에서 Godot의 도입에 큰 이점이 될 수 있습니다.
해당 작업 패키지(WP)에는 터치스크린 제스처, 반응형 UI(responsive UI) 등 모바일 브라우저에서 에디터가 작동하도록 만드는 작업도 포함됩니다. 이를 통해 이동 중에도 프로젝트를 수정할 수 있도록 에디터를 Android 및 iOS로 네이티브(native) 포팅하는 것도 가능해질 것입니다.
또한, 모든 주요 브라우저에서 에디터가 원활하게 실행되도록 작업하는 동안, Leon은 내보내기(exported)된 게임과도 관련이 있는 문제들을 수정해야 하므로, HTML5 포트의 모든 사용자가 이 작업의 혜택을 받게 될 것입니다.
Leon은 며칠 내로 WP1 작업을 시작할 예정입니다.
업데이트: 예기치 않은 상황으로 인해 Leon이 이 작업 패키지(work package)를 수행할 수 없게 되었습니다. 대신, Fabio(WP2 담당)가 자신의 네트워킹 작업 패키지를 완료하는 대로 2020년에 HTML5 개선 작업을 맡게 될 것입니다.
WP2: WebRTC 및 네트워킹 개선
Fabio Alessandrelli (Fales)는 Godot의 저수준(low-level) 및 고수준(high-level) 네트워킹 API 모두를 관리하는 메인테이너(maintainer)입니다. 2018년에 그는 Google Summer of Code의 일환으로 학생 Brandon Makin을 멘토링했으며, Brandon Makin은 Godot에 WebRTC 기술을 통합하는 초기 작업을 수행했습니다. 이 프로젝트는 WebRTC 라이브러리와 관련된 다양한 장애물에 부딪혀 GSoC 기간 내에 완료되지 못했으므로, Fabio가 이 작업을 마무리할 예정입니다. 그는 또한 WebRTC와 WebSocket의 사용법을 보여주는 문서 작성과 데모 및 플러그인 제작도 함께 진행할 것입니다.
WP2는 네트워크 프로젝트를 위한 더 나은 도구와 디버깅 기능을 다룰 예정입니다. 여기에는 HTML5 내보내기(export) 파일을 제공하기 위한 HTTPServer 구현, 그리고 HTML5 내보내기 시 에디터와 디버거 간의 통신을 위해 TCP 대신 WebSocket을 사용하는 것과 같이 Leon의 WP1 작업과 관련이 있는 몇 가지 변경 사항이 포함됩니다.
마지막으로, Fabio는 저수준(low level) TCP/UDP 추상화의 리팩터링(refactor), mbedTLS를 사용한 UDP 기반의 DTLS 구현, 그리고 Multiplayer API의 에러 핸들링(error handling) 개선을 포함한 추가적인 네트워킹 개선 작업을 진행할 것입니다.
Fabio는 이미 3월부터 WP2 작업을 시작했으며, 곧 첫 번째 진행 보고서를 게시할 예정입니다.
WP3: 고품질 데모를 위한 아트워크 의뢰
TPS 데모 작업을 담당했던 아티스트 Fernando Calabró가 두 개의 데모를 위해 전문적인 3D 에셋을 제작할 예정입니다. 이 데모들은 엔진의 다양한 기능을 보여주고 벤치마크(benchmark)하는 데 사용될 것입니다. 특히 (WP1에서 수행된 작업 덕분에) Godot의 HTML5 플랫폼에 최적화하는 데 중점을 둘 것입니다. 이를 통해 업스트림(upstream) WebAssembly 개발자들을 위한 벤치마킹 자료로 활용될 수 있으며, 결과적으로 이 스택을 개선하는 데 기여하게 될 것입니다.
Fernando는 3월부터 WP3 작업을 시작했으며, 곧 현재 진행 상황과 계획된 데모에 대한 자세한 내용을 공유할 예정입니다.
이처럼 상당한 규모의 지원금으로 우리 프로젝트를 다시 한번 지원해 준 Mozilla에 큰 감사를 전합니다!
비영리 단체로서 우리는 Patreon을 통해 우리를 후원하는 수많은 사용자들의 관대함뿐만 아니라, 우리를 스폰서하거나 특정 작업 패키지(work package)에 대해 자금을 지원해 주는 기업들에 의존하고 있습니다. 프로젝트의 "급여 명부"에 두 명의 파트타임 개발자와 한 명의 아티스트를 추가할 수 있게 된 것은 엔진의 생산성과 개발에 엄청난 추진력이 될 것이며, 커뮤니티 전체에 큰 이익이 될 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Game Dev의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기