YaOng 2: AuctionKingdom은 2인이서 플레이할 수 있는 전략 게임입니다. 자산을 잘 분배해서 고양이 왕국의 힘을 키워보세요!
Tech Stack
- Front-End : Kotlin
- Server : node.js, express.js
- DB : mongoDB
- IDE : Android Studio, Visual Studio Code
Intro
- Splash 화면을 통해 도장이 찍히는 애니메이션을 구현하여 게임의 핵심 키워드인 ‘Auction’을 강조했습니다.
Login
-
Google 로그인과 Guest 로그인을 구현했습니다.
-
Google로그인을 통해 처음 로그인을 하면 유저의 왕국 이름과 왕 이름을 설정하고, 원하는 고양이 왕의 프로필을 선택할 수 있습니다.
-
Guest 로그인의 경우에는 접속이 끊기면 Guest 유저의 데이터가 DB에서 삭제되도록 구현했습니다.
Main
-
메인 화면에서는 프로필 상세 페이지, 상점, 랭킹, 라이브러리, 게임방법, 게임 화면으로 전환할 수 있습니다.
-
프로필 상세 화면에서는 로그인한 유저의 전적, 티어를 볼 수 있고, 프로필 변경을 할 수 있습니다.
-
상점 화면에서는 게임 시작 전에 사용할 아이템들을 구입할 수 있습니다.
-
랭킹 화면에서는 DB에 저장되어 있는 유저들의 랭킹을 볼 수 있습니다.
-
라이브러리 화면에서는 게임에 나오는 카드들의 목록을 볼 수 있습니다. 카드를 터치하면 카드를 크게 볼 수 있습니다.
-
게임 방법 화면에서는 게임의 규칙을 볼 수 있습니다.
-
스타트 버튼을 눌러 방 목록 페이지로 넘어갑니다.
방 목록
- 코드를 입력해 방을 만들고, 같은 코드를 입력하여 만들어진 방에 입장할 수 있습니다.
- 방이 생성, 삭제되거나 방의 정보가 변경되면 접속해있는 모든 유저들의 방 목록 화면이 갱신됩니다.
방 세부 정보
- 방 세부 정보 화면에는 현재 방에 접속해 있는 유저들의 정보가 표시됩니다.
- 유저들은 레디 상태를 토글 방식으로 변경할 수 있습니다.
- 방 안의 유저 두명이 모두 레디 상태라면 방장이 매치 버튼을 눌러서 게임을 시작할 수 있습니다.
- 게임 시작 전 상점에서 샀던 아이템을 사용할지에 대한 여부를 선택할 수 있습니다. (게임 적용은 미구현)
게임
-
게임 화면에서는 게임에 참여한 두 플레이어가 실시간으로 턴제 게임을 즐길 수 있습니다.
-
화면 하단 입력창에 베팅할 금액을 선택할 수 있고, 먼저 베팅을 하면 상대방에게 베팅을 했다는 UI가 제공됩니다.
-
두 플레이어가 모두 베팅을 완료하면, 라운드가 진행되고 베팅의 결과가 팝업창으로 나타납니다.
-
15라운드가 모두 지나면 게임 결과를 반영해 두 플레이어에게 게임 결과 화면이 표시됩니다.
개요:
- 플레이어 수: 2인용
- 라운드 수: 15라운드
- 시작 조건: 플레이어 각각 10000골드 보유, 초기 국력 0
- 목표: 더 많은 카드를 구매하여 국력을 높이고, 최종적으로 더 높은 국력을 가진 플레이어가 승리
게임의 진행:
- 카드 제공: 매 라운드마다 중앙에 카드가 제공됨 (카드마다 국력 값이 있음)
- 배팅: 두 플레이어는 각자 배팅할 골드를 입력
- 두 플레이어가 모두 배팅할 골드를 입력하면 배팅 결과를 계산
- 배팅 결과:
- 더 높은 골드를 배팅한 플레이어가 카드를 구매함
- 두 플레이어 모두 배팅한 골드를 잃음
- 동점인 경우: 먼저 배팅한 플레이어가 해당 카드를 구매하고, 두 플레이어 모두 배팅한 골드를 잃음
- 국력 증가: 카드를 구매한 플레이어의 국력이 해당 카드의 국력만큼 증가
- 라운드 종료: 15라운드가 종료되면 게임이 끝남
- 승리 조건: 15라운드 종료 시 더 높은 국력을 가진 플레이어가 승리
세부 규칙:
- 최대 배팅 금액: 플레이어는 현재 보유한 골드보다 더 많은 금액을 배팅할 수 없음
- 라운드 진행: 각 라운드는 두 플레이어가 배팅을 완료하고 결과가 발표된 후 다음 라운드로 진행됨
- 게임 종료: 15라운드가 종료되면 게임이 종료되고 승리자가 결정됨