เล่นกับเพื่อนๆ บนเกมทันใจ

เกมทันใจมีหลากหลายวิธีในการโต้ตอบทางโซเชียลระหว่างผู้เล่น

ผู้เล่นที่เชื่อมต่อกัน

เมธอด FBInstant.player.getConnectedPlayersAsync() จะเรียกรายชื่อผู้ใช้ที่เชื่อมต่อกับผู้เล่นปัจจุบันผ่าน Messenger โดยเมธอดนี้จะส่งคืนเฉพาะผู้ใช้ที่เชื่อมต่อที่อนุญาตให้เกมเข้าถึงข้อมูลของตนได้

หมายเหตุ: เมธอดนี้จะไม่แยกแยะระหว่างผู้เล่นที่เล่นหรือไม่ได้เล่นอยู่ในบริบทเดียวกัน คุณสามารถดึงข้อมูลสำหรับบริบทที่เฉพาะได้จาก FBInstant.context.getPlayersAsync()

ดึงข้อมูลเพื่อนของผู้เล่น

FBInstant.player.getConnectedPlayersAsync()
  .then(function(players) {
    _leaderboard.render(players);
  }); 

ดึงข้อมูลผู้เล่นที่อยู่ในบริบท

FBInstant.context.getPlayersAsync()
  .then(function(players) {
    _leaderboard.render(players);
  }); 

การเปลี่ยนบริบท

คุณสามารถเล่นเกมทันใจได้ในหลายบริบทที่แตกต่างกัน เช่น การสนทนาใน Messenger หรือสตอรี่ในฟีด การเรียกใช้ SDK ด้านล่างช่วยให้คุณสามารถเปลี่ยนบริบทจากเซสชั่นใดก็ได้โดยไม่คำนึงถึงจุดเริ่มต้น ซึ่งหมายความว่าคุณอนุญาตให้ผู้เล่นของคุณเปลี่ยนไปที่การสนทนาอื่นได้โดยไม่ต้องออกจากเกมแล้วเปิดใหม่

เราขอเสนอเมธอดการเปลี่ยนแปลงบริบทที่แตกต่างกันสามแบบ:

  • FBInstant.context.chooseAsync() จะเปิดกล่องโต้ตอบแบบเนทีฟที่อนุญาตให้ผู้เล่นเลือกว่าต้องการเปลี่ยนเป็นการสนทนาใด
  • FBInstant.context.switchAsync(contextId) อนุญาตให้ผู้พัฒนาส่งผู้เล่นไปในบริบทที่กำหนดไว้ล่วงหน้า (ตัวอย่างเช่น เพื่อทำการแข่งขันต่อจากที่ได้เริ่มขึ้นก่อนหน้านี้ในการสนทนาอื่น)
  • FBInstant.context.createAsync(playerId) จะพยายามสร้างบริบทกับผู้เล่นที่ระบุ (ตัวอย่างเช่น สามารถใช้เพื่อเริ่มจับคู่ผู้เล่นกับเพื่อนที่แนะนำ)

การเล่นกับผู้เล่นอื่นโดยใช้ระบบการจับคู่

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

  1. การอัพเดตแบบปรับให้เข้ากับความต้องการส่วนบุคคลในบริบทดังกล่าวสามารถมอบจุดเริ่มต้นสำหรับการกลับเข้าเกมที่น่าดึงดูด
  2. การเล่นร่วมกับผู้คนช่วยกระตุ้นอัตราการใช้งานต่อเนื่อง เพราะผู้เล่นจะสนุกยิ่งขึ้นเมื่อได้เล่นด้วยกัน!

การเปลี่ยนแปลงเชิงสังคมที่มีความหมายในการเล่นเกมจะช่วยให้เกมทันใจของคุณเจิดจรัส และทำให้ผู้เล่นสนุกจนต้องแชร์เกมของคุณกับเพื่อนๆ ทุกคน

การใช้งานที่แนะนำ:

  1. ใช้ API การจับคู่เพื่อให้ผู้เล่นมีโอกาสได้สัมผัสกับประสบการณ์การเล่นร่วมกับผู้อื่นนอกเหนือไปจากการเล่นร่วมกับเพื่อน ซึ่งถือว่าเป็นประโยชน์อย่างยิ่งกับเกมที่ผลัดกันเล่นคนละตาและเกมแบบเล่นด้วยกันหลายคน แต่ก็ยังเหมาะกับเกมประเภทอื่นๆ ด้วย ในกรณีที่ผู้เล่นไม่มีเพื่อนที่เล่นเกมนั้น เพื่อนไม่ได้เล่นบ่อยมากพอ หรือผู้เล่นต้องการสัมผัสกับการเล่นในรูปแบบที่แตกต่างออกไป
  2. สลับให้ผู้เล่น AI เข้ามาแทน หากคู่แข่งที่สุ่มมานั้นออกจากเกมก่อนที่จะจบ

เมื่อเรียกใช้ matchPlayerAsync() เกมของคุณจะพยายามจับคู่ผู้เล่นปัจจุบันกับผู้เล่นรายอื่น เราได้เพิ่มพารามิเตอร์เพิ่มเติมเพื่อระบุว่าคุณต้องการให้เกมสลับไปใช้บริบทที่เพิ่งสร้างขึ้นใหม่ทันทีที่จับคู่ให้กับผู้เล่นได้สำเร็จหรือไม่ หรือรอจนกว่าผู้เล่นจะคลิกที่ข้อความ "เล่น"

กลไกการจับคู่มีอยู่ 2 แบบ ดังนี้

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

จำนวนผู้เล่นขั้นต่ำและสูงสุดที่เป็นค่าเริ่มต้นในเกมหนึ่งๆ คือ 2 คนและ 20 คนตามลำดับ ทั้งนี้ขึ้นอยู่กับจำนวนผู้เล่นที่พยายามจับคู่ในเวลาเดียวกัน คุณสามารถเปลี่ยนค่าได้ใน fbapp-config.json