클라이언트/서버로 완전 분리한 goguelike
By SeukWon Kang
그리고 추가로 클라이언트의 움직임을 부드럽게 만드는 시도를 하고 있는 중인데 꽤 까다롭습니다.
일단 모든 좌표는 타일단위의 좌표인데 이것을 그대로 적용하면 이동이 뚝뚝 끊어지듯 이루어져서 계속 보고 있으면 멀미가 나더군요. 그래서 일단 여러가지로 보정해서 부드럽게 타일간을 미끄러지도록 하는 시도를 하고 있습니다. 그리고 전체 시야의 이동도 타일단위가 아닌 중간 보간을 통한 스크롤을 하도록 해봤습니다.
그래도 예상한 쪽이 아닌 다른 방항으로 이동하는 경우 끊기는 움직임이 보이는 것은 어쩔수 없군요.
C/S 완전 분리는 이번이 처음 해보는 것도 아니고 처음 설계시 부터 준비하고 있던 것이라 예상보다 일찍 수일 만에 완료 되었습니다. 개발 디버깅의 편의성때문에 그동안은 하나의 프로세스에서 동작시키고 있었을 뿐이지요.
물론 그동안에도 서버 / 클라이언트간은 go언어의 channel을 사용하고 있었고 그렇기 때문에 이 channel을 tcp로 중계하도록 하는 작업 만으로 ( 물론 그외의 작업도 많았습니다만 ^^) 비교적 같단히 완료 할수 있었습니다.
처음 wxgame2를 C/S로 분리 할때에 비하면 정말 장족의 발전이라고 스스로 생각 하고 있습니다. ^^ ( 이때는 거의 몇 달단위로 걸렸습니다. 애초에 C/S 분리를 고려하고 만든 설계도 아니었기에 )