콘텐츠로 이동

Spirit of Kiro 개발 환경 설정

로컬 개발 환경 설정

먼저 AWS 계정에 연결된 게임 클라이언트 및 서버의 로컬 사본을 시작해야 합니다. 이렇게 하면 Kiro를 사용하여 코드베이스를 수정할 때 변경 사항이 실제로 작동하는지 확인할 수 있습니다.

1

리포지토리 클론

오픈 소스 코드 리포지토리를 클론하고 challenge 브랜치로 전환합니다:

bash

git clone git@github.com:kirodotdev/spirit-of-kiro.git cd spirit-of-kiro/ git checkout challenge

클론 후 프로젝트를 이해하기 위해 몇 가지 주요 파일을 확인하세요:

2

사전 요구 사항 종속성

다음 종속성이 설치되어 있어야 합니다:

3

종속성 확인

종속성 확인 스크립트를 실행하여 모든 것이 올바르게 설정되었는지 확인합니다:

sh

./scripts/check-dependencies.sh

alt !!alt

4

Cognito 사용자 풀 배포

인증을 위해 Amazon Cognito 사용자 풀을 배포합니다 (AWS 프리 티어에서 사용 가능):

bash

./scripts/deploy-cognito.sh game-auth

정보

'game-auth'를 사용자 정의 CloudFormation 스택 이름으로 대체할 수 있습니다.

alt !!alt

5

빌드 및 실행

Docker 또는 Podman을 사용하여 게임 스택을 빌드하고 실행합니다:

bash

podman compose build && podman compose up \ --watch \ --remove-orphans \ --timeout 0 \ --force-recreate

이 명령을 처음 실행하면 몇 분이 걸릴 수 있습니다. 이후 실행은 몇 초 안에 완료됩니다.

[alt !!alt]

Podman을 처음 사용하는 경우 Podman을 사용하기 전에 podman machine init && podman machine start를 실행해야 합니다.

완료 후 컨테이너 인터페이스에서 실행 중인 게임 컨테이너를 볼 수 있습니다. 다음 예는 Podman UI를 보여줍니다: [alt !!alt]

Control + C 또는 Command + C를 사용하여 전체 스택을 중지할 수 있습니다.

정보

Podman을 사용할 때 일부 운영 체제에서는 시스템 슬립 시 가상 머신에서 시간 동기화 문제가 발생할 수 있습니다. 이로 인해 애플리케이션이 AWS와 통신하는 데 문제가 발생합니다. 이 문제가 발생하면 다음 명령으로 수정할 수 있습니다:

sh

podman machine ssh sudo systemctl restart chronyd.service

6

데이터베이스 부트스트랩

스택이 로컬로 실행되면 DynamoDB local도 실행됩니다. 이는 DynamoDB AWS 서비스를 모방하지만 로컬 머신에서 실행되는 특수 컨테이너입니다. 게임은 이 DynamoDB 컨테이너에 여러 테이블이 생성될 것으로 예상합니다.

게임 스택이 계속 실행되는 동안 새 터미널을 열고 다음 명령을 사용하여 필요한 테이블을 자동으로 생성합니다:

sh

podman exec server mkdir -p /app/server/iac && podman cp scripts/bootstrap-local-dynamodb.js server:/app/ && podman cp server/iac/dynamodb.yml server:/app/server/iac/ && podman exec server bun run /app/bootstrap-local-dynamodb.js

[alt !!alt]

정보

DynamoDB 데이터베이스는 docker/dynamodb/shared-local-instance.db 파일에 저장되어 재시작 시에도 유지됩니다. 데이터베이스를 지우거나 테이블 구조를 변경하려면 이 파일을 삭제하고 게임 스택을 재시작한 다음 이 데이터베이스 부트스트랩 명령을 다시 실행하세요.

7

테스트

모든 것이 제대로 작동하는지 확인할 시간입니다. 먼저 다음 명령을 시도하여 게임 서버가 로컬에서 실행 중인지 확인합니다:

sh

curl localhost:8080

OK 응답이 표시되어야 합니다.

다음으로 웹 브라우저를 열고 주소 표시줄에 다음 주소를 입력합니다:

localhost:5173

게임 클라이언트의 홈페이지가 표시됩니다. 계정을 만들고 플레이를 시작하세요.

게임 가이드

게임에서 시도해볼 수 있는 기본 사항:

  • WASD로 이동, E로 상호작용
  • 빨간색 "PULL" 레버를 사용하여 무작위 아이템 가져오기
  • E로 아이템을 집어서 들고 다니기. T로 들고 있는 아이템 던지기. 힌트: 아이템을 하단의 문 밖으로 던질 수 있습니다.
  • 아이템을 작업대로 가져가서 E를 사용하여 작업대에 올려놓기. 아이템을 드래그하여 뒷면의 도구 벽으로 이동하거나 하단의 작업 영역으로 이동. 도구 벽의 아이템을 클릭하여 "quirk" 중 하나를 시전한 다음 "quirk"의 대상을 하나 이상 선택. 도구와 대상 모두 quirk에 따라 변환됩니다. 이것으로 창의력을 발휘하세요. 거의 무한한 가능성이 있으며 정말 기괴한 것을 만들 수 있습니다.
  • 아이템을 부수거나 자르거나 조각으로 나누고 작업대의 작업 영역에 많은 아이템이 있으면 넘쳐서 작업대 주변 바닥으로 떨어집니다. 바닥이 너무 지저분해지지 않도록 하세요!
  • 상자는 아이템이 너무 많을 때 보관용입니다.
  • 아이템을 하단의 문 밖으로 던지면 상점 주인이 판단하고 돈을 받습니다. 그는 재미있고, 특이하고, 상태가 좋거나, 희귀한 수집품처럼 보이는 아이템을 좋아합니다.
  • 컴퓨터는 자신과 다른 플레이어가 버리거나 감정사에게 준 아이템을 보여줍니다. 이것은 다른 플레이어로부터 간접적으로 구매하거나 잃어버린 것을 다시 구매할 수 있는 무작위 "상점" 역할을 합니다.

게임 플레이를 마치셨나요? 첫 번째 작업을 시작해봅시다:

Kiro 스티어링 및 게임 홈페이지 개선