Skip to content

tpals0409/MasterOfMana

Repository files navigation

Master of Mana

온라인 멀티플레이어 마나 수집 보드게임. 주문서를 구매하고, 보너스를 쌓아 크리처를 소환하여 숙련 점수 15점을 먼저 달성하면 승리합니다.

기술 스택

영역 기술
Client React 19, Vite 6, Zustand, Framer Motion, TailwindCSS
Server Fastify 5, WebSocket (ws)
Shared TypeScript 5, 공용 타입 및 게임 로직
Infra Docker (node:22-alpine), K3s, Cloudflare Tunnel

프로젝트 구조

packages/
├── client/    # React SPA (Vite)
├── server/    # Fastify + WebSocket 게임 서버
└── shared/    # 공유 타입, 게임 규칙, 카드/크리처 데이터
k3s/           # Kubernetes 매니페스트 (Deployment, Service, Cloudflared)
docs/          # 카드 일러스트 문서

시작하기

# 의존성 설치
pnpm install

# 개발 서버 (클라이언트 + 서버 동시 실행)
pnpm dev

# 개별 실행
pnpm dev:client
pnpm dev:server

# 빌드 & 실행
pnpm build
pnpm start

# 린트
pnpm lint

Docker

docker build -t master-of-mana:latest .
docker run -p 8080:8080 master-of-mana:latest

게임 규칙

  • 2~4인 실시간 멀티플레이
  • 턴마다 마나 수집, 주문서 구매, 또는 주문서 예약 중 하나를 수행
  • 주문서를 구매하면 해당 원소 보너스가 쌓임
  • 보너스 조건을 충족하면 크리처를 소환 (플레이어당 1체)
  • 숙련 점수 15점 도달 시 마지막 라운드 개시, 최고 점수 플레이어 승리

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors