# เกม Instant และเกมทั่วไปบน PlayDrop

อะไรทำให้เกม PlayDrop เป็นเกม Instant: เล่นแนวตั้ง ผู้เยี่ยมชมเล่นได้ ไฟล์เริ่มต้นไม่เกิน 10 MiB และเริ่มได้ในสองวินาที และต่างจากเกมทั่วไปอย่างไร

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

เกม Instant คือเกมแนวตั้งสั้นๆ ในฟีด Instant ของแอป PlayDrop บนโทรศัพท์: ผู้เล่นปัดหน้าจอแล้วเกมถัดไปก็เล่นอยู่แล้ว เกมอื่นทั้งหมดเป็นเกมทั่วไป ซึ่งเปิดจากหน้าเกม การค้นหา หรือลิงก์ ทั้งสองแบบเผยแพร่ด้วยวิธีเดียวกัน การเป็น Instant เป็นคุณสมบัติของแต่ละเวอร์ชัน

## Instant หรือทั่วไป

| | Instant | ทั่วไป |
|---|---|---|
| เล่นได้ที่ไหน | ฟีด Instant รวมถึงทุกที่ที่เกมทั่วไปเล่นได้ | หน้าแรก การค้นหา หน้าเกม ลิงก์ |
| แนวหน้าจอ | แนวตั้งเป็นหลัก | หน้าจอใดก็ได้ที่ประกาศไว้ |
| การเข้าสู่ระบบ | ผู้เยี่ยมชมเล่นได้ | `authMode` แบบใดก็ได้ |
| การเริ่มเกม | เล่นได้ภายใน 2 วินาที | ไม่จำกัด แต่ยิ่งเร็วยิ่งดี |
| ไฟล์เริ่มต้น | ไม่เกิน 10 MiB | ไม่จำกัดขนาดไฟล์เริ่มต้น |
| ป้าย | ป้ายสายฟ้า | ไม่มี |

เกมที่ไม่ผ่านเกณฑ์ Instant ยังคงเผยแพร่เป็นเกมทั่วไป

## ข้อกำหนด

```json
{
  "primarySurface": "MOBILE_PORTRAIT",
  "surfaceTargets": { "desktop": true, "mobileLandscape": false, "mobilePortrait": true },
  "authMode": "OPTIONAL",
  "instant": true,
  "prefetch": { "required": ["game.js", "atlas.png"], "optional": ["music.mp3", "levels/world-2.json"] }
}
```

- `primarySurface` เป็น `MOBILE_PORTRAIT` และเกมรองรับโทรศัพท์แนวตั้ง
- `authMode` เป็น `OPTIONAL` หรือ `NONE` เพื่อให้ผู้เยี่ยมชมเล่นได้
- ไฟล์เริ่มต้นรวมกันไม่เกิน 10 MiB: หน้าเริ่มต้นบวก `prefetch.required` หรือทุกไฟล์ที่อัปโหลดเมื่อไม่ได้ระบุไว้
- `instant: true` ใช้ขอรับสิทธิ์

การอัปโหลดจะตรวจสอบขนาด และ `instant` กับ `instantReason` ในใบยืนยันจะรายงานผล หลังปล่อยเวอร์ชันแล้ว PlayDrop จะวัดการเริ่มเกมจริงในแอป: เมื่อเวอร์ชันหนึ่งมีการเริ่มเกมจากไฟล์ที่ดาวน์โหลดแล้วครบ 20 ครั้ง และมากกว่าหนึ่งในสี่ใช้เวลา 2 วินาทีขึ้นไป เวอร์ชันนั้นจะเสียป้าย เวอร์ชันใหม่มีสิทธิ์ผ่านเกณฑ์ได้อีกครั้ง

## เริ่มให้เร็ว

- ใส่ด่านหลังๆ เพลง และส่วนเสริมไว้ใน `prefetch.optional` แล้วโหลดหลัง `ready()`
- คอมไพล์เชเดอร์และอุ่นเครื่องให้เสร็จก่อนเรียก `ready()` เพื่อไม่ให้เฟรมแรกๆ กระตุก
- แสดงการเล่นทันที: ไม่มีหน้าจอชื่อเกม ไม่มีเมนู ไม่มีหน้าบังคับเข้าสู่ระบบก่อนผู้เล่นได้ลงมือเล่นครั้งแรก
- ทำให้ช่วงวินาทีแรกเข้าใจได้เองโดยไม่ต้องมีข้อความ
- อัดวิดีโอการเล่นแนวตั้งไว้สำหรับหน้าเกม ฟีดจะใช้วิดีโอนี้

ดู[การโหลด การหยุดชั่วคราว และเสียง](https://www.playdrop.ai/th/create/learn/lifecycle)สำหรับการโหลดล่วงหน้า และ[เต็มหน้าจอและพื้นที่ปลอดภัย](https://www.playdrop.ai/th/create/learn/viewport)สำหรับเลย์เอาต์แนวตั้ง

## คู่มือที่เกี่ยวข้อง

- [การโหลด การหยุดชั่วคราว และเสียง](https://www.playdrop.ai/th/create/learn/lifecycle): เริ่มต้น PlayDrop SDK ส่งสัญญาณ ready ที่เฟรมแรกที่เล่นได้ หยุดชั่วคราวและเล่นต่ออย่างเรียบร้อย ทำตามนโยบายเสียง และโหลดไฟล์ล่วงหน้าเพื่อเล่นออฟไลน์
- [เต็มหน้าจอและพื้นที่ปลอดภัย](https://www.playdrop.ai/th/create/learn/viewport): ทำให้เกม PlayDrop เต็มหน้าจอ เก็บ HUD ไว้ในพื้นที่ปลอดภัยของ CSS และไม่ทับปุ่มควบคุมของโฮสต์ด้วย reservedCorners ที่ SDK วัดให้
- [ภาพและวิดีโอของหน้าเกม](https://www.playdrop.ai/th/create/learn/listing-assets): ภาพและวิดีโอที่หน้าเกม PlayDrop มีได้ พาธ รูปแบบ และแนวหน้าจอ และวิธีทำภาพที่ใช้ได้ดีในฟีด การค้นหา และภาพตัวอย่าง
- [catalogue.json](https://www.playdrop.ai/th/create/learn/catalogue-json): ฟิลด์ catalogue.json ที่เกม PlayDrop ใช้: ตัวตน หน้าเกม โหมดการเล่น หน้าจอ การเข้าสู่ระบบ Instant การโหลดล่วงหน้า สื่อ คำแปล คะแนน และเซิร์ฟเวอร์
