Game-Dev-Guide

Bau ein interaktives TikTok-LIVE-Spiel

Lass Zuschauer dein Spiel mit Chat-Befehlen, Geschenken und Likes steuern. Funktioniert mit Unity, C++, Webbrowsern und jeder Engine, die WebSocket kann.

Was sind TikTok-LIVE-Spiele?

Interaktive TikTok-LIVE-Spiele werden von den Zuschauern gesteuert: Was das Publikum tut, wirkt sich direkt auf das Gameplay aus. Wenn Zuschauer Chatnachrichten, Geschenke oder Likes schicken oder dem Streamer folgen, lösen diese Events Reaktionen im Spiel aus - Gegner spawnen, die Umgebung ändert sich oder Figuren werden gesteuert.

Beliebte Beispiele:

  • Chat-gesteuerte Kämpfe - Zuschauer tippen Befehle, um Teams beizutreten und zu kämpfen
  • Effekte per Geschenk - eine Rose spawnt ein Item, ein Universum startet einen Bosskampf
  • Like-Fluten - Likes beeinflussen Schwerkraft, Tempo oder Schwierigkeitsgrad
  • Follow-Alerts - neue Follower spawnen freundliche NPCs

So funktioniert's

Dein Spiel verbindet sich per WebSocket mit der TikTools API und empfängt Events aus dem TikTok-LIVE-Stream in Echtzeit. Jedes Event enthält den Usernamen des Zuschauers, seine Aktion und die zugehörigen Daten (Geschenkwert, Chatnachricht usw.).

// 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: Webspiel (JavaScript)

Der einfachste Weg - verbinde dich direkt aus dem Browser oder einem Node.js-Backend:

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#)

Nutz die rohe WebSocket-Verbindung direkt aus Unity - kein zusätzliches Plugin nötig:

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

Tipps fürs Game-Design

  • Zuschauernamen zeigen - zeig den Usernamen des Gifters oder Chatters im Spiel, damit sich Zuschauer gesehen fühlen
  • Mit den Zuschauern skalieren - nutz viewer_count-Events, um den Schwierigkeitsgrad dynamisch anzupassen
  • Geschenkstufen - ordne TikTok-Geschenkwerte (1💎 = klein, 10💎 = mittel, 100💎+ = episch) Effekten im Spiel zu
  • Cooldowns - verhindere Spam mit Cooldowns pro User für Chat-Befehle
  • Visuelles Feedback - zeig immer, was passiert ist, wenn ein Zuschauer interagiert, damit das Publikum dabeibleibt

FAQ

Brauche ich die offizielle API von TikTok, um ein LIVE-Spiel zu bauen?

Nein. TikTok bietet keine öffentliche API für LIVE-Stream-Events. TikTool stellt eine verwaltete Drittanbieter-API mit WebSocket-Auslieferung bereit, die mit jeder Game-Engine funktioniert. Eine kostenlose 7-tägige Sandbox-Evaluierung reicht für einen Prototyp deines Spiels.

Welche Events kann ich in meinem Spiel nutzen?

Alle Events: chat, gift, like, follow, share, member (Beitritt), viewer_count. Die komplette Dokumentation findest du in der Event-Referenz.

Kann ich das mit Godot, GameMaker oder anderen Engines nutzen?

Ja. Jede Engine, die WebSocket-Verbindungen unterstützt, kann die TikTool API nutzen. Verbinde dich mit wss://api.tik.tools und parse die JSON-Nachrichten. Kein SDK nötig.