티스토리 뷰

안녕하세요 😊

유니티 게임 엔진으로 쉽고 빠르게 2D 게임을 만드는 방법에 대한 강의를 만들어서 글을 쓰게 되었습니다.

 

스마트폰으로 게임을 해보셨다면 아마 이 로고를 한 번쯤은 보셨을텐데요. 유니티 무료 버전으로 게임을 개발하게 되면 앱을 시작할 때 처음에 이런 화면이 나타나게 됩니다.

 

 

유니티로 만들어지는 게임은 정말 많으며 특히 소규모(1인 등) 회사에서 많이 활용되고 있는 것으로 알고 있어요. 혼자서 취미로 게임을 만들어보시려는 분들께 유니티는 최고의 선택이라고 생각합니다. 배우기도 쉽고 에디터 내에 게임을 위한 많은 부분이 이미 준비되어 있어서 생산성을 아주 많이 높여줍니다. 

 

 

게다가 요즘엔 잘 모르는 것도 커뮤니티 대신 ChatGPT 에게 물어보면 금방 좋은 답을 구할 수도 있지요!

 

 

 

유니티 자체만으로도 어느 정도의 게임은 구현할 수 있지만 세부적인 동작을 제어하거나 등장 요소(게임 오브젝트)들 간의 상호 작용을 위해 스크립트가 필요한데 유니티에서는 C# 이라는 언어로 스크립트를 작성합니다.

 

C# 은 자바와 굉장히 유사하게 생겨서 자바를 공부해보신 분들이라면 아주 쉽게 이해하실 수 있을테구요. 그렇지 않은 분들이라도 프로그래밍 언어를 하나 이상 공부해보셨다면 어렵지 않게 코드를 읽으실 수 있을겁니다. 하지만 이 강의는 프로그래밍 언어 교육이 주 목적이 아니므로 개발 공부를 한 번도 해보지 않은 분들이라면 파이썬, 자바 등의 언어를 먼저 공부하신 뒤에 시청하시길 권해 드립니다.

 

(자바 강의 - 조금 길지만 이 영상이 도움될 수도 있어요!)

 

 

 

 

이번 게임 개발 강의에서는 유니티의 핵심적인 내용만 쏙 뽑아서 빠르게 익히며 하나의 게임을 완성시켜가도록 구성하였습니다. 학습과 동시에 자그마한 게임 프로젝트를 진행하기 때문에 이 강의만 보셔도 어떤 식으로 게임을 만드는지, 왜 유니티를 쉽다고 하는지, 내가 게임 개발에 흥미 또는 소질이 있는지 감을 잡기에 충분히 도움될 수 있으리라 생각해요.

 

게임 프로젝트 주제는 종스크롤 러닝 액션 슈팅 게임입니다.

 

 

이 게임은 한때 애니팡이라는 게임과 함께 정말 많은 분들이 즐겼던 드래곤 플라이트인데요. 과거 오락실에서 즐기던 비행기 게임과 크게 다르지 않습니다. 갤러그처럼 주인공을 좌우로 움직이며 하늘에서 내려오는 적 (드래곤) 을 무찌르며 나아가는 형태에요. 

 

 

강의를 준비하는 과정에서 드래곤 이미지를 구하기가 너무 어려워서 저는 게임 제목을 'Trash Flight' 라고 하였습니다. 하늘에서 날아오는 쓰레기들을 우리 주인공 캐릭터가 막 달려가면서 분리수거를 하는 거라고 생각해주세요. 

 

그렇게 생각해주셔야 합니다. 

 

제발.

 

 

 

 

 

게임의 첫 단계로 유니티 설치부터 먼저 진행합니다.

참고로 윈도우나 맥에서 모두 학습 가능합니다. (리눅스도요)

 

환경 설정 이후에는 유니티가 어떻게 생겼는지 간략히 소개를 드립니다. 

처음 프로그램을 보면 뭔가 복잡하게 생겼지만, 곧 익숙해지실 거에요.

 

 

 

게임에서 쓸 이미지들도 구해와야 합니다. 

모두 무료로 구해볼게요 (Open Game Art 에서 많은 리소스를 제공합니다)

 

 

 

이미지가 준비가 되면 본격적으로 게임 제작에 들어갑니다. 처음으로 게임 배경을 만들어볼까요? 주인공이 쓰레기를 분리수거 하기 위한 좋은 공간은 공원이라 생각해서 초록색의 풀이 있는 이미지로 가져와봤습니다.

 

 

배경이 그냥 가만히 있으면 너무 심심하니까 앞으로 달려나가는 것처럼 하기 위해서 움직여볼게요. 무한 스크롤 배경의 원리는 동일한 이미지 2장을 가져다놓고 아래쪽 방향으로 이동하다가 어느 위치가 되면 이미지를 위쪽으로 슝 올리면 됩니다. 이게 반복되면 게임 화면에서는 끝없이 배경이 계속되는 것처럼 보이는거죠.

 

 

 

배경이 준비되면 이제는 주인공을 준비합니다. 

화면 아래 적당한 위치에 놓고 나서 크기도 조절해볼게요.

 

 

그런데 주인공이 그냥 서 있기만 하면 안되니까 움직이도록 애니메이션을 적용해보겠습니다. 유니티에서는 그냥 여러 이미지를 선택해서 드래그 드랍한 뒤에 애니메이션 파일만 하나 만들어주면 끝입니다. 굉장히 빠르게 애니메이션을 적용할 수 있어요.

 

 

 

이제는 우리 주인공을 제어해보겠습니다. 키보드 방향키가 입력되면 그에 따라서 일정한 속도로 이동할 수 있도록 할 수도 있구요.

 

 

 

