본문 바로가기
Unity Portfolio/TinySwordDefense

1. 2D 디펜스 게임 개발 프로젝트 세팅

by 첨부엉. 2024. 7. 20.

제작계기

더보기

어제 게임대회 공고를 두 개 찾게 되었는데 

"만들래 10분 게임잼" 과 "포톤게임잼" 을 발견하게 되었다.

 

포톤 게임잼은 멀티플레이어로 개발해야되고 (예선제출 기한일 8월 11일)

만들래 게임잼은 10분안에 즐길 주 있는 게임으로 만들어야한다. (제출기한일 8월23일)

 

첫 게임잼 출전인데 두개를 동시에 하게되어 좀 두렵지만  3d와 2d를 병행하며 제작할 예정이다. 

 

사실 2d 프로젝트는 여러개 만들었었지만 결과물로 나온게 없어서 사실상 첫 프로젝트나 다름 없다. 

 

최근 즐겨하고 있는 운빨존많겜과 로블록스에서 했던 디펜스게임을 섞어서 나만의 디펜스 게임을 제작해보려한다.

"랜덤성 있는 2D 디펜스게임" (멀티는 미정이지만 멀티로 하고 싶음)

 

둘다 수상보다는 참가에 의의를 두고 제작할 예정이다. 

에셋 준비

Tiny Swords by Pixel Frog (itch.io)

 

Tiny Swords by Pixel Frog

​The most brutal and colorful battle!

pixelfrog-assets.itch.io

에셋은 색채와 그림체가 비슷한걸 모아서 사용하는 것보다 패키지로 되어있는거 하나를 사용하는게 가장 좋다.

2d 에셋은 내가 많이 갖고 있지 않아서 itch.io에서 무료에셋인 TinySwords 에셋을 이용할 것이다.

 

필요로 하는 것은 보스 몬스터 빼고 다 있어서 매우 괜찮은 에셋이다.

 

 

TileMap 준비

완성본

먼저 배경은 에셋내에 포함되어있는 Water 이미지에서 색을 받아와 Main Camera 에 Background 색상을 변경한다.

 

하이러키 창에 Tilemap- Rectangular 로 생성하고

위와 같이 Roadmap, Gridmap, Watermap, WayPointmap 이름으로 4개를 생성한다.

 

각 타일맵의 속성은 아래 표와 같다.

  설명 Order in Layer
Roadmap 몹이 지나가는 길 (시작은 몬스터의 건물, 끝은 플레이어의 건물) 2
Gridmap 잔디로 되어 있는 길 1
Watermap 물 Foam 애니메이션, 돌 애니메이션이 포함되어 있는 타일맵, 그냥 효과라서 완성도를 올리기 위함일 뿐 없어도 됨 0
WayPointmap  몹이 지나가는 길중에서 꺾이는 부분에 설정어 있어 방향을 알려줌 0

 

픽셀은 64라서 여기 안에 들어갈 이미지의 픽셀은 모두 64로 설정해줘야된다. 

 

pixels Per Unit을 64로 설정하지 않으면 제일 큰 이미지에 맞춰져서 타일맵이 이상해진다. (겹쳐지지 않고 떨어짐)

Roadmap

로드맵의 Tilemap Renderer 속성은 다음과 같다.

여기기서 사용할 이미지는

길과, 건물두개이다. (출발 건물, 도착건물)

 

Rule Tile 로 생성하고

길은 12개, Grid로 설정한다음 길의 방향을 위와 같이 지정한다.

 

 

Create - 2D - Tile Palette - Rectangular를 생성하고 이름은 RoadTile

 

방금 만든 RoadMap과 시작건물이 될 고블린의 집과 도착 건물이 될 전사의 집을 넣어준다.

아까 pixels Per Unit을 길의 이미지 크기인 64와 똑같이 설정하지 않았다면, 집들은 이미지 크기가 더 커서 아마 타일맵의 픽셀크기가 커졌을 것이다.

설정했다면 그림을 그려주기 

이때 Tile Palette뷰에서 edit 클릭을 해제하고 그려야 됨

 

Gridmap

Ground 이미지를 64x64로 자르고 타일맵을 생성한 후 그려준다.

 

Watermap

이건 없어도 되는데 퀄리티와 완성도를 올리기 위해서 넣었다. 움직이는 타일맵이라 애니메이션 타일로 생성해야된다.

Create - 2D - Tiles - Animated Tile 로 생성하고 움직일 타일 이미지이름으로 설정한다.

이미지 자르는걸 어떻게 해야될지 몰라서 

 

Grid By Cell Count로 잘랐다 애니메이션으로 사용할 이미지는 다 이렇게 잘라주었다. 

속도가 어느정도 있어야되기 때문에 speed를 7로 설정했다.

 

이렇게 만든 Foam, Rock 타일을 맵안에 넣고 그리기 실행하면 애니메이션이 잘 동작되는 모습을 확인할 수 있다.

 

WayPointmap

빈 오브젝트 이름을 WayPoint 로 설정하고 작은 아이콘을 설정하여 프리팹으로 만든다.

 

타일 팔레트뷰에 들어가서 하단의 GameObject Brush를 선택하고 방금 만든 프리팹을 연결한다.

Active Tilemap을 WayPointmap으로 설정하고 시작, 꺾이는 부분, 끝지점에 각각의 포인트를 찍어주면된다.

 

 

완성하면 위와 같이 나오는 모습을 확인 할 수 있다. 

추후에 개발하면서 바뀌겠지만 일단 기본 맵