Ce sunt jocurile TikTok LIVE?
Jocurile interactive TikTok LIVE sunt experiențe controlate de spectatori, în care acțiunile publicului influențează direct jocul. Când spectatorii trimit mesaje în chat, cadouri, like-uri sau încep să urmărească creatorul, aceste evenimente declanșează reacții în joc - apar inamici, se schimbă mediul sau sunt controlate personaje.
Exemple populare:
- Bătălii controlate din chat - spectatorii scriu comenzi ca să intre în echipe și să lupte
- Efecte declanșate de cadouri - un Rose face să apară un obiect, un Universe declanșează o luptă cu boss-ul
- Valuri de like-uri - like-urile influențează gravitația, viteza sau dificultatea
- Alerte de urmărire - urmăritorii noi fac să apară NPC-uri prietenoase
Cum funcționează
Jocul tău se conectează la TikTools API prin WebSocket și primește evenimente în timp real din LIVE-ul TikTok. Fiecare eveniment include numele de utilizator al spectatorului, acțiunea făcută și datele relevante (valoarea cadoului, mesajul din chat etc.).
// 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 EngineOpțiunea 1: Joc web (JavaScript)
Cea mai simplă variantă - conectează-te direct dintr-un browser sau dintr-un backend Node.js:
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!')Opțiunea 2: Unity (C#)
Folosește conexiunea WebSocket directă din Unity - nu e nevoie de niciun plugin suplimentar:
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
}
}Sfaturi de game design
- Afișează numele spectatorilor - afișează în joc numele de utilizator al gifterului sau al celui care scrie în chat, ca spectatorii să se simtă recunoscuți
- Scalează cu publicul - folosește evenimentele
viewer_countca să ajustezi dinamic dificultatea - Niveluri de cadouri - asociază valorile cadourilor TikTok (1💎 = mic, 10💎 = mediu, 100💎+ = epic) cu efecte din joc
- Timpi de așteptare - previne spamul adăugând un timp de așteptare per utilizator pentru comenzile din chat
- Feedback vizual - arată mereu ce s-a întâmplat când un spectator interacționează, ca publicul să rămână implicat
Întrebări frecvente
Am nevoie de API-ul oficial TikTok ca să fac un joc pentru LIVE?
Nu. TikTok nu oferă un API public pentru evenimentele din LIVE-uri. TikTool oferă un API administrat de terță parte, cu livrare prin WebSocket, care funcționează cu orice motor de joc. O evaluare Sandbox gratuită de 7 zile este suficientă ca să-ți faci un prototip al jocului.
Ce evenimente pot folosi în joc?
Toate evenimentele: chat, gift, like, follow, share, member (intrare), viewer_count. Vezi Referința evenimentelor pentru documentația completă.
Pot folosi asta cu Godot, GameMaker sau alte motoare?
Da. Orice motor care acceptă conexiuni WebSocket poate folosi TikTool API. Conectează-te la wss://api.tik.tools și parsează mesajele JSON. Nu e nevoie de SDK.