Firemonkeys는 AGDE를 사용해 개발 및 디버깅 시간을 단축했습니다.
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Electronic Arts(EA)는 미국 캘리포니아에 본사를 둔 게임 회사입니다. 스포츠, 액션, 레이싱, 시뮬레이션 등 다양한 장르의 다양한 게임을 제작합니다. EA의 개발 스튜디오인 Firemonkeys는 Real Racing 3, The Sims FreePlay, Need For Speed: No Limits의 개발사로 잘 알려져 있습니다.
Firemonkeys는 맞춤 게임 엔진을 사용하여 게임을 개발하고 있으며, 이제 모든 Android 게임의 개발 워크플로에 Android 게임 개발 확장 프로그램 (AGDE)을 사용합니다. 스튜디오는 빌드 및 디버깅 워크플로를 간소화하여 궁극적으로 개발 노력과 비용을 절감할 방법을 찾고 있었으며, AGDE가 이를 제공했습니다.
그림 1: 심즈: 프리플레이 스크린샷
사용 방식
Firemonkeys는 AGDE를 사용하여 모든 테스트용 Android 빌드를 생성하고 Android에서 네이티브 C/C++ 코드를 디버그합니다. 게임 빌드 워크플로에는 컴파일 시간을 개선하기 위해 사전 컴파일된 헤더와 Unity 빌드의 조합이 포함되어 있으며, 두 가지 모두 AGDE에서 잘 지원됩니다. 디버깅의 경우 Firemonkeys는 AGDE를 사용하여 C/C++ 코드를 디버그합니다. EA의 기술 이사인 패트릭 브로드데슨은 "디버깅 인터페이스와 성능에 만족합니다. 더 복잡한 문제가 발생할 때는 분해 뷰를 사용하며, AGDE는 이를 위한 훌륭한 도구를 갖추고 있습니다." 프로파일링과 관련하여 확장 프로그램 자체에서 Android 스튜디오 프로파일러를 빠르게 실행할 수 있는 기능 덕분에 기기별 문제를 살펴볼 때 프로파일링 프로세스가 더 쉽고 빨라졌습니다.
Firemonkeys의 엔지니어링팀은 이미 Visual Studio에 매우 익숙했으며 신규 또는 기존 프로젝트의 기존 워크플로에 AGDE를 통합하기까지 며칠 만에 완료할 수 있었습니다. 브로데슨은 "통합 프로세스는 간단하며, 확장 프로그램에는 안내를 위한 문서와 샘플 앱이 함께 제공됩니다.
그림 2: 진행 중인 AGDE 디버깅
결과
Firemonkeys는 AGDE를 사용하여 개발 환경을 통합하고 여러 플랫폼과 기기 전반에서 빌드 파이프라인을 자동화할 수 있습니다. Firemonkeys는 AGDE를 통해 기존 Visual Studio IDE와 AGDE의 디버깅 인터페이스를 활용하여 Firemonkeys의 Android 개발 요구사항을 해결할 수 있었습니다. 브로데슨은 통합이 성공적이었으며 이전 워크플로에 비해 크게 개선되었다고 말합니다. "AGDE를 사용한 결과 새로운 Android 기능의 개발 시간이 가장 크게 줄어들었으며, 복잡한 Android 관련 버그를 디버깅하는 데 걸리는 시간도 줄었습니다." Firemonkeys팀은 AGDE를 사용하면 새 프로젝트, 특히 Visual Studio를 기본 IDE로 이미 설정한 크로스 플랫폼 프로젝트의 경우 유지보수 작업이 줄어들고 설정 시간이 단축된다는 사실을 발견했습니다. "AGDE를 사용하면서 얻은 가장 큰 이점은 여러 IDE와 디버깅 도구 간에 전환할 필요가 없어 엔지니어링팀의 컨텍스트 전환을 최소화할 수 있다는 점입니다."
Firemonkeys는 전반적으로 AGDE의 빌드, 디버깅, 프로파일링 도구를 사용하면 Android 관련 기능의 개발 비용이 10~15% 절감될 것으로 예상합니다. 브로데슨은 "팀의 엔지니어링 워크플로에서 발생하는 장애물이 줄어 비용이 절감되었습니다."라고 말했습니다.
시작하기
Visual Studio에서 C/C++로 크로스 플랫폼 게임을 빌드할 때 Android 게임 개발 확장 프로그램을 사용하여 Android를 타겟팅하는 방법을 알아보세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2021-07-12(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2021-07-12(UTC)"],[],[],null,["# Firemonkeys reduced development and debugging time with AGDE\n\n[Electronic Arts](https://play.google.com/store/apps/dev?id=6605125519975771237)\n(EA) is a game company headquartered in California, USA. It produces a wide\nvariety of games across different genres, such as: sports, action, racing,\nand simulation. EA's development studio, Firemonkeys, is best known as the\ndeveloper of\n[Real Racing 3](https://play.google.com/store/apps/details?id=com.ea.games.r3_na),\n[The Sims FreePlay](https://play.google.com/store/apps/details?id=com.ea.games.simsfreeplay_na),\nand\n[Need For Speed: No Limits](https://play.google.com/store/apps/details?id=com.ea.game.nfs14_row).\nFiremonkeys uses a custom game engine to develop games, and now uses\n[Android Game Development Extension (AGDE)](/games/agde) in its development workflow for\nall of their Android games. The studio was looking for a way to streamline\ntheir build and debugging workflows, to ultimately save development effort\nand cost, and AGDE provided that.\n\n\n**Figure 1**: Screenshot from The Sims: Freeplay\n\nHow they use it\n---------------\n\nFiremonkeys uses AGDE to produce all of their Android builds for testing, as well as\nto debug native C/C++ code on Android. Their game building workflow\nincludes a combination of precompiled headers and\n[Unity](https://en.wikipedia.org/wiki/Single_Compilation_Unit) builds to\nimprove compile times - both of which are well supported by AGDE. For\ndebugging, Firemonkeys frequently uses AGDE to debug C/C++ code. Patrick Broddesson,\nTechnical Director at EA, said, \"We are happy with the debugging interface\nand performance. We use the disassembly view for those times when more\ncomplex issues arise, and AGDE has great tools for that.\" When it comes to\nprofiling, the ability to quickly launch Android Studio Profilers from the\nextension itself made the profiling process easier and faster when looking\ninto device specific problems.\n\nFiremonkeys' engineering team was already intimately familiar with Visual Studio,\nand integrating AGDE into their existing workflow for a new or existing\nproject was easily achieved within a few days. \"The integration process is\nsimple, and the extension comes with documentation and sample apps for\nguidance,\" said Broddesson.\n\n\n**Figure 2**: AGDE debugging in progress\n\nResults\n-------\n\nUsing AGDE allows Firemonkeys to unify development environments, and automate build\npipelines across platforms and devices. AGDE enabled Firemonkeys to take advantage\nof their existing Visual Studio IDE together with AGDE's debugging\ninterfaces to address Firemonkeys' Android development needs. Broddesson states\nthat the integration has been successful and a marked improvement over\ntheir previous workflows. \"Using AGDE has most definitely reduced the\ndevelopment time of new Android features, as well as the time spent\ndebugging complex Android specific bugs.\" The Firemonkeys team found that using AGDE\nresulted in less maintenance, and quicker setup time for new projects,\nespecially for cross-platform projects that are already setup with Visual\nStudio as the main IDE. \"The biggest win for us from using AGDE is that we\ncan minimize context switching for our engineering team by not having to\nmove between different IDEs and debugging tools.\"\n\nOverall, Firemonkeys expects that using AGDE's building, debugging, and profiling\ntools will reduce the development costs for Android specific features by\n10-15%. \"The cost savings result from reducing obstacles in engineering\nworkflows for our teams\", said Broddesson.\n\nGet started\n-----------\n\nLearn how the\n[Android Game Development Extension](/games/agde)\nenables you to target Android when building cross-platform games with C/C++\nin Visual Studio."]]