또는 마우스로 움직여서 휙휙 빠르게 마우스 위치(가로 기준)로 올 수 있도록 할 수도 있습니다. 드래곤 플라이트는 스마트폰에서 즐길 때 터치되는 위치로 휙휙 움직이므로 우리 게임에서는 키보드가 아닌 마우스로 제어하도록 해볼게요.

 

 

 

이제 쓰레기들을 해치울 미사일도 만들어볼까요? 미사일은 키보드를 누르거나 마우스를 클릭하지 않아도 게임이 플레이되는 동안 계속해서 쏘도록 하겠습니다. 다만 미사일 간격을 적당히 조정해주지 않으면 너----무 많이 쏴서 주인공이 거의 끝판 대장급으로 강력해질 수가 있습니다.

 

 

 

스크립트에서 간격 조정을 해주니 훨씬 낫네요 (휴)

 

 

 

미사일이 준비되면 공격 대상인 쓰레기들도 준비합니다. 유리병, 캔, 통조림, 플라스틱 컵 등 다양한 녀석으로 준비해볼게요.

 

 

이들은 하늘에서 일정한 시간 간격을 두고 5개씩 나란히 줄을 지어 밑으로 내려옵니다. 원래 게임에서는 어느 정도의 간격을 두고 내려오지만 게임을 개발하는 동안에는 얘들이 잘 내려오는지 확인하기 위해  잠시 시간 간격을 좁혀주어 마구마구 내려오도록 합니다.

 

 

 

한 줄에 같은 녀석들만 나오면 재미가 없으니 적당히 레벨을 조절하면서 조금씩 랜덤으로 섞어줄게요.

 

 

 

괜찮네요!

 

이제는 충돌 처리를 적용해서 미사일이 쓰레기에 닿으면 쓰레기가 파괴(분리수거)되고, 주인공이 쓰레기와 닿으면 바로 게임을 끝내도록 해보겠습니다.

 

 

 

쓰레기는 종류마다 체력이 다르고 뒤로 갈수록 어려워지기 때문에 우리 주인공도 어느 기준을 만족하면 무기를 업그레이드할 수 있도록 해줍니다. 이를 위한 장치를 코인이라고 해볼게요. 하나의 쓰레기를 공격해서 분리수거 하고 나면 그 자리에서 코인이 이렇게 떨어집니다. 코인은 만들어질 때 살짝 화면 위로 올라왔다가 바닥으로 떨어지도록 해볼게요.

 

 

 

코인을 지금까지 얼마나 먹었는지 확인하기 위해 UI 를 입혀서 화면에 현재 점수 (먹은 코인 수) 도 출력해볼까요?

 

 

좋아요. 

이제 이 코인을 몇 개 이상 먹으면 이렇게 더 빠르게 강력한 무기로 업그레이드 되는거에요! 초로색 > 파란색 > 빨간색으로 말이죠.

 

 

 

거의 다 왔습니다.

 

어느 정도의 쓰레기들을 분리수거 하고 나면 보스를 등장시켜 보겠습니다. 보스는 덩치가 아주 큰 종이박스에요! 이 종이박스까지 분리수거(공격)를 잘 하고 나면 주인공이 이기는거에요!

 

 

게임을 너무 잘해서 보스까지 처치하면 승리, 그 전에 죽으면 실패로 해서 게임 오버 처리도 해볼 수 있습니다. 우리 강의에서는 승패 상관 없이 그냥 게임이 끝났음을 알리는 화면을 넣어볼게요.

 

 

 

게임이 끝나고 나면 다시 할 수 있어야겠죠? 오락실에서야 Continue? 9 - 8 - 7 이렇게 카운트 다운하면서 100원을 더 넣으라고 재촉하지만 (90년대 오락실 기준) 이 게임은 우리가 직접 만드는 것이기 때문에 주인장 마음대로 무한정 새롭게 시작할 수 있다고 하겠습니다.

 

 

그래서 이렇게 버튼을 누르면 코인과 레벨, 무기가 모두 초기화되어 새롭게 게임을 시작할 수 있도록 합니다.

 

이렇게 해서 강의는 끝이 납니다.

 

 

 

 

제가 만들었지만 솔직히 드래곤 플라이트의 그 화려함과 타격감, 다채로운 연출을 흉내내기에는 턱없이 부족합니다. 그래도 전반적인 게임의 흐름은 비슷하게 만들었으니 여기에 조금만 더 시간과 노력을 쏟아부으면 충분히 멋진 게임으로 재탄생할 수 있을 거라고 생각해요!

 

 

5시간이 조금 넘는 분량이지만 사실 유니티를 찍먹한 수준 정도밖에 되지 않아요. 그럼에도 불구하고 '게임은 어떻게 만드는 거지?', '유니티는 어떻게 생겼을까?', '나도 게임 개발을 할 수 있을까?' 하시는 분들께는 충분히 유니티를 소개드릴 수 있다고 생각합니다.

 

어린 시절 머릿 속으로 상상만 하던 나만의 게임, 이제는 더 이상 상상에 그치지 말고 직접 한 번 만들어보세요. 유니티 덕분에 어렵지 않게 게임을 만드실 수 있습니다. 특히 어린 자녀를 두신 분들이라면 엄마 아빠와 함께 귀여운 게임을 만들며 상상력을 키워주는데 정말 큰 도움이 될 수 있을거라 생각해요 ^^

 

강의는 아래 영상에서 만나보실 수 있습니다.

 

 

 

게임 개발에 관심이 있는 분들께 도움되길 바라며 이만 마치겠습니다.

긴 글 읽어주셔서 감사합니다 :)

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함