# 삼국지 모의전투 3
# 신삼모전
- 기간: 2015
- 기술: php, Code Igniter, MySQL, jQuery, jQuery-UI
밑도 끝도 없이 만들었던 기존 삼모전은 내부 구조나 이런것들이 너무 엉망이었다. 수많은 테스트와 패치를 통해 구동은 안정적이었지만 말이다. 그래서 나름 프레임워크도 도입하고 게임성도 개선해 보고자 시작한 프로젝트.
나름 당시 많이 쓰이던 code igniter, jquery-ui 등을 도입했다. 불과 3년만에 구식이 되어버렸지만... 당시는 php5도 위기이던 시절이고 code igniter도 지는 해였다. jquery야 말할것도 없고.
프론트엔드는 jquery와 자체 제작한 프레임워크를 혼합하여 제작하였다.
꽤 공을 들였고, 보안 강화와 더불어 인증서 비용이 아까워서 http에다가 파라미터 값만 RSA암호화 하도록 만들었었다. https를 흉내낸 것이었다.
시뮬레이션 게임 답게, 조금 더 현실적으로 반영해보고자 1개월 단위 턴이 아닌 1일 단위 턴으로 기획했다. 각 성마다 거리가 달라서 확실히 지형적 특성이 많이 반영되었다.
익주는 진짜 진출하기도 진입하기도 힘든 지역이 되었다. 문제는 1일턴이 되다보니 각 턴별로 종료시기가 다르고, 특히 위치가 이동되는 이벤트가 발생하는 경우, 예약턴의 종료 시점을 미리 계산하기가 불가능해졌다. 바로 랜덤성 때문이었다.
랜덤 이벤트를 제외하고 미리 예약턴에 맞는 종료 시점도 계산하여 보여주었었는데, 문제는 중간에 이동이 발생할 수도 있고, 안할수도 있는 명령들이 있어서 그때는 재계산이 필요했다. 해결은 됐으나 유저들이 느끼기에도 중간에 예상 종료시간이 바뀌어 버리는 결과가 되어버려서 굉장히 복잡한 게임이 되어버렸다.
Mobile first 기조로 만들었고, 운영상 부담을 줄이기 위해 자동 리셋 기능등도 넣었는데 뭍히는게 좀 아깝긴 하다. 그런데 code igniter 프레임워크가 썩 훌륭하지 못해서 로깅이나 이런 부분에서 문제가 좀 많았다. 실 서비스를 한다 해도 운영 부담이 너무 컸을 것이다.
그래도 많은 교훈을 얻었으니, 다음 프로젝트에 많은 참고점이 될 것이다.
← 삼국지 모의전투 2 주행 보조기 →