<현재까지 진전>
작업파일도 그렇고 생각도 그렇고 좀 복잡하고 중구난방이라 정리할 겸 써본다
우선 나는 유니티로 게임을 만들고 있다
미술은 클립스튜디오를 주로 쓰고 타일 그릴 때 Aseprite를 사용한다
그리고 지형 타일맵은 Tiled를 사용하고, 유니티에서 불러와 그 위에 직접 불러온 스프라이트로 데코한다
~ART~
- 현재 나온 배경
마을 맵이랑 집 몇 개를 그려봤다
오픈월드를 만들어볼까 생각도 했지만 아직은 처음 만드는 단계이기 때문에 욕심부리지 않기로 했다
일단 여러 맵이랑 제대로 작동하는 게임만 만들면 목표달성이다!
- 대화창 디자인
아직 대화창 띄우는 이벤트는 구현할 줄 모른다
그래도 나중에 만들게 되면 어떨까 하고 디자인만 해본 것들
디자인은 있으니 나중에 스크립트만 짜면 된다!
~ 게임 프로그래밍
미술 쪽은 정말 자신있지만 프로그래밍은 전혀 모르기 때문에 익숙해지기까지 좀 시간이 걸릴 듯 하다
그래도 현재까지 구현한 기능들을 정리해본다
- 캐릭터 움직임 & 애니메이션
유튜브에서 여러 강좌를 보면서 따라했고, 이제는 비교적 쉽게 만들 수 있다
4방향으로 향하는 모습을 넣어주고, 멈췄을 때 마지막으로 누른 방향키 방향으로 바라볼 수 있게 되었다
밑에서 말하겠지만 대다수의 스크립트들은 케이디님 강좌를 참고했다
- 맵 이동 & 시작 위치
케이디님 강좌를 참고했고, 지정한 포인트에 가면 맵을 이동하는 스크립트와 맵 이동 후 시작하는 위치를 지정해주는 스크립트를 만들었다
마을과 건물 안, 다른 맵으로 이동이 가능하게 되었다
- 맵 이동 시 Fade In/Out
참고한 강좌 ↓
맵 이동하는 스크립트에 섞어서 썼다
강좌에서 그렇게 쓴 거 같아서...
근데 맵 이동하는 걸 케이디님 강좌 보고 따라해서 스크립트 슬 때는 살짝 다르게 썼다
맵 이동하는 포인트를 밟으면 페이드인/아웃 되는 애니메이션이 실행되는 스크립트다
까만색 화면이 페이드인/아웃 되는 애니메이션인데, 추후에 다르게 바꿔봐도 좋지 않을까
그냥 애니메이션만 바꾸면 되니까...
예를 들어 까만 원이 화면을 채우면서 트랜지션하는 것처럼!
하나 더 추가하고 싶은 기능은 페이드인/아웃될 때 캐릭터가 움직이지 않게 하는 거
케이디님 강좌에 있는 것 같으니 더 해봐야겠다
- 따라다니는 카메라
Hundred Fired Games의 강좌를 참고했다
케이디님 강좌에도 있었지만 이 스크립트가 더 간단해 보이기도 하고, 영상에 나온 것처럼 캐릭터가 가운데 고정되어 있었으면 해서였다
카메라에 속도가 들어가서 핸드헬드처럼 따라다니는 느낌은 현재로서는 원하지 않는 것이었다(이 카메라 워크는 케이디님 강좌 참고)
- 카메라 영역 설정
카메라가 움직일 수 있는 범위를 정해주는 스크립트다. 이것도 케이디님 강좌 참고
캐릭터랑 카메라 움직이는 것까지는 쉬웠는데 갑자기 난이도 상승...
강좌 보고 따라 적는데 적으면서도 무슨 소린지 몰라 일시정지해놓고 계속 코드만 쳐다보고 있었다
중요한 건 박스 콜라이더로 만든 카메라 영역(전체 맵 영역)의 최소값이나 최대값으로 위치가 옮겨질 때, x와 y에 반너비 or 반높이 만큼 위치값을 더해주고, 빼주는 식이다.
진짜로 카메라 자체가 박스 콜라이더를 인지하고 안 나가는 식이 아니라 안 나가는 것처럼 보이게 값을 더해주는 것 같다
그래서 카메라가 맵 끝까지 가면 더 이상 움직이지 않고 멈춰서게 된다. 그러면 캐릭터가 맵 끝으로 가서 맵 이동하는 것까지 볼 수 있게 된다
최소값, 최대값 더해주고 빼줄 때 쓴 게 Mathf.Clamp라는 건데 유니티 Documentation에서 찾아보니 "최대/최소값 사이의 float 값이 value 범위 외의 값이 되지 않도록 합니다" 라고 써있지만... 말로 써 놓으니 뭔 소리인지... 이런저런 코드 많이 보고 내가 직접 사용해봐야 알 수 있을 것 같다
- BGM 깔기
박스 콜라이더를 밟으면 해당 음악이 나오게끔 설정하는 스크립트다
그 전 강좌에 움직이면 발소리가 나오는 사운드 이펙트 스크립트도 있었으나... 움직이는 스크립트가 다르다보니 내 스크립트에는 잘 적용이 되지 않았다ㅠㅠ 공부하자 공부...
그리고 음악이 플레이 되는 것도 있지만 음악을 끄는 스크립트도 만들었다
아직은 잘 쓰일 것 같지 않지만 강좌를 차례대로 따라가다보니 만든 것...
- 더 넣고 싶은 기능
NPC 움직이는 기능 넣고 싶다!
케이디님 강좌를 쭉 따라해보고 있지만... 움직이는 시스템이 케이디님 강좌랑 다른 게 너무 크다
움직임을 넣는 스크립트를 만들 때마다 부딪히는 한계...
추가로 다른 강좌도 찾아보고 있는 상태
그리고 대화 시스템!
알만툴(RPG MAKER)에서는 쉽게 만들 수 있었지만 스크립트부터 시작하려니 어렵다^*ㅠ
디자인은 나와있다! 스크립트만 만들자~!
시간이 가는 기능도 넣고 싶다
스타듀밸리처럼 화면에 시계도 띄워놓고, 시간에 따라서 조명도 바뀌는 식으로
메뉴랑 인벤토리 이런 시스템도 넣어야겠지 RPG에는 필수니까!
스토리 진행을 위해 이벤트 시스템도 넣고 싶다
언젠간 여기 써 있는 모든 시스템들을 넣는 날이 오겠지
'미피의 작업실 > 게임 제작기' 카테고리의 다른 글
컴맹이 게임 만드는 이야기#10(유니티강좌, 언더테일 사이언스 자료/Top down 2D RPG) (0) | 2019.12.31 |
---|---|
컴맹이 게임 만드는 이야기#9(NPC 움직임, 대화창 구현 성공! & 유니티 교과서 찬양/Top down 2D RPG) (0) | 2019.12.24 |
컴맹이 게임 만드는 이야기#8(유니티 교과서 짧은 후기, 창작의 고통/Top down 2D RPG) (0) | 2019.12.20 |
컴맹이 게임 만드는 이야기#7(대화창, 커스터마이징 디자인/Top down 2D RPG) (0) | 2019.12.14 |
컴맹이 게임 만드는 이야기#6(유니티 책 주문했다/Top down 2D RPG) (0) | 2019.12.13 |