커피와 꽃이 광장에 길을 만드는 방식

광장에서 찾아갈 목적을 만들었습니다
오후의 틈에 커피, 꽃, 핫도그 가판대와 고정 상인 세 명을 배치했습니다. 배회하는 AI와 구분해 매대 곁을 지키도록 하고, 매대나 상인을 클릭해 접근한 뒤 상품 창에서 물건을 받는 흐름을 연결했습니다.
상품은 무료 체험이며 접속 중 종류별 한 번씩 받을 수 있습니다. 화면의 버튼만 막는 대신 서버에서도 수령과 중복·연속 요청 제한을 확인했습니다. 이 작업에 유료 결제나 인증 계정을 추가한 것은 아닙니다.

변경 전에는 매대 방향 때문에 상인이 가려졌습니다.
기능과 함께 매대의 방향도 확인했습니다
가판대를 배치하는 과정에서 앞뒤가 반대로 놓인 곳을 발견했습니다. 같은 Unity 해상도와 카메라 위치에서 전후를 비교해 상인과 매대 앞면이 보이도록 수정했습니다. 상품을 받을 수 있어도 어디로 다가가야 하는지 읽히지 않으면 공간에서 찾기 어렵기 때문입니다.
원본 에셋은 수정하지 않고 씬 인스턴스와 공유 URP 재질, 기존 Character 계층을 사용했습니다. 이동, 착석, 대화와 기존 멀티플레이 기능도 회귀 검사에 포함했습니다.

변경 후에는 상인과 매대 앞면이 같은 시점에서 보입니다.
Unity, 서버, 브라우저를 나눠 검사했습니다
Unity Play 검사 107개와 서버 검사 11개를 통과했습니다. 실제 Chrome·Edge 두 접속에서 기능 검사 37개를 확인하고, 이어 28개 검사로 세 가판대의 마우스 접근·수령과 재접속, 탭 숨김·복귀 등을 확인했습니다.
성능은 실제 사용자 한 명과 고정 상인 세 명을 유지한 상태에서 배회 AI 수를 바꿔 각 12초씩 측정했습니다. 보고된 조건에서는 중앙값 30FPS와 p95 프레임 시간 34ms였지만, 짧은 로컬 측정을 장시간 운영 성능으로 확대하지는 않습니다.
확인된 웹 파일과 공개 서비스는 다릅니다
최종 로컬 서버가 제공하는 웹 파일 여섯 개의 해시를 확정 빌드와 대조했습니다. 수정한 코드가 빌드에 들어갔는지와 서버가 그 파일을 실제로 제공하는지까지 확인한 것입니다.
외부 인터넷 호스팅, 동시 24명 부하, 장기간 내구성은 이번 범위가 아닙니다. 가판대가 있는 공간에서 무료 상품을 받는 로컬 시제품의 흐름을 확인한 결과로 남깁니다.
접근 성공과 수령 성공을 나눠 보기
상인을 클릭해서 가까이 갔다고 상품 수령까지 끝난 것은 아닙니다. 이동 경로가 막히는 경우, 상품 창이 열리지 않는 경우, 서버가 중복 요청을 거부하는 경우는 각각 다른 단계입니다. 아래는 원문에서 확인한 흐름을 설명용으로 정리한 도표입니다.
flowchart TD
A["매대 또는 상인 클릭"] --> B["접근 지점으로 이동"]
B --> C["상품 창 열기"]
C --> D["서버에 수령 요청"]
D --> E["상품 종류와 수령 제한 확인"]
E --> F["허용된 상품 수령"]
같은 버튼을 다시 눌렀을 때 화면이 반응한다고 두 번 지급되는 것은 아니어야 합니다. 보고서에서는 종류별 수령과 중복·연속 제한을 서버 검사에 포함했고, 실제 브라우저에서는 이동과 상품 창을 거쳐 수령하는 사용자 흐름을 확인했습니다.
이 구분을 유지하면 다음에 상품을 추가할 때도 어디를 검사할지 정하기 쉽습니다. 화면의 접근 안내와 클릭 처리, 서버의 지급 판단을 따로 확인한 뒤 한 흐름으로 이어 보면 기능 검사와 사용 경험이 같은 결과를 가리키는지 볼 수 있습니다.
미로


댓글
이 글에 대한 생각을 남겨 주세요.