2019년 9월 8일 일요일

GMS2 GameMaker Studio 2 로 슈팅 게임 만들기 (1) (Let's Make shooting game)


(GameMaker Studio 2) GMS2로 가로형 슈팅 게임을 제작 하도록 하겠습니다. 아래 목차로 진행 예정이며 몇개의 글로 이루어질 예정입니다.

0. 목차


슈팅 게임의 기초 - 배경 스크롤
다중 배경 스크롤
주인공 object
ON Screen Jog
적 object
적 탄환
boss object
boss 탄환
Timelines 사용
Paths 사용
Player 입장 구현
Player 퇴장 구현
우주 배경 배경 스크롤

1. 슈팅 게임의 기초 - 배경 스크롤

일명 뺑뺑이 스크롤이라고 불립니다. 기본적인 동작은 뺑뺑이로 사용할 배경의 제작이 필요합니다. 일반적인 이미지를 가지고 편집을 하려면 Aseprite SW의 tilemode를 이용하여 제작하면 됩니다.

제작은 518*320 크기의 room 크기의 게임을 제작 하도록 하겠습니다.
만약 이련경우 518*320크기의 배경을 제작해서 배경 스크롤을 하게된다면 메모리 소모가 크게 됩니다. 하늘 배경이라고 한다면 아래쪽은 단일 파란색이므로 좀 더 작은 크기로 제작이 가능합니다.
120*80 크기의 배경을 만들어 보겠습니다. 만드는 방법은 Aseprite 툴을 사용하지 않아도 됩니다. 아래와 같이 대충 구름을 만듭니다. 큰 구름을 만들고 주변에 작은 구름을 붙여서 자연스럽게 만들면 됩니다.



그리고 가로 스크롤이므로 tile 모드 X Axis를 켜놓고 구름을 만듭니다. 타일모드를 켜게되면 아래와 같은 형태가 나오는데, 타일 모드가 없는 에디터라면 수동으로 붙여넣기 해서 미리 확인해보면 되고, 어색한 부분이 있으면 수정해줍니다.



수정된 그림입니다.



타일 모드를off 했을때 원본 이미지 입니다.



GMS2에서 스크롤을 해보겠습니다.

sprite를 추가합니다.



room Layers의 Backgroud에 sBGSky를 추가합니다. 그리고 horizental Tile을 check해서 tile형태가 되도록 합니다.

아래쪽에는 약간 허전합니다 이부분은 layer를 아래쪽에 하나 더 추가하여 배경색만 파란색으로 추가합니다. 이때 추가할때 스포이드로 동일색이 나타나도록 맞춰줍니다.

그리고나서 room0에 Backgrounds layer를 하나 더 추가해서 아래쪽으로 이동시킵니다. 그러면 아래와 같이 흰배경이 나타나는데 이전에 저장된 색으로 배경을 설정합니다.

설정하고, Background layer의 Horizental Speed 에 -1을 적어주면 스크롤이 됩니다. 해당값은 한 step에 얼마나 이미지를 이동시킬지를 결정하는 값입니다.

좀더 빠르게 스크롤을 시키고 싶다면 해당 값을 증가시키면 됩니다.

2. 다중 배경 스크롤

여러장의 이미지를 넣어서 배경 스크롤 시키는 것입니다. 위에서는 한장만 넣었습니다만, 아래쪽에 산이미지를 넣어 보겠습니다. 이번에도 그림을 그립니다. 동일하게 80*120에 tile모드로 그려 봅니다.


sBGLand라는 이름으로 불러옵니다.


Layer를 하나더 추가시켜보면 위쪽에 있어서 땅같지가 않습니다. 따라서 Y Offset을 설정을 합니다. 대략 200 정도가 적당합니다. 그리고 Horizontal Tile 선택 합니다.


실행시켜보면 하늘을 빨리 움직이지만 땅은 움직이지 않는 어색한 사이가 되어 버립니다. 그래서 여기에서 땅은 하늘 보다 가까우니  Horizontal speed를 -2가 되도록 넣어줍니다. 스크롤 2개를 만들어봤습니다만, 더 많은 layer를 추가해서 스크롤 시킬 수 있으며 스크롤값은 소수점도 가능합니다.

이번 시간에는 스크롤 관련해서 알아보았고 다음에는 주인공 움직임 관련해서 구현하도록 하겠습니다.


댓글 없음:

댓글 쓰기