그날 발견했던 문제점들을 다 잡느라 삼 일이 지나서야 후기를 올립니다!
일단 크게 수정한 것들:
- 서버의 계산량을 100분의 1배 정도로 줄였습니다.
- 서버의 전송량을 절반으로 줄였습니다.
- 시작 시 7초간은 캐릭터가 겹쳐도 움직입니다.
- 핑이 오락가락해도 추방하지 않습니다.
- 대기열 만들었습니다.
후기입니다.
저녁 먹으려고 스파게티를 끓이고 생방을 보는데, 아니, 제가 만든 알파버전을 한 번 해보시겠다는 것 아니겠습니까.
급하게 착석해서 보니 이 무슨 지옥도가…
‘대충 리스폰 지역을 정하고 시작페이지에 주의사항 적었으니 문제없겠지’
한 번에 이렇게 사람이 몰릴 줄은 몰랐어요.
사실 알파버전을 방장이 방송에서 하실 거라는 건 설레발이니까.
삼국지라는 키워드에 얼마나 강하게 끌리시는지를 제가 간과했습니다.
급하게 코드를 수정합니다.
이렇게 시간 압박 속에 코딩을 해본 건 처음이네요.
이게 직업이신 분들은 스트레스가 많으실 듯.
급한 대로 스폰 지역을 전 맵으로 뿌려버립니다. 그러면 확률상 겹치는 게 줄 테니까.
대신 맵 상의 오브젝트들과 겹쳐버리겠지만, 맵의 20% 정도이고 새로고침 하면 되니까.
그때 떠오른 방법은 이것뿐이었어요.
다음 날 돼서야 '아! 스폰이고 뭐고 그냥 충돌 감지하는 걸 다 꺼버리면 됐잖아'
침착맨이 자력으로 죽이고 죽여서 겨우 저 지옥도를 빠져나온 순간, 하지만 안타깝게도 저는 이미 코드를 고치고 재시작을 눌러버린 뒤였습니다.
(도중 도중 서버 전체가 내려간건, 제가 코드를 수정하고 다시 시작해서 그런거)
그러고는 침착맨은 20% 확률에 계속 걸려서 움직이지 못하는 곳에 스폰이 됩니다.
한 입 하려고 모여드는 사람들, 그리고 지키려는 사람들
아무튼 이러다 핑 오락가락해서 튕기고, 대기열을 요청하십니다.
대기열을 안 만든 이유?
몰랐으니까. 어떻게 만드는지 몰랐으니까.
알파버전 이거 아무것도 모르는 놈이 더듬더듬 배우면서 만든 거니까.
급한대로 사람 수가 많으면 줄을 세우지는 못하지만 그냥 쫓아내는 방식으로 코드를 수정합니다.
(지금은 대기열 구현해놨습니다.)
그러고는 몇 번의 시도를 하셨지만
입구컷, 서버 버벅임으로 결국 스밤쾅 행
플레이?는 도합 20분 정도의 시간이었지만,
방장 덕분에 제대로 서버 테스트가 됐습니다.
침하하를 통해서 테스트했을 때는
15명 정도였는데 뚜둑거리는 건 있었지만 이 정도면 됐네 싶었는데
그게 마지노선이었을 줄이야.
(사람이 전부인 게임이라 사람이 많을때는 저도 재밌게 했습니다)
이날 발생했던 문제들은 어제 그제 다 고쳤습니다. 아마...
여전히 서버는 싱가포르다 보니 핑이 튀는 순간들이 있지만 '알파버전이니까!'
(자세한 업데이트 내역은 원 글에 댓글로만 달아둘게용)
방장이 알파버전을 다시 하실지는 모르겠지만, 아무튼 고친 내용을 바탕으로 다음 버전을 지어올릴 수 있게 됐어요.
다음 버전에는 전투맵 말고 전체맵에서 내정을 하고 다른 성으로 이동해서 전투맵으로 참여하는 것까지 만들 것 같아요.
저 혼자 긴박했던 이날의 다음날.
저녁을 먹으려고 냄비를 열었더니 스파게티가...



