Panduan Game Dev

Bikin TikTok LIVE Game Interaktif

Biarkan penonton mengendalikan game kamu lewat perintah chat, hadiah, dan like. Bisa dipakai di Unity, C++, browser web, dan engine apa pun yang mendukung WebSocket.

Apa Itu Game TikTok LIVE?

Game interaktif TikTok LIVE adalah pengalaman yang dikendalikan penonton, di mana aksi penonton langsung memengaruhi gameplay. Saat penonton mengirim pesan chat, hadiah, like, atau mengikuti streamer, event itu memicu respons di dalam game - memunculkan musuh, mengubah lingkungan, atau mengendalikan karakter.

Contoh yang populer:

  • Pertarungan yang dikendalikan chat - penonton mengetik perintah untuk bergabung ke tim dan bertarung
  • Efek yang dipicu hadiah - mengirim Rose memunculkan item, Universe memicu pertarungan bos
  • Banjir like - like memengaruhi gravitasi, kecepatan, atau tingkat kesulitan
  • Notifikasi follow - pengikut baru memunculkan NPC yang bersahabat

Cara Kerjanya

Game kamu tersambung ke API TikTools lewat WebSocket dan menerima event real-time dari siaran TikTok LIVE. Setiap event berisi username penonton, aksi yang mereka lakukan, dan data terkait (nilai hadiah, pesan chat, dll.).

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

Opsi 1: Game Web (JavaScript)

Cara paling sederhana - sambungkan langsung dari browser atau 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!')

Opsi 2: Unity (C#)

Pakai koneksi WebSocket langsung dari Unity - tanpa plugin tambahan:

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

Tips Desain Game

  • Tampilkan nama penonton - tampilkan username pemberi hadiah atau yang ngobrol di dalam game supaya penonton merasa diakui
  • Ikuti jumlah penonton - pakai event viewer_count untuk menyesuaikan tingkat kesulitan secara dinamis
  • Level hadiah - petakan nilai hadiah TikTok (1💎 = kecil, 10💎 = sedang, 100💎+ = epik) ke efek di dalam game
  • Cooldown - cegah spam dengan menambahkan cooldown per pengguna pada perintah chat
  • Umpan balik visual - selalu tampilkan apa yang terjadi saat penonton berinteraksi supaya penonton tetap terlibat

FAQ

Apakah saya butuh API resmi TikTok untuk bikin game LIVE?

Tidak. TikTok tidak menyediakan API publik untuk event siaran LIVE. TikTool menyediakan API pihak ketiga yang terkelola dengan pengiriman lewat WebSocket yang bisa dipakai di game engine apa pun. Evaluasi Sandbox gratis 7 hari sudah cukup untuk membuat prototipe game kamu.

Event apa saja yang bisa saya pakai di game?

Semua event: chat, gift, like, follow, share, member (masuk), viewer_count. Lihat Referensi Event untuk dokumentasi lengkapnya.

Bisakah saya memakainya dengan Godot, GameMaker, atau engine lain?

Bisa. Engine apa pun yang mendukung koneksi WebSocket bisa memakai API TikTool. Sambungkan ke wss://api.tik.tools dan parse pesan JSON-nya. Tanpa SDK.