게임제작/개발일기

[RIVESION FRAME]리비전 프레임 프로젝트 개발일기 #4

게임코드프리 2019. 5. 30. 08:08
반응형

#게임개발 일기 #리비전 프레임 #개발과정


리비전 프레임 개발과정 일기 4번째 이야기



그동안 빠르게 작업해야 할 것들은 작업을 완료해가며 무엇을 추가하고 무엇을 먼저 작업할지에 대해

고민하면서 테스트를 많이 진행했고 다시한번 느낀것은...

무언가를 추가하면 할수록 경우의 수가 너무 많아져 아무 문제 없었던 시스템도 다시 버그가 생겨난다는 것입니다.

오늘은 멀쩡했던 시스템들이 망가진 이야기와 적들의 인공지능 작업에 대한 이야기를 할까 합니다.


  • 전체적으로 영향을 미치는 시스템일 경우의 버그들


게임개발을 혼자서 할 경우에는 최대한 이상한 짓들을 해가며 유저가 무슨행동을 할지 예측을 해야하는데,

그럼에도 발견하지 못하는 버그들이 많습니다.

특히 어째서 이런 시스템이 새로운 버그를 만들어내는지 알 수 없는 경우들도 많은데,

예를들어, 비슷한 시스템을 사용할 경우 되도록 최적화를 하기 위해 인자값을 넘겨받는 상속을 사용하는 경우

점차 파일이 많아지면서 상속되는 오브젝트들과 영향을 어디까지 받는지 잊어버리게 됩니다.  (난 그래요)



그렇다보니 하나하나 몇백줄이 되는 코드를 뒤져가며 누구때문에 그런것인지 

혹은 중간중간 어디에서 문제가 발생하는지를 디버그 메세지를 통해서 알아내곤 하는데,

나중에는 그 디버그 메세지도 계속해서 정리를 해주지 않으면 혼란스럽게 되버리므로

해결된 디버그 메세지는 재빠르게 지워줘야 나중에 헷갈리지 않게 됩니다.


얼마전에는 대화창 글이 정상적으로 잘 작동하다가 갑자기 한줄에 다음 내용까지

다시 표기되는 이상한 버그가 발견되었는데 알고보니 

매번 대화내용을 얻어 온 후 매 칸 32pixel 만큼 추가되야 줄바꿈이 되는데 변수로 표기를 해두어

계속 리셋이 되며 발생한 버그였습니다. (문맥이나 코드상의 이상이 없기에 찾기 어려운 버그)



간혹 예상치 못한 버그가 발생하는 것 중에 하나는 연출을 추가하거나 , 좌표 계산들을

잘 해오다가 충돌체크를 생각못하고 연출하다보니 벽에 끼어버린 아이템이라던가...

또는 한번만 발생해야 하는 시스템이 계속해서 호출되어 반복적으로 오류가 발생한다던가....

이런것들을 고쳐가며 괴로운 시간들을 보내고 있습니다.


  • 매번 만들때마다 고생하는 타격감



액션의 꽃이라 불리우는 타격감은 꽤나 중요한 요소인데,

타격감을 이루는 요소는

가격자의 모션 + 가격당하는 리액션 + 이펙트 그래픽 + 사운드 + 화면 혹은 대상자의 흔들림


이런것들을 통해 호쾌한 타격감을 줄 수 있다보니 조금이라도 위의 무언가의 요소가 어긋나거나

만족스럽지 못할 경우 좋지 않은 타격감을 느끼게 됩니다.


약 5일정도를 계속해서 연구를 했지만 결국 피가 튀기는 이펙트를 추가하고 나서야 조금 만족스러운

타격감이 나왔고 피같은 연출은 아무래도 문제가 될 수 있다보니, 

차후 옵션에서 선택적으로 넣고 뺄 수 있도록 작업을 해야 할 것 같습니다.


인공지능에 좌절중



일반 적들의 경우 이동, 추격같은 단순한 패턴과 움직임이다보니 플레이어가 근처에 있는지 혹은

주변 충돌체 정도만 체크를 하면 간단하게 만들 수 있지만...

보스의 경우에는 쉽지 않습니다.


보스의 인공지능에 필요한것은 , 계속해서 끊임없이 판단과 실행을 바꿔가며 자동으로 

발생해야 하기에 생각해야 할것들이 많은데...


1. 플레이어와의 거리가 멀 경우

- 거리가 가까워 질때까지 좌 혹은 우로 이동

- 행동패턴 0 , 1, 2, 3, 4 중 택일

2. 플레이어가 가까이 있을 경우

- 공격가능한 범위라면 공격

- 공격이 끝났다면 무엇을 해야 하는지 선택


여기서 중요한 것은 아무리 정갈하게 행동패턴을 정의해두고 알고리즘을 생각해 코딩하여도

플레이어가 어떻게 움직일지 무슨짓을 할지의 여부에 따라서

금방 망가져 버리는 것이 인공지능 패턴입니다.


그래서 ... 결과는 인공지능이 상당히 ㅄ같이 움직임.


물론 그래픽을 대충 더미로 작업해두었기에 더 ㅄ같이 보이긴 하며 여기에서 타이밍을 좀 더 조절하거나

공격 데미지를 무시무시하게 준다면 아무리 이상하게 움직여도 두려운 보스가 되긴 합니다. (뇌피셜)


너무나 극단적인 작업시간


어떤 작업들의 경우에는 코드를 짜는데 몇십초도 안걸릴 만큼 쉬운 시스템이 있는가 하면,

약간이라도 난이도가 있는 경우에는 다른 상태에서 버그를 발생시키거나 제대로 구현이 안되어

몇일 몇주가 걸리는 작업도 있다보니 체력적으로도 부담이 되는 것들이 많습니다.


개인적으로는 이렇게 작업도중 지쳐있거나 도저히 풀리지 않을 경우에는

어차피 해야 할 다른작업들(그래픽, 음악)을 제작하는데... 총 7개의 OST 작업 중 하나를 블로그에도

올려둘까 합니다.


[REVISION FRAME OST TRACK7]


반응형
facebook twitter kakaoTalk kakaostory naver band shareLink
人気ブログランキングでフォロー