브라우저에서 바로 플레이할 수 있는 완성도 높은 3D 자동차 레이싱 게임을 만들어줘. 게임 이름은 “COASTLINE RUSH”로 한다. 핵심은 시원한 속도감, 쉽게 익히는 조작, 코너를 공략하는 재미다. 메뉴부터 출발, 레이스, 결승선, 결과 화면, 재도전까지 하나의 완성된 게임으로 연결해줘. 1. 게임 콘셉트 - 장르: 싱글 플레이 3D 아케이드 레이싱. - 시점: 차량 뒤에서 따라가는 3인칭 추적 카메라. - 배경: 바다, 절벽, 야자수, 터널이 있는 해안 순환 도로. - 플레이어 차량 1대와 AI 차량 3대가 경쟁한다. - 한 경기는 3랩이며, 약 3~5분 안에 끝나게 구성한다. - 승리 목표는 가장 먼저 결승선을 통과하는 것이다. - 드리프트와 니트로를 활용하면 기록을 단축할 수 있다. - 차량을 조종하는 재미를 최우선으로 구현한다. 2. 비주얼 방향 밝고 선명한 색감의 스타일라이즈드 3D 그래픽으로 제작한다. - 시간대는 따뜻한 늦은 오후. - 푸른 바다, 주황빛 햇살, 밝은 아스팔트, 녹색 식생이 어우러지게 한다. - 차량은 낮은 차체와 넓은 후면을 가진 오리지널 스포츠카. - 실제 브랜드 로고나 특정 자동차의 외형을 그대로 사용하지 않는다. - 플레이어 차량은 선명한 빨간색, AI 차량은 서로 구분되는 색상. - 바퀴, 유리, 헤드라이트, 테일라이트, 스포일러가 식별되게 한다. - 바퀴는 속도에 맞춰 회전하고 앞바퀴는 조향 방향에 맞춰 움직인다. - 차체는 가속, 제동, 코너링에 따라 작게 기울어진다. - 도로에는 차선, 연석, 가드레일, 코너 방향 표지판을 배치한다. - 먼 배경은 단순하게, 주행 경로와 차량은 명확하게 표현한다. 도로와 코너가 쉽게 읽히는 구도를 유지한다. 빛 번짐, 안개, 카메라 흔들림 때문에 운전이 어려워지지 않게 한다. 3. 조작 PC 키보드를 우선 지원한다. - W 또는 ↑: 가속 - S 또는 ↓: 브레이크, 정지 후 계속 누르면 후진 - A / D 또는 ← / →: 좌우 조향 - Space: 핸드브레이크 및 드리프트 - Shift: 니트로 - R: 도로 위 안전한 위치로 차량 복귀 - Esc: 일시정지 및 재개 시작 화면과 일시정지 화면에 조작법을 표시한다. 동시에 여러 키를 눌러도 정상적으로 동작하게 한다. 창이 포커스를 잃으면 입력을 해제하고 자동으로 일시정지한다. 4. 차량 주행과 조작감 실제 자동차 시뮬레이션보다 반응이 명확한 아케이드 주행을 구현한다. - 가속과 감속은 부드럽게 이어진다. - 최고 속도는 일반 주행 기준 약 200km/h. - 니트로 사용 중에는 최고 속도가 일시적으로 높아진다. - 저속에서는 쉽게 방향을 바꿀 수 있다. - 고속에서는 조향을 완만하게 제한해 갑작스러운 회전을 방지한다. - 입력을 놓으면 차량이 자연스럽게 감속한다. - 잔디와 모래에서는 속도와 접지력이 감소한다. - 충돌 시 속도와 진행 방향이 변하며, 차체가 장애물을 통과하지 않는다. - 차량이 쉽게 뒤집히거나 공중으로 튀지 않게 한다. - 프레임 속도에 따라 가속, 조향, 충돌 결과가 달라지지 않게 한다. 속도계 수치와 실제 이동 속도는 일관되게 맞춘다. 5. 드리프트와 니트로 드리프트: - 일정 속도 이상에서 조향하며 Space를 누르면 시작한다. - 차량의 방향과 이동 방향이 벌어지며 코너를 미끄러져 돈다. - 반대 방향 조향으로 자세를 조절할 수 있다. - Space를 놓으면 접지력이 부드럽게 회복된다. - 안정적으로 드리프트하는 동안 니트로 게이지가 충전된다. - 정지 상태, 벽에 붙은 상태, 제자리 회전으로는 충전되지 않는다. - 타이어 자국, 연기, 마찰음을 통해 상태를 알 수 있게 한다. 니트로: - Shift를 누르는 동안 게이지를 소모한다. - 게이지가 없으면 사용할 수 없다. - 가속과 최고 속도가 일시적으로 증가한다. - 배기구 효과와 소리로 사용 상태를 전달한다. - 카메라 시야각 변화는 작고 부드럽게 적용한다. - 니트로를 사용해도 코너를 공략할 수 있는 조작성을 유지한다. 6. 트랙 완성도 높은 순환 트랙 1개를 제작한다. 트랙에는 다음 구간을 포함한다. - 출발과 결승선이 있는 넓은 직선 구간 - 바다가 보이는 완만한 해안 커브 - 드리프트를 활용하기 좋은 중간 난도 코너 - 절벽 옆 굽은 도로 - 짧은 터널 - 니트로를 사용하기 좋은 마지막 직선 설계 원칙: - 처음 플레이해도 진행 방향을 쉽게 이해할 수 있게 한다. - 급커브 앞에는 표지판과 연속 화살표를 배치한다. - 도로 폭은 추월과 차량 간 접촉을 허용할 정도로 확보한다. - 장식물이 도로를 가리거나 주행 공간을 막지 않게 한다. - 트랙은 끊김 없이 연결하고 출발선 주변도 자연스럽게 구성한다. - 보이지 않는 벽에 의존하지 않고 가드레일 등으로 경계를 표현한다. 랩 판정: - 체크포인트를 올바른 순서와 방향으로 통과해야 랩이 인정된다. - 역주행, 지름길, 출발선 반복 통과로 랩 수가 증가하지 않는다. - 차량 복귀로 체크포인트나 주행 진도가 건너뛰어지지 않는다. 7. AI 경쟁 차량 AI 차량 3대가 같은 트랙에서 실제로 주행한다. - 트랙의 주행 경로를 따라 운전한다. - 직선에서는 가속하고 급커브 전에는 감속한다. - 서로 다른 목표 속도와 코너링 성향을 가진다. - 앞 차량이 가까우면 감속하거나 안전한 범위에서 추월한다. - 플레이어 및 다른 차량과 충돌할 수 있다. - 벽에 끼거나 역방향으로 돌아서면 정상 주행을 회복한다. - 복귀가 필요할 때 플레이어 바로 앞에 갑자기 나타나지 않는다. - 순위는 완료한 랩, 체크포인트, 트랙 내 진행 거리로 계산한다. AI의 속도를 순간적으로 바꾸거나 위치를 옮겨 순위를 강제하지 않는다. 초보자는 완주할 수 있고 숙련자는 드리프트와 니트로로 앞설 수 있게 난도를 조정한다. 8. 카메라 - 차량 뒤와 약간 위에서 주행 방향을 바라본다. - 차량의 위치와 회전을 부드럽게 추적한다. - 코너 진입 시 앞쪽 도로가 충분히 보이게 한다. - 가속 시 거리와 시야각을 조금 늘려 속도감을 표현한다. - 충돌 시 짧고 약한 흔들림을 적용한다. - 카메라가 지형이나 터널 벽 안으로 들어가지 않게 한다. - 드리프트 중에도 다음 코너를 읽을 수 있는 시야를 유지한다. - 출발 전에는 차량과 트랙을 보여주는 짧은 연출을 넣는다. - 연출은 건너뛸 수 있어야 한다. 9. 게임 흐름 다음 순서로 플레이할 수 있게 한다. 타이틀 화면: - 게임 이름 - 차량과 트랙이 보이는 배경 - “레이스 시작” 버튼 - 간단한 조작 안내 - 사운드 켜기/끄기 레이스 시작: - 차량을 출발 위치에 배치한다. - 3, 2, 1, GO 카운트다운을 표시한다. - 출발 전에는 차량이 움직이지 않게 한다. - GO와 동시에 조작과 기록 측정을 시작한다. 레이스 진행: - 순위와 랩 수를 실시간으로 갱신한다. - 역주행 중에는 경고를 표시한다. - 랩 완료 시 짧고 명확한 알림을 보여준다. 일시정지: - 재개 - 다시 시작 - 타이틀로 돌아가기 결과 화면: - 최종 순위 - 전체 주행 시간 - 최고 랩 기록 - 개인 최고 기록 갱신 여부 - 다시 도전 - 타이틀로 돌아가기 플레이어가 완주하면 최종 순위를 확정한다. 아직 완주하지 않은 AI는 현재 진행도로 나머지 순위를 정하고 이를 결과에 구분해 표시한다. 다시 시작할 때 차량 위치, 속도, AI 상태, 랩, 기록, 니트로와 효과를 모두 초기화한다. 10. HUD 주행에 필요한 정보를 간결하게 표시한다. - 현재 속도와 km/h 단위 - 현재 순위: 예) 2 / 4 - 현재 랩: 예) 2 / 3 - 경과 시간 - 니트로 게이지 - 간단한 트랙 미니맵과 차량 위치 - 일시정지 버튼 HUD는 도로 중심과 차량을 가리지 않게 배치한다. 배경 밝기와 관계없이 글자가 읽히게 한다. 작은 화면에서도 정보가 겹치거나 잘리지 않게 한다. 경고와 랩 알림은 짧게 표시하고 자동으로 사라지게 한다. 11. 사운드와 효과 - 속도와 부하에 따라 변하는 엔진음 - 드리프트 타이어 마찰음 - 니트로 작동음 - 충돌음 - 카운트다운과 출발음 - 랩 완료 및 결과 알림음 - 레이스 분위기에 맞는 배경음악 브라우저에서 사용자가 시작 버튼을 누른 뒤 오디오를 활성화한다. 음소거 설정을 유지하고, 재시작 시 소리가 중복되지 않게 한다. 일시정지 중에는 엔진음과 주행 효과음도 멈추게 한다. 타이어 연기, 니트로 효과, 충돌 효과는 짧고 선명하게 사용한다. 효과가 도로를 가리거나 오래 누적되지 않게 한다. 12. 에셋 제작 첫 제작에 필요한 작은 에셋 세트부터 준비한다. - 오리지널 스포츠카 모델 1종 - 차량 색상 변형 4종 - 반복 배치할 야자수, 바위, 가드레일, 표지판 - 엔진 루프와 니트로·충돌 효과음 연결된 Genex를 사용할 수 있다면 실행 시 계정과 서비스 상태를 확인한 뒤 필요한 차량 모델과 핵심 사운드부터 생성한다. 생성된 에셋은 실제 게임에 적용하고 화면과 재생 상태를 확인한다. 생성을 사용할 수 없으면 그 이유를 알리고 절차적 모델과 합성 사운드로 플레이 가능한 버전을 완성한다. 에셋을 기다리는 동안에도 기본 레이스 구현은 진행한다. 차량 실루엣과 도로의 가독성을 우선하며 장식 때문에 성능이 떨어지지 않게 한다. 13. 기술 및 성능 기준 - 브라우저에서 실행되는 3D 게임으로 구현한다. - 현재 제작 환경의 필수 실행 규칙을 준수한다. - 난수는 시드 기반으로 관리해 같은 시드와 입력에서 결과를 재현할 수 있게 한다. - 주행 계산은 일정한 시간 간격으로 처리하고 화면 표시와 분리한다. - 일반적인 데스크톱 환경에서 60fps를 목표로 한다. - 반복되는 나무, 표지판, 가드레일은 효율적으로 배치한다. - 입자, 타이어 자국, 그림자의 수와 비용을 제한한다. - 화면 크기와 픽셀 밀도 변화에 대응한다. - 로딩 실패를 무한 대기로 방치하지 않는다. - 레이스를 반복해도 메모리와 오디오 객체가 계속 증가하지 않게 한다. - 개인 최고 기록과 사운드 설정은 로컬에 저장한다. - 저장소를 사용할 수 없어도 레이스는 정상적으로 플레이할 수 있어야 한다. 14. 이번 제작 범위 이번 버전에 포함한다. - 플레이어 차량 1종 - 완성된 트랙 1개 - AI 경쟁 차량 3대 - 3랩 레이스 - 가속, 제동, 후진, 충돌 - 드리프트와 니트로 - 추적 카메라 - 타이틀, HUD, 일시정지, 결과 화면 - 사운드와 주행 효과 - 개인 최고 기록 저장 이번 버전에서 제외한다. - 온라인 멀티플레이 - 오픈월드 - 차량 구매와 튜닝 - 대규모 차량 및 트랙 선택 - 경찰 추격과 전투 - 로그인, 서버 순위표, 결제 - 모바일 전용 터치 조작 - 복잡한 손상 및 수리 시스템 15. 제작 순서 먼저 차량을 운전하며 트랙을 한 바퀴 도는 플레이를 완성한다. 그다음 체크포인트, AI, 순위, 3랩 레이스와 결과 화면을 연결한다. 이후 드리프트, 니트로, 카메라와 사운드를 다듬는다. 마지막으로 배경, UI, 효과와 성능을 개선한다. 각 단계에서 직접 플레이해 확인하고 다음 문제를 우선 수정한다. - 차량 조작이 불안정한 문제 - 코너나 진행 방향을 읽기 어려운 문제 - 충돌과 복귀가 잘못되는 문제 - 랩과 순위가 틀리는 문제 - 메뉴에서 레이스로 이어지지 않는 문제 16. 완료 기준 다음 항목을 실제 플레이로 확인한 뒤 완료한다. - 시작 화면에서 레이스를 시작할 수 있다. - 카운트다운 뒤 정상적으로 출발한다. - 모든 조작이 안내와 일치한다. - 차량과 카메라가 안정적으로 움직인다. - AI 3대가 트랙을 주행하고 완주한다. - 드리프트와 니트로가 기록 단축에 도움이 된다. - 충돌 후에도 계속 플레이할 수 있다. - 차량 복귀가 안전하며 랩 판정을 우회하지 않는다. - 역주행과 출발선 왕복으로 랩을 얻을 수 없다. - 3랩을 마치면 정확한 결과가 나온다. - 일시정지와 재개가 정상적으로 작동한다. - 반복 재시작해도 입력, 효과, 사운드가 중복되지 않는다. - 화면 크기를 바꿔도 HUD가 읽힌다. - 실제 게임 화면을 확인해 차량, 도로, 코너 표지가 잘 보이는지 검증한다. 완료 후에는 플레이 방법, 구현한 기능, 확인한 항목과 남아 있는 제한을 간단히 설명해줘. 직접 검증하지 않은 기능을 검증했다고 주장하지 마. 가장 중요한 완성 기준은 “차량을 조종하는 것 자체가 재미있고, 한 경기를 끝낸 뒤 바로 다시 달리고 싶어지는가”다.