
-
게임 수준 높이기
통합 게임 플랫폼에서 여러분의 게임이 빛나게 하는 방법을 알아보세요. 게임의 수준을 높이고 플레이어 경험을 더욱 개선할 수 있는 기술 맵을 소개합니다. 게임을 빌딩, 디버깅 및 프로파일링하는 데 필수적인 기본 도구의 개요를 확인하세요.
챕터
- 0:00 - 서론
- 1:19 - 시스템 경험
- 1:39 - 성능 개선하기
- 4:26 - 플레이어 참여 유도하기
- 6:43 - 게임 기술
- 7:33 - 플레이 시작하기
- 9:31 - 어디서든 플레이하기
- 12:52 - 선호하는 방식으로 플레이하기
- 14:56 - 그래픽
- 22:31 - 다음 단계
리소스
- Function constants and Framebuffer fetch
- Human Interface Guidelines: Designing for games
- Ray tracing with Intersection Function Buffer
관련 비디오
WWDC25
- 몰입감 넘치는 앱을 위한 Metal 렌더링의 새로운 기능
- Apple Games 앱으로 플레이어와 소통하기
- Apple-Hosted Background Assets 알아보기
- Game Center 시작하기
- Metal 4 게임 심화 기능 알아보기
- Metal 4 게임 알아보기
- Metal 4 살펴보기
WWDC24
-
비디오 검색…
저는 Metal Games Ecosystem 팀 엔지니어링 매니저 Alexey입니다 플레이어들은 게임에서 최상의 경험을 기대합니다 그 기대를 충족하려면 지속적으로 향상되는 성능과 효율을 갖춘 Apple Silicon과 이를 활용하는 소프트웨어를 적극 활용해야 합니다 Apple의 SDK는 Apple 생태계 전반의 플레이어들에게 손쉽게 다가갈 수 있는 차세대 게임 개발에 필요한 다양한 도구를 제공합니다 경이로운 그래픽에서부터 자연스러운 조작, 소셜 경험까지 iPhone, iPad, Mac에서 게임을 손쉽게 즐길 수 있습니다 하나로 통합된 게이밍 플랫폼 덕분이죠 뛰어난 게임 경험을 완성하는 OS와 프레임워크도 수년간 끊임없이 진화해 왔습니다 올해 새롭게 추가될 기능들은 플레이어가 경험하는 게임의 품질을 한층 더 끌어올리는 겁니다 이번 세션에서는 내장된 시스템 기능을 통해 어떻게 게임 성능을 높일 수 있는지 보여드리겠습니다 그리고 중요한 게임 기술들을 하나씩 설명 드리겠습니다 플레이어가 언제 어디서 원하든 게임을 즐길 수 있도록 하거나 Apple Silicon의 힘을 빌린 새로운 그래픽 기능을 활용해서 게임 세계에 더 깊이 몰입하게 만드는 방법 등을 말이죠 먼저 게임을 즐기는 동안 기기 성능을 극대화할 수 있도록 도와주는 강력한 시스템 기능들을 소개합니다 해당 기능 중에는 게임 지속 성능을 향상시키는 구성 가능한 시스템 모드와 시스템 전반에서 플레이어의 게임 참여도를 높이고 게임을 더 널리 알릴 수 있는 소셜 기능도 포함됩니다 그럼 지금부터 게임 성능을 향상시키는 기능부터 살펴봅시다 게임 모드는 시스템 동작 최적화 로 더 많은 리소스를 제공합니다 백그라운드 작업을 줄이고 더 많은 CPU 시간을 할당해 렌더링이나 물리 시뮬레이션 같은 복잡한 연산을 빠르게 처리합니다 게임 모드는 Bluetooth 지연도 줄여 입력/헤드폰 반응을 개선하죠 macOS와 iOS에서 게임을 전체 화면으로 실행하면 자동으로 게임 모드가 실행됩니다 게임 모드 배너는 모드가 실행 중임을 알려 줍니다 게임 모드를 활성화되도록 만드는 건 매우 간단합니다 게임의 info.plist 파일에 LSSupportsGameMode 키를 추가하고 true로 설정하세요 이렇게 하면 게임 모드가 시스템 리소스를 더 많이 할당해 성능이 향상되죠 하지만 자원을 효과적으로 관리해야 게임 세션 전반에 걸쳐 플레이어가 일관된 경험을 할 수 있습니다 이를 위해 Sustained Execution Mode를 시스템에 요청해 게임에서 활성화 시킬 수 있습니다 이 모드를 활성화하면 게임 실행 직후부터 시스템이 성능을 일정하게 유지하도록 조정됩니다 이 기능을 사용하면 실행 기기에 맞는 품질과 성능 수준을 빠르게 판단할 수 있습니다 이제 플레이어들이 일관된 경험을 할 수 있습니다 Sustained Execution Mode는 간단한 설정만으로 활성화됩니다 먼저 Xcode의 Signing & Capabilities 탭에서 해당 기능을 켜고 게임에 필요한 권한을 추가해 주세요 다음으로 Apple Developer 계정에 로그인해 해당 권한을 게임의 권한 설정 프로파일에 포함시킵니다 이제 게임과 OS가 함께 최적화된 게임 경험을 제공합니다
Apple Silicon은 다양한 기기에서 탁월한 전력 효율을 제공해 플레이어가 어디서든 좋아하는 게임을 즐길 수 있게 해 주죠 macOS 26에서 게임이 베터리 사용 중 많은 에너지를 소모할 때 플레이어에게 알림이 표시됩니다 알림을 통해 게임 저전력 모드로 전환할 수 있으며 최적화된 상태로 게임을 더 오래 즐길 수 있습니다
플레이 중에도 시스템 에너지 모드를 게임 오버레이 안에서 게임을 끄지 않고 유연하게 조정할 수 있습니다
그리고 플레이어의 게임 경험을 더 향상시키기 위해 저전력 모드에 게임이 자동으로 반응하도록 설정할 수 있습니다 시스템은 저전력 모드 상태를 감지하는 API를 제공합니다 NSProcessInfoPowerStateDidChange 알림을 기다리세요 저전력 모드가 활성화되면 예를 들어 품질 설정을 조정해 플레이 시간을 연장할 수 있습니다 통합 게임 플랫폼에서는 친구를 찾고 함께 플레이할 수 있는 다양한 방법이 있으며 그 중심엔 Game Center가 있습니다 플레이어와 친구들을 연결해 주는 Apple의 소셜 게임 네트워크로 지금 어떤 게임을 하는지 보거나 새로운 게임을 발견하거나 친구에게 도전할 수도 있죠 Game Center의 다양한 기능을 게임에 적용할 수 있습니다 예를 들면 도전과제, 리더보드 챌린지, 활동 등입니다 이 기능들로 플레이어는 진행 상황을 기록하고 높은 점수를 위해 경쟁하며 친구도 초대할 수 있죠 이제 Game Center 구성은 Xcode와 완전히 통합되었습니다 도전과제 생성, 현지화 설정 챌린지 구성 등이 가능하죠 모든 변경 사항은 코드 리뷰 및 버전 관리에도 반영됩니다 구성을 마쳤다면 새로운 Game Progress Manager를 활용해 출시 전 현지에서 먼저 테스트해 보세요 Game Center와 그 기능에 대해 더 알고 싶다면 “Game Center 시작하기” 영상을 참고하세요
Game Center와 연동된 게임은 시스템 전반에서 자동으로 노출됩니다 예를 들어 새롭게 선보이는 Apple Games 앱에서도요! Games 앱은 게임을 위한 새로운 올인원 플렛폼입니다 플레이어는 이곳에서 게임을 실행하고 새로운 게임을 발견하고 친구와 함께 플레이하며 더욱 게임을 즐길 수 있습니다 이 앱은 Mac, iPad, iPhone에 기본 탑재되며 운영 체제 전반, 위젯, 알림 App Store와도 통합되어 있습니다 예를 들어 게임을 끄지 않아도 게임 오버레이 내에서 리더보드 순위를 확인할 수 있죠
“Apple Games 앱으로 플레이어와 소통하기“ 영상을 참고하면 Games 앱에 게임을 등록하고 친구 네트워크를 통해 노출을 늘리는 방법을 알 수 있습니다 게임을 위해 설계된 시스템 환경을 바탕으로 게임의 잠재력을 최대한 끌어낼 수 있습니다 시스템 성능 기능으로 일관되고 부드러운 프레임 속도를 확보하고 소셜 기능을 활용해 커뮤니티를 만들고 플레이어 참여를 유도하죠 이제, 기존 기술과 새롭게 선보이는 게임 기술을 활용해 여러분의 게임과 플레이 경험을 한층 더 향상시키는 방법을 소개합니다 Apple 플랫폼에 최적화된 게임 경험 제공 방법은 게임용 휴먼 인터페이스 가이드라인에서 시작하세요 이 가이드는 플레이어 온보딩 화면 크기 대응 및 다양한 입력 방식 지원 등 여러 Apple 기기를 효과적으로 지원하는 방법을 포괄적으로 제공합니다 훌륭한 게임 경험은 정교한 게임 디자인과 이를 가능하게 하는 최적의 기술 활용이 결합된 결과입니다 플레이어가 게임을 설치하는 순간부터 진행 과정 전반에 걸쳐 모든 경험은 게임과의 상호작용에 의해 결정됩니다 고사양 게임은 초기 다운로드 용량이 크기 때문에 플레이어가 가능한 빠르게 게임을 시작할 수 있도록 설계하는 것이 중요합니다 저의 게임을 예로 들어보죠 실행 파일과 콘텐츠 패키지 내 수 GB의 텍스처 오디오 파일로 구성되어 풍부한 플레이 경험을 제공합니다 게임을 시작하기 전 다운로드에 시간이 오래 걸릴 수 있어 이를 개선하기 위해 콘텐츠를 두 부분으로 나눴습니다 이제 플레이어는 튜토리얼 레벨에 필요한 소량의 콘텐츠만 먼저 다운로드하면 됩니다 나머지 콘텐츠는 플레이어가 게임을 즐기는 동안 백그라운드에서 자동으로 다운로드됩니다 Apple 플랫폼에서는 Background Assets 프레임워크를 활용해 첫 실행부터 훌륭한 사용자 경험을 제공할 수 있죠 애셋을 기기에 어떻게 다운로드할지 설정하고 게임 시작에 필요한 콘텐츠를 우선순위로 지정할 수 있습니다 Background Assets를 통해 플레이어가 게임 내에서 잠금 해제할 수 있는 선택적 콘텐츠도 제공할 수 있죠 또한 게임 번들과는 별도로 게임 애셋만 개별적으로 업데이트할 수 있습니다
새 Managed Background Assets은 API를 개선하고 작업 흐름을 단순화하죠 TestFlight 또는 App Store에 등록된 게임은 최대 200GB의 Apple 호스팅 용량을 이용할 수 있습니다 API는 사용이 간편하며 애셋의 자동 비동기 업데이트와 시스템 관리를 기본적으로 지원합니다 Managed Background Assets은 Apple 플랫폼에서 게임 배포 시 사용하는 기존 워크플로에 긴밀하게 통합되어 있습니다 게임 콘텐츠 변경 사항을 TestFlight로 베타 테스트하고 App Store 심사를 통과하면 플레이어에게 제공될 수 있습니다 “Apple-Hosted Background Assets 알아보기“ 영상에서 자세한 내용을 확인하세요 Apple 플랫폼에서 게임이 돋보이는 이유는 macOS와 iOS를 손쉽게 지원하는 것뿐만이 아니라 플레이어의 모든 기기를 지원하는 게임 상태 동기화 때문입니다 예를 들어 플레이어가 집에서 게임을 시작해 이정표에 도달하여 게임을 저장하면 저장 데이터가 iCloud에 업로드 됩니다 그 다음, 플레이어가 버스를 타더라도 문제없죠 iPhone에서 게임을 열고 iCloud 저장 데이터를 불러오면 그 상태 그대로 플레이를 이어갈 수 있고 데이터는 계속 동기화됩니다 마지막으로, 플레이어가 카페에서 더 큰 화면으로 즐기기 위해 iPad로 게임을 실행시키면 iCloud에서 진행 상황을 불러와 이어서 플레이할 수 있습니다 기기 간 이동 중에도 진행 상황을 이어갈 수 있는 핵심은 클라우드 저장이며 새로운 GameSave 프레임워크를 사용하면 게임에 클라우드 저장 기능을 간편하게 구현할 수 있습니다 이 프레임워크는 iCloud 기반으로 동작하며 사용자 프라이버시와 데이터 보안을 고려해 설계되었습니다 동일한 iCloud 계정이 설정된 기기 간에 게임 데이터를 자동 저장 및 동기화하고 플레이어가 오프라인이거나 iCloud에서 로그아웃된 경우에도 정상 작동합니다
Game Save 프레임워크는 또한 기본 UI를 제공해 iCloud와의 저장 데이터 동기화 중 진행 상태를 표시하고 충돌 가능성 발생 시 플레이어에게 알림을 제공하며 해결 옵션을 안내하거나 iCloud에서 로그아웃 시 경고도 제공합니다 그리고 플레이어 경험을 커스텀 하려면 GameSave API를 사용해 게임 UI에 통합하고 커스텀 로직을 추가할 수 있습니다 Game Save 프레임워크는 게임에서 쉽게 활성화 가능하며 다음 몇 단계만 거치면 됩니다: 먼저 iCloud 권한을 게임에 추가하세요 Xcode의 Signing & Capabilities 에서 해당 기능을 활성화하고 iCloud 문서 프로젝트 설정에서 체크박스를 선택한 다음 iCloud 컨테이너 권한을 추가합니다 다음으로 Apple Developer 계정에 로그인해 해당 권한을 게임의 권한 설정 프로파일에 포함시킵니다 이제 GameSave 프레임워크를 사용할 준비가 완료됐습니다 이제 시작하는 방법을 보여드리죠 GameSave 프레임워크의 일반적인 사용 흐름에서 먼저 openDirectory를 호출합니다 GameSave는 백그라운드에서 사용자의 저장 데이터를 불러오기 시작하죠 GameSave가 동기화되는 동안 상태를 확인하고 사용자에게 경고창을 표시할 수 있습니다 마지막으로, 동기화가 완료되면 저장 데이터는 해당 URL에서 이용할 수 있습니다 예를 들어보죠 iCloud 동기화를 시작하려면 게임의 컨테이너 식별자를 사용해 openDirectoryForContainer를 호출합니다 GameSave 프레임워크가 백그라운드에서 동기화하는 동안 finishSyncing 완료 핸들러 호출과 후속 동기화 로직 추가가 가능하죠 클라우드 동기화가 완료되면 상태 확인과 오류 처리를 합니다 끝으로 디렉토리 상태 URL을 통해 플레이어의 저장 데이터로 갑니다 이제 게임은 저장 데이터를 모든 지원 기기에서 공유할 수 있으며 GameSave API의 기능은 프레임워크 문서에서 자세히 확인할 수 있습니다 플레이어가 게임과 상호작용하는 방식은 다양하며 각자 선호하는 방식으로 즐길 수 있도록 허용하는 것이 중요합니다 Apple 플랫폼은 키보드 마우스, 게임 컨트롤러 등 주변 입력 장치에 대한 포괄적인 지원을 제공합니다 다른 플랫폼에서 즐기듯 동일한 방식으로 게임을 플레이할 수 있도록 지원할 수 있습니다 Game Controller 프레임워크는 이러한 모든 입력 방식을 게임에 적용할 수 있도록 하는 API를 제공합니다 프레임워크의 유연한 설계는 이벤트 콜백 등록이나 플레이어 행동을 요청시 폴링하는 방식도 지원하죠 이 방식은 모든 Apple 플랫폼에서 플레이어 입력을 받을 때 선호되며 PlayStation DualSense 같은 최신 컨트롤러도 지원하죠! 마우스, 키보드, 컨트롤러 지원 외에도 Apple은 터치 중심 플랫폼에서 고사양 게임을 지원하는 데 강점을 가집니다 일부 플레이어는 iPhone이나 iPad에서 컨트롤러로 게임을 즐기겠지만 대부분의 사용자에겐 컨트롤러가 없을 가능성이 큽니다 이를 지원하기 위해 새로운 Touch Controls 프레임워크는 기존 게임에 터치 입력을 쉽게 추가할 수 있도록 합니다 다양한 버튼 유형과 동작이 일반적인 입력을 지원하며 각 버튼의 외형도 게임에 맞게 자유롭게 커스터마이즈할 수 있습니다 그리고 새로운 API는 Metal과 직접 통합되어 가능한 최상의 성능을 보장합니다 이 기능을 통해 플레이어에게 다양한 옵션을 제공할 수 있으며 터치로 플레이하길 원하거나 컨트롤러가 없어도 즐길 준비만 된다면 언제든 게임을 즐길 수 있습니다 Touch Controls 설정 방법은 문서에서 자세히 안내하고 있으니 꼭 확인하세요 “Apple 플랫폼을 위한 고사양 게임 디자인하기”를 꼭 시청해 게임에 대한 모범 사례를 더 알아보길 바랍니다 이 기술들을 활용하면 처음 게임을 시작하는 순간부터 플레이어 경험을 향상시킬 수 있고, 원하는 방식으로 게임을 진행하도록 만들 수 있습니다 이제 게임의 스토리를 전달하고 몰입감을 높이는 핵심 요소 그래픽에 대해 이야기해보죠 Metal은 Apple의 하위 수준 그래픽 및 컴퓨팅 API입니다 이 API는 최신 게임과 전문가용 앱을 포함한 복잡한 애플리케이션 세대를 구동합니다 Metal은 게임에서 동급 최상의 그래픽과 성능을 구현하는 데 필요한 모든 기능을 지원합니다 Metal 4 API는 리소스 관리와 셰이더 컴파일의 복잡성을 처리하고 그래픽 명령 인코딩 시 CPU 오버헤드를 줄이며 렌더링 파이프라인에 머신 러닝을 활용할 수 있게 해줍니다 ”살펴보기”를 통해 새로운 기능을 확인하세요 그래픽 효과가 점점 복잡해지며 프레임 예산을 지키는 일이 더 어려워졌지만 당연하게도 시각적 품질의 희생 없이 목표를 달성하고 싶을 겁니다 MetalFX upscaling을 통합하면 가능합니다 MetalFX는 낮은 해상도 이미지를 출력 해상도로 빠르게 스케일업해 전체 렌더링 시간도 단축할 수 있습니다 또한 공간 및 시간 업스케일링을 모두 지원하므로 화질과 성능 사이의 균형을 맞출 수 있습니다 MetalFX frame interpolation을 통합하면 게임의 프레임 속도를 더욱 향상시킬 수 있습니다 MetalFX upscaling과 함께 사용하면 성능 향상폭을 그보다 더 늘릴 수 있죠 frame interpolation을 사용해 중간 프레임을 생성하면 매 프레임의 직접 렌더링보다 훨씬 빠른 처리가 가능합니다 그리고 게임이 레이 트레이싱과 같은 그래픽 기술을 사용한다면 MetalFX denoising으로 화질을 향상시킬 수 있습니다 MetalFX는 업스케일링 과정 중 denoising을 지원하며 더 적은 광선으로 렌더링된 이미지의 노이즈를 제거해 풀 사이즈의 결과물을 제공합니다 Cyberpunk 2077이 최신 M4 Max MacBook Pro에서 실행 중입니다 이 게임은 놀라운 비주얼 구현을 위해 복잡한 기술들을 사용합니다 MetalFX 기능들과 함께 플레이어는 월등한 프레임 속도와 부드러움을 경험할 수 있습니다 ”Metal 4 게임 심화 기능 알아보기”를 참고하여 기존 및 신규 MetalFX 기능을 활성화 하고 성능과 품질을 높이세요 Game Porting Toolkit 3는 Metal 4도 지원합니다 Metal-cpp는 Game Porting Toolkit의 일부로 C++ 코드에 Metal을 통합할 수 있도록 해줍니다 Metal-cpp는 Metal 4를 완전하게 지원하며 이미 사용 중이면 바로 기능을 활성화할 수 있습니다 또한 Metal-cpp는 MetalFX의 denoising frame interpolation 같은 최신 기능도 지원합니다 Metal Shader Converter는 또 다른 유용한 도구로써 HLSL 셰이더를 Metal로 변환할 수 있게 해줍니다 Metal Shader Converter는 Metal 4를 지원하며 충돌 함수 버퍼를 사용해 기존 셰이더 바인딩 테이블을 Metal 레이 트레이싱으로 변환할 수 있죠 HLSL 코드에서 Metal 기능의 직접 활성화도 가능합니다
복잡한 로직이 있는 셰이더의 경우 함수 상수를 활용해 효율적으로 특수화하고 성능을 높일 수 있습니다 프레임 버퍼 가져오기를 통해 여러 렌더 패스의 결과를 효율적으로 결합하는 프로그래머블 블렌딩 같은 기법도 구현할 수 있습니다 이 두 기능 모두 엔진을 크게 수정하지 않고도 사용 가능하죠 “함수 상수 및 프레임버퍼 가져오기“와 ”충돌 함수 버퍼를 활용한 레이 트레이싱“ 샘플 코드를 첫 디딤돌로 활용하고 Game Porting Toolkit 3의 새로운 기능은 developer.apple.com/kr/games 공식 문서에서 확인해 게임 포팅 예제 코드를 활용해 바로 시작해보세요 Metal 4는 프로파일링 및 디버깅을 위한 포괄적인 도구들을 제공합니다 Runtime API 및 셰이더 검증 도구는 문제가 플래그 누락 또는 셰이더에 바인딩되지 않은 리소스 접근으로 발생했는지 알려 줍니다 Metal Performance HUD는 게임 성능을 실시간으로 분석하는 데 도움이 되는 다양한 지표를 보여 줍니다 Xcode의 Metal 디버거는 GPU 작업 프로파일링 데이터를 제공하고, 픽셀이 잘못 렌더링된 경우 단계별 디버깅도 지원합니다 Instruments의 Metal System Trace는 게임의 CPU 및 GPU 사용률에 대한 인사이트를 제공하며 개선 가능 지점을 파악할 수 있도록 도와줍니다 Metal Performance HUD는 게임의 성능을 요약해 보여주며 네이티브 빌드 프로파일링 중이든 Windows 게임 평가 환경을 사용 중이든 관계없이 활용할 수 있습니다 게임 성능 분석을 더 효율적으로 돕기 위해 네 가지 새로운 기능이 추가되었습니다 Metal Performance HUD는 이제 성능 인사이트를 지원하며 프레임 속도를 높이기 위한 게임 최적화 방법을 추천해 주며 셰이더 컴파일 횟수 같은 지표도 추가로 제공해 실시간 프레임 지연의 원인을 파악할 수 있습니다 모든 데이터를 성능 보고서로 집계해 나중에 검토할 수도 있죠 Metal Performance HUD의 표시 항목과 위치를 이제 원하는 대로 설정할 수 있습니다 직접 확인해보죠 이건 Metal Performance HUD가 활성화된 상태로 Mac에서 실행 중인 샘플입니다 글로벌 메뉴에서 HUD 외형을 조정하고 설정 패널에 접근할 수 있습니다 설정 패널에선 HUD 외형을 더 세밀하게 조정할 수 있습니다 예를 들어 여기선 추가 셰이더 컴파일러 지표를 활성화 해서 프레임 끊김이 셰이더 컴파일 때문인지 검증합니다 구성 패널의 Insights 탭에서 Performance Insights를 켤수 있죠 이 기능은 샘플의 Metal API 사용을 추적해 개선 가능 시 관련 문서를 안내해줍니다 이 데이터는 누적된 후 인사이트로 표시되며 자세한 내용과 추천 항목을 보여 줍니다 예를 들어 여기선 일부 셰이더가 런타임 중에도 컴파일되고 있어 성능 저하를 일으킬 수 있고 이런 상황을 피하고 싶습니다 Performance Insights는 네이티브 게임과 Windows 평가 환경에서 실행되는 게임 모두에서 사용 가능하죠 이를 활용해 개발 초기 단계에서 성능 개선 가능 지점을 파악할 수 있습니다 또한 Metal Performance HUD는 오프라인 검토용 성능 보고서를 생성할 수 있습니다! 글로벌 메뉴에서 샘플의 성능 보고서를 특정 시간 동안 생성하도록 설정할 수 있습니다 해당 시간이 지나면 보고서는 검토용 임시 폴더에 저장됩니다 생성된 보고서에는 Metal Performance HUD가 수집한 Performance Insights와 모든 지표가 포함됩니다 이 보고서를 통해 샘플의 시간 경과에 따른 성능, 비용이 많이 드는 렌더 또는 컴퓨팅 패스 파악 및 개선 가능성 확인이 가능하죠 Metal 4는 Apple Silicon 에서 풍부한 비주얼과 동급 최고 성능을 구현할 모든 기능을 갖췄습니다 부드럽고 민첩한 게임플레이를 위해 시스템 내장 기능을 적극 활용하세요 핵심 게임 기술을 통합하여 환상적인 플레이 경험을 제공하세요 그리고 Metal 4로 게임의 그래픽과 성능을 향상시키세요 “Metal 4 게임 알아보기“에서 다른 흥미로운 Metal 4 기능을 더 자세히 알아보세요 ”Apple Games 앱으로 플레이어와 소통하기”를 시청하여 플레이어들에게 게임의 노출도를 높이는 방법도 확인하세요 Apple 플랫폼에서 귀하의 다음 게임을 기대하겠습니다! 시청해 주셔서 감사합니다!
-
-
0:01 - React to Low Power Mode state
static let NSProcessInfoPowerStateDidChange: NSNotification.Name var isLowPowerModeEnabled: Bool { get }
-
12:13 - GameSave code sample
// Objective-C GameSave code sample #import <GameSave/GameSave.h> NSString* containerIdentifier = ///… container entitlement string, nil specifies the first in the entitlement array GSSyncedDirectory* directory = [GSSyncedDirectory openDirectoryForContainerIdentifier:containerIdentifier]; /// Where statusDisplay is an NSWindow or UIWindow where the alert will be anchored to [directory finishSyncing:statusDisplay completionHandler:^{ }]; GSSyncedDirectoryState* directoryState = [directory directoryState]; switch (directoryState.state) { case GSSyncStateError: error = directoryState.error; break; default: NSLog(@"Sync has finished"); } NSURL* saveURL = directoryState.url;
-
-
- 0:00 - 서론
그래픽, 성능, 소셜 플레이를 강화하는 새로운 게임 기능을 통해 모든 Apple 기기에서 최고의 게임 경험을 기대하는 플레이어의 기대를 충족할 수 있습니다.
- 1:19 - 시스템 경험
게임의 성능을 높여주고, 플레이어가 게임을 하는 동안 기기를 최대한 활용할 수 있게 지원하며, 게임의 지속적인 성능을 향상시켜 주는 내장형 시스템 기능을 활용할 수 있습니다. 또한, 플레이어가 게임에 더 많이 참여하고 시스템 전반에서 게임의 가시성을 높이는 소셜 기능을 추가할 수도 있습니다.
- 1:39 - 성능 개선하기
게임은 별다른 노력을 기울이지 않아도 게임의 성능을 높여주는 시스템 기능에 액세스할 수 있습니다. macOS 및 iOS의 게임 모드는 백그라운드 활동을 줄이고 Bluetooth 지연 시간을 개선하여 전체 화면 모드에서 실행되는 게임의 시스템 동작을 최적화합니다. 지속 실행 모드를 사용하면 게임이 OS와 긴밀히 작동하여 플레이어에게 일관된 성능 환경을 제공할 수 있습니다. 저전력 모드는 플레이어가 배터리 전원을 소비하면서 더 오랫동안 플레이 세션을 즐길 수 있다는 것을 의미합니다.
- 4:26 - 플레이어 참여 유도하기
Game Center는 Apple의 소셜 게임 네트워크로, 플레이어들이 서로 교류하고, 경쟁하며, 게임 전반의 진행 상황을 추적할 수 있도록 지원합니다. Xcode와 통합되어 설정이 간편합니다. Game Center 및 소셜 기능을 도입한 게임은 새로운 Apple Games 앱 및 새로운 게임 오버레이에서 가시성이 확대됩니다.
- 6:43 - 게임 기술
휴먼 인터페이스 가이드라인을 확인하여 Apple 플랫폼에 특화된 훌륭한 경험을 제공하는 방법을 알아보세요.
- 7:33 - 플레이 시작하기
훌륭한 플레이어 경험은 게임이 처음 출시될 때부터 시작됩니다. 대규모로 다운로드하는 하이엔드 게임의 경우, 콘텐츠를 필수적인 부분과 필수적이지 않은 부분으로 나누세요. 그러면 플레이어는 게임의 나머지 부분이 백그라운드에서 다운로드되는 동안 첫 번째 수준의 플레이를 시작할 수 있습니다. 새로운 Managed Background Assets 프레임워크를 사용하면 콘텐츠의 우선순위를 지정하고, 선택적 다운로드를 제공하며, 애셋을 개별적으로 업데이트할 수 있어 이러한 프로세스가 용이해집니다.
- 9:31 - 어디서든 플레이하기
새로운 GameSave 프레임워크를 사용하면 기기 전반에서 게임을 원활하게 클라우드에 저장할 수 있습니다. 플레이어는 여러 Apple 기기에서 게임을 즐길 수 있고 중단했던 부분부터 바로 게임을 이어 시작할 수 있습니다.
- 12:52 - 선호하는 방식으로 플레이하기
Apple 플랫폼은 Game Controller 및 Touch Controls 프레임워크를 통해 키보드, 마우스, 게임 컨트롤러, 터치 등 다양한 입력 방법을 지원합니다. 이러한 프레임워크를 사용하면 물리적 컨트롤러든 터치스크린이든 상관없이 플레이어의 선호도에 맞는 게임을 만들 수 있어 모든 Apple 기기에서 원활한 경험을 보장합니다.
- 14:56 - 그래픽
Metal 4는 최신 고급 게임을 구동하는 저수준 그래픽 및 컴퓨팅 API입니다. 점점 복잡해지는 최신 그래픽 렌더링을 처리하도록 고안되어 CPU 오버헤드를 줄이고 렌더링 파이프라인에서 머신 러닝을 활용하도록 지원합니다. 시각적 품질을 유지하면서도 높은 프레임 속도를 달성하려면 게임에 MetalFX Upscaling 지원을 통합하세요. MetalFX는 낮은 해상도의 이미지를 대상 출력 해상도까지 효율적으로 확장하여 시각적 품질 및 성능 간의 균형을 맞춥니다. 또한, MetalFX Frame Interpolation은 중간 프레임을 생성함으로써 프레임 속도를 더욱 높일 수 있습니다. Game Porting Toolkit 3는 Metal 4를 지원하기 때문에 Metal을 기존 C++ 코드베이스에 더 쉽게 통합할 수 있습니다. Metal 셰이더 변환기와 같은 도구는 HLSL 셰이더를 Metal로 변환하는 데 도움이 되고 Metal Performance HUD는 실시간 성능 지표 및 통찰력을 제공하기 때문에 게임을 디버깅하고 최적화할 수 있습니다. Metal Performance HUD에는 성능 통찰력, 총 성능 보고서, 사용자 정의 옵션 등 새로운 기능이 추가되어 게임 성능을 효과적으로 분석하고 데이터 기반으로 개선할 수 있습니다.
- 22:31 - 다음 단계
게임 지원 시스템 기능 사용, 소셜 플레이 추가, 다양한 입력 방식 지원, Metal 4를 통한 그래픽 향상을 통해 모든 Apple 기기에서 최상의 플레이어 경험을 제공하세요. WWDC에서 관련 Metal 4 및 게임 세션을 확인하시기 바랍니다.