
타이쿤의 손님 행동 로직(흔히 손님 AI라 부릅니다)은 세 가지만 지키면 돌아갑니다. 자리는 숫자가 아니라 칸 하나에 한 명으로 잡고, 사람이 서 있는 칸은 막지 말고 비용 12를 얹은 A* 길찾기로 가고, 대기는 문 밖 한 줄로만 세웁니다. PC방 키우기에서 이 셋을 고른 이유와 실측 숫자, 아직 못 푼 것을 정리했습니다.
손님은 여정을 들고 옵니다
손님 한 명은 스폰될 때 여정(itinerary)을 하나 뽑습니다. 여정의 한 칸은 «어떤 종류의 기물을 한 번 쓴다»입니다. 종류 이름으로 적기 때문에 같은 종류 기물이 몇 대든 손님은 그중 하나를 고릅니다.
PC방은 여정이 1칸입니다. 자리에 앉았다 나가면 끝이라 여정으로서는 가장 단순한 축퇴 케이스입니다. 여정을 아예 안 준 게임은 «아무 기물이나 하나 쓰고 나간다»는 한 칸짜리 여정이 자동으로 붙습니다.
여정에는 안전장치가 하나 있습니다. 다음 칸의 기물이 가게에 하나도 없으면 그 칸을 건너뜁니다. 아직 안 지은 기물을 기다리며 손님이 그 자리에서 굳는 일이 없습니다.
자리는 숫자가 아니라 칸입니다
처음엔 기물마다 정원을 숫자로 두는 쪽이 쉬워 보입니다. 그런데 정원을 숫자로 들면 8명이 같은 좌표에 겹쳐 서는 일이 생깁니다. 숫자는 몇 명이 쓰는지만 알고 누가 어디에 서는지는 모르기 때문입니다.
그래서 기물마다 이용 칸(interactionCell)을 정하고, 한 칸에는 한 명만 들어가게 했습니다. 손님이 목표 기물을 고르는 순간 그 칸을 잡아 두고, 다른 손님은 그 칸을 못 잡습니다. 정원은 따로 적을 필요가 없어지고 겹침이 구조적으로 안 생깁니다.
목표를 고를 때 후보를 균등하게 뽑지도 않습니다. 균등하게 뽑으면 자리 바로 옆 자판기와 방 반대편 자판기가 똑같이 팔려서, 어디에 놓든 매출이 같아집니다. 가중치를 줘야 배치가 매출에 영향을 줍니다.

사람이 서 있는 칸은 막지 말고 값을 얹습니다
길은 4방향 격자 A*입니다. 설 수 있는 칸인지, 가로지를 수 있는 칸인지, 두 칸 사이를 지날 수 있는지를 따로 묻고, 마지막으로 칸을 지나는 값을 묻습니다. 앉은 손님이 있는 칸은 이 값이 12입니다.
사람을 벽으로 만들면 더 간단합니다. 하지만 이 게임의 배치 검사는 «기물 앞칸도 지날 수 있다»는 전제로 방이 끊기지 않는다고 보장합니다. 사람이 벽이 되는 순간 그 전제가 깨져서, 좁은 방에서는 손님이 통째로 굶고 그날 매출이 0이 됩니다.
값으로 두면 우회로가 있을 때는 무조건 돌아가고, 정말 길이 없을 때만 비집고 지나갑니다. 비집고 지나가는 장면은 이상해 보이지만 통로를 안 남긴 배치가 보내는 신호이고, 엔진 버그는 아닙니다.
길은 한 번 깔고 끝이 아닙니다
값 12만 넣으면 끝일 줄 알았는데 거의 안 고쳐졌습니다. 길이 낡는 게 원인이었습니다. 출발할 때 계산한 길 위에 그 뒤로 사람이 앉으면, 값은 있어도 손님은 옛 길을 그대로 걷습니다.
그래서 사람 지도는 매 틱 통째로 다시 채웁니다. 증분으로 관리하면 한 경로에서 지우기를 빠뜨려서 유령이 통로를 영원히 막기 때문입니다. 걷는 손님은 다음 한 칸을 매 틱 다시 보고, 막혔으면 그 자리에서 길을 다시 깝니다. 한 손님당 0.2초에 한 번입니다.
다시 깐 길이 여전히 그 칸을 지나면 그냥 갑니다. 멈춰 세우면 서로 기다리다 굳기 때문입니다.
빽빽한 배치에서 40초를 돌려 «서 있는 사람을 밟은 프레임»을 셌습니다. 값을 넣기 전 1,701이던 것이 값만 넣고 재계산을 안 한 상태에서는 1,695로 거의 그대로였습니다. 값만 넣고 재계산을 안 하면 거의 아무것도 안 고쳐집니다. 원인의 본체는 길이 낡는 것이었습니다.

