문명이나 토탈워 대항해시대 급의 게임을 만들려면 팀이 필요할듯 싶다. 내가 세계지리 세계사 시뮬레이션 덕후긴 한데 단순히 덕력으로는 해결할수 없는 스케일이다. 그러나 언젠가는 만들게 될꺼다.

 스팀에서 한국인임이 확인이 안된다고 해서 거부 당하면 죽도 밥도 안되기 때문에 일이 살짝 손에 잡히지 않지만 그래도 할건 해야 할듯 싶다. 일단 알파 까지 만들어야 포트폴리오에 쓰든지 말던지 할꺼니 말이다.

  일단 While문이 에너미에는 10개가 있다.

 에너미 AI에는 13개다.

에너미 무브에는 2개가 있긴 한데 이동하다 멈춘건 아닌거 같으니 이건 혹시 모를 강제 브레이크 정도만 만들도록 하자.

 게임 메니저에는 3개다.

 패스 파인더에도 2개가 있지만 마찬가지로 여기에서 문제를 일으킨건 아닐듯 싶다. 이것도 넉넉잡아 강제 종료 정도만 만들도록 하자.

 플레이어에도 12개가 있긴 한데 여기도 마찬가지로 문제의 원인은 아니다. 에너미 턴에서 멈췄다고 되어 있기 때문이다. 아 그리고 플레이어의 경우에는 계속 대기 타고 있어야 하는게 있을지도 모르니 잘 가려서 강제 브레이크를 만들어야 될듯 싶다.

 플레이어 무브도 마찬가지 이다. 2개가 있긴 한데 여기서 문제가 터진건 아닐꺼다.

  타일노드에도 하나 있어서 왠걸 했는데 이것도 플레이어랑 연관이 있는듯 싶다. 코드명을 좀 바꿔야 겠다.

  일단 정리를 해보자.

  에너미 턴 멈춤 버그와 밀접한 관련이 있을 while문과 아닐 수 있는 while문을 나누어 보도록 하자.

  관련이 없을꺼 같은 경우 :

  타일노드 1개, 플레이어 무브 2개, 플레이어 12개, 패스파인더 2개, 에너미 무브 2개, 게임메니저 3개

  의심이 강하게 드는 경우 :

  에너미 10개, 에너미 AI 13개

 이런식으로 나온다. 일단 관련이 없을꺼 같은 부분부터 기계적으로 일정 시간이 지나면 강제로 루프문에서 탈출하는 걸 만들어 보도록 하자. 조금은 넉넉잡고 해야 할듯 싶다. 안그러면 제자리에 도착을 안했는데 레이케스트를 주변타일에 쏴서 또다른 버그가 생기고 그럴테니 말이다.

 버그가 재현이 안되기 때문에 매우 어려운 문제다. 일단 가장 의심스러운 에너미 AI 13개를 조지도록 하자.

 에너미 AI의 경우에는 크게 2가지다. 엔딩이 될때까지 기다리는 거랑 이동이 끝날때 까지 기다리는 거다. 이중 문제는 엔딩이 될때까지 기다리는 걸꺼다. 모종에 이유로  ending이 true가 되지 않아서 생기는 문제일 꺼다. 해결 방법은 일단은 강제로 시간이 지나면 무조건  현제 에머미의 ending을 true로 만들어 주는 거다. 다른 하나는 논리적으로 코드상 ending을 true로 바꿔 줄수 있는 곳에다. 삽입을 해주는 거다.

 일단은 재현이 되는지 수도없이 한번 플레이를 해보자. 구지 이길려고 하지 말고 자유롭게 해보도록 하자.

 아 글고 적이 공격할때 사운드가 안들어가있다 사운드도 추가 해야 한다.

 역시나 재현이 안된다. 아마 만든사람에게 생기는 어떤 사고의 맹점이 있는듯 싶다.

 아 문제는 에너미 AI가 아니라 true로 바꿔야 하는데 false인 어떤 구간이 있는듯 싶다. true를 확인 사살 해주는 걸 조금 많이 만들어야 겠다.

 일단 플레이어에게 당하고 있을때의 ending과 에너미 AI일때 켜고 키는걸 분리할 필요가 있을듯 싶다. 상호 간섭을 할 가능성이 높으니 말이다. 독립성을 높이면 높일수록 버그 발생가능성이 적어진다.

 그냥 ending이라고 해 놓은 것보다 훨씬 직관적이다. 플레이어 쪽에서 관리할때는 G돌림으로 GetHit과 GiveHit으로 하도 에너미 쪽에서 관리할때는 B돌림으로 BeHit BuyHit이라고 해야 겠다.

 아 재현이 안되는 그 버그는 코드가 아니라 유니티 자체의 문제인듯 싶다. 나만 그런게 아니라 해당 버전을 쓰는 사람들은 다 겪는 문제더라. 버전업을 하지 않는 이상 해결이 안될듯 싶다.


WRITTEN BY
아이고이아

,