안녕하세요 웨이브노드입니다!
이번 주는 이래저래 여러 가지 일 때문에 조금 바빴습니다 ㄷㄷ;;
덕분에 조금 늦게 6주 차 개발을 진행할 수 있었습니다.
1. 핵심로직
제가 첫 번째로 진행한 핵심로직은 퀘스트 시스템입니다.
이전 포스팅에서 소개해드렸던 퀘스트 게시판의 스프라이트를 활용할 수 있게 되었습니다.

해당 움짤을 보시면, 제대로 퀘스트의 UI가 탑재되어 있고, 퀘스트를 완료하게 되면 보상까지 받을 수 있는 시스템이 되었습니다. 물론 글씨의 크기 조절이나 아직 UI가 너무 따닥따닥 붙어 있는 느낌이 있지만, 지금은 일단 기능면에서는 돌아가는 것을 확인했습니다.
두 번째로 제가 진행한 핵심로직은 아르바이트 시스템입니다.

움짤을 보시면 일단은 거창하게 만든 것은 아니지만, 간단한 미니게임 형식입니다. 처음에는 그냥 알바하기를 누르면 바로 게임으로 넘어갔는데, 코드를 수정해서 알바하기를 누르면 대사 후 미니게임으로 진행하는 형식으로 바꿨습니다.
원래라면 농부처럼 생긴 NPC도 도트를 찍어서 보여드리고 싶었는데, 시간적인 문제로 일단 그냥 캡슐모양으로 NPC를 만들어 놨습니다. 게임 방식은 해당 이미지를 보고 작물이면 오른쪽 방향키, 작물이 아니거나 썩은 작물은 왼쪽 방향키를 눌러서 올바르게 하면 10점 틀리면 -5점이고 제한시간 스코어 X1을 보상으로 주는 느낌입니다.
아직 UI부분도 손을 봐야 되고 글씨 크기 조정도 할 예정입니다. 추후에 실제로 작물이나 돌 같은 이미지를 제작하고, 그걸 넣을 수 있는 바구니 이미지도 그려서, 작물 이미지나 돌 이미지가 방향키에 맞게 슬라이드 해서 바구니에 들어가던가 왼쪽으로 사라지던가 하는 식으로 애니메이션도 구현할 예정입니다.
2. UI
UI 같은 경우에는 "인터렉션 UI"랑 "게시판 UI"가 이번 개발의 주력이었습니다.
인터렉션 UI 같은 경우에는,



이미지처럼 대화하기, 상점, 알바하기, 그리고 퀘스트 받기처럼 버튼 형성이랑 그 버튼이 누르면 제 기능을 제대로 할 수 있게 UI를 제작했습니다. 버튼이 2개 건 3개 건 올바르게 나열되는 형식으로 Vertical Layout Grid로 정렬시켜 놨습니다.

두 번째로 이건 상단의 움짤에서도 보신 게시판 UI입니다.
아직 퀘스트 제목이랑 설명이 약간 겹치는 느낌도 있고, 글씨의 크기 때문에 UI적으로 어색한 면이 있지만 일단 기능면이나 설명 부분은 제대로 작동하게 해 놨습니다.
또한 추후에 데일리 퀘스트를 더 추가해서 제가 적용시켜 놨던 가로로 정렬되는 Horizontal Layout Grid가 겹치지 않고 올바르게 작동되는지도 확인할 예정입니다.
3. 버그 수정 및 코드 개편
아마 대부분의 시간은 버그 수정이랑 코드 개편에 이번 주를 보냈습니다.
첫 번째로 보여드릴 수 있는 버그 수정은 NPC나 물체를 통과하는 버그를 고쳤습니다.

