Ghid pentru jocuri

Construiește un joc interactiv TikTok LIVE

Lasă spectatorii să-ți controleze jocul prin comenzi în chat, cadouri și like-uri. Funcționează cu Unity, C++, browsere web și orice motor compatibil cu WebSocket.

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 Engine

Opț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_count ca 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.