TRAMS AI 프로젝트 문의
AI 뽀개기

Inworld AI 같은 서비스 제작하기: 게임 캐릭터 음성 대화·상황별 응답 제작법

플레이어의 음성을 게임 상태와 연결해 캐릭터 답변·음성·표정으로 돌려주는 AI NPC의 구현 구조를 설명합니다.

핵심 요약

1. 플레이어의 말을 듣고 게임 상황과 캐릭터 설정에 맞게 응답하는 게임 AI NPC를 만듭니다. 2. Inworld STT·TTS, OpenAI API와 Unreal Runtime SDK를 기능별 연결 후보로 사용할 수 있습니다. 3. 게임 상태 조회, 캐릭터 기억, 행동 권한과 음성 재생 순서는 자체 코드로 관리합니다.

Inworld AI의 기능에서 참고할 부분은 대사를 고르는 경험을 상황에 반응하는 캐릭터와의 대화로 확장하는 것입니다. AI NPC 만들기에서는 음성 인식뿐 아니라 게임 안에서 실제로 일어난 사건과 대화의 일관성을 연결해야 합니다. 다음은 유사한 기능을 직접 구현하는 구성입니다.

플레이어의 말을 대화 입력으로 바꾸기

입력은 마이크 음성과 대화 중인 캐릭터의 식별자입니다. Inworld STT로 발화를 텍스트로 변환하는 구성을 사용할 수 있습니다. 자체 코드는 발화 시작과 종료, 음성 구간의 순서, 취소 여부를 세션에 기록합니다.

게임 음성인식 STT에서는 소음과 고유명사 때문에 인식된 문장이 달라질 수 있습니다. 퀘스트명이나 아이템 이름은 게임 사전과 비교하고 불확실한 요청은 확인 질문으로 연결합니다. 출력은 확인된 발화와 대화 세션 정보이며, 중복 전달된 발화가 두 번 처리되지 않도록 요청 ID를 붙입니다.

F07 서비스 공개 이미지 1
출처: inworld.ai

게임 상태와 캐릭터 설정을 답변에 연결하기

입력은 발화, 캐릭터의 성격과 역할, 현재 퀘스트·위치·관계 정보입니다. OpenAI API에 필요한 문맥을 전달해 답변 후보를 만들 수 있습니다. 실제 게임 상태는 서버가 조회하고, 모델이 존재하지 않는 퀘스트 완료나 아이템 보유를 임의로 확정하지 못하게 합니다.

게임 캐릭터 상황별 응답을 위해 자체 로직은 캐릭터가 알고 있는 정보와 아직 공개할 수 없는 정보를 구별합니다. 대화 기억에는 확인된 사건만 남기고 저장량을 제한합니다. 출력은 캐릭터의 답변과 제안 행동이며, NPC 캐릭터 설정 유지를 위해 말투·금지 정보·관계 변화 규칙을 별도로 검수합니다.

답변을 음성과 게임 표현으로 돌려주기

입력은 검증한 답변 문장과 표현할 감정·행동의 후보입니다. Inworld TTS로 음성을 생성하고 Unreal Runtime SDK를 게임과 연결하는 후보로 검토할 수 있습니다. 사용할 엔진 버전과 SDK의 지원 범위는 프로젝트에서 확인합니다.

F07 서비스 공개 이미지 3
출처: inworld.ai

자체 코드는 음성 재생 상태와 캐릭터 애니메이션을 연결하고 대화가 중단되면 남은 응답 재생을 취소합니다. 표정이나 입 모양은 사용 가능한 타이밍 데이터와 게임의 애니메이션 규칙을 맞춰 구현합니다. 출력은 플레이어에게 들리는 음성과 화면의 반응이며, 텍스트 자막도 같은 응답 ID를 사용합니다.

AI가 제안한 행동을 게임 규칙으로 검증하기

입력은 모델이 제안한 행동과 현재 게임 상태입니다. 물건을 주거나 퀘스트를 갱신하는 기능은 허용된 도구와 인자만 사용하도록 제한합니다. 자체 코드가 보유 수량, 진행 조건, 대상 플레이어와 서버 권한을 검사한 뒤 실행합니다.

Inworld AI 유사 기능 구현 기술 요약
자료: 트램스 AI · 유사 기능 구현 기술 요약

예를 들어 NPC가 보상을 제안하더라도 지급 여부와 수량은 서버 규칙이 결정합니다. 같은 대화를 다시 요청해도 보상이 중복 지급되지 않게 완료 기록을 확인합니다. 출력은 실제 실행 결과이며, 실행이 실패하면 캐릭터도 완료했다고 말하지 않도록 후속 응답에 결과를 전달합니다.

대화 지연과 중단을 관리하기

STT LLM TTS 연동에서는 각 단계의 대기 시간이 합쳐집니다. 발화 종료부터 첫 음성이 나올 때까지의 시간을 단계별로 기록하면 병목을 찾을 수 있습니다. 응답을 나누어 재생할 때도 뒤늦게 도착한 이전 답변이 새 대화에 섞이지 않도록 세션 번호를 비교합니다.

연결이 끊기면 자막이나 미리 정한 대사로 안내하고 재접속 뒤 상태를 맞춥니다. AI 스킬에는 캐릭터의 대화 원칙과 질문 순서를 담고, 게임 상태와 행동 검증은 코드가 담당합니다. 캐릭터 설정과 연결할 게임 기능을 정리해 트램스 AI에 제작을 문의해 주세요: https://trams.co.kr/ai-si/contact/#inquiry

참고 자료

  1. https://inworld.ai/blog/introducing-unreal-ai-runtime-sdk
  2. https://inworld.ai/
  3. https://developers.openai.com/api/docs/guides/text
  4. https://developers.openai.com/api/docs/guides/function-calling
  5. https://blogs.nvidia.co.kr/blog/nvidia-digital-human-technologies-bring-ai-characters-to-life-6900750/
  6. https://learn.microsoft.com/en-us/azure/ai-services/speech-service/overview
  7. https://github.com/SYSTRAN/faster-whisper
  8. https://platform.claude.com/docs/en/agents-and-tools/tool-use/how-tool-use-works
  9. https://learn.microsoft.com/en-us/azure/ai-services/speech-service/how-to-speech-synthesis-viseme
TRAMS AI

비슷한 AI 서비스를
사업에 적용하고 싶으신가요?

아이디어와 필요한 기능을 알려주시면 제작 범위와 방법을 검토합니다.

프로젝트 문의