안녕! 개발중인 게임 기획이 끝나서 개발일지를 쓰러 왔어.
그동안 이런저런 게임을 만들며 놀았는데, 아무래도 본업이 있다보니 끝맺음까지 마무리하기 어렵더라.
그래서 이렇게 개발일지라도 남기면 조금이나마 더 책임감이 생길것같아서 맨날 눈팅만 하다가 이렇게 고닉을 팠어.
참고로 나는 유니티로 제작중이고 95%이상 비쥬얼 스크립트만 사용해서 게임을 만들고 있어.
비쥬얼 스크립트 중심으로 만드는 이유는 일단 내가 C# 실력이 부족하기도 하고...
만드는 게임 볼륨이 커지면 스파게티 맛집이 되는데(그래서 내 닉이 파스타장인임 ㅋ) 나는 버그가 일어났을 때 비쥬얼 스크립트로 한 경우에 전체적인걸 한 눈에 볼 수 있는게 좋더라고...
이런 이유로 볼트(정식 유니티 기능이 되기 전의 비쥬얼 스크립팅 에셋) 시절부터 쭉 비쥬얼 스크립팅 위주로 게임을 만들며 놀고 있어. 비쥬얼로 안되는 부분은 구글링해서 따라하는 방식으로 ㅎㅎ
덕분에 만들 수 있는 게임이 상당히 한정적이지.
그래도 내 일지를 보면서 비쥬얼 스크립팅으로 게임 만드는 애도 있구나 하고 다들 힘을 내면 좋겠어.
내가 만들 게임은 판타지풍 턴제 전략 방식의 게임이야. 흔하디 흔한 장르인데 장르를 일단 정하고 어떻게 차별화를 둘까 생각하기 보다는, 이런 게임이 있으면 재미있겠다 하고싶다 하는 게임을 생각했는데 떠오른게 이 게임이었어.
게임은 마을 / 월드를 왔다갔다하며 진행되는데... 기본적으로 마을에서 정비를 하거나 자원 관리를 하며, 플레이어가 보유한 캐릭터 중 최대 3명을 골라 파티를 꾸려 월드로 원정을 떠나는 방식이야.
마을에서는 이런저런 건물을 지을 수 있게 할거야. 이 게임의 기본 자원인 골드/목재/마나 관련된 건물들(은행, 길드투자, 거래소 등), 탐험에 영향을 줄 수 있는 건물들(마법연구소, 캐릭터상점), 아이템 및 캐릭터 관련 건물들(아이템 상점, 용병 고용소 등)을 짓거나 허물 수 있고, 건물의 종류는 여러개지만 동시에 최대 10개의 건물만을 지을 수 있도록 할 계획이야.
원정을 떠나면 맵이 주어지고, 정사각형 타일 기반으로 맵이 펼쳐지는 방식이야. 처음 플레이어의 위치에서 상/하/좌/우 중의 한 방향을 고르면(행동 수치 소모) 그 부분이 밝아지며 그곳에 있는 유닛이 나오게 돼. 유닛에는 다양한 이벤트나 아이템, 그리고 제일 중요한 적이 무작위로 나오도록 할거야.
이런식으로 계속 맵을 만들고 밝히며 이동하며 이벤트를 겪고, 전투를 진행하고 특정 조건이 만족되면 다시 마을로 돌아오는 방식인데...
지금은 게임의 밑그림은 다 만든 상태에서 원정 화면에서 이동 부분을 우선 만들기 시작했어. 로그라이크처럼 무작위 요소가 있는 맵 만들기야.
기본적으로는 맵 만들기에 사용할 프리팹을 아래와 같이 구성했어.
<Tile 프리팹>
ㄴ배경
ㄴㄴ땅(이미지)
ㄴ유닛 -> start시 child에 지정된 리스트에서 유닛(이벤트/아이템/적 등) 뽑아 무작위로 instantiate, 플레이어가 Fog를 걷어내고 유닛을 클릭하면 그곳으로 이동하며 이벤트 발생하는 개념
ㄴ앞부분 -> start시 child에 Fog 프리팹 instantiate
<Fog 프리팹>
ㄴ검은색 (이미지, 버튼)
-> 누르면 유닛이 나타나며 (유닛은 처음에 scale 0,0,0으로 instantiate 되는데, 나타날때 Do scale로 1.2,1.2,1.2 되었다가 1,1,1로 크기가 약간 커졌다가 작아지는 형태로 해서, 튀어나오듯 나타나게 함
-> Fog 있던 타일의 상/하/좌/우 중에서 비어있는 공간에 새로운 Tile 프리팹을 소환
-> Fog는 destroy
빨간색 글씨 부분이 머리를 쥐어뜯게만든 부분인데, Tile 프리팹 안에 collider detector를 넣어서, 상/하/좌/우에 Tile이 있는지 여부를 이동시마다 확인하게 하는 방식으로 해결하려고 생각중이야. 이 detector를 활용해서 Player가 인접한 칸에 있는지도 확인하고, 그렇지 않다면 Fog와 Unit의 버튼의 interactable을 false로 만들어서 플레이어가 인접한 칸의 안개만 걷어내고 이동할 수 있도록 만들거야.
월드맵에 오면, 플레이어가 중앙에 있고, 그 상/하/좌/우 칸에 Tile 프리팹을 instantiate하며 시작돼. 그러면 플레이어가 상/하/좌/우의 Tile을 눌러 Fog를 걷어내며 거기에 뭐가 있는지 확인하고, 원하는 방향으로 이동하도록 하는거지.
와 글로만 쓰니까 진짜 재미없어 보인다. ㅋㅋ 사실 이 게임에서 제일 재미요소라고 기대하고 있는 부분(전투 방식, 성장 요소)은 내용이 너무 길어질 것 같아서 다시 설명할거라 빼두긴 했는데...
일단 내 목표는 데모를 최대한 빠르게 만들어서 여기저기 뿌리고 피드백을 받는거야.
지난번에 인사글을 올렸는데 뉴비인데도 힘내라고 격려해줘서 진짜 많이 힘이 났어. 고마워.
그럼 다음 개발일지에서는 좀더 구체적인 내용 가지고 돌아오도록 할게! 진행도 많이 시켜볼게!
모두 즐거운 주말 보내!
다음엔 이미지도...!