취미로 만든 게임 자랑해봅니다.

페이지 정보

작성자 가즈아
작성일

본문

안녕하세요.

취미로 게임을 만들고 있는 개발자입니다. : )

개발은 회사에서도 하지만 게임 만드는 회사가 아니라서 집에서 시간을 내서 재미로 만들고 있는데요.

요즘에 게임 글이 종종 올라오길래 저도 제 게임의 제작과정을 조금 보여드리고 자랑좀 하고싶어서 글을 쓰게 되었습니다.


1. 컨셉 잡기

일단 방치형 게임을 만들어야겠다고 생각했습니다.

구글 플레이 스토어에 널리고 널린게 방치형 게임인데요. 여려가지 많이 하다보니 공통점이 눈에 보였고 필요한 최소한의 기능만 넣어서 만들기로 합니다.

사람들이 보기 좋게 세로 화면으로 잡고 UI는 일반적인 형태를 따르기로 했습니다.


2. UI 만들기

제가 게임을 만들땐 보통 가장 중요한 부분을 먼저 만드는데요. 이번 게임에서 중요한 부분은 UI라고 생각했습니다.

방치형 게임의 UI를 잘 만들어두면 게임화면 부분만 갈아치우면서 게임을 대량생산 할수도 있지 않을까 하는 생각을 했기 때문인데요. 나중에 그럴수 없다는걸 깨닭게 되었습니다.


UI만 먼저 만들면 화면이 이렇게 됩니다.

방치형 게임을 하다보면 게임화면을 잘 안보게 되던데요.

이걸 만들다가 그깟 게임화면 없어도 되지 않을까 하는 생각을 잠깐 했었던것 같습니다.

그리고 스킬, 장비, 상점 등의 화면도 만들어 주었습니다.

처음 만들때는 시간이 생각보다 많이 걸리지 않아서 '이거 금방 만들겠는데?' 하는 착각을 했었네요.


3. 게임 화면 만들기

UI가 대충 마무리가 되어서 게임 화면 만들기를 시작했습니다.

매번 이상한 컨셉의 게임을 만들었었는데 이번엔 남들 다 하는 용사가 칼 들고 싸우는 방식으로 정했습니다.


4등신 정도 되는 캐릭터가 몬스터를 멋있게 써는걸 상상했지만 적합한 그림이 제게는 없었습니다...

개인 개발자에게는 늘 그림이 부족합니다. 라이센스 문제 없는 무료 이미지를 항상 찾아 다니며 가끔 유료도 구입하고 정말 없을땐 직접 그려도 봤는데요.

저 같은 경우에는 제가 구할 수 있는 그림을 가지고 게임에 맞춰 가며 만들고 있습니다.

이번 게임에서는 여러개의 용사와 몬스터 아미지를 구해서 적용했습니다.


4. 스킬 효과 넣기

기능에 스킬을 넣는 바람에 스킬 효과도 넣어야만 했습니다.

틈날때 마다 인터넷을 뒤져가며 라이센스 문제없는 이미지를 찾아 적용했습니다.

스킬은 그나마 찾기 수월한 편이라 노력에 비해 화려한 기능을 넣게되서 좋았네요.


그리고 용사의 모습이 익숙하신 분도 계실텐데요.

인터넷에서 RPG 메이커 리소스를 개인이 수정해서 올려놓은 이미지를 써도 되는줄 알고 착각해서 쓰다가 출시 전에 바꿨습니다.

위 스크린 샷의 이미지는 출시 이미지와 다릅니다.  ㅎㅎ


5. 스토리


게임을 만들다 보면 처음 계획하지 않은것 까지 넣게 되는데요.

그 중 하나가 스토리입니다.

용사가 마왕을 왜 무찔러야 하는지 이유 정도는 알려줘야 하지 않겠느냐는 생각이 들어 넣게 되었는데요.

글도 못쓰면서 무리하게 넣느라 대사 만드는데 너무 시간을 빼았겼던것 같습니다.

유저분들 중 10명 중 10명은 스킵하셨을것 같네요.


6. 엔딩

엔딩이라고 해서 거창한건 아니고 영화 크레딧 올라가듯이 대화와 설명이 조금 들어간 형태로 넣었습니다.

