Skip to content

pknu-wap/2025-2-SnapTale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

501 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SnapTale

브라우저에서 즐기는 실시간 카드 대전 게임
동양의 전설적 영웅들이 카드로 맞붙는 전략 배틀


개요

SnapTale은 WebSocket 기반 실시간 카드 배틀 게임입니다.
홍길동, 각시탈, 닌자, 오니, 여포, 손오공 등 동양의 캐릭터를 활용하여, 친숙하면서도 독특한 재미를 제공합니다.

image MOBILEavailable SELECTADECK_MOBLIE

진영(Factions)

게임에는 한국, 일본, 중국의 세 가지 진영이 존재합니다.
각 진영은 고유한 전략적 개성을 가지며, 플레이어는 선택한 진영의 카드 스타일에 따라 다른 전술을 구사할 수 있습니다.

한국덱

korean-core
  • #출현연계 #버프폭발 #한턴콤보
  • “출현 효과를 연계해 한 순간에 판도를 뒤집는 폭발적 콤보 덱”

일본덱

image
  • #이동, #무작위성, #하이리스크하이리턴
  • “예측 불가 이동과 무작위 효과로 필드를 교란하며 폭발력을 노리는 덱”

중국덱

  • #지속시너지 #누적강화 #병력증가형
  • “턴이 진행될수록 시너지가 누적되며 필드를 압도하는 안정적 엔진덱”

게임 규칙

1. 게임 목표

image image
  • 게임은 총 6턴 동안 진행됩니다.
  • 3개의 구역(Location)2곳 이상을 점령하면 승리합니다.
  • 1곳씩 나눠가져 무승부가 발생하면, 전체 카드 파워 합계로 승부를 가릅니다.

2. 턴 진행 방식

  • 게임은 총 6턴으로 구성됩니다.
  • 에너지는 턴마다 증가하며, 턴 1에서는 2, 턴 2에서는 3, … 턴 6에서는 7을 가집니다.
  • 에너지는 해당 턴에서만 사용할 수 있으며, 다음 턴으로 이월되지 않습니다.
  • 시작 시 손에 3장의 카드가 주어지며, 매 턴마다 덱에서 1장을 드로우합니다.
  • 손패는 최대 7장까지 보유할 수 있습니다.
  • 양 플레이어는 동시에 카드를 선택해 배치하고, 턴 종료 시 두 사람의 카드가 함께 공개되어 결과가 처리됩니다.

3. 구역(Location)

  • 게임판에는 3개의 구역이 존재합니다.
  • 각 구역은 제한된 슬롯에만 카드를 배치할 수 있습니다.
  • 승부는 단순히 “해당 구역에 배치된 카드들의 총 파워 합 비교”로 결정됩니다.
  • 구역마다 고유한 효과가 있으며, 예시는 다음과 같습니다:
    • 배치 가능한 카드 수 제한
    • 카드 파워 증감 효과
    • 배치 후 이동 제한
  • 일부 구역은 매치 시작 시 비공개 상태로 존재하며, 특정 턴이 되면 공개됩니다.

4. 카드(Card)

  • 카드에는 코스트(소모 에너지), 파워, 특수 효과가 존재합니다.
  • 코스트는 0~6 범위이며, 플레이어는 해당 턴의 에너지 내에서만 카드를 낼 수 있습니다.
  • 특수 효과는 구역 효과와 함께 적용되어 파워 계산 및 배치 규칙에 영향을 줍니다.

5. 승리 조건

  1. 6턴 종료 시, 각 구역의 점령 여부를 판정합니다.
  2. 3개의 구역 중 2곳 이상을 점령하면 승리합니다.
  3. 점령 결과가 동일할 경우, 전체 파워 합계로 승부를 결정합니다.
  4. 모든 조건이 같을 경우, 게임은 무승부로 끝납니다.

기술 스택

  • Frontend: React (Vite 기반), WebSocket 클라이언트
  • Backend: Spring Boot, WebSocket (STOMP), JPA
  • Database: MySQL
  • 배포: AWS (EC2, RDS)

About

브라우저에서 즐기는 실시간 카드 대전 게임, 동양 영웅들이 카드로 맞붙는다

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors