SYDESYDE
SYDESYDE
  • 피드
  • 쇼케이스
  • 블로그
  • 모임
SYDESYDE© 2026 SYDE. All rights reserved.
SYDE 소개문의하기
Kakao
SYDE 오픈채팅
Instagram
Instagram
Threads
Threads
커뮤니티 가이드라인협업문의이용약관개인정보처리방침
커뮤니티 가이드라인협업문의이용약관개인정보처리방침

© 2026 SYDE. All rights reserved.

AI가 내 플레이를 보고 스킬을 만든다면 — UNSPECIFIED #1

AI가 내 플레이를 보고 스킬을 만든다면 — UNSPECIFIED #1

mmustardoo· 2일 전· 기술
목차
  • 그런데 AI가 읽을 행동부터 있어야 했다
  • 무기가 아니라, ‘들고 있는 물체’
  • 여기서부터 원래 만들고 싶었던 문제가 시작됐다

목차

  • 그런데 AI가 읽을 행동부터 있어야 했다
  • 무기가 아니라, ‘들고 있는 물체’
  • 여기서부터 원래 만들고 싶었던 문제가 시작됐다

최근 새로운 게임 프로젝트를 시작했다.

이름은 UNSPECIFIED.

출발점은 꽤 단순한 질문이었다.

게임 속 AI가 플레이어의 싸우는 방식을 보고, 그걸 실제 능력으로 만들어줄 수 있을까?

AI NPC와 자유롭게 대화하는 게임?

내가 궁금했던 건 조금 다른 쪽이었다.

같은 액션게임을 해도 사람마다 싸우는 방식은 꽤 다르다.

누군가는 적과 계속 붙어서 싸우고, 누군가는 거리를 유지한다.

대시 하나만 해도 어떤 사람은 회피할 때만 쓰고, 어떤 사람은 공격과 공격 사이를 연결하는 용도로 쓴다.

이런 차이를 게임이 알아챌 수 있다면 어떨까.

그리고 단순히 분석 결과를 보여주는 데서 끝나는 게 아니라,

“네가 계속 이렇게 싸우고 있으니, 그 행동 자체를 새로운 능력으로 바꿔볼게.”

라고 할 수 있다면 꽤 재미있겠다고 생각했다.

가능하다면 이 판단도 외부 API가 아니라 게임 안에서 돌아가는 Local LLM으로 해보고 싶었다.

그게 프로젝트의 시작이었다.


그런데 AI가 읽을 행동부터 있어야 했다

처음부터 모델을 붙일 수도 있었다.

하지만 금방 한 가지 문제가 보였다.

플레이어가 할 수 있는 행동이 단순하면, AI가 분석할 것도 단순하다.

공격과 대시밖에 없다면 아무리 모델이 좋아도 결국 “공격을 많이 했다”, “대시를 많이 했다” 정도에서 크게 벗어나기 어렵다.

그래서 먼저 사람마다 다르게 싸울 수 있는 액션게임의 바닥을 만드는 쪽으로 갔다.

UNSPECIFIED의 기본 전투는 주변의 물체를 즉석에서 무기로 사용하는 구조다.

전투의 기본 흐름을 한 줄로 쓰면 이렇다.

집는다 → 공격한다 → 대시한다 → 던진다 → 다른 것을 집는다

처음에는 이동, 일반공격, 강공격, 대시부터 만들었다.

공격 중 언제 대시로 끊을 수 있는지, 대시와 피격이 거의 동시에 들어오면 어떤 결과가 나오는지, 서로의 공격이 동시에 맞으면 어떻게 처리할지 같은 경계부터 하나씩 정리했다.

액션게임에서는 이런 부분이 조금만 흔들려도 바로 이런 느낌이 생긴다.

“분명 눌렀는데 왜 맞았지?”

그래서 충돌이 감지됐다고 곧바로 피해를 주는 식으로 만들지도 않았다.

먼저 공격이 닿을 수 있는 후보를 모으고, 그 순간의 대시·공격·피격 상태를 기준으로 결과를 확정한 뒤 한 번에 반영하는 식으로 구성했다.

처음에는 그냥 액션게임을 안정적으로 만들기 위한 선택이었다.

그런데 나중에 보니 이게 꽤 중요했다.

게임이 플레이어를 관찰하려면, 게임 스스로 먼저 ‘실제로 무슨 일이 일어났는지’를 정확히 알고 있어야 했다.


무기가 아니라, ‘들고 있는 물체’

그다음에는 무기를 추가했다.

정확히는 전통적인 무기 슬롯을 만든 게 아니라, 월드의 물체를 들고 있는 상태로 다루는 구조를 만들었다.

빈손으로 물체를 집고, 다시 버튼을 누르면 조준하고, 버튼을 놓는 순간 던진다.

현재는 성격이 서로 다른 몇 가지 물체를 시험하고 있다.

파이프는 기본적인 근접 공격과 투척의 기준점이다.

의자는 사용하다 보면 부서진다. 마지막 공격이 정상적으로 적중한 뒤에 부서지기 때문에, 공격 도중 무기가 사라지면서 판정까지 취소되는 식으로 동작하지 않는다.

폭발성 물체는 부서지는 순간 범위 효과를 만든다.

기어 형태의 물체는 벽에 튕기고, 한 번 튕긴 뒤에는 나에게도 위험해진다. 대신 타이밍을 맞추면 다시 받아서 바로 던질 수도 있다.

여기서 중요했던 건 공격력과 사거리만 다른 무기를 여러 개 만드는 게 아니었다.

물체 하나가 추가될 때마다 플레이어의 행동도 달라져야 했다.

계속 들고 싸울지, 빨리 던질지, 부서질 때까지 사용할지, 다른 물체로 갈아탈지, 튕겨 돌아오는 위험까지 활용할지.

이런 선택이 생겨야 나중에 AI도 단순히

“이 플레이어는 이 무기를 좋아한다.”

가 아니라,

“이 플레이어는 어떤 행동을 어떤 식으로 연결해서 반복하는가?”

를 볼 수 있다.


여기서부터 원래 만들고 싶었던 문제가 시작됐다

기본 전투와 무기를 활용한 전투가 만들어지고 나니 드디어 처음 질문으로 돌아올 수 있었다.

예를 들어 한 플레이어가 대시를 30번 했다고 하자.

그 사실만으로 이 사람이 대시 중심으로 싸운다고 말할 수 있을까?

아마 아닐 것이다.

그냥 이동할 때 많이 썼을 수도 있다.

반대로 대시는 10번밖에 하지 않았지만, 매번 공격 직후 대시하고 다시 다른 공격으로 이어갔다면 오히려 더 뚜렷한 습관일 수 있다.

결국 보고 싶었던 건 버튼 사용량이 아니었다.

행동과 행동 사이의 관계였다.

그래서 다음에는 플레이어가 무엇을 했는지를 기록하는 것에서 한 단계 더 나아가,

그중 무엇을 ‘습관’이라고 볼 것인가

를 만들기 시작했다.

  • #게임개발
  • #ai
  • #llm
23
m
mustardoo

mustardoo님의 다른 글

  • AI 게임을 만들겠다고 시작했는데, 여기서 멈추기로 했다 — UNSPECIFIED #완15시간 전
  • Local LLM을 게임에 실제로 넣어봤더니 — UNSPECIFIED #415시간 전
  • AI에게 스킬을 만들게 하려다 게임의 언어부터 만들었다 — UNSPECIFIED #31일 전

댓글 0

My avatar