TikTok LIVE Oyunları Nedir?
TikTok LIVE etkileşimli oyunları, izleyicilerin eylemlerinin oynanışı doğrudan etkilediği, izleyici kontrollü deneyimlerdir. İzleyiciler sohbet mesajı, hediye ya da beğeni gönderdiğinde veya yayıncıyı takip ettiğinde bu olaylar oyun içinde tepkileri tetikler: düşman çıkarmak, ortamı değiştirmek ya da karakterleri yönetmek gibi.
Popüler örnekler:
- Sohbetle yönetilen savaşlar - izleyiciler takımlara katılmak ve savaşmak için komut yazar
- Hediyeyle tetiklenen efektler - Gül göndermek bir eşya çıkarır, TikTok Universe bir boss savaşı başlatır
- Beğeni yağmurları - beğeniler yerçekimini, hızı ya da zorluğu etkiler
- Takip uyarıları - yeni takipçiler dost NPC'ler çıkarır
Nasıl Çalışır
Oyunun TikTools API'ye WebSocket ile bağlanır ve TikTok LIVE yayınından anlık olaylar alır. Her olay izleyicinin kullanıcı adını, yaptığı eylemi ve ilgili veriyi (hediye değeri, sohbet mesajı vb.) içerir.
// The flow:
// 1. Viewer watches TikTok LIVE stream
// 2. Viewer sends a gift/chat/like
// 3. TikTool API delivers the event via WebSocket
// 4. Your game receives the event and responds
TikTok LIVE → TikTool API → WebSocket → Your Game EngineSeçenek 1: Web Oyunu (JavaScript)
En basit yol: doğrudan bir tarayıcıdan ya da Node.js arka ucundan bağlan:
import { TikTokLive } from '@tiktool/live'
const client = new TikTokLive({
uniqueId: 'streamer_username',
apiKey: process.env.TIKTOOL_API_KEY
})
// Gift → Spawn an item based on gift value
client.on('gift', (event) => {
const item = event.diamondCount >= 100
? 'boss_enemy'
: event.diamondCount >= 10
? 'power_up'
: 'small_coin'
spawnItem(item, event.nickname)
console.log(`${event.nickname} spawned a ${item} with ${event.giftName}!`)
})
// Chat → Let viewers vote or issue commands
client.on('chat', (event) => {
const cmd = event.comment.toLowerCase().trim()
if (cmd === '!join') {
addPlayer(event.nickname, event.userId)
} else if (cmd === '!left' || cmd === '!right') {
movePlayer(event.nickname, cmd.replace('!', ''))
}
})
// Like → Increase game speed or difficulty
client.on('like', (event) => {
increaseDifficulty(event.totalLikeCount)
})
// Viewer count → Scale the challenge
client.on('viewer_count', (event) => {
setEnemySpawnRate(event.viewerCount / 100)
})
await client.connect()
console.log('🎮 Game connected to TikTok LIVE!')Seçenek 2: Unity (C#)
Unity'den ham WebSocket bağlantısını kullan, ek eklenti gerekmez:
using System;
using UnityEngine;
using NativeWebSocket; // Install via Package Manager
public class TikTokLiveGame : MonoBehaviour
{
WebSocket ws;
async void Start()
{
ws = new WebSocket(
"wss://api.tik.tools?uniqueId=streamer_username&apiKey=YOUR_API_KEY"
);
ws.OnMessage += (bytes) =>
{
var json = System.Text.Encoding.UTF8.GetString(bytes);
var msg = JsonUtility.FromJson<TikToolEvent>(json);
switch (msg.@event)
{
case "gift":
SpawnGiftEffect(msg.data.giftName, msg.data.diamondCount);
break;
case "chat":
ProcessChatCommand(msg.data.comment, msg.data.user.nickname);
break;
case "like":
IncreaseDifficulty();
break;
}
};
await ws.Connect();
Debug.Log("Connected to TikTok LIVE!");
}
void Update()
{
#if !UNITY_WEBGL || UNITY_EDITOR
ws?.DispatchMessageQueue();
#endif
}
}Oyun Tasarımı İpuçları
- İzleyici adlarını göster - destekçinin ya da yazanın kullanıcı adını oyunda göster, izleyiciler fark edildiklerini hissetsin
- İzleyiciye göre ölçekle - zorluğu dinamik olarak ayarlamak için
viewer_countolaylarını kullan - Hediye kademeleri - TikTok hediye değerlerini (1💎 = küçük, 10💎 = orta, 100💎+ = efsane) oyun içi efektlere eşle
- Bekleme süreleri - spam'i önlemek için sohbet komutlarına kullanıcı başına bekleme süresi ekle
- Görsel geri bildirim - bir izleyici etkileşime girdiğinde ne olduğunu her zaman göster, izleyicinin ilgisi canlı kalsın
SSS
LIVE oyunu yapmak için TikTok'un resmi API'sine ihtiyacım var mı?
Hayır. TikTok, LIVE yayın olayları için herkese açık bir API sunmuyor. TikTool, her oyun motoruyla çalışan, WebSocket iletimli, yönetilen bir üçüncü taraf API sağlar. Oyununun prototipini yapmak için ücretsiz 7 günlük Sandbox değerlendirmesi yeterli.
Oyunumda hangi olayları kullanabilirim?
Tüm olayları: chat, gift, like, follow, share, member (katılım), viewer_count. Eksiksiz dokümantasyon için Olay Referansı sayfasına bak.
Bunu Godot, GameMaker ya da başka motorlarla kullanabilir miyim?
Evet. WebSocket bağlantısını destekleyen her motor TikTool API'yi kullanabilir. wss://api.tik.tools adresine bağlan ve JSON mesajlarını ayrıştır. SDK gerekmez.