다양한 기록

Parrying Sowrd #2 : [프로그래밍] 맵 생성기 본문

유니티 엔진/Parrying Sowrd

Parrying Sowrd #2 : [프로그래밍] 맵 생성기

라구넹 2022. 11. 7. 13:12

유니티 연습 프로젝트를 끝마치고, 이제 스스로 프로젝트를 기획해서 만들어 보고자 합니다.

프로젝트의 이름은 Parrying Sowrd로, 적의 공격을 검사 캐릭터가 패링(카운터)해서 공략하는 것이 메인 요소입니다.

하지만 패링 말고도 중요한 요소가 하나 있는데, 바로 맵이 정해져 있지 않고, 로그라이크 게임처럼 변한다는 것입니다.

클래스 다이어그램

위 이미지는 스테이지 생성기의 클래스 다이어그램입다.

빈 게임 오브젝트에 StageMaker와 MapPiece를 부착하여 작동시키면 맵이 자동으로 생성됩니다.

 

예시 이미지

MapPiece에 넣어져있는 맵 조각의 프리팹에서 프로그램이 정해진 규칙대로 맵을 만들어냅니다.

위 이미지에는 반복되는 맵 조각들이 보이는데, 이건 테스트용으로 맵 조각을 타입마다 하나씩 밖에 안만들어서 그렇습니다.

 

처음엔 MapPiece를 추상 클래스로 만들고 상속을 시켜 숲, 화산, 사막 등을 만들까 했지만 유니티는 프리팹을 지원하니

각각의 스테이지를 위한 프리팹을 따로 만드는 것으로 해결할 생각입니다.

 

다음은 자세한 맵 생성 알고리즘 기획입니다.

맵 설계도 작성 알고리즘.pdf
1.69MB