본문 바로가기
TIL

03.14 (TIL-Unity)

by 오랑이귀엽다 2024. 3. 15.

구현한 기능: 발판 및 함정 발판 생성 시스템

목적: 이 시스템은 게임 환경 내에서 플레이어가 이동하고 상호작용할 수 있는 발판과 함정 발판을 동적으로 생성합니다. 목적은 게임 내에 도전적인 요소를 추가하고, 플레이어의 탐험 및 문제 해결 능력을 시험하는 것입니다.

 

사용한 스크립트: BoardManager

 

간단한 코드 로직

더보기

// 발판을 생성하는 메소드
void SpawnBoards() {
    // boardSize의 값에 따라 정사각형 그리드 형태로 발판을 생성하는 이중 반복문
    for (int x = 0; x < boardSize; x++) {
        for (int z = 0; z < boardSize; z++) {
            // 현재 발판의 월드 위치를 계산
            Vector3 position = basePosition + new Vector3(x * spacing, 0, z * spacing);

            // 해당 위치에 생성할 발판이 일반 발판인지 함정 발판인지 결정
            GameObject prefabToUse = IsTrapPattern(x, z) ? trapPrefab : boardPrefab;

            // 계산된 위치에 발판 프리팹을 인스턴스화하여 생성
            GameObject board = Instantiate(prefabToUse, position, Quaternion.identity, transform);

            // 생성된 발판을 allBoards 리스트에 추가
            allBoards.Add(board);
        }
    }
}

// 주어진 x, z 좌표가 함정 패턴에 해당하는지 여부를 결정하는 메소드
bool IsTrapPattern(int x, int z) {
    // 여기에서 정의된 규칙에 따라 해당 위치가 함정인지 여부를 반환
    // 예: 특정 위치 패턴에 따라 true(함정) 또는 false(일반 발판) 반환
}

사용 이유 및 향후 도움이 될 점:

  • 게임 플레이의 다양성: 발판과 함정 발판을 생성함으로써, 게임 환경은 더욱 도전적이고 다양해집니다. 플레이어는 단순히 목적지에 도달하는 것이 아니라, 어떻게 하면 안전하게 목적지에 도달할 수 있는지를 고민해야 합니다.
  • 플레이어의 전략 및 결정: 함정 발판은 플레이어에게 조심스럽게 환경을 탐험하고 상황을 분석할 필요성을 부여합니다. 이는 게임 플레이에 전략적 깊이를 추가합니다.
  • 재사용 가능한 구성 요소: BoardManager 스크립트는 다양한 게임 환경에 재사용할 수 있도록 설계될 수 있습니다. 개발자는 이 시스템을 기반으로 다양한 유형의 발판과 함정을 손쉽게 추가하고 조정할 수 있습니다.
  • 프로그래밍 및 게임 디자인 기술 향상: 이러한 시스템을 구현하고 개선하는 과정에서, 프로그래밍 능력과 게임 디자인에 대한 이해도가 증진됩니다. 특히, Unity 게임 엔진과 C# 언어에 대한 실무적 경험을 쌓을 수 있습니다.

'TIL' 카테고리의 다른 글

03.15 (TIL-Unity)  (0) 2024.03.15
02.22(TIL-Unity)  (0) 2024.02.22
02.21 (TIL-Unity)  (0) 2024.02.21
02.20 (TIL-Unity)  (0) 2024.02.20
02.16 (TIL-Unity)  (0) 2024.02.16