평소 국제 정치에 관심이 많다. 그래서 그런거 공부하는게 덕질중 하나인데 보고 있으면 흥미로는게 하나 있더라. 이게 이슬람에서도 사업 사람들은 이윤 추구가 먼저고 거래하는 상대가 시아파네 수니파네 이슬람이네 기독교네 이런거는 좀 부차적으로 생각하는 경향이 있다. 먼가 그쪽 동네는 막 종교적인 열정이가득한거 같은데 말이다. 물론 시아파네 수니파네 해서 서로 죽이는건 현재 진행형이다.  

 사업 하는 사람들 말고 그런 종교적인 열정이 부족한 사람들로는 과학 기술계를 들수가 있는 거 같다. 역사를 보면 이들 집단도 기독교네 이슬람이네 이런거 안따지는 듯한 행동을 보일때가 많기 때문이다. 드라마 같은거 보면 기독교 기술자가 이슬람쪽 가서 일하고 이런데 전쟁을 하는 정치 지도자들은 종교적인 이야기를 입버릇 처럼 이야기 하고 그러니 말이다. 

 여튼 집에만 있어서 갑갑해서 밖으로 나왔다. 

 원거리 병과를 만들기 전에 먼 거리에서는 레인지 공격이 안되고 끝난다는걸 알려주는 것이 필요해서 만들었다. 

 일단 플레이어나 에너미에 너무 많은 코드가 들어가 있는것이 내가 코드를 어려워 하게 되는 원인인듯 싶어서 코드수를 줄이기 위해 차후에 늘어날 소지가 있는 요소들은 별도의 객체를 만들어서 관리를 하기 위해 뺐다. 

 아 그리고 깃에 애드가 등록이 안되있으면 주황색이 뜨는듯 싶다. 

 깃에 올리니 주황색이 사라진다. 기본적으로 깃 사용법은 리눅스 사용법하고 유사한듯 싶다. 

 레인지 에너미를 추가했는데 먼가 오류가 뜬다. 이게 왜 안되는지 고민을 해 봐야 할 참이다. 

  캐릭터를 에너미에서 가져오지 않고 플레이어에서 가려오는 바람에 먼가가 꼬였나 보다 이제 해결이 됬다. 

 원거리 캐릭터를 만드는거는 원거리 공격방식 인공지능을 고안하는 문제와 연관이 되어 있는듯 싶다.

 근접 공격 코드 보니까 존나게 복잡하다. 쉽게 만들수도 있는데 어렵게 만든건가 아니면 원래 이리 복잡한건지 모르겠지만 일단 게임이나 하러 가야 겠다.

 오늘은 가볍게 코드에 눌체크를 추가하면서 하루를 시작했다.  

 일단 인공지능을 만드든게 막막하면 일단 생각하는게 인간의 편의를 도와주는 시스템을 먼저 만들고 거기에 기반해서 만드는 것을 선호하는 편이다. 

 코드를 일단 파악해야 하니까 근접공격에서 두칸 영역까지 공격을 하는 걸로 되어 있는 것을 한칸 영역까지만 공격하게 하는 걸로 만들고 그렇지 않은 경우에 가깝게 접근 하는 걸로 만들필요가 있을듯 싶다. 

 이부분을 수정해야 한다. 어떻게 해야 하나 모르겠다. 

 일단 첫번째 영역에 있을때만 달려가서 치고 그렇지 않는 경우에는 턴을 넘기도록 하자. 간단한 것부터 만들자. 

 기존걸 참고만 하고 아에 새로 만들어야 겠다.

 나중에 게임이나 스킬 메카니즘을 활용한 AI도 필요할텐데 기본적인것도 만들기가 어려워서 큰일이다. 

 일단 클로우즈 어택리스트를 에너미 리스트 관점이 아니라 플레이어 관점에서 생각하도록 뒤집어서 만들어 놯다. 이런식이라면 에너미 공격 범위가 천차 만별일텐데 그때 마다 플레이어에도 해당 공격 범위를 달아 놔야 할듯 싶다. 

 근접 공격 범위내 플레이어를 추출하는 쪽에 버그가 있어서 다시 만들어야 겠다. 제목을 원거리 공격 만들기로 달아 놯는데 근접 공격에 관한걸 수정하는데 계속 시간을 쓰는듯 싶다. 

 코드가 문제가 아니였는데 버그를 때려잡겠다고 새로 코드를 만들어 버렸다. 걍 만든김에 새 코드로 진행을 해야 겠다. 프로토 타입때 만들었던 코드를 엎어야 할때도 있는 법이다. 

 근접 공격을 만들기 전에 에어리어 체크를 하는 것을 외부 클래스로 꺼내 놓아야 될듯 싶다. 이게 레인지 체크가 사정거리 바깥까지 공격할수 있도록 되어 있기때문에 여기서도 이런 종류의 코드를 필요로 하기 때문이다. 앞으로 가급적 플레이어나 에너미 클래스가 너무 커지지 않도록 공통적인 요소 같은것은 외부 클래스로 꺼내는 작업이 필요할듯 싶다. 

 문득 갑자기 안좋은 기억이 떠올랐다. 어릴적에 공부를 잘하는 편이였다. 그래서 반에서 어려운 문제같은건 애들이 와서 물어 보곤 했다. 근데 한번은 좀 정답에 논쟁이 있을만한 문제를 이거 정답이 머냐고 물어본적이 있다. 그래서 일단은 이거라고 알려 줬었는데 아니더라. 시험 보면 늘 한문제 두문제 틀릴까 말까 하는데 그때 내가 틀린 문제가 마침 그문제더라. 그 후로는 내가 아는거라도 책을 찾아 보고 확인 한다음에 알려주는 버릇이 생겼었다. 가끔 이런 발작성 기억이 떠오르면 갑자기 깜짝 깜짝 놀라곤 한다. 

  오류가 터지길래 문득 생각해 보니까 위치가 커서에서 부터 범위를 체크해야 하는 거였더라. 

  var를 통해서 지역변수로 만드니까 뉴로 리셋을 하지 않아서 생기는 버그가 해결된다. 가비지 콜렉터가 일을 좀 하더라도 괜히 리셋을 안해서 생기는 버그가 생기는 것보다 나은듯 싶다. 

 멀 바꿨떠니 또 문제가 생긴다. 

 게임 오브젝트에 문제 인가 해서 바꿨더니 이런 버그가 생긴다. 

 그냥 소드 캐릭터에서 복사해서 만들면 될듯 싶다. 사실 왜 버그가 생기는지 모르겠다. 

 대략 한칸 정도는 이동범위보다 큰듯 싶다. 

 이게 레인지로 바꾸면 문제가 되는듯 싶다. 

 보통 일반 변수의 경우 파인드 유사지를 해당 사용처를 찾을수가 있다. 

 리셋플레이어 보드가 문제였다. 이게 왜 문제를 일으켰는지 모르겠지만 암튼 그렇다. 아마 Public의 남용이 어딘선가 문제를 일으킨게 아닌가 추측해본다. 

 오늘도 먼가를 많이 했지만 새로운걸 추가하기 보다는 기술 부채를 갚는데 주안점을 둔듯 싶다. 

 

'턴제제작' 카테고리의 다른 글

시야기반 이동 시스템  (2) 2020.03.22
다시 작업 시작  (4) 2020.03.18
버그 수정  (0) 2020.03.01
버그 수정  (0) 2020.02.29
깃헙 계정 만듬  (0) 2020.02.28

WRITTEN BY
아이고이아

,