안녕하세요, 6개월만이네요.
그동안 이것저것 했는데, 한 2~3개월 전부터는 데모 준비로 엄청 바빴어요.
플레이 가능한 빌드를 만드는것과, 완성도 있는 빌드를 만드는데에는 하늘과 땅만큼의 차이가 있다는걸 느꼈어요.
사소하게 수정할 부분들이 어떻게 이렇게 끝없이 나오는지 ㅋㅋㅋㅋ
하지만 계속 하다보니 끝은 있더군요. 전에는 테스트 플레이 할때마다 10개 20개씩 반복적으로 계속 나왔었는데, 이젠 거의 없어요! 아마도? 제발..
테스트하면서 노션에 기록하고 나중에 이걸 보면서 수정하는 방식으로 작업했는데 지금보니 거의 300개나 되네요. 세팅 실수나 사소한 것들이 많긴 하지만요.
그래도 요즘은 테스트할때 완성도가 전에 비해 엄청 올라간게 스스로 느껴지고 뿌듯해요. 이제 그냥 새로운 지역들만 찍어내면 될거라고 믿어요.
한달에서 길면 두달 안에 지역 하나 완성된다는건 저번에 봤거든요. 다만 팀원 모두 각자 할 일 하면서 개발하는거라 그냥 2025년도 안에 완성 근처에만 다가가길 바라고 있어요.
눈에 띄는 변화 몇개 소개하고 가려고 해요.
첫번째로는 시각적 변화!
게임 전체의 대비를 약간 증가시켰어요.
증가된 대비로 인해 저기 뒤, 안개와 빛의 영향을 많이 받는 부분은 더욱 많이 받게 되었고, 그 앞은 본래의 색을 유지하게 되었어요.
전에는 뒤를 밝게 하려고 하면 필연적으로 앞부분도 어느정도 밝아지는 부작용이 있었는데, 그걸 극복한게 큰 것 같아요.
그리고 배경의 밝기 조정하는 설정도 넣어줬어요
그리고, 빛을 플레이어에 붙여줘서 주변을 약간 빛나도록 해줬어요.
다른 게임들 대부분에 들어있는 기능이라 넣어봤는데, 실제 플레이시에 훨씬 이쁘고 만족스럽더군요.
두번째는 마우스 대응!
이제 모든 UI가 마우스에 대응해서 작동하고, 거기에 더해 WASD+마우스 조작도 구현이 완료됐어요.
마우스 조작은 특이하게 키 설정이 하나 더 있는데, 마우스 위치로 활을 발사하는 조작이에요.
원래는 공격을 누르면 현재 조준된 적에게로 화살이 날아가는데, 마우스는 우클릭으로 원하는 위치에 활을 쏠 수 있어요. 꼭 필요한 기능은 아니지만 그래도 마우스유저가 기대할법한 기능이니 넣었어요!
세번째는 맵!
맵 뒤에 격자를 넣어줬어요. 이러니까 보기 훨씬 편해졌어요!
(마우스 조작)
6개월 전...
네번째는 약간의 스토리텔링 추가?
별거 아닐 수 있는데 몇군데 이렇게 대화가능한 npc로 슬라임을 배치해서, 이 숲에 대한 정보를 풀어줬어요. 생각해보니 맵 설정은 잘 짜놓고 이걸 플레이어에게 알려주지 않고 있더라고요. 적대적 몹이랑 구분되어야 하니 모자를 씌워주긴 했는데 어떨지 잘 모르겠네요.
다섯번째는 난이도 하향!
친구에게 시켜봤더니 진짜 못하더라고요. 이런 류의 게임을 안하는 친구이긴 한데, 보스도 아니고 그냥 필드에서...
기존에 저희는 체력 3개, 회복열매 1개로 게임을 시작했었어요. 회복열매 채우는것도 꽤 힘들었고요.
이러다보니 한번 한번의 실수가 되게 치명적이에요.
그래서 체력 4개, 회복열매 2개로 바꾸고, 적을 죽였을때의 회복열매 충전량을 증가시켰어요. 이러면 유지력이 훨씬 증가하는게, 한두번 실수해도 조금 집중하면 금방 만회할 수 있어요.
또, 여신상이 근처에 있고 플레이어가 지날법한 교차로에는 표지판으로 여신상이 있다고 표기해줬어요.
마지막은 조준 로직 업그레이드!
저희 게임은 적의 미래 위치에 활을 발사해서 적을 맞추는 방식이에요. 유도와 다르게 적을 못 맞출 확률이 꽤 높아요.
활을 쐈는데 적이 갑자기 점프를 한다거나 그런 이유도 있고 실제 움직임을 계산하는게 아니라 현재 속도와 중력만을 놓고 예측하거든요.
적의 행동에 따라 못 맞추는게 말이 돼서 그동안 그대로 뒀는데, 저희 게임이 추구하는 재미가 적의 공격을 쉴 틈없이 계속 회피하면서 동시에 쉬지않고 공격하는거거든요. 빠른 페이스의 공중액션! 이런거에요. 그런데 공격이 빗나가는게 플레이어가 실력으로 통제할 수 없는 부분이다보니 즐거운 액션이라기엔 조금 답답할때가 있어요.
그렇다고 유도기능을 넣고 싶진 않은게, 화살이 유도탄이 아니라 정해진 궤적대로 날아가는 투사체기 때문에 이걸 중-장거리에서 명중시킬 때 만족감이 있어요. 특히 적의 이동을 예측해서 명중시켰을때의 만족감이 높아요.
그래서 그냥 아예 적의 행동을 예측하고 움직임은 시뮬레이션 시켜서 미래 위치를 계산해내자 라는 목적으로 구현에 도전했어요.
이제 적이 점프하기 전에 활을 쏴도 점프를 예측해서 발사하기 때문에 명중시킬 수 있어요
여러 계산들 생략하고 단순화시켜서 빗나가는 경우도 종종 있는데 그래도 명중률이 엄청나게 올랐어요.
단점으로는 몬스터 AI 타입마다 따로 계산하는 코드를 짜줘야 한다는 점인데,
느리게 움직이는 애들 상대로는 예전처럼 속도와 중력만 보고 예측하는 방식으로 처리하려고요.
그동안 너무 복잡할거같아서 생각만하고 보류했는데 실제로 구현하고 보니 되게 뿌듯하고 기쁘네요!
구현 방법은 이래요
1. 계산 함수에 현재 상태를 담은 데이터와 이동명령을 넣어주면 n초 후의 상태로 데이터가 업데이트 되게 한다.
2. AI가 동작할 때 항상 다음 행동이 무엇일지 까지 결정해두게 하고 이를 이용해 n초후까지 실행되는 이동명령들과 지속시간을 구한다.
3. 현재 상태와 이동명령을 순서와 지속시간에 맞게 계산 함수에 넣고 계산한다!
마무리
이제 번역 다듬는 작업만 끝나면 데모를 낼 수 있을 것 같아요. 드디어 이런저런 행사에 참여할 수 있는 기반이 갖춰지고 있어요.
언젠가 오프라인에서 뵙길 바라요!
관심있으면 찜하기 부탁드려요
https://store.steampowered.com/app/2475080/Florarium/
그럼, 모두 개발 화이팅!
이건 새로 찍은 스크린샷들이에요!
이건 설원 맵인데 그냥 컨셉만 봐주세요!