# PlayDrop이 게임에 더해 주는 것

SDK, catalogue.json, 호스팅으로 PlayDrop 게임이 할 수 있는 일, 각 기능이 작동하는 곳, 기능별 가이드: 저장, 순위표, 파티, 서버, 수익 등.

Source: https://www.playdrop.ai/ko/create/learn/playdrop-games

PlayDrop 게임은 PlayDrop이 호스팅하고 등록하며, 웹사이트와 iOS, Android, Windows, macOS용 PlayDrop 앱에서 실행하는 웹 게임입니다. 앱에서는 게임이 브라우저 주소창 없이 전체 화면으로 플레이됩니다. 별도의 네이티브 빌드가 아니라, 앱의 게임 화면에서 실행되는 같은 웹 게임입니다. 이 페이지는 PlayDrop이 더해 줄 수 있는 것과 각 부분을 설명하는 문서를 정리합니다.

## 두 가지 방식

| | 간단한 HTML | 패키지 |
|---|---|---|
| 보내는 것 | 최대 10 MiB의 독립 실행형 HTML 파일 하나 | catalogue.json이 들어 있는 빌드 폴더, ZIP 또는 .play |
| PlayDrop SDK | 아니요 | 예, 아래의 모든 기능 |
| 등록 정보 이미지와 동영상 | 아니요 | 예 |
| 호스팅 게임 서버 | 아니요 | 예 |
| 가이드 | [간단한 HTML 게임](https://www.playdrop.ai/ko/create/learn/html-games) | [패키징](https://www.playdrop.ai/ko/create/learn/packaging) |

어떤 게임이든 간단한 방식으로 시작했다가 나중에 같은 이름과 링크를 유지한 채 패키지로 바꿀 수 있습니다.

## 플레이어가 얻는 것

| 기능 | 플레이어에게 주는 것 | 가이드 |
|---|---|---|
| 호스트 수명 주기 | 깔끔한 일시 정지와 재개, 플레이어의 음소거를 따르는 오디오, 빠른 첫 프레임 | [로딩, 일시 정지, 오디오](https://www.playdrop.ai/ko/create/learn/lifecycle) |
| 전체 화면 레이아웃 | 노치와 PlayDrop 컨트롤을 피한 HUD로 화면 끝까지 플레이 | [전체 화면과 안전 영역](https://www.playdrop.ai/ko/create/learn/viewport) |
| 클라우드 저장 | 기기를 바꿔도 이어지는 진행 상황 | [클라우드 저장](https://www.playdrop.ai/ko/create/learn/cloud-saves) |
| 순위표 | 최고 점수와 플레이어의 순위 | [순위표](https://www.playdrop.ai/ko/create/learn/leaderboards) |
| 업적 | 아이콘과 진행도가 있는 목표 | [업적](https://www.playdrop.ai/ko/create/learn/achievements) |
| 공유와 초대 | 이미지나 클립이 담긴 공유 시트, 친구 초대, 채팅의 게임 카드 | [공유, 친구, 초대](https://www.playdrop.ai/ko/create/learn/social) |
| 온라인 파티와 음성 채팅 | 친구들이 같은 방에 함께 참가하고, 원하면 방 음성 채팅도 사용 | [온라인 파티와 음성 채팅](https://www.playdrop.ai/ko/create/learn/online-party) |
| 로컬 파티와 컨트롤러 | 한 화면에서 게임패드와 휴대폰을 컨트롤러로 사용 | [로컬 파티와 컨트롤러](https://www.playdrop.ai/ko/create/learn/local-party) |
| 실시간 서버 | 게임마다 MongoDB 데이터베이스가 딸린 Colyseus 방 | [실시간 게임 서버](https://www.playdrop.ai/ko/create/learn/game-servers) |
| 리뷰, 팁, 구매, 광고 | 플레이어가 게임을 응원하는 방법, 크리에이터에게는 크레딧 | [수익화](https://www.playdrop.ai/ko/create/learn/monetization) |
| 에셋과 AI 생성 | 공유 에셋, 생성된 미디어, 플레이어 창작물 | [게임 에셋](https://www.playdrop.ai/ko/create/learn/game-assets), [AI 에셋](https://www.playdrop.ai/ko/create/learn/ai-assets), [사용자 지정 형식](https://www.playdrop.ai/ko/create/learn/custom-assets) |

## 등록 정보가 얻는 것

catalogue.json은 게임에 페이지를 만들어 줍니다. 제목, 설명, 장르와 [태그](https://www.playdrop.ai/ko/create/learn/tags), [아이콘, 대표 아트, 스크린샷, 동영상](https://www.playdrop.ai/ko/create/learn/listing-assets), [번역](https://www.playdrop.ai/ko/create/learn/localization), [인스턴트](https://www.playdrop.ai/ko/create/learn/instant-games) 자격이 들어갑니다. [공개 범위](https://www.playdrop.ai/ko/create/learn/distribution)는 누가 게임을 열 수 있는지 정합니다. 비공개는 테스트용, 일부 공개는 링크가 있는 누구나, 공개는 PlayDrop에서 발견될 수 있고 검색 엔진에도 열립니다. 공개로 등록하면 발견될 기회가 생기지만 플레이어가 보장되지는 않습니다.

## 기능별 작동 위치

웹사이트와 앱은 같은 SDK로 같은 게임을 실행하지만, 일부 호스트 기능은 기기에 따라 다릅니다.

- 햅틱은 네이티브 앱에서만 작동합니다. `sdk.haptics.supported`로 확인할 수 있습니다.
- 동영상 클립 공유는 호스트에 따라 다릅니다. 지원하지 않는 호스트는 일반 링크를 공유하는 대신 거부합니다.
- 오프라인 플레이와 파일 미리 로드는 이를 선언한 게임에 한해 네이티브 앱에서 이루어지며, 웹사이트는 게임을 온라인으로 불러옵니다.
- 방 음성 채팅과 파티는 호스트 빌드, 로그인 여부, 플랫폼 배포 범위에 따라 다릅니다.
- 광고는 호스트와 사용 가능한 광고 물량에 따라 다릅니다. 준비된 광고가 없으면 `load()`가 알려 줍니다.

선택 서비스가 없어도 게임을 플레이할 수 있게 설계하세요.

## SDK로 시작하기

SDK를 로드하고 호스트 상태를 읽은 다음, 설계한 첫 프레임이 화면에 나타나면 준비를 알리세요.

```html
<script src="https://assets.playdrop.ai/sdk/playdrop.js"></script>
<script type="module">
  const sdk = await playdrop.init();
  // Set up pause, audio and HUD from sdk.host, then render the first frame.
  sdk.host.ready();
</script>
```

[로딩, 일시 정지, 오디오](https://www.playdrop.ai/ko/create/learn/lifecycle)로 이어서 읽으세요. [클라이언트 SDK 참조](https://www.playdrop.ai/ko/create/learn/sdk)에 모든 네임스페이스가 나와 있습니다.

## 커넥터가 할 수 없는 것

AI 앱은 빌드된 게임을 게시하고 계정을 읽습니다. PlayDrop Studio에서 만든 게임을 열거나 바꿀 수 없고, 소스 코드를 돌려주거나 실행 가능한 3D 모델 코드를 업로드할 수도 없습니다. 이 제한은 플랫폼이 아니라 커넥터의 제한입니다. Studio와 PlayDrop 자체 도구로는 여전히 할 수 있습니다.

## 관련 가이드

- [간단한 HTML 게임](https://www.playdrop.ai/ko/create/learn/html-games): upload_game으로 10 MiB 이하의 독립 실행형 HTML 파일 하나를 게시하세요. 적합한 게임, 미니 카탈로그, 공개 범위, 업데이트, 패키지로 바꿀 때를 다룹니다.
- [패키징과 .play](https://www.playdrop.ai/ko/create/learn/packaging): catalogue.json을 루트에 둔 빌드 폴더, ZIP 또는 .play를 구성하고, 등록 정보 미디어와 서버를 선언한 뒤 prepare_catalogue_upload로 업로드하세요.
- [로딩, 일시 정지, 오디오](https://www.playdrop.ai/ko/create/learn/lifecycle): PlayDrop SDK를 초기화하고, 첫 플레이 가능 프레임에서 준비를 알리고, 깔끔하게 일시 정지·재개하고, 호스트 오디오 정책을 따르고, 네이티브·오프라인 플레이용 파일을 미리 로드하세요.
- [클라이언트 SDK](https://www.playdrop.ai/ko/create/learn/sdk): PlayDrop 브라우저 SDK 참조: 초기화, 호스트 수명 주기, 플레이어 신원과 저장, 기기와 컨트롤러, 소셜, 멀티플레이어, 상점, 광고, 순위표, 업적, 에셋, AI.
