Οδηγός για game devs

Φτιάξε διαδραστικό παιχνίδι για TikTok LIVE

Άφησε τους θεατές να ελέγχουν το παιχνίδι σου με εντολές στο chat, δώρα και likes. Δουλεύει με Unity, C++, web browsers και κάθε engine που υποστηρίζει WebSocket.

Τι είναι τα παιχνίδια TikTok LIVE;

Τα διαδραστικά παιχνίδια TikTok LIVE είναι εμπειρίες που ελέγχουν οι θεατές, όπου οι κινήσεις του κοινού επηρεάζουν άμεσα το gameplay. Όταν οι θεατές στέλνουν μηνύματα στο chat, δώρα, likes ή κάνουν follow στον streamer, αυτά τα events προκαλούν αντιδράσεις μέσα στο παιχνίδι - εμφανίζουν εχθρούς, αλλάζουν το περιβάλλον ή ελέγχουν χαρακτήρες.

Δημοφιλή παραδείγματα:

  • Μάχες μέσω chat - οι θεατές γράφουν εντολές για να μπουν σε ομάδες και να πολεμήσουν
  • Εφέ από δώρα - ένα Rose εμφανίζει ένα αντικείμενο, ένα Universe ξεκινά μάχη με boss
  • Καταιγίδα από likes - τα likes επηρεάζουν βαρύτητα, ταχύτητα ή δυσκολία
  • Ειδοποιήσεις follow - οι νέοι followers εμφανίζουν φιλικούς NPC

Πώς δουλεύει

Το παιχνίδι σου συνδέεται στο TikTools API μέσω WebSocket και λαμβάνει events σε πραγματικό χρόνο από το TikTok LIVE stream. Κάθε event περιέχει το username του θεατή, την ενέργεια που έκανε και τα σχετικά δεδομένα (αξία δώρου, μήνυμα chat κ.λπ.).

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

Επιλογή 1: Web game (JavaScript)

Ο πιο απλός τρόπος - σύνδεση απευθείας από browser ή 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!')

Επιλογή 2: Unity (C#)

Χρησιμοποίησε τη σκέτη σύνδεση WebSocket από το Unity - χωρίς επιπλέον plugin:

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

Συμβουλές game design

  • Δείξε ονόματα θεατών - εμφάνισε μέσα στο παιχνίδι το username αυτού που στέλνει δώρο ή γράφει στο chat, για να νιώθουν οι θεατές ότι τους βλέπεις
  • Κλιμάκωση με τους θεατές - χρησιμοποίησε τα events viewer_count για να προσαρμόζεις δυναμικά τη δυσκολία
  • Κατηγορίες δώρων - αντιστοίχισε τις αξίες δώρων του TikTok (1💎 = μικρό, 10💎 = μεσαίο, 100💎+ = epic) σε εφέ μέσα στο παιχνίδι
  • Cooldowns - απέτρεψε το spam με cooldown ανά χρήστη στις εντολές του chat
  • Οπτικό feedback - δείχνε πάντα τι έγινε όταν ένας θεατής αλληλεπιδρά, ώστε το κοινό να μένει δεμένο

FAQ

Χρειάζομαι το επίσημο API του TikTok για να φτιάξω παιχνίδι LIVE;

Όχι. Το TikTok δεν δίνει δημόσιο API για events των LIVE streams. Το TikTool δίνει managed API τρίτου με παράδοση μέσω WebSocket, που δουλεύει με κάθε game engine. Η δωρεάν αξιολόγηση Sandbox 7 ημερών αρκεί για να φτιάξεις ένα πρωτότυπο του παιχνιδιού σου.

Ποια events μπορώ να χρησιμοποιήσω στο παιχνίδι μου;

Όλα τα events: chat, gift, like, follow, share, member (είσοδος), viewer_count. Δες το Reference events για πλήρη τεκμηρίωση.

Μπορώ να το χρησιμοποιήσω με Godot, GameMaker ή άλλα engines;

Ναι. Κάθε engine που υποστηρίζει συνδέσεις WebSocket μπορεί να χρησιμοποιήσει το TikTool API. Συνδέσου στο wss://api.tik.tools και κάνε parse τα μηνύματα JSON. Δεν χρειάζεται SDK.