게임 개발 가이드

TikTok LIVE 인터랙티브 게임 만들기

시청자가 채팅 명령어, 선물, 좋아요로 게임을 조작하게 하세요. Unity, C++, 웹 브라우저 등 WebSocket을 쓸 수 있는 모든 엔진에서 작동해요.

TikTok LIVE 게임이란?

TikTok LIVE 인터랙티브 게임은 시청자의 행동이 게임 플레이에 바로 영향을 주는, 시청자 참여형 콘텐츠예요. 시청자가 채팅을 보내거나, 선물을 보내거나, 좋아요를 누르거나, 스트리머를 팔로우하면 그 이벤트가 게임 내 반응을 일으켜요. 적이 생성되거나, 환경이 바뀌거나, 캐릭터를 조작하는 식이에요.

인기 있는 예시:

  • 채팅으로 조작하는 배틀 - 시청자가 명령어를 입력해 팀에 들어가 싸워요
  • 선물로 발동하는 효과 - 장미를 보내면 아이템이 생기고, 유니버스를 보내면 보스전이 시작돼요
  • 좋아요 폭탄 - 좋아요가 중력, 속도, 난이도에 영향을 줘요
  • 팔로우 알림 - 새 팔로워가 생기면 아군 NPC가 등장해요

작동 방식

게임이 WebSocket으로 TikTools API에 연결해 TikTok LIVE 방송의 실시간 이벤트를 받아요. 각 이벤트에는 시청자 사용자 이름, 시청자가 한 행동, 관련 데이터(선물 가치, 채팅 메시지 등)가 들어 있어요.

// 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: 웹 게임 (JavaScript)

가장 간단한 방법이에요. 브라우저나 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#)

Unity에서 raw WebSocket 연결을 쓰세요. 추가 플러그인은 필요 없어요:

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

게임 디자인 팁

  • 시청자 이름 보여 주기 - 후원자나 채팅한 사람의 사용자 이름을 게임 안에 표시해서 시청자가 인정받는 느낌을 받게 하세요
  • 시청자 수에 맞춰 조절 - viewer_count 이벤트로 난이도를 실시간 조정하세요
  • 선물 등급 - TikTok 선물 가치(1💎 = 소형, 10💎 = 중형, 100💎+ = 초대형)를 게임 내 효과에 연결하세요
  • 쿨다운 - 채팅 명령어에 사용자별 쿨다운을 넣어 스팸을 막으세요
  • 시각적 피드백 - 시청자가 참여하면 무슨 일이 일어났는지 항상 보여 줘서 시청자의 몰입을 유지하세요

FAQ

LIVE 게임을 만들려면 TikTok 공식 API가 필요한가요?

아니요. TikTok은 LIVE 방송 이벤트용 공개 API를 제공하지 않아요. TikTool은 모든 게임 엔진에서 쓸 수 있는 WebSocket 기반 서드파티 관리형 API를 제공해요. 7일 무료 Sandbox 평가 기간이면 게임 프로토타입을 만들기에 충분해요.

게임에서 어떤 이벤트를 쓸 수 있나요?

모든 이벤트: chat, gift, like, follow, share, member (입장), viewer_count. 전체 문서는 이벤트 레퍼런스에서 확인하세요.

Godot, GameMaker 같은 다른 엔진에서도 쓸 수 있나요?

네. WebSocket 연결을 지원하는 엔진이라면 TikTool API를 쓸 수 있어요. wss://api.tik.tools에 연결하고 JSON 메시지를 파싱하면 돼요. SDK는 필요 없어요.