이 게임을 만들기 전에 어떤 퍼즐게임을 했었는데요. 거기서 마지막에 스테이지를 클리어 하니 엔딩이 나왔는데 별것 아니었지만 그동안 플레이 하며 했던 노력을 보상받는 기분이 들어 저도 넣어야 겠다는 생각을 했습니다.

게다가 끝이 없는 게임을 하는게 게이머에게 얼마나 지루한 일이겠냐는 생각이 들기도 했구요.


7. 기능 강화와 버그 수정

이 쯤이 절반 정도 만들었을 때였던것 같습니다.

겉보기에는 기능 구현이 거의 끝나 보였는데 매일 새로운 수정사항이 생겨나고 그만 끝내고 싶은데 끝나지 않아 제일 힘든 시기였습니다.

그리고 불필요하게 이벤트와 엔딩을 넣는 바람에 text 스크립트를 만들고 어색한 대화를 고치느리 시간도 많이 소모되었습니다.

이 시기에 특수 효과와 때릴때 데미지 표시, 맵에 사물을 넣고 효과음을 넣는 등 눈에 잘 띄진 않지만 조금씩 완성도를 높여주는 작업을 했습니다.


8. 출시 준비

사실 출시할 만큼 완성되지 않았지만 너무 피로했고 출시가 너무 하고싶었습니다.

아직 조금 더 만들어야 했지만 올해 3월말 즈음에 출시를 하고 업데이트를 빨리 하기로 했습니다.


"이거 사주면 공부 잘할꺼야?"

"네"

라고 거짓말 했던 제 어릴적 추억이 잠깐 떠올랐네요..

 

출시를 하기 위해서는 게임을 소개하는 글과 그림을 만들어야 합니다.

디자인은 모르는 개발자이기 때문에 다른 사람들의 게임 소개 그림을 참고해서 열심히 만들었는데요.

검은 화면에 흰글씨 써가며 코딩만 하다가 알록달록한 그림을 보며 작업하니 즐거웠습니다.


9. 출시 후

지금까지 경험한 바로는 게임을 출시하고 홍보를 하지 않으면 다운받는 사람이 없었습니다.

그런데 이상하게도 하루에 수십명씩 다운로드가 생겼고 그들의 불만이 폭발하면서 리뷰점수가 바닥을 향해 가고 있었습니다.

결국 제가 대학교 1학년때  받은 학점보다 낮은 평가를 받았습니다.

리뷰가 나쁜것도 문제지만 제 게임을 다운받은 분들께 실망감을 줬다는게 더 컸습니다.


10. 빠른 업데이트

유저들의 불만은 폭발하고 그들은 저를 돕기 위해 여러가지 매체를 통해 연락을 해왔습니다.

카톡으로 연락이 왔을때는 조금 무서웠습니다. (그때 그분 예비군 훈련 잘 받으셨길 바랍니다.)

아무튼 그떄는 죄를 지었다는 기분이 들어 하루빨리 문제를 고쳐야 했고 수정해야할 사항을 정리해 봤습니다.

너무 많네.. 하지말고 없었던 일로 할까?

지금까지 많은 노력을 해왔고 마무리를 잘 해야 노력에 대한 보상이 있으리라는 생각이 들어서 하루에 한 두개씩 수정하고 지워가며 업데이트 했습니다.

그러던 중 알게된 가장 큰 문제는 게임이 너무 쉽다는 것이었습니다.


11. 게임 난이도 조정.

하루만에 20억을 모은 용자님이 나타나셨습니다.

그걸 어떻게 알았냐면 제가 멍청하게도 money 변수를 int형으로 선언해놓았고 오버플로어 오류가 생기며 제게 보고되었기 때문입니다. ㄷㄷㄷ

제 게임은 제 생각에도 형편 없기 때문에 플레이 타임도 짧고 조금의 노력으로도 엔딩을 볼수 있게끔 설계하였습니다.

그래서 보름 정도면 엔딩을 보시겠거니 했지만 하루만에 엔딩들을 보셨고 설치 -> 삭제 주기가 3일을 넘기지 않으셨습니다.


