씨알로그

CondiCandy 프로젝트

개발 프로젝트를 다 해놓고 다시 한다. 이게 무슨 날벼락 같은 소리인지 모른다. 왜 다시 할까? 그야 간단하다. 다시 하고 싶으니까!

예전에 개발한 방식보다 훨씬 더 간단해졌다. 그게 마음에 든다. 예전 방식은 잘 된다. 하지만 어디선가 꽉 막혀 버리것 같다는 느낌을 받는다. 사실이 그렇다. 다시 하더라도 더 못한 결과가 나올 확률이 꽤 있다. 그래도 하고 싶다. 그게 개발자이다.

해결하고 싶은 것은 단 하나이다. 기원사의 강화 스킬이다. 그냥 기원사를 지원하지 않는다고 선언을 하면 가장 쉽다. 그런데 그러고 싶지 않다는 것이다. 개발자가 해결을 못한다고 선언을 하는 것이다. 그러면 개발자가 아니다.

픽셀에 정보를 보낸다. 이것은 쉽다. 
픽셀을 모니터링해서 전달한다. 이것도 쉽다.
본질은 애드온과 파이썬의 동기화이다. 몇 가지 의심되는 지점은 스펠 버튼의 누적이다.

1번 슬롯에 하이라이트되었다.
잠시만 ... 이것을 다시 생각해 봐야 하는 거 아닐까? 가장 원초적인 방법은 싱글버튼지원 키의 스펠 아이디를 얻어내는 것이다. 하이라이트로는 오차 값이 존재한다. 그래 ... 더 심플하게 가야한다. 

좋다. 싱글버튼지원 키를 슬롯에 올려 놓는 방법으로 하자.
그럼 어디에 올려 놓을까? 1번 액션바부터 3번 액션바까지 어디에 올려 놓을까 ...
3번 바 12번 슬롯에 올려 놓는 게 가장 좋을 것 같다.

돌고 돌아 또 제자리 ...
그 방법이 최선이었다는 것을 증명된 것은 좋으나 진척이 없다.
우연치고는 너무 쉽데 채널링 스킬은 금방 적용되었다. 
그러나 강화 스킬은 그렇지 못하다. 왜 그런지 모르겠다. 그 이유를 알아야 해결책이 생길 것 아닌가 ...

살짝 조금의 진전이 있었다.
R과 G의 값으로 스킬 시전 시간의 차이를 만들려고 하는 시도였다. 조금더 생각하다보면 될 것도 싶지 않을까 ... 

관점을 바꾸었다.
지금까지는 루아가 모든 것을 처리하고 파이썬은 그냥 주기적으로 키보드 전송만 담당하도록 했다. 왜냐하면 이게 가장 간단하고 효율적이라는 생각이었다. 이렇게 3년 동안 업데이트하고 플레이했다.
결국 루아에서의 복잡도가 증가하다보니 계속 막히고 한계에 부딪혔다. 그래도 방법이 있을 거라 믿고 지겹도록 되돌아오기를 반복했다.

그러다 어제 생각을 바꾸었다. 루아는 그냥 추천하는 스킬을 픽셀로 바꾸어서 출력하는 일만 하기로 했다. 사실 이게 가장 루아다운 프로세스이다. 그리고 파이썬은 로직을 구현하는 게 아니라 예전 처럼 주기적으로 확인하고 키보드 전송만 하도록 설계했다. 복잡해지거나 어려워진 것은 없다. 서로 두 프로그램이 독립적으로 자기 할 일만 처리하면 되게 했다. 그러자 놀라운 일이 생겼다. 짐작한대로 잘 굴러간다는 것이다.

세상에 이럴 수가 ...