Guide de dev de jeux

Crée un jeu interactif TikTok LIVE

Laisse les spectateurs contrôler ton jeu avec des commandes de chat, des cadeaux et des likes. Fonctionne avec Unity, C++, les navigateurs web et tout moteur compatible WebSocket.

C'est quoi, les jeux TikTok LIVE ?

Les jeux interactifs TikTok LIVE sont des expériences contrôlées par les spectateurs, où les actions du public influencent directement la partie. Quand les spectateurs envoient des messages, des cadeaux, des likes ou suivent le streamer, ces événements déclenchent des réactions dans le jeu - apparition d'ennemis, changement de décor ou contrôle de personnages.

Exemples populaires :

  • Combats pilotés par le chat - les spectateurs tapent des commandes pour rejoindre une équipe et se battre
  • Effets déclenchés par les cadeaux - envoyer une Rose fait apparaître un objet, un Univers déclenche un combat de boss
  • Avalanches de likes - les likes influent sur la gravité, la vitesse ou la difficulté
  • Alertes de follow - les nouveaux followers font apparaître des PNJ alliés

Comment ça marche

Ton jeu se connecte à l'API TikTools en WebSocket et reçoit les événements du stream TikTok LIVE en temps réel. Chaque événement inclut le pseudo du spectateur, l'action effectuée et les données associées (valeur du cadeau, message du 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

Option 1 : jeu web (JavaScript)

L'approche la plus simple - connecte-toi directement depuis un navigateur ou 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!')

Option 2 : Unity (C#)

Utilise la connexion WebSocket brute depuis Unity - aucun plugin supplémentaire requis :

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

Conseils de game design

  • Affiche les pseudos - affiche le pseudo du donateur ou de l'auteur du message dans le jeu pour que les spectateurs se sentent reconnus
  • Adapte-toi à l'audience - utilise les événements viewer_count pour ajuster la difficulté dynamiquement
  • Paliers de cadeaux - associe la valeur des cadeaux TikTok (1💎 = petit, 10💎 = moyen, 100💎+ = épique) à des effets en jeu
  • Temps de recharge - évite le spam avec un temps de recharge par utilisateur sur les commandes de chat
  • Retour visuel - montre toujours ce qui s'est passé quand un spectateur interagit pour garder le public impliqué

FAQ

Ai-je besoin de l'API officielle de TikTok pour créer un jeu LIVE ?

Non. TikTok ne propose pas d'API publique pour les événements des LIVE. TikTool fournit une API tierce gérée avec livraison en WebSocket qui fonctionne avec tous les moteurs de jeu. Une évaluation Sandbox gratuite de 7 jours suffit pour prototyper ton jeu.

Quels événements puis-je utiliser dans mon jeu ?

Tous les événements : chat, gift, like, follow, share, member (arrivée), viewer_count. Consulte la référence des événements pour la documentation complète.

Puis-je l'utiliser avec Godot, GameMaker ou d'autres moteurs ?

Oui. Tout moteur qui gère les connexions WebSocket peut utiliser l'API TikTool. Connecte-toi à wss://api.tik.tools et parse les messages JSON. Aucun SDK requis.