지구에 불시착한 우주고양이 알린과 엘린!
생선을 사고팔아 우주선을 수리해 우주 정복의 꿈을 이룰 수 있을까요?
- 각 플레이어는 게임 시작 시 1,000냥코인을 지급받습니다.
- 생선 가격은 첫날 100냥코인으로 시작해, 매일 1~300냥코인 사이에서 변동됩니다.
- 20초 안에 생선을 사고 팔아야 하며, '사기' 또는 '팔기' 버튼을 눌러 거래할 수 있습니다.
- 시장에서 대한 힌트가 주어지지만, 100% 정확하지는 않으니 주의하세요!
- 최종적으로 가장 많은 냥코인을 모은 플레이어가 우승합니다. 최적의 타이밍에 거래해서 우승을 차지하세요!
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|
👑 @Yoonyi | @James | @Deun | @Mark | @Nana |
기획 라우팅 및 레이아웃 와이어프레임 로고디자인 페이지 퍼블리싱 (user-info) 기능 (닉네임 입력 및 유효성 검사) |
깃허브 세팅 및 폴더구조 데이터베이스 배포 공통 컴포넌트 (input, cat-box) 페이지 퍼블리싱 (game) 기능 (게임ID 생성 및 중복검사, 게임 시작 소켓 이벤트, 게임 종료 소켓 이벤트) |
소켓 세팅 캐릭터디자인 공통컴포넌트 (button) 페이지 퍼블리싱 (select-rounds, loading, not-found) 기능 (게임ID 유효성 검사, 생선 거래 기능, 대기실 입장 소켓 이벤트) |
기획 힌트 소켓 설계 공통 컴포넌트 (toast) 페이지 퍼블리싱 (waiting) 기능 (대기실 입장 소켓 이벤트, 채팅 소켓 이벤트, 정보 전송 소켓 이벤트 ) |
게임디자인 스타일세팅 공통 컴포넌트 (modal) 페이지 퍼블리싱 (home, result) |
![]() |
![]() |
![]() |
![]() |
---|
Next.js와 Socket.io의 통합으로 실시간 데이터가 반영되는 서버와 클라이언트를 구현하였으며 상태 관리 (Zustand)와 TypeScript를 통해 안정적인 상태 저장 및 타입 안정성을 확보하였으며, 유저의 선택에 따라 변화하는 다양한 데이터를 정확히 전달합니다.
- Socket.io는 WebSocket을 기반으로 지속적인 연결을 유지하며, 빠른 데이터 전송과 효율적인 실시간 상호작용을 제공해 실시간 채팅 및 게임 상태 동기화 기능을 구현
- 클라이언트와 서버 로직을 분리하여 실시간 통신 구조를 더 명확하게 설계하고, 서버에서 소켓 연결 상태를 효율적으로 제어할 수 있어 다수의 클라이언트와 안정적으로 연결된 상태 유지
- TypeScript를 사용하여 코드의 타입 안정성을 확보하고, 서버와 클라이언트 간 데이터의 일관성을 유지
- 전역 상태 관리 라이브러리를 사용해, 게임의 상태를 관리 최적화하고 클라이언트 간의 실시간 상태 동기화를 위해 사용
- 일관된 UI 스타일링을 빠르게 적용 가능
- Koyeb는 클라이언트와 서버를 함께 배포할 수 있으며, Socket.io 기반의 실시간 게임 환경에 최적화된 배포 환경 제공
- 초기 개발 단계에서 빠른 테스트 환경을 구축하여 클라이언트와 서버의 통합을 확인할 수 있도록 지원
- PostgreSQL을 사용하여 게임 데이터를 안정적으로 저장하고 관리하며, 실시간으로 저장된 데이터에 액세스가 가능하도록 지원