Guida game dev

Crea un gioco interattivo per TikTok LIVE

Fai controllare il tuo gioco agli spettatori con comandi in chat, regali e like. Funziona con Unity, C++, browser web e qualsiasi motore che supporti WebSocket.

Cosa sono i giochi per TikTok LIVE?

I giochi interattivi per TikTok LIVE sono esperienze controllate dagli spettatori, in cui le azioni del pubblico influenzano direttamente il gameplay. Quando gli spettatori scrivono in chat, inviano regali, mettono like o seguono lo streamer, quegli eventi attivano reazioni nel gioco: compaiono nemici, cambia l'ambiente o si controllano i personaggi.

Esempi popolari:

  • Sfide controllate dalla chat: gli spettatori scrivono comandi per entrare in una squadra e combattere
  • Effetti attivati dai regali: una Rosa fa comparire un oggetto, un Universo scatena il boss finale
  • Pioggia di like: i like cambiano gravità, velocità o difficoltà
  • Avvisi di follow: i nuovi follower fanno comparire NPC alleati

Come funziona

Il tuo gioco si collega all'API TikTools via WebSocket e riceve eventi in tempo reale dalla LIVE di TikTok. Ogni evento include lo username dello spettatore, l'azione compiuta e i dati rilevanti (valore del regalo, messaggio in chat, ecc.).

// 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

Opzione 1: Gioco web (JavaScript)

L'approccio più semplice: collegati direttamente da un browser o da 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!')

Opzione 2: Unity (C#)

Usa la connessione WebSocket diretta da Unity, senza plugin aggiuntivi:

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
    }
}

Consigli di game design

  • Mostra i nomi: mostra nel gioco lo username di chi regala o scrive, così gli spettatori si sentono riconosciuti
  • Adatta al numero di spettatori: usa gli eventi viewer_count per regolare la difficoltà in modo dinamico
  • Fasce di regali: associa i valori dei regali TikTok (1💎 = piccolo, 10💎 = medio, 100💎+ = epico) agli effetti nel gioco
  • Cooldown: evita lo spam aggiungendo un cooldown per utente sui comandi in chat
  • Feedback visivo: mostra sempre cosa è successo quando uno spettatore interagisce, così il pubblico resta coinvolto

FAQ

Mi serve l'API ufficiale di TikTok per creare un gioco per le LIVE?

No. TikTok non offre un'API pubblica per gli eventi delle LIVE. TikTool fornisce un'API di terze parti gestita, con consegna via WebSocket, che funziona con qualsiasi motore di gioco. Una valutazione Sandbox gratuita di 7 giorni basta per creare un prototipo del tuo gioco.

Quali eventi posso usare nel mio gioco?

Tutti gli eventi: chat, gift, like, follow, share, member (ingresso), viewer_count. Vedi il Riferimento eventi per la documentazione completa.

Posso usarlo con Godot, GameMaker o altri motori?

Sì. Qualsiasi motore che supporti connessioni WebSocket può usare l'API TikTool. Collegati a wss://api.tik.tools e fai il parsing dei messaggi JSON. Nessun SDK richiesto.