[완] 개인서버 개발/FlagWar(중단)

#1 FlagWar 기획

북극곰은콜라 2023. 7. 12. 16:58
반응형

개요

軍旗(군기)라는 중국 보드 게임이 있습니다.
상대방의 깃발을 뺏는 전략 보드게임으로 상당히 재밌게 했던 기억이 있습니다.
해당 게임을 크로스 플랫폼으로 적절히 번역해서 개발하는것이 목표

요구사항 정리

  1. 일반 2인 FlagWar 게임만 구현
    1. 기물 세팅 구현 (로컬 캐싱기능만)
    2. simple 매칭 시스템 구현 (매칭룰 없음 FIFO)
    3. 게임 플레이 관련 구현
  2. 게임 resume을 염두한 설계
  3. 기능적 확장성 고려
  4. 인프라 확장성 및 가용성 고려
  5. 반응성 고려
  6. 핵심기능만 우선 구현 (추후 기능 추가개발)

 


게임 룰 정의

보드와 기물

1. 보드

5 X 12 게임판
기물을 배치할 수 있는 위치는 총 60개 이며, 위치는 포인트로 지칭한다. 총 3종류의 포인트가 있다.
기물이 움직이는 경로가 있으며, 경로는 총 2가지 있다.

포인트 설명
 - 본진(大本營): 본진의 의미를 가지며, 해당 위치에는 목표물에 해당하는 "깃"이 배치되어야 한다. 해당 위치에 올라간 기물은 움직일 수 없다.
 - 거점(行營): 거점의 의미를 가지며, 배치 단계에서 기물을 배치할 수 없다. 게임 시작 후 기물을 거점으로 이동할 수 있으며, 해당 포인트의 기물은 무적이며 적에게 공격당할 수 없다.
 - 초소(兵點): 초소의 의미를 가지며, 일반적인 배치 포인트 및 이동 포인트이다. 

경로 설명
 - 한줄 경로: 일반적인 경로이며, 한턴에 한칸씩 갈 수 있음을 의미한다.
 - 2줄경로: 철도를 의미하며, 직선이동을 할 수 있다. 모든 기물은 다른 기물이 막지 않는 범위에서 여러칸 이동을 할 수 있다. 특수 기물인 공병대의 경우 철도로 연결된 모든경로를 대상으로 움직일 수 있다.

2. 기물

총 25개의 기물로 구성된다.
일반 기물과 특수 기물로 나누어지며 각 기물은 고유의 등급, 고유능력을 가진다.
자신보다 등급이 높은 기물에게 잡아먹힌다.
번역보다는 한국 군 체계를 따라서 정의한다.

일반 기물 / 갯 수
 - 본부(司令): 1
 - 군단(軍長): 1
 - 사단(師長): 2
 - 여단(旅長): 2
 - 연대(團長): 2
 - 대대(營長): 2
 - 중대(蓮長): 3
 - 분대(排長): 3
일반 기물의 등급은 내림차순으로
본부 -> 군단 -> 사단 -> 여단 -> 연대 -> 대대 -> 중대 -> 분대

특수 기물 / 갯 수 / 고유능력
 - 깃(軍旗): 1, 게임의 목표가 되는 기물로 항상 본진 포인트에 배치되어야하며, 움직일 수 없다. 지뢰가 3개 모두 제거되면, 기물이 상대방에게 노출된다. 등급은 최하로 모든 기물에게 먹힌다.
 - 폭탄(炸彈): 2, 등급은 없으며, 모든 기물과 만나면 같이 죽는 자폭 기물이다. 일반 룰에서는 각 진영의 최 전방 1라인에 배치될 수 없다.
 - 지뢰(地雷): 3, 등급은 최상급으로 공병을 제외한 모든 기물을 이긴다. 하지만 배치 후 움직일 수 없다. 일반 룰에서는 최 후방 2 라인에만 배치될 수 있다.
 - 공병(工兵): 3, 등급은 최하급으로 오직 지뢰만 제거 가능한 기물이다. 철도가 연결되며 막히지 않은 모든 지점을 이동할 수 있다.

3. 게임 룰 및 진행

배치 단계, 게임 단계로 총 2가지 단계로 구성된다.
배치 단계는 게임 시작 전 기물을 배치하는 단계로 룰에 따라 각 기물들을 배치한다. 모든 기물을 배치하는 것이 원칙이다.
게임 단계는 각 기물을 움직여서 승리 조건을 채우는 단계이다.
턴 방식으로 각 기물을 움직일 수 있다.
상대방 기물과 겹치면, 등급과 능력에 따라서 승패가 결정되며, 승리한 기물이 남고 패배한 기물은 제거된다. 비기면 둘다 사라진다.

승리 조건
 - 상대방의 깃을 공격한다.
 - 상대방의 모든 기물이 움직일 수 없는 상태로 만든다.

 


마무리

설계 및 구현 난이도가 쫌 있을것으로 예상되며
유지보수 및 기능 확장이 가능한 구조로 구현하는 것이 목표다

 

 

 

반응형

'[완] 개인서버 개발 > FlagWar(중단)' 카테고리의 다른 글

#2 Session Connector Server 구현  (0) 2023.08.03