이쪽을 보시면 이전에는 NPC를 그냥 통과하거나 뒤로 가도 겹치는 느낌에 가까웠는데, pivot(중심점)을 조정하고 캐릭터를 통과 못하게 하는 Rigidbody 2D를 지정해 주니까 캐릭터가 통과를 못하고 포지션에 따라서 뒤에 가려지는 느낌을 만들 수 있었습니다. 아마 추후에는 캐릭터가 전체적으로 가려지면 반투명으로 물체를 바꾸는 것도 적용할 예정입니다.
두 번째는 코드 개편입니다.
이 시점에 코드 개편을 진행한 이유는, 일단 제가 가지고 있는 UI 매니저가 너무 많은 일을 할당받았기 때문입니다.
그래서 나중에 기능을 더 추가하게 될 경우에 에러가 생길 가능성이 높아지기 때문에 코드를 개편해서 한 파일 내에 코드가 너무 가득 차지 않게 만들기 위해서 개편했습니다.
또한 중복 코드나 테스트 로그를 지웠습니다. 테스트 로그는 말 그대로 작동을 하는지 안 하는지 로그에 표기하는 거라 작동하는 기능들은 전부 로그를 지웠습니다. 그리고 초기에 제작한 퀘스트랑 현재 만들어 놓은 데일리 퀘스트 코드랑 상당 부분 겹치는 게 있어서 하나로 제대로 통합시켜 놨습니다.
마지막으로 반복적인 코드를 하나의 기능으로 만들어서 똑같은 것을 또 쓰고 또 쓰고 하는 것을 방지했습니다.
4. 마무리
이번 주차까지 해서 클리어한 4월 목표입니다. 원래 아르바이트 시스템 같은 경우에는 없었으나, 제가 이번 주를 진행하면서 미리 구현을 해두면 좋겠다 싶어서 추가를 했습니다.
- 핵심코어
- 도구 사용 / 액션 시스템: 도구 사용으로 인해서 피로도가 깎이는 형식
Pass out 시스템: 캐릭터가 특정 시간이 지날 경우 탈진으로 인해서 다음날로 강제로 넘어가는 시스템- 메인 목표 시스템: 3월에 끝내지 못한 시스템으로 게임을 계속하게 만드는 목적을 만드는 시스템입니다. 지금 생각하고 있는 방식은 상납금이나 돈을 갚는 것을 목적으로 두고 있습니다.
금전 거래 시스템: 물건을 골드로 인해서 사고팔고를 가능하게 만들 시스템.일간 퀘스트 시스템: 초기 돈벌이 수단으로 사용할 수 있는 퀘스트 게시판아르바이트 시스템 (NEW!)
- 그래픽
상인 NPC: 금전 거래 시스템에 사용될 용도추가 아이템 3가지: 상점 판매 및 드랍 아이템으로 사용하기 위함추가 아이템 1가지- 슬라임 몹: 슬라임 젤리라는 아이템이 있기에 공격해서 죽이면 드랍하는 아이템으로 만들 예정
- UI
상점 UI- 퀘스트 창 메인 목표 및 미완료 퀘스트 상시 디스플레이
퀘스트 게시판 UI
- 각본
초기 맵 구조 설계- 스토리 플롯 구상 (왜 메인 목표를 진행하는지에 대한 이유)
- 버그 수정 및 기초 공사
NPC나 게시판을 통과하는 버그- 뒤에 파란 배경이 안 나오게 카메라 지정: 카메라를 딱 게임 범위에 고정시켜서 뒷 배경 안 보이게 하기
대략적으로 봤을 때, 이번 달 목표의 60% 정도 완료를 한 것 같습니다.
속도감이 있기에 아마 목표를 조금씩 더 과감하게 잡거나 이번의 퀘스트 시스템처럼 더 추가할 예정도 있습니다.
이상으로 6주 차 진행사항입니다. 다음 주에는 기존에 3월 목표에서 넘어온 목표들을 완수하고 추가적으로 더 넣을 만한 기능들도 가지고 오겠습니다! 이번 주도 봐주셔서 감사합니다 ㅎㅎ
좋은 하루 보내세요!