대기는 문 밖 한 줄입니다
자리가 없을 때 손님을 가게 안에 세우면 줄이 통로를 막고 길찾기가 꼬입니다. 그래서 대기는 언제나 문 밖 한 줄입니다. 아직 안 들어온 손님은 문 밖 줄에 서고, 이미 들어온 손님은 줄을 서지 않고 그 단계를 포기하고 나갑니다. 자리가 있는지는 문 앞 마당 칸에서 묻습니다. 예전에는 출입구 칸에서 물어서, 만석이면 손님이 문을 열고 들어섰다가 되돌아 나왔습니다.
줄도 무한정 서지 못합니다. 줄 정원은 설 수 있는 칸 수와 게임이 정한 상한(기본 4) 중 작은 쪽입니다. 정원을 넘기면 서지 않고 돌아가고, 줄이 꽉 찬 걸 걸어오는 동안 알면 꼬리 옆 보도에서 돌아섭니다.
중요한 건 못 받은 손님을 조용히 지우지 않는 것입니다. 포기하는 손님은 포기 모션을 하고 팝업을 띄우고, 게임에 «어떤 종류에서, 무슨 이유로 놓쳤나»가 집계됩니다. 병목이 화면에 안 보이면 플레이어가 «한 대 더 놓자»고 생각할 계기가 없습니다. 이탈이 일어났다는 사실부터 안 보이니까요.

