빌덱 프로젝트, 드디어 시작!

오늘은 오랫동안 구상해왔던 트럼프 카드 기반 멀티플레이어 게임, ‘빌덱(BuilDeck)’ 프로젝트의 첫 삽을 뜨는 역사적인 날입니다! CLI 에이전트와 함께 개발을 시작했으며, 구글 플레이 스토어와 스팀 출시를 목표로 Unity 엔진을 선택했습니다.

🛠️ 오늘 구현한 주요 기능들

  1. 프로젝트 초기 설정:
    • Unity 프로젝트 생성 및 영문 경로로 이전 (한글 경로 이슈 해결!)
    • 표준 에셋 폴더 구조 (Scripts, Scenes, Prefabs 등) 설정
  2. 게임 핵심 로직의 뼈대:
    • Card.cs: 카드의 모양(Suit)과 숫자(Rank)를 정의하는 기본 스크립트.
    • GameManager.cs: 게임의 모든 흐름을 제어하는 핵심 스크립트.
      • 52장 카드 덱 생성 및 무작위 셔플 기능 구현.
      • 플레이어 생성 및 각 플레이어에게 초기 핸드 카드 분배.
      • 필드 덱 생성 및 카드 채우기.
      • 턴 관리 시스템의 기초 마련.
    • Player.cs: 각 플레이어의 핸드를 관리하고, 포커 족보를 평가하는 로직 추가.
  3. 시각화 및 UI:
    • CardDisplay.cs: 카드의 모양과 숫자를 3D 텍스트로 표시하여 시각적으로 카드를 구분할 수 있게 함. (TextMeshPro 이슈로 잠시 고생했지만 해결!)
    • HandDisplay.cs: 플레이어의 핸드 카드를 화면에 정렬하여 표시.
    • FieldDeckDisplay.cs: 필드 덱의 카드들을 화면에 정렬하여 표시.
    • GameUI.cs: 게임의 주요 행동(카드 교환, 필드 덱 리필, 스톱 선언)을 트리거할 수 있는 간단한 UI 버튼 추가.
  4. 핵심 게임 플레이 구현:
    • 카드 교환: 플레이어 핸드 카드와 필드 덱 카드 간의 교환 로직 구현.
    • 필드 덱 리필: 필드 덱의 카드를 비우고 새로운 카드로 채우는 로직 구현. (Destroy 이슈로 잠시 고생했지만, SetActive 방식으로 해결!)
    • 스톱 선언 및 승자 결정: 플레이어가 스톱을 선언하면, 각 플레이어의 핸드를 포커 족보로 평가하여 승자를 결정하고 콘솔에 출력하는 기능 구현.

🚧 오늘 배운 점 & 해결한 문제

  • 경로 문제: Windows 환경에서 한글 경로가 mkdir 명령어와 Unity의 일부 기능에서 문제를 일으킬 수 있음을 확인하고, 프로젝트 경로를 영문으로 변경하여 해결했습니다.
  • Unity 오브젝트 관리: Destroy()SetActive()의 차이점을 명확히 이해하고, 카드 오브젝트를 재활용하는 방식으로 변경하여 성능과 안정성을 확보했습니다.
  • 스크립트 의존성: using System.Linq;와 같은 네임스페이스 참조의 중요성을 다시 한번 깨달았습니다.

🚀 다음 목표

오늘 구현된 핵심 기능들을 바탕으로, 다음 세션에서는 UI/UX 개선, 게임 규칙의 세부 구현 (예: 동점 처리, 스톱 선언 시 핸드 공개 순서), 그리고 궁극적으로 멀티플레이어 기능 연동을 시작할 예정입니다.

아직 갈 길이 멀지만, 첫 단추를 성공적으로 꿰었다는 것에 큰 의미를 둡니다. 빌덱 프로젝트, 앞으로도 많은 기대 부탁드립니다!