Guía de desarrollo de juegos

Crea un juego interactivo para TikTok LIVE

Deja que los espectadores controlen tu juego con comandos de chat, regalos y likes. Funciona con Unity, C++, navegadores web y cualquier motor compatible con WebSocket.

¿Qué son los juegos de TikTok LIVE?

Los juegos interactivos de TikTok LIVE son experiencias controladas por los espectadores, donde las acciones del público afectan directamente a la partida. Cuando los espectadores envían mensajes en el chat, regalos, likes o siguen al streamer, esos eventos provocan reacciones en el juego: aparecen enemigos, cambia el entorno o se controlan personajes.

Algunos ejemplos populares:

  • Batallas controladas por el chat - los espectadores escriben comandos para unirse a equipos y pelear
  • Efectos activados por regalos - enviar una Rosa genera un objeto, un Universo desata una pelea contra el jefe
  • Lluvias de likes - los likes cambian la gravedad, la velocidad o la dificultad
  • Alertas de follows - los nuevos seguidores generan NPCs aliados

Cómo funciona

Tu juego se conecta a la API de TikTools por WebSocket y recibe eventos en tiempo real de la transmisión de TikTok LIVE. Cada evento incluye el usuario del espectador, la acción que hizo y los datos relevantes (valor del regalo, mensaje del 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

Opción 1: Juego web (JavaScript)

La forma más sencilla: conéctate directamente desde un navegador o un backend de 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!')

Opción 2: Unity (C#)

Usa la conexión WebSocket directa desde Unity, sin plugins adicionales:

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

Consejos de diseño de juegos

  • Muestra los nombres del público - muestra en el juego el usuario de quien envía el regalo o escribe en el chat para que se sienta reconocido
  • Escala con los espectadores - usa los eventos viewer_count para ajustar la dificultad de forma dinámica
  • Niveles de regalos - asocia los valores de los regalos de TikTok (1💎 = pequeño, 10💎 = mediano, 100💎+ = épico) con efectos en el juego
  • Tiempos de espera - evita el spam con tiempos de espera por usuario en los comandos del chat
  • Respuesta visual - muestra siempre qué pasó cuando un espectador interactúa para que el público siga enganchado

Preguntas frecuentes

¿Necesito la API oficial de TikTok para hacer un juego en LIVE?

No. TikTok no ofrece una API pública para eventos de transmisiones LIVE. TikTool ofrece una API gestionada de terceros con entrega por WebSocket que funciona con cualquier motor de juego. Una evaluación Sandbox gratis de 7 días alcanza para hacer el prototipo de tu juego.

¿Qué eventos puedo usar en mi juego?

Todos los eventos: chat, gift, like, follow, share, member (entrada), viewer_count. Consulta la Referencia de eventos para ver la documentación completa.

¿Puedo usarlo con Godot, GameMaker u otros motores?

Sí. Cualquier motor que admita conexiones WebSocket puede usar la API de TikTool. Conéctate a wss://api.tik.tools y parsea los mensajes JSON. No necesitas SDK.