줄에 선 손님은 전원 같은 쪽을 봅니다
줄을 세우고 나니 플레이어 제보가 왔습니다(2026년 9월 19일). «대기할 때 모두 한 방향을 보고 서 있었으면 좋겠다». 확인해 보니 방향이 걸을 때만 정해지고 있었습니다. 보도에서 올라온 손님은 벽을, 꼬리로 걸어간 손님은 꼬리를, 한 칸 당겨진 손님은 줄 머리를 봐서 한 줄에 세 방향이 섞여 있었습니다.
고친 방법은 단순합니다. 줄 자리에 닿았을 때 줄에 선 손님 전원이 줄 머리 쪽을 보게 했습니다. 밖 줄은 벽을 따라 곧게 뻗은 한 줄이라 모두 같은 방향입니다. 멈춰 선 자리마다 볼 쪽을 정해 줘야 한다는 게 이 일에서 얻은 규칙입니다.
줄에서는 몸을 움직이지 않게 했습니다. 몸을 흔들어 초조함을 표현해 봤더니 «둥둥 뜬다», «혼자 떨고 있다»는 반응이 두 번 왔고, 지금은 숨쉬기 동작만 깔려 있습니다.
PC방은 앉은 뒤가 매출의 8할입니다
여정에서 PC방은 한 칸이지만 매출은 거기서 끝나지 않습니다. 여정의 한 칸은 «한 번 들르는 곳»이라 반복할 수 없고, 앉아 있는 손님이 이따금 뭔가 더 시키는 건 여정이 아니라 사용 중 훅에서 일어납니다. 이 주문이 하루 매출의 8할입니다.
그래서 손님 로직은 자리를 얼마나 빨리 채우느냐만이 아니라, 앉은 손님이 얼마나 오래 앉아 있다가 주문하느냐와 맞물려 있습니다. 시켜 놓은 게 안 나왔으면 체류 시간이 끝나도 자리를 뜨지 않게 하는 옵션도 같은 이유로 있습니다.
아직 못 푼 것
걷는 손님끼리 잠깐 겹치는 장면은 아직 남아 있습니다. 길찾기가 사람을 값으로 보는 건 자리를 잡고 멈춘 사람(사용 중인 손님과 안쪽 줄)뿐이고, 걷는 사람은 지도에 넣지 않습니다. 걷는 사람끼리 서로 피하게 만들면 좁은 통로에서 마주 보고 도는 교착이 생기기 때문입니다. 어차피 몇 프레임 뒤면 그 칸을 뜹니다.
그래서 걷는 손님끼리 겹치는 프레임은 규칙상 정상으로 둡니다. 제대로 고치려면 비켜서기가 아니라 양보 순서를 설계해야 하는데, 그건 지금 범위 밖입니다.
FAQ
타이쿤 게임 손님 AI는 어떻게 만드나요?
손님마다 여정을 들게 하고, 목표 기물의 이용 칸을 한 명씩 잡고, 길은 A*로 찾습니다. 사람이 서 있는 칸은 막지 않고 비용을 높게(여기서는 12) 얹으며, 자리가 없으면 문 밖 한 줄에 세우는 구성입니다.
타이쿤 게임에서 NPC가 서로 막히지 않게 하려면?
서 있는 사람을 벽으로 만들지 말고 값으로 넣고, 그 값을 반영해 길을 계속 다시 깔아야 합니다. 값만 넣고 재계산을 안 하면 효과가 거의 없었습니다. 빽빽한 배치 40초 실측에서 서 있는 사람을 밟은 프레임이 1,701에서 1,695로 줄어든 게 전부였습니다.
대기줄은 가게 안과 밖 중 어디에 세우는 게 좋나요?
PC방 키우기는 문 밖 한 줄로만 세웁니다. 안에 세우면 통로를 막고 길찾기가 꼬입니다. 이미 들어온 손님은 줄을 서지 않고 그 단계를 포기하게 하고, 포기는 집계해서 화면에 보여 줍니다.
손님이 자리를 못 잡고 나가면 그냥 없애도 되나요?
없애면 안 됩니다. 포기 모션과 팝업을 보이고 종류별로 집계해야 플레이어가 병목을 읽고 «한 대 더 놓자»고 판단할 수 있습니다.
다른 글
비교온천과 목욕탕이 소재인 게임 8종, 스토어 표기로 비교했습니다온천과 목욕탕이 소재인 게임을 Steam, 구글 플레이, 앱스토어 원문 표기로 한 표에 모았습니다. 가격, 평점, 방치형 여부, 한국어·일본어 지원을 비교하고 우리 게임의 약점도 적었습니다.
비교오프라인으로 되는 방치형 타이쿤 게임, 스토어 표기로 가린 8종방치형 타이쿤 중 오프라인으로 되는 게임을 구글 플레이와 앱스토어 원문 표기로 가렸습니다. 태그, 스토어 문구, 가격, 광고를 한 표로 비교하고 우리 게임의 약점도 적었습니다.
비슷한 게임카이로소프트 다 깼다면: 어떤 맛이 좋았는지로 고르는 다음 게임 14개카이로소프트를 다 해 본 사람이 다음에 할 게임을 «짧게 키우는 맛·가게 돌보는 맛·주민 인생 구경·배치 퍼즐» 네 갈래로 나눴습니다. Steam 정가와 평가, 한국어 지원 여부를 확인한 14개를 적었습니다.
비교PC방 경영 게임 2026, 아이폰까지 포함한 17종PC방·인터넷 카페 경영 게임을 아이폰, 안드로이드, Steam으로 나눠 17종 골랐습니다. 스토어 페이지에서 직접 읽은 가격, 평점, 오프라인 문구와 우리 게임의 약점까지 적었습니다.