"왜들 이렇게 게임을 잘 하시지?"


제가 너무 계산없이 수식을 대충 설계했던것 같아서 좀더 수학적으로 계산해서 난이도를 조정하기로 했습니다.

파이썬은 참 유용한것 같습니다.

사용자 레벨과 스테이지에 따라 얘상 재화 획득량, 업그레이드 상태 등을 계산하고 난이도를 산출해 보았습니다.

이것도 처음 해보니 너무 어려워서 3일 정도 걸렸는데 그래프를 보며 난이도를 조정하니 계산이 완전 정확하진 않았지만 많은 참고가 되었습니다.


중간에 실수로 난이도를 높게 잡은 적이 있어는데

"나는 며칠간 이 게임을 정말 열심히 하고있다. 그런데 60스테이지에서 아무리 해도 넘어갈 수가 없다. 이거 이길 수는 있는거야? 장난해?"

라고 외국인분이 저를 칭찬하는 리뷰를 남겨주셔서 얼른 수정하긴 했지만 지금은 할만한 난이도로 잘 된것 같습니다.


12. 지속적인 업데이트

지금은 완성도가 꽤 올라가서 할만하지 않나 하는 생각을 스스로는 하고 있습니다.

하지만 아직 수정할게 많고 조금씩 짬이 날 때 마다 업데이트 하려고 노력합니다.


13. 제작 기간

제작 3개월 + 업데이트 1개월 해서 총 4개월 정도 걸린것 같습니다.

취미로 게임을 개발하는 입장이라 많은 시간을 할애할 수 없는데요.

너무 긴 기간동안 개발하게 되면 피로해져서 중간에 프로젝트를 드랍하게 됩니다.

그래서 저는 개발 3개월은 꼭 지키려고 노력합니다.


14. 리소스는 어떻게 구했나

그림과 음악, 효과음 등은 대부분 라이센스 문제 없는 무료를 인터넷에서 구하거나 구입할 때도 있고, 가끔 직접 그리기도 합니다.

그래서 게임 설정에 가보면 리소스에 대한 라이센스 정보가 가득 표시되어 있습니다.


15. 개발 툴

저는 Android Studio로 게임을 만듭니다.

opengl을 써서 화면에 그리는 부분까지 직접 하는데요.

라이브러리로 잘 분리를 해두었기 때문에 재사용성이 커서 엔진부분 코드를 유지한 채 새로운 게임을 개발하고, 신규 기능을 만들면 이전에 만든 게임에도 쉽게 적용시킬 수 있는 장점이 있습니다.

그리고 Android 외에도 Window, 맥os 에서도 빠르게 빌드가 되서 개발하기 몹시 편리합니다.

 

만약 여러분 중 누군가가 게임을 만드신다면 저처럼 하지 마시고 유니티나 언리얼 사용하세요.

(대충 니들은 이런거 하지마라 짤)


그리고 UI 부분은 직접 만든 툴을 사용하는데요.

이렇게 생기긴 했지만 꽤나 유용합니다.

저 이상하게 생긴 프로그램에 그림을 그리고 버튼 같은걸 배치하면 게임 화면에 그대로 표시됩니다.


15. 지금은?

지금은 새로운 게임을 개발하고 있습니다.

이런거

이번 게임을 만들면서 자신감이 조금 생겨서 새로운 게임은 조금 더 멋있게 만들려고 노력하고 있는데요. 이번에도 3개월 개발기간은 지킬꺼라서 멀지 않은 미래에 완성시킬 수 있을것 같습니다. : )


16. 마치며

어떻게 보면 초라하지만 나름 제 노력이 많이 들어갔고 새로운 게임을 만들 때 마다 조금씩 퀄리티가 좋아지고 있기 때문에 의미 있는 일이라고 생각합니다.

이러다가 언젠가는 대박나는 날도 오면 좋겠네요.. : )


아.. 게임 이름을 말씀 안드렸는데 방치형 RPG : 부활하는 마왕 입니다.



긴글 봐주셔서 감사합니다. 다들 아프지 않고 건강하세요!


관련자료

  • 등록된 댓글이 없습니다.