Guia para game devs

Crie um jogo interativo para TikTok LIVE

Deixe os espectadores controlarem o seu jogo com comandos no chat, presentes e curtidas. Funciona com Unity, C++, navegadores e qualquer engine com suporte a WebSocket.

O que são jogos de TikTok LIVE?

Jogos interativos do TikTok LIVE são experiências controladas pelos espectadores, em que as ações do público afetam o jogo diretamente. Quando os espectadores mandam mensagens no chat, presentes, curtidas ou seguem o streamer, esses eventos disparam reações no jogo - surgem inimigos, o cenário muda ou personagens são controlados.

Exemplos populares:

  • Batalhas controladas pelo chat - os espectadores digitam comandos para entrar em times e lutar
  • Efeitos disparados por presentes - mandar uma Rosa gera um item, um Universo dispara uma luta contra o chefão
  • Chuva de curtidas - as curtidas mudam a gravidade, a velocidade ou a dificuldade
  • Alertas de seguidores - novos seguidores geram NPCs aliados

Como funciona

O seu jogo conecta na API do TikTools via WebSocket e recebe eventos em tempo real da live do TikTok. Cada evento traz o usuário do espectador, a ação que ele fez e os dados relevantes (valor do presente, mensagem do 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ção 1: Jogo web (JavaScript)

O jeito mais simples - conecte direto de um navegador ou de um 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ção 2: Unity (C#)

Use a conexão WebSocket pura a partir do Unity - sem precisar de plugin extra:

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

Dicas de game design

  • Mostre quem assiste - exiba no jogo o usuário de quem mandou o presente ou a mensagem, para os espectadores se sentirem reconhecidos
  • Escale com o público - use eventos viewer_count para ajustar a dificuldade dinamicamente
  • Faixas de presentes - associe os valores dos presentes do TikTok (1💎 = pequeno, 10💎 = médio, 100💎+ = épico) a efeitos no jogo
  • Cooldowns - evite spam com cooldowns por usuário nos comandos do chat
  • Feedback visual - sempre mostre o que aconteceu quando um espectador interage, para o público continuar engajado

Perguntas frequentes

Preciso da API oficial do TikTok para fazer um jogo de LIVE?

Não. O TikTok não oferece uma API pública para eventos de LIVE. O TikTool oferece uma API de terceiros gerenciada com entrega via WebSocket que funciona com qualquer engine de jogo. Uma avaliação de 7 dias no Sandbox basta para prototipar o seu jogo.

Quais eventos posso usar no meu jogo?

Todos os eventos: chat, gift, like, follow, share, member (entrada), viewer_count. Veja a Referência de eventos para a documentação completa.

Posso usar com Godot, GameMaker ou outras engines?

Pode. Qualquer engine com suporte a conexões WebSocket pode usar a API do TikTool. Conecte em wss://api.tik.tools e faça o parse das mensagens JSON. Não precisa de SDK.