이 글의 원문은 여기서 확인하실 수 있으며 블로그 리뷰에는 노현석(GDE)님이 참여해주셨습니다.
Electronic Arts(EA)는 미국 캘리포니아에 본사를 두고 있는 게임 회사로 스포츠, 액션, 레이싱, 시뮬레이션 등 여러 장르의 다양한 게임을 만듭니다. EA 산하의 개발 스튜디오인 Firemonkeys는 Real Racing 3, The Sims FreePlay, Need For Speed: No Limits의 개발사로 잘 알려져 있습니다.
Firemonkeys는 맞춤 게임 엔진을 사용해 게임을 개발하고 있으며, 현재 모든 Android 게임의 개발 워크플로에서 Android Game Development Extension(AGDE)을 사용하고 있습니다. Firemonkeys에서는 개발에 필요한 노력과 비용을 절감하기 위해 개발 및 디버깅 워크플로를 간소화할 방법을 찾고 있었는데, AGDE를 통해 해결할 수 있었습니다.
이미지1. The Sims: Freeplay 스크린샷
활용 방안
Firemonkeys는 모든 테스트용 Android 빌드 제작은 물론 Android에서 기본 C/C++ 코드를 디버깅할 때도 AGDE를 사용했습니다. 이들의 게임 개발 워크플로에는 컴파일 시간 개선을 위해 사전에 컴파일된 헤더와 Unity 빌드의 조합이 포함되어 있는데, 이 두 가지 모두 AGDE에서 지원됩니다. Firemonkeys에서는 AGDE를 사용해 C/C++ 코드를 디버깅할 때가 많았습니다. EA의 테크니컬 디렉터인 Patrick Broddesson은 “저희는 AGDE의 디버깅 인터페이스와 성능에 만족하고 있습니다. 복잡한 문제가 있을 때 디스어셈블리 뷰를 사용하는데, AGDE는 여기에 적합한 도구를 갖추고 있습니다.”라고 말했습니다. 프로파일링과 관련하여 확장 프로그램 자체에서 Android 스튜디오 프로파일러를 빠르게 실행할 수 있기 때문에 기기별 문제를 확인할 때 프로파일링 프로세스가 한층 더 쉽고 빨라집니다.
Firemonkeys의 엔지니어링팀은 이미 Visual Studio를 사용하는 데 매우 능숙했기 때문에, 신규 또는 기존 프로젝트에 대한 기존 워크플로에 AGDE를 통합하는 일은 며칠 만에 간단히 끝났습니다. Broddesson은 “통합 프로세스는 간단히 끝났습니다. 확장 프로그램에는 가이드라인으로 삼을 수 있는 도움말과 샘플 앱도 제공되었습니다.”라고 말했습니다.
이미지 2. 진행 중인 AGDE 디버깅
결과
Firemonkeys는 AGDE를 사용함으로써 개발 환경을 통합하고 여러 플랫폼 및 기기에서 빌드 파이프라인을 자동화하고 있습니다. Firemonkeys는 또한 AGDE를 사용하여 기존의 Visual Studio IDE를 AGDE의 디버깅 인터페이스와 함께 활용하여 Firemonkeys의 Android 개발 요구사항을 해결하고 있습니다. Broddesson은 통합이 성공적으로 완료되었으며 워크플로가 기존에 비해 크게 개선되었다고 말합니다. “AGDE를 사용하면서 새로운 Android 기능의 개발 시간과 Android 고유의 복잡한 버그를 디버깅하는 데 드는 시간을 줄일 수 있었습니다.” Firemonkeys 팀은 AGDE를 사용하면서 앱 유지관리 비용을 줄였고 신규 프로젝트의 준비 시간도 단축했습니다. 특히 Visual Studio를 기본 IDE로 사용해 이미 설정된 크로스 플랫폼 프로젝트에서 이러한 성과는 두드러졌습니다. “AGDE를 통해 얻은 가장 큰 수확은 여러 가지 IDE와 디버깅 도구 간에 전환할 필요가 없어지면서, 엔지니어링팀의 컨텍스트 전환을 최소화할 수 있다는 것입니다.”
Firemonkeys에서는 AGDE의 개발, 디버깅, 프로파일링 도구를 사용함으로써 Android 전용 기능을 개발하는 데 드는 개발 비용이 전반적으로 10~15% 줄어들 것이라고 예상하고 있습니다. Broddesson은 "팀의 엔지니어링 워크플로를 방해하던 장애물이 사라지면서 비용을 절감할 수 있었습니다."라고 덧붙였습니다.
시작하기
Visual Studio에서 C/C++로 크로스 플랫폼 게임을 빌드할 때 Android Game Development Extension을 사용해 Android를 타겟팅하는 방법을 알아보세요.